Condividi tramite


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
STATUS_INVALID_DEVICE_REQUEST
Il driver sta inizializzando un oggetto FDO anziché un PDO.
STATUS_INSUFFICIENT_RESOURCES
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)

Vedere anche

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID