SRB_PROPOSE_DATA_FORMAT
The class driver issues this request to determine if the stream supports a given data format.
Return Value
The minidriver should set one of the following as the status in the SRB:
STATUS_SUCCESS
Indicates successful completion of the command.
STATUS_NOT_IMPLEMENTED
Indicates that the function is not supported by the minidriver.
STATUS_NOT_SUPPORTED
Indicates that the proposed format is not supported by the minidriver.
STATUS_IO_DEVICE_ERROR
Indicates that a hardware failure occurred.
Comments
When the class driver receives a KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT request, it uses this SRB code to determine whether the proposed format is supported. The class driver passes the proposed data format in the CommandData.OpenFormat member pointed to by pSrb. The pSrb pointer points to a HW_STREAM_REQUEST_BLOCK structure.
If the minidriver does not support the data format, it sets pSrb->Status to STATUS_NOT_SUPPORTED. If the minidriver is able to switch the stream to the specified format, it sets this field to STATUS_SUCCESS.
If the minidriver is able to accept the new format, the class driver at some later time may send the minidriver a format change, which is indicated by the OptionsFlags member in a KSSTREAM_HEADER structure.