Condividi tramite


Funzione di callback PFNKSDEVICEQUERYPOWER (ks.h)

AVStream chiama la routine AVStrMiniDeviceQueryPower di un minidriver quando riceve una richiesta di IRP_MN_QUERY_POWER .

Sintassi

PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;

NTSTATUS Pfnksdevicequerypower(
  [in] PKSDEVICE Device,
  [in] PIRP Irp,
  [in] DEVICE_POWER_STATE DeviceTo,
  [in] DEVICE_POWER_STATE DeviceFrom,
  [in] SYSTEM_POWER_STATE SystemTo,
  [in] SYSTEM_POWER_STATE SystemFrom,
  [in] POWER_ACTION Action
)
{...}

Parametri

[in] Device

Puntatore alla struttura KSDEVICE che ha inviato il IRP_MN_QUERY_POWER.

[in] Irp

Puntatore al IRP_MN_QUERY_POWER rilasciato dal dispositivo.

[in] DeviceTo

Stato di alimentazione richiesto dall'emittente di Irp.

[in] DeviceFrom

Stato corrente dell'alimentazione del dispositivo.

[in] SystemTo

Stato del sistema a cui eseguire la transizione, specificato quando viene eseguita una query su una transizione dello stato di alimentazione del sistema. Questo valore non è specificato se la chiamata è dovuta a una query di modifica dello stato di alimentazione del dispositivo.

[in] SystemFrom

Stato corrente del sistema, specificato quando viene eseguita una query su una transizione dello stato di alimentazione del sistema. Questo valore non è specificato se la chiamata è dovuta a una query di modifica dello stato di alimentazione del dispositivo.

[in] Action

Specifica informazioni aggiuntive sulla transizione richiesta. I valori possibili sono enumeratori del tipo POWER_ACTION.

Valore restituito

Deve restituire STATUS_SUCCESS o il codice di errore restituito dal tentativo di eseguire l'operazione. Restituendo STATUS_SUCCESS, il driver garantisce che non avvii alcuna operazione che cambierebbe la capacità di impostare lo stato di alimentazione richiesto. Il driver deve accodare qualsiasi IRP che richiederebbe un'operazione di questo tipo fino a quando non completa un IRP_MN_SET_POWER che restituisce il dispositivo a uno stato di alimentazione accettabile.

Commenti

Il proprietario del risparmio energia o di un dispositivo invia una richiesta di IRP_MN_QUERY_POWER per determinare se può modificare lo stato di alimentazione del sistema o del dispositivo, ad esempio per passare alla sospensione.

Se un driver non riesce una richiesta di IRP_MN_QUERY_POWER per uno stato di alimentazione del sistema, il risparmio energia risponde in genere emettendo un IRP_MN_SET_POWER. In genere, questo IRP riconferma lo stato corrente del sistema. Tuttavia, è possibile che i driver ricevano un IRP_MN_SET_POWER allo stato sottoposto a query o a un altro stato intermedio. I driver devono essere preparati a gestire queste situazioni.

Il minidriver specifica l'indirizzo di questa routine nel membro QueryPower della relativa struttura KSDEVICE_DISPATCH .

Questa routine è facoltativa.

Requisiti

Requisito Valore
Client minimo supportato Disponibile nei sistemi operativi Microsoft Windows XP e versioni successive e DirectX 8.0 e versioni successive di DirectX.
Piattaforma di destinazione Desktop
Intestazione ks.h (include Ks.h)

Vedi anche

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH