WdfPdoInitAllocate method
[Applies to KMDF only]
The WdfPdoInitAllocate method allocates a WDFDEVICE_INIT structure for a framework-based bus driver, which the bus driver uses when reporting a new device.
Syntax
PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in]  WDFDEVICE ParentDevice
);
Parameters
- ParentDevice [in]
- 
A handle to a framework device object that represents the parent device of the new device. The framework device object must represent a functional device object (FDO). 
Return value
If the operation succeeds, the method returns a pointer to a framework-allocated WDFDEVICE_INIT structure. Otherwise, the method returns NULL.
Remarks
If a bus driver uses static enumeration, it reports a new device by:
- 
Calling WdfPdoInitAllocate to allocate a WDFDEVICE_INIT structure. 
- 
Calling framework device object initialization methods and framework PDO initialization methods, as needed, to initialize the WDFDEVICE_INIT structure. If a call to one of these methods fails, the driver must call WdfDeviceInitFree. 
- 
Calling WdfDeviceCreate to create a framework device object, supplying the initialized WDFDEVICE_INIT structure as input. 
For more information about static enumeration, see Enumerating the Devices on a Bus.
Examples
For a code example that uses WdfPdoInitAllocate, see WdfFdoAddStaticChild.
Requirements
| Minimum KMDF version | 1.0 | 
|---|---|
| Header | 
 | 
| Library | 
 | 
| IRQL | PASSIVE_LEVEL | 
| DDI compliance rules | AddPdoToStaticChildList, DriverCreate, KmdfIrql, KmdfIrql2, PdoDeviceInitAPI, PdoInitFreeDeviceCallback, PdoInitFreeDeviceCreate, PdoInitFreeDeviceCreateType2, PdoInitFreeDeviceCreateType4 | 
See also

