BACnetConfPrivateTransfer (FUN)

FUNCTION BACnetConfPrivateTransfer : IEC_BACNET_STATUS

ConfirmedPrivateTransfer completion routine. Sends a request to invoke proprietary or non-standard confirmed service in a remote device. This routine may control APDU properties like APDU length, segmentation, and timeout for both request and response. This routine can execute asynchronously, so this routine will return to the caller before the BACnet reply is received so that the applications keeps running. In this case the response information will be received by the thread which is responsible for receiving asynchronous responses. An optional BACNET_PRIVATE_XFER_COMPLETE_CB routine, which has to be provided by the BACnet application, will be used to process this information. If a number of asynchronous requests are sent, the responses will be queued and identified by the transaction handles. If the application does not supply the BACNET_PRIVATE_XFER_COMPLETE_CB routine, then the BACnetConfPrivateTransfer routine sends a request and waits for reply. return IEC_BACNET_STATUS

InOut:

Scope

Name

Type

Comment

Return

BACnetConfPrivateTransfer

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.

pServiceInfo

POINTER TO IEC_BACNET_PRIVATE_TRANSFER_INFO

A pointer to the service information data structure. This data structure is to transport the service parameters to the destination device.

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.

pResult

POINTER TO IEC_BACNET_PRIVATE_TRANSFER_INFO

A pointer to a buffer to hold the Result data if successful executed (datatype IEC_BACNET_PRIVATE_TRANSFER_INFO). The application may initialize the parameters member of the IEC_BACNET_PRIVATE_TRANSFER_INFO struture with a NULL pointer and bufferSize 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.

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.