BACnetCreateObject (FUN)

FUNCTION BACnetCreateObject : IEC_BACNET_STATUS

Sends a CreateObject request. Sends a request to create a new instance of an object which may be as standard as vendor-specified object. This service may provide initialization of the properties of the newly created standard objects or the property values may be written later. 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_CREATE_OBJECT_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_CREATE_OBJECT_COMPLETE_CB routine; then this routine sends a request and waits for reply.

InOut:

Scope

Name

Type

Comment

Return

BACnetCreateObject

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_CREATE_OBJECT_INFO

A pointer to the request 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.

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.

pObjectID

POINTER TO BACnetCreateObjectResult

A pointer to the memory block to return the object Identifier of a newly created object, plus the “first failed” property which may be 0. See BACnetCreateObjectResult

pFirstFailed

POINTER TO IEC_BACNET_UNSIGNED

A pointer to a buffer in which to place the sequence number of the first element in the pElements list which cannot be added to the property. pFirstFailed may be 0.