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


Функция WmiCompleteRequest (wmilib.h)

Подпрограмма WmiCompleteRequest указывает, что драйвер завершил обработку запроса WMI в подпрограмме DpWmiXxx .

Синтаксис

NTSTATUS WmiCompleteRequest(
  [in]      PDEVICE_OBJECT DeviceObject,
  [in, out] PIRP           Irp,
  [in]      NTSTATUS       Status,
  [in]      ULONG          BufferUsed,
  [in]      CCHAR          PriorityBoost
);

Параметры

[in] DeviceObject

Указатель на DEVICE_OBJECT драйвера.

[in, out] Irp

Указатель на IRP.

[in] Status

Указывает состояние, возвращаемого для IRP.

[in] BufferUsed

Указывает количество байтов, необходимое в буфере, переданном в подпрограмму Драйвера DpWmiXxx . Если буфер слишком мал, драйвер устанавливает для параметра Состояние значение STATUS_BUFFER_TOO_SMALL и устанавливает для BufferUsed количество байтов, необходимое для возврата данных. Если переданный буфер достаточно велик, драйвер устанавливает для BufferUsed количество фактически используемых байтов.

[in] PriorityBoost

Задает системную константу, на которую увеличивается приоритет времени выполнения исходного потока, запрашивающего операцию. WMI вызывает IoCompleteRequest с PriorityBoost при завершении IRP. Дополнительные сведения о PriorityBoost см. в разделе IoCompleteRequest.

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

WmiCompleteRequest возвращает значение, переданное ему в параметре Status , если для параметра Status не задано значение STATUS_BUFFER_TOO_SMALL. Если для драйвера задано значение Состояние STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest создает структуру WNODE_TOO_SMALL и возвращает STATUS_SUCCESS. Возвращаемое значение из WmiCompleteRequest должно быть возвращено драйвером в его подпрограмме DpWmiXxx .

Комментарии

Драйвер вызывает WmiCompleteRequest из подпрограммы DpWmiXxx после завершения всей обработки в этой подпрограмме или после того, как драйвер завершит всю обработку ожидающего IRP. WmiCompleteRequest заполняет WNODE_XXX любыми данными, возвращаемыми драйвером, и вызывает IoCompleteRequest для завершения IRP.

Драйвер всегда должен возвращать возвращаемое значение из WmiCompleteRequest в своей подпрограмме DpWmiXxx .

Драйвер не должен вызывать WmiCompleteRequest из своей подпрограммы DpWmiQueryRegInfo .

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wmilib.h (включая Wmilib.h)
Библиотека Wmilib.lib
IRQL <= DISPATCH_LEVEL

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

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl