Condividi tramite


Metodo IPowerNotify::P owerChangeNotify (portcls.h)

Il metodo PowerChangeNotify notifica al driver miniport di modifiche nello stato di alimentazione.

Sintassi

void PowerChangeNotify(
  [in] POWER_STATE PowerState
);

Parametri

[in] PowerState

Specifica lo stato di alimentazione corrente. Questo parametro è un'unione di tipo POWER_STATE. Il nuovo stato di alimentazione (PowerState.DeviceState) può essere uno dei valori di enumerazione DEVICE_POWER_STATE elencati in IAdapterPowerManagement::P owerChangeState.

Valore restituito

Nessuno

Osservazioni

Il driver di sistema PortCls chiama il metodo PowerChangeNotify del driver miniport per notificare le modifiche apportate allo stato di alimentazione. Lo scopo di questa chiamata è quello di dare al driver miniport l'opportunità di salvare qualsiasi contesto specifico dell'hardware subito prima di spegnere o ripristinare un contesto salvato in precedenza subito dopo l'accensione.

Il driver miniport può scrivere nei registri hardware o nella memoria su scheda durante la chiamata PowerChangeNotify. Se il sistema sta spegnendo (effettuando una transizione di stato da PowerDeviceD0), il driver di sistema PortCls chiama PowerChangeNotify prima di chiamare IAdapterPowerManagement::P owerChangeState e dopo aver sospeso tutti i flussi di dati audio attivi. In questo modo, il driver miniport può salvare qualsiasi contesto di dispositivo specifico dell'hardware prima che il dispositivo venga disattivato. Ad esempio, un driver WavePci miniport potrebbe dover salvare i registri DMA se l'alimentazione si verifica durante una sequenza di trasferimenti di dati a dispersione/raccolta. Se il sistema sta accendendo (effettuando una transizione di stato verso PowerDeviceD0), PortCls chiama PowerChangeNotify dopo aver chiamato PowerChangeState e prima di riavviare tutti i flussi di dati audio sospesi. In questo modo il driver miniport può ripristinare un contesto salvato in precedenza dopo che il dispositivo è stato acceso.

Il codice per questo metodo deve risiedere nella memoria di paging.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)

Vedere anche

IAdapterPowerManagement::P owerChangeState

IPowerNotify