共用方式為


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的詳細資訊,請參閱 建立 Framework Device Object

例子

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

NTSTATUS  status;

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

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
標頭 wdfdevice.h (包括 Wdf.h)
連結庫 Wdf01000.sys (請參閱架構連結庫版本控制。)
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 DoubleDeviceInitFree(kmdf)DriverCreate(kmdf)InitFreeDeviceCallbackInitFreeDeviceCreate(kmdf)InitFreeDeviceCreateType2(kmdf)InitFreeDeviceCreateType4(kmdf)InitFreeNull (kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf),PdoInitFreeDeviceCallback(kmdf)PdoInitFreeDeviceCreate(kmdf)PdoInitFreeDeviceCreateType2(kmdf)PdoInitFreeDeviceCreateType4(kmdf)

另請參閱

WdfDeviceCreate