BACnetReadPropertyMultiple
(FUN)
FUNCTION BACnetReadPropertyMultiple : IEC_BACNET_STATUS
Sends an ReadPropertyMultiple request.
Sends a request to read the values of one or more specified properties of one or more objects. This routine may read a single property of a single object, a list of properties of a single object, or any number of properties of any number of objects within one device. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and response. This routine can execute asynchronously, i.e. this routine will return to the caller before the BACnet reply comes so that the applications can keep running. In this case the response information will be received by the thread which is responsible for receiving asynchronous responses. An optional BACNET_READ_PROP_MUL_COMPLETE_CB routine, which is provided by the application, shall be used to process this information. If a number of asynchronous requests are sent, the responses shall be queued and identified by the transaction handles. If the application does not supply the BACNET_READ_PROP_MUL_COMPLETE_CB routine then the BACnetReadPropertyMultiple routine sends a request and waits for the reply.
Asynchron call, which fills readAccessResult with the call result in an asynchronus manner. As soon as pContentsStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pContents is valid.
- InOut:
Scope
Name
Type
Comment
Return
BACnetReadPropertyMultiple
IEC_BACNET_STATUS
A status indicating if the operation worked.
Input
pSourceAddress
POINTER TO IEC_BACNET_ADDRESS
If the BACnet application has only one device constructed and installed, this can be 0. In this case the MAC address of this device will be used. Otherwise this shall be the MAC address returned on device object construction.
pDestinationAddress
POINTER TO IEC_BACNET_ADDRESS
This is the MAC address of the device to which the request should be sent.
pRpmInfo
POINTER TO IEC_BACNET_READ_MUL_INFO
A pointer to the service information data structure.
pAPDUParams
POINTER TO IEC_BACNET_APDU_PROPERTIES
A pointer to the APDU-Properties structure which sets APDU properties for this transaction only. This does not change global defaults or settings for the application APDU Properties. This argument may be 0. In this case APDU properties are used which were specified in the device object properties of the applications device which sends the request.
pReadAccessResult
POINTER TO IEC_BACNET_READ_RAW_RESULT_LIST
A pointer to the memory block to place a list of one or more IEC_BACNET_READ_RAW_RESULT_LIST data structures which indicate success or failure of the reading of each specified Property. In the case of successful access to a single Property, its value shall be returned within this argument, and in the case of access failure this argument shall convey the Property Access Error information. The application may initialize the readRes member of the IEC_BACNET_READ_RAW_RESULT_LIST structure with a 0 pointer and setting the nListCount to 0 too. In this case the memory for the response is allocated by the API and the application is responsible to release it with a call to BACnetFreeStackAllocatedMemory if the buffer is no longer needed.
pTransactionToken
POINTER TO BACnetAsyncTransactionToken
Transaction token of the asynchronous call - see BACnetAsyncTransactionToken.
pError
POINTER TO IEC_BACNET_ERROR
A pointer to a structure to hold BACnet Error information. pError may be 0 if the application isn’t interested in detailed error information.