Condividi tramite


Funzione WdfPdoInitAllocate (wdfpdo.h)

[Si applica solo a KMDF]

Il metodo WdfPdoInitAllocate alloca una struttura WDFDEVICE_INIT per un driver di bus basato su framework, usato dal driver del bus per la segnalazione di un nuovo dispositivo.

Sintassi

PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in] WDFDEVICE ParentDevice
);

Parametri

[in] ParentDevice

Handle per un oggetto dispositivo framework che rappresenta il dispositivo padre del nuovo dispositivo. L'oggetto dispositivo framework deve rappresentare un oggetto dispositivo funzionale (FDO).

Valore restituito

Se l'operazione ha esito positivo, il metodo restituisce un puntatore a una struttura di WDFDEVICE_INIT allocata dal framework. In caso contrario, il metodo restituisce NULL.

Osservazioni:

Se un driver del bus usa l'enumerazione statica, segnala un nuovo dispositivo in base a:

  1. Chiamata WdfPdoInitAllocate per allocare una struttura di WDFDEVICE_INIT.
  2. Chiamando framework i metodi di inizializzazione degli oggetti del dispositivo e i metodi di inizializzazione PDO del framework, in base alle esigenze, per inizializzare la struttura WDFDEVICE_INIT. Se una chiamata a uno di questi metodi ha esito negativo, il driver deve chiamare WdfDeviceInitFree.
  3. Chiamando WdfDeviceCreate per creare un oggetto dispositivo framework, specificando la struttura WDFDEVICE_INIT inizializzata come input.
Per altre informazioni sull'enumerazione statica, vedere Enumerating the Devices on a Bus.

Esempi

Per un esempio di codice che usa WdfPdoInitAllocate, vedere WdfFdoAddStaticChild.

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 AddPdoToStaticChildList(kmdf), DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf)

Vedere anche

WdfControlDeviceInitAllocate