структура SCSIWMI_REQUEST_CONTEXT (scsiwmi.h)
Структура SCSIWMI_REQUEST_CONTEXT содержит сведения о контексте для SRB WMI.
Заметка
В будущем драйвер портов 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.
Когда драйвер минипорта выполняет обработку SRB и до завершения SRB, минипорт-драйвер должен вызвать ScsiPortWmiPostProcess, чтобы обновить ReturnStatus и ReturnSize членов контекста запроса. Драйвер минипорта обновляет длину и состояние передачи данных SRB до этих значений путем вызова ScsiPortWmiGetReturnSize и ScsiPortWmiGetReturnStatus. соответственно.
Контекст запроса должен оставаться допустимым во время обработки SRB. Если SRB может быть перо, минипорт-драйвер должен выделить SCSIWMI_REQUEST_CONTEXT структуру из расширения SRB, чтобы он оставался допустимым до завершения SRB. Для независимых SRB структура может быть выделена из кадра стека, который не выходит из области.
Требования
Требование | Ценность |
---|---|
заголовка | scsiwmi.h (include Scsiwmi.h) |