BACnetDeleteObject (FUN) ¶ FUNCTION BACnetDeleteObject : IEC_BACNET_STATUS Sends a DeleteObject request. Sends a request to remote device to delete an existing object. This service cannot be applied to Device object. 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 that is responsible for receiving asynchronous responses. An optional BACNET_SIMPLE_ACK_COMPLETE_CB routine, which is provided by the BACnetc 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 application does not supply the BACNET_SIMPLE_ACK_COMPLETE_CB routine; then the BACnetDeleteObject routine sends a request and waits for reply. InOut: Scope Name Type Comment Return BACnetDeleteObject 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. pObjectID POINTER TO IEC_BACNET_OBJECT_ID A pointer to the memory block to convey the Object Identifier of the Object to delete. 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. 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.
BACnetDeviceCommControl (FUN) ¶ FUNCTION BACnetDeviceCommControl : IEC_BACNET_STATUS Sends a deviceCommunicationControl request. Instructs a remote device to enable/disable initiating and responding to all APDUs (except Device-Communication-Control and Reinitialize-Device, in the IEC_BACNET_DCC_VALUE.DCC_DISABLE case). 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 that is responsible for receiving asynchronous responses. An optional BACNET_SIMPLE_ACK_COMPLETE_CB routine, which is provided by the BACnet 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_SIMPLE_ACK_COMPLETE_CB routine; then the BACnetDeviceCommControl routine sends a request and waits for reply. InOut: Scope Name Type Comment Return BACnetDeviceCommControl 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. pDccParams POINTER TO IEC_BACNET_DCC_INFO A pointer to the service information data structure. The fields of this data structure include the time duration, which may be indefinite or indicate a number of minutes that the remote device shall ignore all APDUs (except Device-Communication-Control and Reinitialize-Device APDUs in the DCC_DISABLE case), dccValue (which may be IEC_BACNET_DCC_VALUE.DCC_ENABLE or IEC_BACNET_DCC_VALUE.DCC_DISABLE ), and a password. 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. 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.
BACnetGetAlarmSummary (FUN) ¶ FUNCTION BACnetGetAlarmSummary : IEC_BACNET_STATUS Send an GetAlarmSummary request This routine generates a Get Alarm Summary service request. It is used by a client BACnet user to obtain a summary of “alarm-active” objects within the given device that is capable of alarm processing. The “alarm-active” objects are objects that have any value but IEC_BACNET_EVENT_STATE.STATE_NORMAL for the Event_State property and IEC_BACNET_NOTIFY_TYPE.NOTIFY_TYPE_ALARM for the Notify_Type property. InOut: Scope Name Type Comment Return BACnetGetAlarmSummary 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. 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. pInfoBuffer POINTER TO IEC_BACNET_ALARM_INFO A pointer to a memory block of datatype IEC_BACNET_ALARM_INFO in which to place summary information, which is a list of Alarm Summary items. Each item of datatype IEC_BACNET_ALARM_SUMMARY consists of three parameters: Object ID of the appropriate object, the Event State of this object, and Acked Transitions property values. The application may initialize the pSummaries member of the IEC_BACNET_ALARM_INFO struture with a 0 pointer and bufferCount and summaryCount with 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.
BACnetGetEnrollmentSummary (FUN) ¶ FUNCTION BACnetGetEnrollmentSummary : IEC_BACNET_STATUS Sends an GetEnrollmentSummary request Obtains a summary of event-initiating objects within the given device. Several different filters may be applied to define the search criteria. This routine generates an GetEnrollmentSummary service request. Asynchron call, which fills pResult with the call result in an asynchronus manner. As soon as pInfoBufferStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pResult is valid. InOut: Scope Name Type Comment Return BACnetGetEnrollmentSummary 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. pFilter POINTER TO IEC_BACNET_ENROLLMENT_FILTER This argument contains five filters: enrollment, event state, event type, priority, and notification class. Some of these filters are optional. 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. pInfoBuffer POINTER TO IEC_BACNET_ENROLLMENT_INFO A pointer to a memory block into which to place summary information, which is a list of Enrollment Summary items. Each item of datatype IEC_BACNET_ENROLLMENT_SUMMARY consists of the following parameters: the Object ID of the appropriate object, its event type, event state, notification priority, and notification class property values. The application may initialize the pSummaries member of the IEC_BACNET_ENROLLMENT_INFO struture with a 0 pointer and bufferCount and summaryCount with 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.
BACnetGetEventInfo (FUN) ¶ FUNCTION BACnetGetEventInfo : IEC_BACNET_STATUS Sends a GetEventInformation request. Sends a request to obtain a summary of “event-active” objects within the given device that generates event notifications. The “event-active” objects are objects that have any value other than IEC_BACNET_EVENT_STATE.STATE_NORMAL for the Event_State property, or have an acked- transitions property that has at least one of the bits ( IEC_BACNET_EVENT_TRANSITION_BITS.EVENT_TRANSITION_TO_OFFNORMAL , IEC_BACNET_EVENT_TRANSITION_BITS.EVENT_TRANSITION_TO_FAULT , IEC_BACNET_EVENT_TRANSITION_BITS.EVENT_TRANSITION_TO_NORMAL ) set to FALSE. This routine allows to control APDU properties like APDU length, segmentation, and timeout for both requests and responses. This routine can execute asynchronously, i.e. this routine will return to the caller before the BACnet reply comes so that the application 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_EVENT_INFO_COMPLETE_CB routine, which is provided by the BACnet application, shall be used to process this information. If a number of asynchronous service requests are sent, the responses shall be queued and identified by the transaction handles. If the application does not supply the BACNET_EVENT_INFO_COMPLETE_CB routine, then this routine sends out a request and waits for a response. Asynchron call, which fills pResult with the call result in an asynchronus manner. As soon as pInfoBufferStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pResult is valid. InOut: Scope Name Type Comment Return BACnetGetEventInfo 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. pServiceInfo POINTER TO IEC_BACNET_EVENT_INFO_INFO A pointer to a memory block that holds a data structure of datatype IEC_BACNET_EVENT_INFO_INFO . This data structure may contain optional ObjectID parameter to specify the last Object Identifier received in a preceding Get Event Info ACK if it’s moreEvents field was TRUE. If ObjectID parameter is omitted, the returned summary shall start with the first event-active object. 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. pInfoBuffer POINTER TO IEC_BACNET_EVENT_INFO A pointer to a memory block of datatype BACNET_EVENT_INFO to place the response information. It contains a list of Event Summary items. Each item of datatype IEC_BACNET_EVENT_SUMMARY consists of a number of parameters that describe the appropriate object. ObjectID, Event-State, Acked-Transitions, Notify-Type, and Event-Enable parameters convey values of the corresponding properties of the object. Event-Stamps parameter conveys the timestamps of the last event notifications for TO-OFFNORMAL, TO-FAULT, and TONORMAL events. Event-Priorities parameter conveys the priorities specified in the Priority property of the associated notification class object. Event Info data structure contains actual number of the items returned, and the total length of Event-Summary list buffer expressed as a number of items this buffer can hold. The last parameter of IEC_BACNET_EVENT_INFO data structure is the More Events flag which indicates whether (TRUE) or not (FALSE) more objects exist that should be listed, but that cannot be conveyed by the reply because APDU is too short. The application may initialize the pSummaries member of the IEC_BACNET_EVENT_INFO struture with a 0 pointer and bufferCount and summaryCount with 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.
BACnetLifeSafetyOperation (FUN) ¶ FUNCTION BACnetLifeSafetyOperation : IEC_BACNET_STATUS Sends a LifeSafetyOperation request. Sends the requests to provide a mechanism for transporting specific instructions from an operator to silence, audible or visual notification appliances or reset notification appliances. This service may be used in fire, life safety and security systems. Because the present version of this BACnet API does not support a default processing for this service, the destination has to include a Hook procedure to process it. This routine may control APDU properties like APDU length, segmentation and timeout for both requests and responses. This routine can execute asynchronously, so this routine will return to the caller before the BACnet reply is received so that the application keeps running. In this case the response information will be received by the thread that is responsible for receiving asynchronous responses. An optional BACNET_SIMPLE_ACK_COMPLETE_CB routine, which has to be provided by the BACnet application, shall be used to process this information. If a number of asynchronous requests are sent, the responses will be queued and identified by their transaction handles. If the application does not supply the BACNET_SIMPLE_ACK_COMPLETE_CB routine, then this routine sends a request and waits for reply. return IEC_BACNET_STATUS InOut: Scope Name Type Comment Return BACnetLifeSafetyOperation IEC_BACNET_STATUS Input pSourceAddress POINTER TO IEC_BACNET_ADDRESS If the BACnet application has only one device constructed and installed, this can be NULL. 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. pServiceInfo POINTER TO IEC_BACNET_LIFE_SAFETY_INFO A pointer to hold the request 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 NULL. In this case APDU properties are used which were specified in the device object properties of the applications device which sends the request. 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 NULL if the application isn’t interested in detailed error information.
BACnetReadAllPropertyDataContents (FUN) ¶ FUNCTION BACnetReadAllPropertyDataContents : IEC_BACNET_STATUS Tries to read all property contained data at once. Sends one or more requests to read the value of a property of an object. This function is a convenience function. It tries to get the complete property contained data in different ways automatically so that the user application has not to implement special strategies and fallbacks here. InOut: Scope Name Type Comment Return BACnetReadAllPropertyDataContents IEC_BACNET_STATUS 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. pReadInfo POINTER TO IEC_BACNET_READ_INFO A pointer to the service information data structure. This data structure identifies the property within the device and includes the object ID, property ID, and array index. 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. pContents POINTER TO IEC_BACNET_PROPERTY_CONTENTS Pointer to a property contents buffer structure. This data structure must contain a pointer to a buffer into which the value is copied. Upon successful completion, the contents IEC_BACNET_DATA_TYPE tag attribute indicates the datatype of the property. The buffer pointer in the property contents structure may be 0 along with the size. In this case the API will fill the buffer 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.
BACnetReadFile (FUN) ¶ FUNCTION BACnetReadFile : IEC_BACNET_STATUS Sends an AtomicReadFile request. Sends a request to read the contents of the specified file beginning from the specified position. The file may be accessed as records or as a stream of octets that is defined by the contents of File_Access_Method property of the File object. Since the present version of this API does not support a default processing of this service, the user application has to include a Hook procedure to process it. 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_FILE_COMPLETE_CB routine, which is provided by the BACnet 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 application does not supply the BACNET_READ_FILE_COMPLETE_CB routine; then the BACnetReadFile routine sends a request and waits for reply. Asynchron call, which fills pResult with the call result in an asynchronus manner. As soon as pResultStatus is IEC_BACNET_STATUS.BACNET_STATUS_OK the data in pResult is valid. InOut: Scope Name Type Comment Return BACnetReadFile 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. pReadInfo POINTER TO IEC_BACNET_READ_FILE_INFO A pointer to hold the request information data structure. This data structure contains the objectID, File Access Type ( IEC_BACNET_FILE_ACCESS_TYPE.FILE_ACCESS_STREAM or IEC_BACNET_FILE_ACCESS_TYPE.FILE_ACCESS_RECORD ) and Read File Range information. 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. pResult POINTER TO IEC_BACNET_READ_FILE_RESULT A pointer to a buffer to hold the response data if successful reading (datatype IEC_BACNET_READ_FILE_RESULT ). This pointer may be 0 if the asynchron call is used. 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.
BACnetReadProperty (FUN) ¶ FUNCTION BACnetReadProperty : IEC_BACNET_STATUS Sends a ReadProperty request Sends a request to read the value of a property of an object. This routine may send asynchronous messages, i.e. this routine will complete its execution before the BACnet reply comes so the applications can keep running. The response information will be received by an internal thread which is responsible for receiving asynchronous responses. An optional BACNET_READ_PROP_COMPLETE_CB routine, which is provided by the BACnet application, may be used to process this information. If a number of asynchronous requests are sent, the responses may be queued and identified by the application provided handles. If this routine does not use the BACNET_READ_PROP_COMPLETE_CB routine, then the BACnetReadProperty routine sends a request and waits for the reply. This routine may control APDU Properties like APDU length and segmentation and timeout, both during its execution and in response processing. Asynchron call, which fills pContents 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 BACnetReadProperty 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. pReadInfo POINTER TO IEC_BACNET_READ_INFO A pointer to the service information data structure. This data structure identifies the property within the device and includes the object ID, property ID, and array index. 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. pContents POINTER TO IEC_BACNET_PROPERTY_CONTENTS Pointer to a property contents buffer structure. This data structure must contain a pointer to a buffer into which the value is copied. Upon successful completion, the contents IEC_BACNET_DATA_TYPE tag attribute indicates the datatype of the property. The buffer pointer in the property contents structure may be 0 along with the size. In this case the API will fill the buffer 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.
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.