структура PEP_POWER_CONTROL_REQUEST (pep_x.h)

Структура PEP_POWER_CONTROL_REQUEST содержит запрос от драйвера на операцию управления питанием.

Синтаксис

typedef struct _PEP_POWER_CONTROL_REQUEST {
  [in]  PEPHANDLE DeviceHandle;
  [in]  LPCGUID   PowerControlCode;
  [in]  PVOID     InBuffer;
  [in]  SIZE_T    InBufferSize;
  [in]  PVOID     OutBuffer;
  [in]  SIZE_T    OutBufferSize;
  [out] SIZE_T    BytesReturned;
  [out] NTSTATUS  Status;
} PEP_POWER_CONTROL_REQUEST, *PPEP_POWER_CONTROL_REQUEST;

Члены

[in] DeviceHandle

Значение PEPHANDLE, идентифицирующее устройство. PeP предоставил этот дескриптор в ответ на предыдущее уведомление PEP_DPM_REGISTER_DEVICE .

[in] PowerControlCode

Указатель на значение GUID, указывающее выполняемую операцию управления питанием. Это то же значение, которое запрашивающий драйвер предоставил в качестве параметра PowerControlCode подпрограмме PoFxPowerControl .

[in] InBuffer

Указатель на выделенный драйвером входной буфер, содержащий входные параметры для этой операции управления питанием. Это то же значение, которое запрашивающий драйвер предоставил в качестве параметра InBuffer подпрограмме PoFxPowerControl .

[in] InBufferSize

Размер буфера в байтах, на который указывает InBuffer. Это то же значение, которое запрашивающий драйвер предоставил в качестве параметра InBufferSize подпрограмме PoFxPowerControl .

[in] OutBuffer

Указатель на выделенный драйвером выходной буфер, в который PEP записывает результаты этой операции управления питанием. Это то же значение, которое запрашивающий драйвер предоставил в качестве параметра OutBuffer подпрограмме PoFxPowerControl .

[in] OutBufferSize

Размер буфера в байтах, на который указывает OutBuffer.

[out] BytesReturned

Количество байтов, которые PEP записал в выходной буфер, на который указывает OutBuffer.

[out] Status

Состояние запрошенной операции управления питанием. Если операция выполнена успешно, peP устанавливает для этого элемента значение STATUS_SUCCESS. В противном случае PEP присваивает этому члену соответствующий код состояния ошибки.

Комментарии

Эта структура используется в уведомлении PEP_DPM_POWER_CONTROL_REQUEST . Первые шесть элементов структуры содержат входные значения, предоставляемые платформой управления питанием Windows (PoFx). Последние два элемента содержат значения, которые PEP записывает в структуру в ответ на это уведомление. Кроме того, PEP выполняет запись в выходной буфер, на который указывает элемент OutBuffer .

Если выходной буфер слишком мал для получения всех результирующих данных из операции, PEP задает элементу Status структуры значение STATUS_INSUFFICIENT_RESOURCES, задает члену BytesReturned требуемый размер выходного буфера и (обычно) не записывает данные в выходной буфер.

Драйвер для устройства может вызвать подпрограмму PoFxPowerControl , чтобы запросить операцию управления питанием на устройстве. Во время этого вызова PoFx делегирует обработку этого запроса pep, которая владеет устройством. Элемент PowerControlCode структуры PEP_POWER_CONTROL_REQUEST содержит пользовательский код элемента управления, значение которого понимается как драйвером, так и PEP для устройства.

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 10.
Верхняя часть pep_x.h (включая Pep_x.h)

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

PEP_DPM_POWER_CONTROL_REQUEST

PEP_DPM_REGISTER_DEVICE

PoFxPowerControl