WdfDeviceInitFree 函式 (wdfdevice.h)
[僅適用於 KMDF]
WdfDeviceInitFree 方法會解除分配 WDFDEVICE_INIT 結構。
語法
void WdfDeviceInitFree(
[in] PWDFDEVICE_INIT DeviceInit
);
參數
[in] DeviceInit
WDFDEVICE_INIT 結構的指標。
傳回值
沒有
言論
如果您的驅動程式從呼叫 WdfPdoInitAllocate 或 WdfControlDeviceInitAllocate收到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), InitFreeDeviceCallback, InitFreeDeviceCreate(kmdf),InitFreeDeviceCreateType2(kmdf),InitFreeDeviceCreateType4(kmdf),InitFreeNull (kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf),PdoInitFreeDeviceCallback(kmdf),PdoInitFreeDeviceCreate(kmdf),PdoInitFreeDeviceCreateType2(kmdf),PdoInitFreeDeviceCreateType4(kmdf) |