Поделиться через


Функция SCSIPortWmiPostProcess (scsiwmi.h)

Программа ScsiPortWmiPostProcess обновляет контекст запроса для SRB WMI.

примечание модели драйверов портов SCSI и мини-порта SCSI могут быть изменены или недоступны в будущем. Вместо этого мы рекомендуем использовать драйвера Storport и минипорта Storport модели драйверов.
 

Синтаксис

void ScsiPortWmiPostProcess(
  [in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
  [in] UCHAR                    SrbStatus,
  [in] ULONG                    BufferUsed
);

Параметры

[in] RequestContext

Указатель на контекст запроса для этого SRB.

[in] SrbStatus

Указывает любое допустимое состояние SRB. Если выходной буфер, переданный драйверу минипорта, слишком мал, чтобы содержать все данные из запроса, драйвер минипорта устанавливает SrbStatus для SRB_STATUS_DATA_OVERRUN.

[in] BufferUsed

Если SrbStatus указывает на успех, драйвер минипорта задает BufferUsed число байтов данных, записанных в буфер. Если SrbStatus SRB_STATUS_DATA_OVERRUN, драйвер минипорта задает BufferUsed число байтов, необходимых для успешного выполнения SRB.

Возвращаемое значение

Никакой

Замечания

Минипорт-драйвер должен вызывать ScsiPortWmiPostProcess после обработки запроса WMI SRB и готовности к выполнению.

Для синхронных SRB ScsiPortWmiPostProcess вызывается в подпрограмме обратного вызова.

Для ожидающих SRB SCSIPortWmiPostProcess вызывается после обработки SRB и до его завершения.

Если драйвер минипорта задает SrbStatus SRB_STATUS_DATA_OVERRUN и задает BufferUsed, последовательные идентичные SMI-файлы SRB с выделенным буфером равным или больше, чем BufferUsed байтам. Это необходимо сделать, если драйвер задает точное значение BufferUsed, необходимое для выполнения запроса при вызове ScsiPortWmiPostProcess с SrbStatus равным SRB_STATUS_DATA_OVERRUN. Для выходной структуры переменной размера входной буфер данных SRB должен иметь достаточно сведений, чтобы определить точное значение BufferUsed. Если входной буфер данных не содержит достаточно сведений, драйвер никогда не должен выполнять один и тот же SRB два раза с SRB_STATUS_DATA_OVERRUN. Вместо этого драйвер должен задать SRB_STATUS_DATA_OVERRUN и запросить минимальный размер, необходимый для выходного буфера, а затем задать SRB_STATUS_SUCCESS и указать сбой в содержимом выходного буфера.

Требования

Требование Ценность
целевая платформа Настольный
заголовка scsiwmi.h (include Miniport.h, Scsi.h)

См. также

SCSIWMI_REQUEST_CONTEXT

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus