EVT_BACNET_CREATEOBJECT (STRUCT)

TYPE EVT_BACNET_CREATEOBJECT : STRUCT

The CreateObject service hook

This is the type declaration for the Create Object service application hook. This hook allows a BACnet application to process Create Object service since there are no default processing of this service in the present API version. This hook is given all of the parameters of a service request, and is responsible for all error checking (Device existence, address correctness and so forth). A pointer to the routine is registered with the BACnet server by BACnetSetHook API routine. A hook can be registered by the registering API routine at any time. One hook procedure is registered per service. If a hook is registered more than once for the same service, the new hook procedure replaces old one. A 0 procedure pointer can be used to deregister the hook. A Create-Object hook must complete its service request processing by using one of the transaction completion API routines: BACnetCreateObjectResponseCbCompletion, BACnetSrvcAbortCbCompletion, BACnetCreateObjectErrorCbCompletion, BACnetSrvcIgnoreCbCompletion, or BACnetSrvcRejectCbCompletion. Hooks can access the local Properties maintained in the API database by using the BACnetStorePropertyInstance / BACnetRetrievePropertyInstance routines. A hook can choose not to override the default API processing of a service request by returning the value CB_STATUS_DEFAULT.

InOut:

Name

Type

Comment

pCBStatus

POINTER TO IEC_BACNET_CB_STATUS

CB-Status returned for the event. “Default” processes the standard APIs reaction, which needs no additional Callback-Signalling.

phTransaction

POINTER TO BYTE

This is the Transaction State Machine (TSM) handle for the current service request. It is generated by the BACnet API and is the first parameter given to the Hook- Completion functions.

sourceAddress

POINTER TO IEC_BACNET_ADDRESS

This is the MAC address of the BACnet addressed device from which the request has been sent.

destinationAddress

POINTER TO IEC_BACNET_ADDRESS

This is the MAC address of the device constructed by the application which has received the request.

pServiceInfo

POINTER TO IEC_BACNET_CREATE_OBJECT_INFO

A pointer to the service information data structure. This data structure specifies either Object Type or ObjectID to create a new instance of an object and a list of property values.