WDF_IO_TARGET_OPEN_PARAMS-Struktur (wdfiotarget.h)

[Gilt für KMDF und UMDF]

Die WDF_IO_TARGET_OPEN_PARAMS-Struktur enthält Parameter, die von der WdfIoTargetOpen-Methode verwendet werden.

Syntax

typedef struct _WDF_IO_TARGET_OPEN_PARAMS {
  ULONG                             Size;
  WDF_IO_TARGET_OPEN_TYPE           Type;
  PFN_WDF_IO_TARGET_QUERY_REMOVE    EvtIoTargetQueryRemove;
  PFN_WDF_IO_TARGET_REMOVE_CANCELED EvtIoTargetRemoveCanceled;
  PFN_WDF_IO_TARGET_REMOVE_COMPLETE EvtIoTargetRemoveComplete;
  PDEVICE_OBJECT                    TargetDeviceObject;
  PFILE_OBJECT                      TargetFileObject;
  UNICODE_STRING                    TargetDeviceName;
  ACCESS_MASK                       DesiredAccess;
  ULONG                             ShareAccess;
  ULONG                             FileAttributes;
  ULONG                             CreateDisposition;
  ULONG                             CreateOptions;
  PVOID                             EaBuffer;
  ULONG                             EaBufferLength;
  PLONGLONG                         AllocationSize;
  ULONG                             FileInformation;
  UNICODE_STRING                    FileName;
} WDF_IO_TARGET_OPEN_PARAMS, *PWDF_IO_TARGET_OPEN_PARAMS;

Member

Size

Die Größe (in Bytes) dieser Struktur.

Type

Ein WDF_IO_TARGET_OPEN_TYPE typisierter Wert, der den Typ des geöffneten Vorgangs angibt, der von WdfIoTargetOpen ausgeführt wird.

EvtIoTargetQueryRemove

Ein Zeiger auf die EvtIoTargetQueryRemove-Ereignisrückruffunktion des Treibers oder NULL.

EvtIoTargetRemoveCanceled

Ein Zeiger auf die EvtIoTargetRemoveCanceled-Ereignisrückruffunktion des Treibers oder NULL.

EvtIoTargetRemoveComplete

Ein Zeiger auf die EvtIoTargetRemoveComplete-Ereignisrückruffunktion des Treibers oder NULL.

TargetDeviceObject

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenUseExistingDevice ist, ist dies ein Zeiger auf eine DEVICE_OBJECT Struktur, die das Gerät des E/A-Ziels darstellt. Wenn der Wert von Type nicht WdfIoTargetOpenUseExistingDevice ist, wird dieser Member ignoriert.

TargetFileObject

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenUseExistingDevice ist, ist dies ein Zeiger auf eine FILE_OBJECT-Struktur . Diese Struktur ist in allen E/A-Anforderungen enthalten, die der Treiber an das E/A-Ziel sendet (siehe WdfRequestGetFileObject). Dieser Member ist optional und kann NULL sein. Wenn der Wert von Type nicht WdfIoTargetOpenUseExistingDevice ist, wird dieser Member ignoriert.

TargetDeviceName

Wenn der Wert von TypeWdfIoTargetOpenByName ist, handelt es sich um eine UNICODE_STRING Struktur, die den Namen eines Geräts, einer Datei oder einer Geräteschnittstelle enthält. Informationen zum Format dieses Namens finden Sie unter Objektnamen.

Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

DesiredAccess

Wenn der Wert von TypeWdfIoTargetOpenByName ist, ist dies ein ACCESS_MASK Wert.

Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

KMDF Mögliche Werte sind FILE_Xxxx_ACCESS Werte wie FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS oder FILE_WRITE_ACCESS sowie GENERIC_READ, GENERIC_WRITE und GENERIC_ALL.

UMDF Die am häufigsten verwendeten Werte sind GENERIC_READ, GENERIC_WRITE oder beide (GENERIC_READ | GENERIC_WRITE). Beachten Sie, dass ACCESS_MASK ein DWORD-Wert ist. Weitere Informationen zu diesem Member finden Sie unter dem dwDesiredAccess-Parameter von CreateFile im Windows SDK.

