Функция ScsiPortWmiPostProcess (scsiwmi.h)
Подпрограмма ScsiPortWmiPostProcess обновляет контекст запроса для WMI SRB.
Синтаксис
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.
Возвращаемое значение
None
Remarks
Драйвер мини-порта должен вызывать ScsiPortWmiPostProcess после обработки запроса WMI SRB и готовности к выполнению.
Для синхронных SDB в подпрограмме обратного вызова вызывается ScsiPortWmiPostProcess .
Для ожидающих SRB ScsiPortWmiPostProcess вызывается после обработки SRB и до ее завершения.
Если драйвер мини-порта устанавливает для SrbStatus значение SRB_STATUS_DATA_OVERRUN и задает BufferUsed, должны быть выполнены последовательные идентичные SSPB WMI с выделенным буфером, равным или превышающим BufferUsed байтов. Это должно быть достигнуто, если драйвер задает точное значение bufferUsed , необходимое для выполнения запроса при вызове ScsiPortWmiPostProcess с SrbStatus , равным SRB_STATUS_DATA_OVERRUN. Для выходной структуры переменного размера буфер входных данных SRB должен иметь достаточно сведений, чтобы определить точное значение BufferUsed . Если буфер входных данных не содержит достаточно информации, драйвер никогда не должен два раза завершать одно и то же SRB с SRB_STATUS_DATA_OVERRUN. Вместо этого драйвер должен задать SRB_STATUS_DATA_OVERRUN и запросить минимальный размер, необходимый для выходного буфера, а затем задать SRB_STATUS_SUCCESS и указать сбой в содержимом выходного буфера.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | scsiwmi.h (включая Miniport.h, Scsi.h) |