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 che contiene una stringa ID dispositivo. Il driver può allocare il buffer della stringa dal pool di paging.
Valore restituito
Se l'operazione ha esito positivo, il metodo restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:
Codice restituito | Descrizione |
---|---|
|
Il driver sta inizializzando un oggetto FDO anziché un PDO. |
|
Impossibile allocare spazio al driver per archiviare la stringa id dispositivo. |
Il metodo potrebbe anche restituire altri valori NTSTATUS .
Osservazioni:
Un ID dispositivo è in genere il primo elemento nell'elenco di ID hardware segnalati da un dispositivo. Per altre informazioni sugli ID dispositivo e sugli ID hardware, vedere stringhe di identificazione dei dispositivi e Come il programma di installazione seleziona i driver.
Il driver deve chiamare WdfPdoInitAssignDeviceID prima di chiamare WdfDeviceCreate. Per altre informazioni sulla chiamata di WdfDeviceCreate, vedere Creating a Framework Device Object.
Esempi
L'esempio di codice seguente segnala 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 minima di KMDF | 1.0 |
intestazione | wdfpdo.h (include Wdf.h) |
Biblioteca | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
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) |