ShareAccess

Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, ist dies ein bitweises OR der folgenden Flags (die in Wdm.h definiert sind) oder null.

ShareAccess-Flag Bedeutung
FILE_SHARE_READ Der Treiber erfordert keinen exklusiven Lesezugriff auf das Gerät.
FILE_SHARE_WRITE Der Treiber erfordert keinen exklusiven Schreibzugriff auf das Gerät.
FILE_SHARE_DELETE Der Treiber erfordert keinen exklusiven Löschzugriff auf das Gerät.
 

UMDF Weitere Informationen zu diesem Member finden Sie im DwShareMode-Parameter der CreateFile-Funktion im Windows SDK.

Der Wert 0 (null) in ShareAccess gibt an, dass der Treiber exklusiven Zugriff auf das Gerät benötigt.

FileAttributes

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, ist dies ein bitweises OR der FILE_ATTRIBUTE_Xxxx-Flags , die in Wdm.h definiert sind. Die meisten Treiber geben FILE_ATTRIBUTE_NORMAL an. Weitere Informationen zu diesen Flags finden Sie unter ZwCreateFile.

UMDF Weitere Informationen zu diesem Member finden Sie im DwFlagsAndAttributes-Parameter der CreateFile-Funktion im Windows SDK.

Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

CreateDisposition

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, gibt dieser Wert eine Aktion an, die das System beim Öffnen einer Datei ausführen soll. Eine Liste der möglichen Werte finden Sie unter ZwCreateFile.

UMDF Weitere Informationen zu diesem Member finden Sie im DwCreationDisposition-Parameter der CreateFile-Funktion im Windows SDK.

Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

CreateOptions

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, ist dies ein bitweises OR von Dateioptionsflags. Eine Liste der möglichen Flags finden Sie unter ZwCreateFile. Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

EaBuffer

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, verweist dieser Member auf einen erweiterten Attributpuffer. In der Regel geben Treiber NULL für diesen Wert an. Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

EaBufferLength

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, ist dies die Länge des Puffers für erweiterte Attribute. In der Regel stellen Treiber 0 (null) für diesen Wert bereit. Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

AllocationSize

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, gibt dieser Member die Größe in Bytes an, die das System zunächst für die Datei zuordnen soll, wenn es eine neue Datei erstellt. Dieser Wert ist optional und kann null sein. Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

FileInformation

Dieser Member gilt nicht für UMDF-Treiber.

KMDF Wenn der Wert von TypeWdfIoTargetOpenByName ist, empfängt dieser Member status Informationen, wenn der Aufruf von WdfIoTargetOpen zurückgibt. Die Informationen sind einer der folgenden Werte: FILE_CREATED, FILE_OPENED, FILE_OVERWRITTEN, FILE_SUPERSEDED, FILE_EXISTS oder FILE_DOES_NOT_EXIST. Wenn der Wert von Type nicht WdfIoTargetOpenByName ist, wird dieser Member ignoriert.

FileName

Dieser Member gilt nicht für KMDF-Treiber.

UMDF Eine UNICODE_STRING-Struktur, die den Namen der Datei enthält, aus der ein Dateiobjekt erstellt werden soll. Dieser Member ist optional und gilt nur, wenn der Wert von TypeWdfIoTargetOpenLocalTargetByFile ist. Die meisten Treiber geben hier NULL an, es sei denn, das untere Ziel unterstützt den Gerätenamespacezugriff. Wenn angegeben, darf die Zeichenfolge keine Pfadtrennzeichen (Schrägstrich oder umgekehrter Schrägstrich) enthalten.

Hinweise

Treiber sollten die WDF_IO_TARGET_OPEN_PARAMS-Struktur initialisieren, indem sie eine der folgenden Funktionen aufrufen:

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfiotarget.h (include Wdf.h)

Weitere Informationen

ACCESS_MASK

DEVICE_OBJECT

EvtIoTargetQueryRemove

EvtIoTargetRemoveCanceled

FILE_OBJECT

UNICODE_STRING

WDF_IO_TARGET_OPEN_TYPE

WdfIoTargetOpen

WdfRequestGetFileObject

ZwCreateFile