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
STATUS_INVALID_DEVICE_REQUEST
Il driver sta inizializzando un fdO anziché un PDO.
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare spazio al driver per archiviare la stringa ID hardware.
 

Il metodo potrebbe anche restituire altri valori NTSTATUS.

Commenti

Il driver può aggiungere uno o più ID hardware per un dispositivo. Devono essere aggiunti in ordine dalla corrispondenza migliore alla corrispondenza peggiore. 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 del dispositivo e Come il programma di installazione seleziona i driver.

Il driver deve chiamare WdfPdoInitAddHardwareID 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 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 KMDF minima 1.0
Intestazione wdfpdo.h (include Wdf.h)
Libreria 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)

Vedi anche

WdfPdoInitAddCompatibleID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID