Failures in version negotiation are reported as system events. This is in addition to being reported by the version error code returned by the WFSStartUp or WFSOpen functions. The WFSRESULT data structure (defined in Section 8.1) is utilized as follows:
Field Description
RequestID (not used)
hService (not used)
tsTimestamp Time the error occurred (local time, in a Win32 SYSTEMTIME structure)
hResult The version error code (e.g., WFS_ERR_SPI_VER_TOO_HIGH)
u.dwEventID = WFS_SYSE_VERSION_ERROR
lpBuffer Pointer to a WFSVRSNERROR structure:
typedef struct _wfs_vrsnerror { LPSTR lpszLogicalName; LPSTR lpszWorkstationName; LPSTR lpszAppID; DWORD dwSize; LPBYTE lpbDescription; LPWFSVERSION lpWFSVersion; } WFSVRSNERROR, * LPWFSVRSNERROR
The members of this structure are:
Field Description
lpszLogicalName Pointer to the logical service name of the service being opened (NULL if WFSStartUp)
lpszWorkstationName Pointer to the name of the workstation in which the application made the WFSStartUp or WFSOpen request
lpszAppID Pointer to the application ID from the open request that failed (NULL if WFSStartUp)
dwSize The size in bytes of the following description
lpbDescription Pointer to a vendor-specific description of the version negotiation failure
lpWFSVersion Pointer to the WFSVERSION structure reporting the results of the version negotiation