Compartir a través de


Función WdfPdoInitAllocate (wdfpdo.h)

[Solo se aplica a KMDF]

El método WdfPdoInitAllocate asigna una estructura de WDFDEVICE_INIT para un controlador de bus basado en marco, que el controlador de bus usa al notificar un nuevo dispositivo.

Sintaxis

PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in] WDFDEVICE ParentDevice
);

Parámetros

[in] ParentDevice

Identificador de un objeto de dispositivo de marco que representa el dispositivo primario del nuevo dispositivo. El objeto de dispositivo de marco debe representar un objeto de dispositivo funcional (FDO).

Valor devuelto

Si la operación se realiza correctamente, el método devuelve un puntero a una estructura de WDFDEVICE_INIT asignada por el marco. De lo contrario, el método devuelve NULL.

Comentarios

Si un controlador de bus usa la enumeración estática, notifica un nuevo dispositivo mediante:

  1. Llamar a WdfPdoInitAllocate para asignar una estructura de WDFDEVICE_INIT .
  2. Llamar a métodos de inicialización de objetos de dispositivo de marco y métodos de inicialización de PDO de marco, según sea necesario, para inicializar la estructura WDFDEVICE_INIT. Si se produce un error en una llamada a uno de estos métodos, el controlador debe llamar a WdfDeviceInitFree.
  3. Llamar a WdfDeviceCreate para crear un objeto de dispositivo de marco, proporcionando la estructura de WDFDEVICE_INIT inicializada como entrada.
Para obtener más información sobre la enumeración estática, vea Enumerar los dispositivos en un bus.

Ejemplos

Para obtener un ejemplo de código que usa WdfPdoInitAllocate, vea WdfFdoAddStaticChild.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfpdo.h (incluya Wdf.h)
Library Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI AddPdoToStaticChildList(kmdf), DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf)

Consulte también

WdfControlDeviceInitAllocate