UfxFdoInit-Funktion (ufxclient.h)

Initialisiert die WDFDEVICE_INIT-Struktur, die der Clienttreiber anschließend bereitstellt, wenn er WdfDeviceCreate aufruft.

Syntax

NTSTATUS UfxFdoInit(
  [in]      WDFDRIVER              WdfDriver,
  [in, out] PWDFDEVICE_INIT        DeviceInit,
  [in, out] PWDF_OBJECT_ATTRIBUTES FdoAttributes
);

Parameter

[in] WdfDriver

Ein Handle für das WDF-Treiberobjekt des Treibers, das der Treiber aus einem vorherigen Aufruf von WdfDriverCreate oder WdfGetDriver abgerufen hat.

[in, out] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in, out] FdoAttributes

Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_OBJECT_ATTRIBUTES-Struktur , die Objektattribute für die

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Methode STATUS_SUCCESS oder einen anderen status Wert zurück, für den NT_SUCCESS(status) true entspricht. Andernfalls wird ein status Wert zurückgegeben, für den NT_SUCCESS(status) false entspricht.

Hinweise

Der Clienttreiber empfängt in seiner Rückruffunktion EvtDriverDeviceAdd einen Zeiger auf eine vom Framework zugewiesene WDFDEVICE_INIT Struktur. Anschließend wird UfxFdoInit mit diesem Zeiger aufgerufen, bevor WdfDeviceCreate aufgerufen wird, um das WDFDEVICE-Objekt zu erstellen.

Standardmäßig ist für WDF-Treiber der Funktionstreiber des Geräts der Besitzer der Energierichtlinie.

Der folgende Codeausschnitt zeigt, wie UfxFdoInit aufgerufen wird.

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
    //
    
    ...

}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Zielplattform Windows
Kopfzeile ufxclient.h
Bibliothek ufxstub.lib
IRQL PASSIVE_LEVEL