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:
- Llamar a WdfPdoInitAllocate para asignar una estructura de WDFDEVICE_INIT .
- 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.
- Llamar a WdfDeviceCreate para crear un objeto de dispositivo de marco, proporcionando la estructura de WDFDEVICE_INIT inicializada como entrada.
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) |