Funzione WdfDeviceInitSetPowerNotPageable (wdfdevice.h)
[Si applica solo a KMDF]
Il metodo WdfDeviceInitSetPowerNotPageable informa il risparmio energia che il driver non accederà ai dati impaginabili mentre il sistema passa tra uno stato di sospensione e lo stato funzionante (S0).
Sintassi
void WdfDeviceInitSetPowerNotPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Parametri
[in] DeviceInit
Puntatore fornito dal chiamante a una struttura WDFDEVICE_INIT .
Valore restituito
nessuno
Osservazioni
Se il driver di funzione o il driver del bus chiama WdfDeviceInitSetPowerNotPageable, il dispositivo del file di paging del sistema potrebbe non trovarsi nello stato funzionante (D0) quando il dispositivo del driver entra in uno stato di bassa potenza o torna allo stato di lavoro. Pertanto, durante le transizioni di alimentazione del dispositivo, il driver non deve eseguire alcuna operazione che potrebbe causare l'accesso del sistema operativo al file di paging. Tali operazioni includono l'accesso ai file, al Registro di sistema o al pool di paging.
Per impostazione predefinita, il framework consente l'accesso ai dati di paging per i driver di funzione. Il framework usa l'impostazione del dispositivo padre per ogni dispositivo figlio enumerato da un driver del bus, a meno che il driver del bus non chiami WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable per il dispositivo figlio. Se scrivi un driver del bus che chiama WdfDeviceInitSetPowerPageable per un dispositivo figlio, nessun driver nello stack del dispositivo figlio può chiamare WdfDeviceInitSetPowerNotPageable.
La chiamata a WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable da un driver di filtro non ha alcun effetto. Il framework usa l'impostazione specificata dal driver successivo inferiore.
La maggior parte dei driver non deve chiamare WdfDeviceInitSetPowerPageable o WdfDeviceInitSetPowerNotPageable. È invece consigliabile consentire al framework di usare l'impostazione predefinita appropriata per il driver. Tuttavia, il driver deve chiamare WdfDeviceInitSetPowerNotPageable se il driver fa parte di uno stack di driver che non deve accedere ai dati impaginabili durante le transizioni di alimentazione (ad esempio lo stack di archiviazione o lo stack di video) o se il driver è un driver bus che enumera i dispositivi che potrebbero essere dispositivi di archiviazione o video.
Se il driver chiama WdfDeviceInitSetPowerNotPageable, deve farlo prima di chiamare WdfDeviceCreate.
Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo framework.
Esempio
L'esempio di codice seguente informa il risparmio energia che un driver non accederà ai dati impaginabili mentre il sistema passa tra uno stato di sospensione e lo stato funzionante (S0).
WdfDeviceInitSetPowerNotPageable(DeviceInit);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfdevice.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |