UfxFdoInit 函式 (ufxclient.h)
初始化用戶端驅動程式在呼叫 WdfDeviceCreate 時所提供WDFDEVICE_INIT結構。
語法
NTSTATUS UfxFdoInit(
[in] WDFDRIVER WdfDriver,
[in, out] PWDFDEVICE_INIT DeviceInit,
[in, out] PWDF_OBJECT_ATTRIBUTES FdoAttributes
);
參數
[in] WdfDriver
驅動程式 WDF 驅動程式物件的句柄,該驅動程式是從先前呼叫 WdfDriverCreate 或 WdfGetDriver 取得的。
[in, out] DeviceInit
WDFDEVICE_INIT 結構的指標。
[in, out] FdoAttributes
呼叫端配置的 WDF_OBJECT_ATTRIBUTES 結構的指標,描述的物件屬性
傳回值
如果作業成功,此方法會傳回STATUS_SUCCESS,或NT_SUCCESS (状态) 等於 TRUE 的另一個狀態值。 否則會傳回狀態值,NT_SUCCESS (状态) 等於 FALSE。
備註
用戶端驅動程式會在其 EvtDriverDeviceAdd 回呼函式中接收架構配置的WDFDEVICE_INIT結構的指標。 然後它會使用這個指標呼叫 UfxFdoInit ,再呼叫 WdfDeviceCreate 來建立 WDFDEVICE 物件。
根據預設,針對 WDF 驅動程式,裝置的函式驅動程式是電源原則擁有者。
下列代碼段示範如何呼叫 UfxFdoInit。
NTSTATUS
UfxClientDeviceCreate(
_In_ WDFDRIVER Driver,
_In_ PWDFDEVICE_INIT DeviceInit
)
/*++
Routine Description:
Worker routine called to create a device and its software resources.
Arguments:
Driver - WDF driver object
DeviceInit - Pointer to an opaque init structure. Memory for this
structure will be freed by the framework when WdfDeviceCreate
succeeds. So don't access the structure after that point.
Return Value:
Appropriate NTSTATUS value
--*/
{
WDF_OBJECT_ATTRIBUTES DeviceAttributes;
WDFDEVICE WdfDevice;
PAGED_CODE();
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&DeviceAttributes, CONTROLLER_CONTEXT);
//
// Do UFX-specific initialization
//
Status = UfxFdoInit(Driver, DeviceInit, &DeviceAttributes);
//
// Proceed to WdfDeviceCreate
//
...
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
目標平台 | Windows |
標頭 | ufxclient.h |
程式庫 | ufxstub.lib |
IRQL | PASSIVE_LEVEL |