Funzione WdfPdoInitAssignDeviceID (wdfpdo.h)
[Si applica solo a KMDF]
Il metodo WdfPdoInitAssignDeviceID aggiorna l'ID dispositivo per un dispositivo figlio.
Sintassi
NTSTATUS WdfPdoInitAssignDeviceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING DeviceID
);
Parametri
[in] DeviceInit
Puntatore a una struttura WDFDEVICE_INIT .
[in] DeviceID
Puntatore a una struttura UNICODE_STRING contenente una stringa ID dispositivo. Il driver può allocare il buffer della stringa dal pool con pagine.
Valore restituito
Se l'operazione ha esito positivo, il metodo restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
Il driver inizializza un oggetto FDO anziché un oggetto PDO. |
|
Impossibile allocare spazio al driver per archiviare la stringa ID dispositivo. |
Il metodo potrebbe restituire anche altri valori NTSTATUS.
Commenti
Un ID dispositivo è in genere il primo elemento nell'elenco degli ID hardware segnalati da un dispositivo. Per altre informazioni sugli ID dispositivo e sugli ID hardware, vedere Stringhe di identificazione del dispositivo e Modalità di selezione dei driver.
Il driver deve chiamare WdfPdoInitAssignDeviceID prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo Framework.
Esempio
Nell'esempio di codice seguente viene segnalato un ID dispositivo usato dal driver di esempio KbFiltr .
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);
status = WdfPdoInitAssignDeviceID(
pDeviceInit,
&deviceId
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfpdo.h (includere Wdf.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |