EVT_BACNET_PROP_READ (STRUCT)

TYPE EVT_BACNET_PROP_READ : STRUCT

Prototype for the read callback

This function is invoked by the default actions if a ReadProperty or ReadPropertyMultiple request has been received or on any internal access made to get the value for internal processing. A pointer to the function is registered with the ::BACnetSetCallback function.

Return: IEC_BACNET_CALLBACK_STATUS

InOut:

Name

Type

Comment

pCBStatus

POINTER TO IEC_BACNET_CALLBACK_STATUS

Return value of a service application callback event set with BACnetSetCallback.

objectH

IEC_BACNET_HANDLE

Handle to the object within the API’s databse of which property value is beeing requested.

deviceID

IEC_BACNET_INST_NUMBER

The device instance number in which the object is to be expected.

pObjectID

POINTER TO IEC_BACNET_OBJECT_ID

Pointer to the object identifier of the object which property value is beeing requested.

propertyID

IEC_BACNET_PROPERTY_ID

The property identifier of the property which value is beeing requested (for example the Present Value property of an Analog Input object).

index

IEC_BACNET_ARRAY_INDEX

The optional array index for which the value is requested. In case of the defined value ::BACNET_VOID_INDEX the accessed property is no array. The defined value ::BACNET_ENTIRE_ARRAY indicates that the whole array content is requested. Any other value indicates an request for a specific array element. The index of BACnet arrays start counting at 1.

pPropertyContents

POINTER TO IEC_BACNET_PROPERTY_CONTENTS

The pointer to the property contents buffer which needs to be filled by the user application. The user has the choice to return the requested property value as c-structure (to fill the buffer member of the structure) or as an ASN1 formatted encoded value (to fill the rawBuffer member of the structure, the application is responsible for making sure that the ASN1 syntax is correct). In any case the application may use allocated memory for this transfer. The application will be informed with the ::BACNET_CALLBACK_RELEASE_PROC that it may release the buffers memory.

pUserPointer

POINTER TO IEC_BACNET_BYTE

This is the pointer which the user application has provided by the declaration before object construction. See also ::BACNET_PROPERTY_INSTANCE.