3.2.5.3.2.8 Sending a Document Properties Response

The DOC_PROPERTIES_RSP reply MUST contain the DEVMODE BLOB that was acquired from the client printer driver. The BLOB MUST be returned in the OutDevMode field of this response.

If the size of the BLOB data in the OutDevMode field is more than was specified in the OutputDevModeSizeProvided field of the request and the fMode field of the request was set to 0, the value in the ReturnValue field MUST indicate the required data size, and the ErrorCode field MUST be set to ERROR_INSUFFICIENT_BUFFER (0x0000007A), the Result field MUST be set to S_OK (0x00000000), and the OutDevMode field size in this case MUST be zero.

If the client printer driver returns data that is larger than the size provided in the OutputDevModeSizeProvided field and the fMode field was not set to 0, the ReturnValue field MUST be set to 0xffffffff, the ErrorCode MUST be set to ERROR_INSUFFICIENT_BUFFER (0x0000007A) ), the Result field MUST be set to S_OK (0x00000000), and the OutDevMode field size in this case MUST be zero.

Otherwise, the ReturnValue field MUST contain the return code returned by the client printer driver when it acquired document properties, and the ErrorCode field MUST contain the error code returned by the driver. The Result field MUST contain an HRESULT that describes the overall status of the entire operation.