9.6 Hardware and Software Errors

Hardware and software errors are reported as system events. In most cases, this is in addition to being reported via the WFS_ERR_HARDWARE_ERROR or the WFS_ERR_SOFTWARE_ERROR error code that is returned when a hardware or software error occurs in the course of executing a function. The WFSRESULT data structure (defined in Section 8.1), is utilized as follows:

Field Description

RequestID Request ID of the request being processed when the error occurred (if any)

hService Service handle identifying the session associated with the error (if any)

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

hResult Result handle of the request being processed when the error occurred (if any)

u.dwEventID The ID of the error

Value Meaning

WFS_SYSE_HARDWARE_ERROR The error is a hardware error

WFS_SYSE_SOFTWARE_ERROR Th error is a software error

lpBuffer Pointer to a WFSHWERROR structure:

typedef struct _wfs_hwerror {
 LPSTR   lpszLogicalName;
 LPSTR   lpszWorkstationName;
 LPSTR   lpszAppID;
 DWORD   dwSize;
 LPBYTE   lpbDescription;
} WFSHWERROR, * LPWFSHWERROR;

The members of this structure are:

Field Description

lpszLogicalName Pointer to the logical service name of the service that generated the error (if any)

lpszWorkstationName Pointer to the the name of the workstation in which the logical service name is defined (if any)

lpszAppID Pointer to the application ID associated with the session that generated the error (if any)

dwSize The size in bytes of the following description

lpbDescription Pointer to a vendor-specific description of the error