9.4 Undeliverable Messages

If a command completion or event message cannot be delivered, it is reported as a system event. The WFSRESULT data structure (defined in Section 8.1) is utilized as follows:

Field Description

RequestID (not used)

hService Service handle identifying the session associated with the completion or event

tsTimestamp Time the event occurred (local time, in a Win32 SYSTEMTIME structure)

hResult (not used)

u.dwEventID = WFS_SYSE_UNDELIVERABLE_MSG

lpBuffer Pointer to a WFSUNDEVMSG structure:

typedef struct _wfs_undevmsg {
 LPSTR   lpszLogicalName;
 LPSTR   lpszWorkstationName;
 LPSTR   lpszAppID;
 DWORD   dwSize;
 LPBYTE   lpbDescription;
 DWORD   dwMsg;
 LPWFSRESULT lpWFSResult;
} WFSUNDEVMSG, * LPWFSUNDEVMSG;

The members of this structure are:

Field Description

lpszLogicalName Pointer to the logical service name of the service that generated the original undeliverable message

lpszWorkstationName Pointer to the the name of the workstation in which the logical service name is defined

lpszAppID Pointer to the the application ID associated with the session that generated the original message

dwSize The size in bytes of the following description

lpbDescription Pointer to a vendor-specific description of the reason why the message could not be delivered

dwMsg The message identifier of the original message

lpWFSResult Pointer to the WFSRESULT structure of the original message (which has the lpBuffer parameter set to NULL)