структура 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) |