Funzione WdfPdoInitAddCompatibleID (wdfpdo.h)

[Si applica solo a KMDF]

Il metodo WdfPdoInitAddCompatibleID aggiunge un ID compatibile all'elenco di ID compatibili per un dispositivo figlio.

Sintassi

NTSTATUS WdfPdoInitAddCompatibleID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING CompatibleID
);

Parametri

[in] DeviceInit

Puntatore a una struttura WDFDEVICE_INIT .

[in] CompatibleID

Puntatore a una struttura UNICODE_STRING contenente una stringa ID compatibile. 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
STATUS_INVALID_DEVICE_REQUEST
Il driver inizializza un oggetto FDO anziché un oggetto PDO.
STATUS_INSUFFICIENT_RESOURCES
Impossibile allocare spazio al driver per archiviare la stringa ID compatibile.
 

Il metodo potrebbe restituire anche altri valori NTSTATUS.

Commenti

Il driver può aggiungere uno o più ID compatibili per un dispositivo. Devono essere aggiunti in ordine, dalla migliore corrispondenza alla peggiore corrispondenza. Il framework fornirà gli ID al gestore PnP nell'ordine in cui sono stati aggiunti. Per altre informazioni sugli ID compatibili, vedere Stringhe di identificazione del dispositivo e Modalità di selezione dei driver.

Il driver deve chiamare WdfPdoInitAddCompatibleID 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 valore ID compatibile usato dal driver di esempio Tostapane .

DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");

status = WdfPdoInitAddCompatibleID(
                                   DeviceInit,
                                   &compatId
                                   );

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)

Vedi anche

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID