// winspool.h
typedef struct _BIDI_DATA {
DWORD dwBidiType;
union {
BOOL bData;
LONG iData;
LPWSTR sData;
FLOAT fData;
BINARY_CONTAINER biData;
} u;
} BIDI_DATA, *PBIDI_DATA, *LPBIDI_DATA;
View the official Windows Driver Kit DDI referenceNo description available.
The BIDI_DATA structure is used to store the values of a bidi schema.
dwBidiTypeSpecifies the type of data in a bidi request as one of the values listed in the BIDI_TYPE enumeration. The value of this member determines which one of the following five union members is valid.
uu.bDataSpecifies the Boolean value. This member is valid only if the value of dwBidiType is BIDI_BOOL, one of the BIDI_TYPE enumerators.
u.iDataSpecifies the integer value. This member is valid only if the value of dwBidiType is BIDI_INT, one of the BIDI_TYPE enumerators.
u.sDataPointer to a memory location at which the first byte of the string is stored. This member is valid only if the value of dwBidiType is BIDI_STRING or BIDI_TEXT, two of the BIDI_TYPE enumerators.
u.fDataSpecifies the floating-point value. This member is valid only if the value of dwBidiType is BIDI_FLOAT, one of the BIDI_TYPE enumerators.
u.biDataSpecifies a BINARY_CONTAINER structure that holds the binary data. This member is valid only if the value of dwBidiType is BIDI_BLOB, one of the BIDI_TYPE enumerators.
The BIDI_REQUEST_DATA and BIDI_RESPONSE_DATA structures each have a member of this type, which holds the bidi data for the request or response.