共用方式為


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 驅動程式物件的句柄,該驅動程式是從先前呼叫 WdfDriverCreateWdfGetDriver 取得的。

[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