Freigeben über


UfxFdoInit-Funktion (ufxclient.h)

Initialisiert die WDFDEVICE_INIT Struktur, die der Clienttreiber anschließend bereitstellt, wenn er WdfDeviceCreateaufruft.

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 Statuswert zurück, für den NT_SUCCESS(status) gleich TRUE ist. Andernfalls wird ein Statuswert zurückgegeben, für den NT_SUCCESS(Status) GLEICH FALSE ist.

Bemerkungen

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

Bei WDF-Treibern ist der Funktionstreiber des Geräts standardmäßig der Besitzer der Energierichtlinie.

Der folgende Codeausschnitt zeigt, wie UfxFdoInitaufgerufen 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
mindestens unterstützte Client- Windows 10
Zielplattform- Fenster
Header- ufxclient.h
Library ufxstub.lib
IRQL- PASSIVE_LEVEL