SRB_PROPOSE_DATA_FORMAT
Драйвер класса отправляет этот запрос, чтобы определить, поддерживает ли поток заданный формат данных.
Возвращаемое значение
Мини-диск должен задать одно из следующих состояний в SRB:
STATUS_SUCCESS
Указывает на успешное выполнение команды.
STATUS_NOT_IMPLEMENTED
Указывает, что функция не поддерживается мини-накопителем.
STATUS_NOT_SUPPORTED
Указывает, что предлагаемый формат не поддерживается мини-накопителем.
STATUS_IO_DEVICE_ERROR
Указывает, что произошел сбой оборудования.
Комментарии
Когда драйвер класса получает запрос KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT , он использует этот код SRB, чтобы определить, поддерживается ли предлагаемый формат. Драйвер класса передает предлагаемый формат данных в CommandData. Элемент OpenFormat , на который указывает pSrb. Указатель pSrb указывает на HW_STREAM_REQUEST_BLOCK структуру.
Если мини-диск не поддерживает формат данных, он устанавливает значение pSrb-Status> в STATUS_NOT_SUPPORTED. Если мини-диск может переключить поток в указанный формат, он устанавливает для этого поля значение STATUS_SUCCESS.
Если мини-диск может принять новый формат, драйвер класса позже может отправить мини-диску изменение формата, о котором говорит элемент OptionsFlags в структуре KSSTREAM_HEADER .