Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Gilt nur für KMDF]
Die WdfIoTargetWdmGetTargetDeviceObject-Methode gibt einen Zeiger auf das Windows Driver Model (WDM)-Geräteobjekt zurück, das einem angegebenen lokalen oder Remote-E/A-Ziel zugeordnet ist.
Syntax
PDEVICE_OBJECT WdfIoTargetWdmGetTargetDeviceObject(
[in] WDFIOTARGET IoTarget
);
Die Parameter
[in] IoTarget
Ein Handle für ein lokales oder Remote-E/A-Zielobjekt, das von einem vorherigen Aufruf von WdfDeviceGetIoTarget oder WdfIoTargetCreate oder von einer Methode abgerufen wurde, die von einem spezialisierten E/A-Ziel bereitgestellt wird.
Rückgabewert
WdfIoTargetWdmGetDeviceObject gibt einen Zeiger auf eine WDM-DEVICE_OBJECT Struktur zurück.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Die meisten frameworkbasierten Treiber müssen nicht auf das WDM-Geräteobjekt eines E/A-Ziels zugreifen.
Der Zeiger, den die WdfIoTargetWdmGetTargetDeviceObject-Methode zurückgibt, ist gültig, bis der Treiber WdfIoTargetClose oder WdfIoTargetCloseForQueryRemove aufruft oder bis das Remote-E/A-Zielobjekt gelöscht wird. Wenn der Treiber eine EvtCleanupCallback-Funktion für das Remote-E/A-Zielobjekt bereitstellt und das Objekt vor dem Schließen des Remote-E/A-Ziels gelöscht wird, ist der Zeiger gültig, bis die EvtCleanupCallback-Funktion zurückgegeben wird.
Wenn der Treiber versucht, nach dem Entfernen auf das WDM-Geräteobjekt zuzugreifen, kann der Treiber dazu führen, dass das System abstürzt. Das Popupmonbeispiel veranschaulicht, wie der Treiber eine EvtIoTargetQueryRemove-Rückruffunktion bereitstellen kann, sodass sie benachrichtigt wird, wenn das E/A-Ziel entfernt wird.
Weitere Informationen zu WdfIoTargetWdmGetTargetDeviceObjectfinden Sie unter Abrufen von Informationen zu einem allgemeinen E/A-Ziel-.
Weitere Informationen zu E/A-Zielen finden Sie unter Using I/O Targets.
Hinweis
Das Framework verwendet keinen Verweis auf das Zielgerätobjekt, bevor es an den Treiber zurückgegeben wird. Der Aufrufer muss ihn erst ableiten, wenn er explizit einen Verweis hinzufügt.
Beispiele
Im folgenden Codebeispiel wird die WDM-DEVICE_OBJECT Struktur eines E/A-Ziels überprüft, um sicherzustellen, dass das Ziel direkte E/A-Vorgänge unterstützt.
if (!((WdfIoTargetWdmGetTargetDeviceObject(Adapter->IoTarget))->Flags
& DO_DIRECT_IO)) {
ASSERTMSG("Target device doesn't support direct I/O\n", FALSE);
return STATUS_INVALID_DEVICE_REQUEST;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform | universell |
| Minimale KMDF-Version | 1,0 |
| Kopfzeile | wdfiotarget.h (include Wdf.h) |
| Bibliothek | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
| IRQL | <=DISPATCH_LEVEL |
| DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |