Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se gli oggetti miniport del driver (vedere Interfacce oggetto miniport audio) o gli oggetti flusso (vedere Interfacce oggetto flusso audio) devono conoscere le modifiche dello stato di alimentazione, possono supportare l'interfaccia IPowerNotify nei metodi QueryInterface e ricevere notifiche dal driver di sistema PortCls ogni volta che si verifica una modifica della potenza.
Quando lo stato di alimentazione cambia, PortCls chiama il metodo IPowerNotify::PowerChangeNotify per notificare singolarmente ciascuno degli oggetti miniport e stream che supportano l'interfaccia IPowerNotify. Durante la chiamata a PowerChangeNotify , un oggetto miniport deve memorizzare nella cache il nuovo stato di alimentazione del dispositivo. Durante la chiamata CAdapterCommon::Init (ad esempio, vedere l'implementazione nella scheda di esempio Msvad in Microsoft Windows Driver Kit [WDK]), il driver miniport deve impostare lo stato di alimentazione memorizzato nella cache sul valore iniziale powerDeviceD0.
Prima di chiamare PowerChangeState per spegnere, PortCls chiama IPowerNotify::PowerChangeNotify per consentire al driver miniport di salvare ogni contesto di dispositivo necessario. Questo contesto può includere i valori del registro hardware che incorporano la topologia di filtro corrente e le impostazioni della linea mixer, ad esempio. Dopo aver chiamato PowerChangeState per l'accensione, PortCls chiama PowerChangeNotify in modo che il driver miniport possa ripristinare il contesto salvato.
Quando si spegne l'alimentazione, PortCls sospende tutti i flussi di dati audio attivi prima di chiamare PowerChangeNotify. Durante l'accensione, PortCls chiama PowerChangeNotify prima di riavviare i flussi di dati audio sospesi.
Le classi di oggetti miniport e stream del driver miniport possono ereditare dall'interfaccia IPowerNotify e supportare questa interfaccia nel metodo NonDelegatingQueryInterface . È possibile usare la definizione di IMP_IPowerNotify dal file di intestazione Portcls.h per aggiungere la dichiarazione di funzione per il metodo PowerChangeNotify alla definizione della classe per gli oggetti miniport e stream del driver.