共用方式為


WdfDeviceInitFree 函式 (wdfdevice.h)

[僅適用於 KMDF]

WdfDeviceInitFree 方法會解除分配WDFDEVICE_INIT結構。

語法

void WdfDeviceInitFree(
  [in] PWDFDEVICE_INIT DeviceInit
);

參數

[in] DeviceInit

WDFDEVICE_INIT 結構的指標。

傳回值

備註

如果您的驅動程式從 呼叫 WdfPdoInitAllocateWdfControlDeviceInitAllocate 收到WDFDEVICE_INIT結構,而且驅動程式後續在呼叫 裝置物件初始化方法WdfDeviceCreate 時遇到錯誤,驅動程式必須呼叫 WdfDeviceInitFree

驅動程式在呼叫 WdfDeviceCreate 成功之後,不得呼叫 WdfDeviceInitFree

如果您的驅動程式收到WDFDEVICE_INIT結構做為其 EvtDriverDeviceAdd 回呼函式的輸入,則不需要呼叫 WdfDeviceInitFree,因為架構會在回呼函式傳回之後刪除結構。

如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立架構裝置物件

範例

如果呼叫 WdfPdoInitAssignRawDevice 失敗,下列程式代碼範例會呼叫 WdfDeviceInitFree

NTSTATUS  status;

status = WdfPdoInitAssignRawDevice(
                                   pDeviceInit,
                                   &GUID_DEVCLASS_KEYBOARD
                                   );
if (!NT_SUCCESS(status)) {
    WdfDeviceInitFree(pDeviceInit);
    pDeviceInit = NULL;
    return STATUS;
}

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
標頭 wdfdevice.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 DoubleDeviceInitFree (kmdf) DriverCreate (kmdf) InitFreeDeviceCallback (kmdf) InitFreeDeviceCreate (kmdf) InitFreeDeviceCreateType2 (kmdf) InitFreeDeviceCreateType4 (kmdf) InitFreeNull (kmdf) KmdfIrql (kmdf ) 、 KmdfIrql2 (kmdf ) 、KmdfIrqlExplicit (kmdf) 、 PdoInitFreeDeviceCallback (kmdf) PdoInitFreeDeviceCreate (kmdf) PdoInitFreeDeviceCreateType2 (kmdf) PdoInitFreeDeviceCreateType4 (kmdf)

另請參閱

WdfDeviceCreate