Función WdfDeviceInitFree (wdfdevice.h)
[Solo se aplica a KMDF]
El método WdfDeviceInitFree desasigna una estructura de WDFDEVICE_INIT.
Sintaxis
void WdfDeviceInitFree(
[in] PWDFDEVICE_INIT DeviceInit
);
Parámetros
[in] DeviceInit
Puntero a una estructura de WDFDEVICE_INIT.
Valor devuelto
Ninguno
Observaciones
Si el controlador recibe una estructura de WDFDEVICE_INIT de una llamada a WdfPdoInitAllocate o WdfControlDeviceInitAllocatey si el controlador encuentra posteriormente produce un error cuando llama a un método de inicialización de objeto de dispositivo o WdfDeviceCreate, el controlador debe llamar a WdfDeviceInitFree.
El controlador no debe llamar a WdfDeviceInitFree después de llamar a WdfDeviceCreate correctamente.
El controlador no necesita llamar a WdfDeviceInitFree si recibió la estructura WDFDEVICE_INIT como entrada en su EvtDriverDeviceAdd función de devolución de llamada, ya que el marco elimina la estructura después de que se devuelva la función de devolución de llamada.
Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Ejemplos
En el ejemplo de código siguiente se llama a WdfDeviceInitFree si se produce un error en una llamada a WdfPdoInitAssignRawDevice.
NTSTATUS status;
status = WdfPdoInitAssignRawDevice(
pDeviceInit,
&GUID_DEVCLASS_KEYBOARD
);
if (!NT_SUCCESS(status)) {
WdfDeviceInitFree(pDeviceInit);
pDeviceInit = NULL;
return STATUS;
}
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado de | wdfdevice.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeDeviceCreateType2(kmdf), InitFreeDeviceCreateType4(kmdf), InitFreeNull(km, KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf) |