Freigeben über


WdfIoTargetCreate-Funktion (wdfiotarget.h)

[Gilt für KMDF und UMDF]

Die WdfIoTargetCreate-Methode erstellt ein Remote-E/A-Ziel für ein angegebenes Gerät.

Syntax

NTSTATUS WdfIoTargetCreate(
  [in]           WDFDEVICE              Device,
  [in, optional] PWDF_OBJECT_ATTRIBUTES IoTargetAttributes,
  [out]          WDFIOTARGET            *IoTarget
);

Parameter

[in] Device

Ein Handle für ein Framework-Geräteobjekt.

[in, optional] IoTargetAttributes

Ein Zeiger auf eine vom Aufrufer zugewiesene WDF_OBJECT_ATTRIBUTES-Struktur , die Objektattribute für das E/A-Zielobjekt angibt. Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.

[out] IoTarget

Ein Zeiger auf eine Position, die ein Handle für ein E/A-Zielobjekt empfängt.

Rückgabewert

WdfIoTargetCreate gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Ein ungültiger Parameter wurde erkannt.
STATUS_INSUFFICIENT_RESOURCES
Es war nicht genügend Arbeitsspeicher vorhanden, um ein neues E/A-Zielobjekt zu erstellen.
STATUS_INVALID_DEVICE_REQUEST
Das ParentObject-Element der WDF_OBJECT_ATTRIBUTES Struktur, die IoTargetAttributes angegeben hat, hat nicht das von Device angegebene Framework-Geräteobjekt oder ein Objekt angegeben, dessen Kette von übergeordneten Elementen zu diesem Objekt führt.
 

Eine Liste mit anderen Rückgabewerten, die WdfIoTargetCreate zurückgeben kann, finden Sie unter Fehler bei der Erstellung von Frameworkobjekten.

Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Nachdem ein Treiber WdfIoTargetCreate aufgerufen hat, muss der Treiber WdfIoTargetOpen aufrufen, bevor er Anforderungen an das Remote-E/A-Ziel senden kann.

Wenn der Treiber ein übergeordnetes Objekt im ParentObject-Element der WDF_OBJECT_ATTRIBUTES-Struktur angibt, kann das übergeordnete Objekt ein Frameworkgeräteobjekt oder ein objekt sein, dessen Kette von übergeordneten Elementen zu einem Framework-Geräteobjekt führt. Das Framework löscht das E/A-Zielobjekt, wenn es (oder der Treiber) das Geräteobjekt löscht.

Weitere Informationen zu WdfIoTargetCreate finden Sie unter Initialisieren eines allgemeinen E/A-Ziels.

Wenn Ihr Treiber EvtCleanupCallback - oder EvtDestroyCallback-Rückruffunktionen für das E/A-Zielobjekt bereitstellt, beachten Sie, dass das Framework diese Rückruffunktionen unter IRQL = PASSIVE_LEVEL aufruft.

Weitere Informationen zu E/A-Zielen finden Sie unter Verwenden von E/A-Zielen.

Beispiele

Ein Codebeispiel, das WdfIoTargetCreate verwendet, finden Sie unter WdfIoTargetOpen.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfiotarget.h (include Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WDF_OBJECT_ATTRIBUTES

WdfIoTargetOpen