Funzione WdfPdoInitAddHardwareID (wdfpdo.h)
[Si applica solo a KMDF]
Il metodo WdfPdoInitAddHardwareID aggiunge un ID hardware all'elenco di ID hardware per un dispositivo figlio.
Sintassi
NTSTATUS WdfPdoInitAddHardwareID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING HardwareID
);
Parametri
[in] DeviceInit
Puntatore a una struttura WDFDEVICE_INIT.
[in] HardwareID
Puntatore a una struttura UNICODE_STRING che contiene una stringa ID hardware. 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. |
|
Il driver non è riuscito ad allocare spazio per archiviare la stringa ID hardware. |
Il metodo potrebbe anche restituire altri valori NTSTATUS .
Osservazioni:
Il driver può aggiungere uno o più ID hardware per un dispositivo. Devono essere aggiunti in ordine dalla corrispondenza migliore alla peggiore delle corrispondenze. Il framework distribuirà gli ID al gestore PnP nell'ordine in cui sono stati aggiunti. Per altre informazioni sugli ID hardware, vedere stringhe di identificazione dei dispositivi e Come il programma di installazione seleziona i driver.
Il driver deve chiamare WdfPdoInitAddHardwareID 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 hardware usato dal driver di esempio KbFiltr.
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);
status = WdfPdoInitAddHardwareID(
pDeviceInit,
&hardwareId
);
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) |