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


структура SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)

Структура SCSIWMI_REQUEST_CONTEXT содержит сведения о контексте для WMI SRB.

Примечание

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

Синтаксис

typedef struct {
  PVOID  UserContext;
  ULONG  BufferSize;
  PUCHAR Buffer;
  UCHAR  MinorFunction;
  UCHAR  ReturnStatus;
  ULONG  ReturnSize;
} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;

Члены

UserContext

Указывает на буфер драйвера мини-порта, содержащий все данные, необходимые драйверу мини-порта для обработки SRB. Это может быть указатель на структуру HW_DEVICE_EXTENSION драйвера минипорта или другой буфер.

BufferSize

Зарезервировано для системного использования и недоступно для использования драйверами минипорта.

Buffer

Зарезервировано для системного использования и недоступно для использования драйверами минипорта.

MinorFunction

Зарезервировано для системного использования и недоступно для использования драйверами минипорта.

ReturnStatus

Указывает состояние возврата SRB. Этот член не будет действителен до тех пор, пока драйвер мини-порта не вызовет ScsiPortWmiPostProcess для обновления контекста запроса.

ReturnSize

Указывает количество байтов данных, переданных для SRB. Этот член не будет действителен до тех пор, пока драйвер мини-порта не вызовет ScsiPortWmiPostProcess для обновления контекста запроса.

Комментарии

Когда драйвер мини-порта получает SRB, в котором член функции имеет значение SRB_FUNCTION_WMI, он вызывает ScsiPortWmiDispatchFunction с параметрами запроса, включая указатель на контекст запроса. ScsiPortWmiDispatchFunction передает контекст запроса в соответствующую подпрограмму HwScsiWmiXxx драйвера miniport.

Когда драйвер мини-порта завершит обработку SRB и перед завершением SRB, драйвер мини-порта должен вызвать ScsiPortWmiPostProcess , чтобы обновить элементы ReturnStatus и ReturnSize контекста запроса. Драйвер мини-порта обновляет длину и состояние передачи данных SRB до этих значений, вызывая ScsiPortWmiGetReturnSize и ScsiPortWmiGetReturnStatus. Соответственно.

Контекст запроса должен оставаться действительным на протяжении всей обработки SRB. Если SRB может выполняться, драйвер мини-порта должен выделить структуру SCSIWMI_REQUEST_CONTEXT из расширения SRB, чтобы она оставалась действительной до завершения SRB. Для невспеховных SDB структура может быть выделена из кадра стека, который не выходит из область.

Требования

Требование Значение
Заголовок scsiwmi.h (включая Scsiwmi.h)

См. также раздел

ScsiPortWmiDispatchFunction

ScsiPortWmiGetReturnSize

ScsiPortWmiGetReturnStatus

ScsiPortWmiPostProcess