WDF_IO_TARGET_OPEN_TYPE列挙 (wdfiotarget.h)

[KMDF と UMDF に適用]

WDF_IO_TARGET_OPEN_TYPE列挙体は、ドライバーが WdfIoTargetOpen を呼び出すときに、ドライバーがリモート I/O ターゲットを識別する方法を指定します。

構文

typedef enum _WDF_IO_TARGET_OPEN_TYPE {
  WdfIoTargetOpenUndefined = 0,
  WdfIoTargetOpenUseExistingDevice = 1,
  WdfIoTargetOpenByName = 2,
  WdfIoTargetOpenReopen = 3,
  WdfIoTargetOpenLocalTargetByFile = 4
} WDF_IO_TARGET_OPEN_TYPE;

定数

 
WdfIoTargetOpenUndefined
値: 0
システムで使用するために予約されています。
WdfIoTargetOpenUseExistingDevice
値: 1
この値は KMDF でのみサポートされています。

ドライバーは、Windows ドライバー モデル (WDM) DEVICE_OBJECT構造体へのポインターを指定することで、リモート I/O ターゲット 識別しています。
WdfIoTargetOpenByName
値: 2
ドライバーは、 オブジェクト名を表す Unicode 名文字列を指定して、リモート I/O ターゲットを開いています。 この名前は、デバイス、ファイル、またはデバイス インターフェイスを識別できます。
WdfIoTargetOpenReopen
値: 3
ドライバーは、以前 に WdfIoTargetCloseForQueryRemove を呼び出した後、リモート I/O ターゲットを再度開いています。 詳細については、「解説」を参照してください。
WdfIoTargetOpenLocalTargetByFile
値: 4
この値は UMDF でのみサポートされています。

Umdf ドライバーは、下位スタック (ローカル ターゲットと同様) を表すファイル ハンドルを開き、ドライバーによって作成された要求を下位スタックに送信できるようにします。 UMDF ドライバーは、WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILEを呼び出すときにこの値 指定します。

注釈

WDF_IO_TARGET_OPEN_TYPE列挙体は、WDF_IO_TARGET_OPEN_PARAMS構造体の Type メンバーで使用されます。

ドライバーは、最初にリモート I/O ターゲットを開いたときに WdfIoTargetOpenByName を指定した場合にのみ、WdfIoTargetOpenReopen を指定できます。

WdfIoTargetOpenReopen が設定されている場合、フレームワークは、WDF_IO_TARGET_OPEN_PARAMS構造体の他のすべてのメンバーを無視し、最初に WdfIoTargetOpen を呼び出したときにドライバーが指定した値を使用してリモート I/O ターゲットを開きます。

既定では (ドライバーが INF ファイルで UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects を指定しない限り)、UMDF はファイル オブジェクトに関連付けられていない I/O 要求の処理を許可しません。 また、HIDclass 列挙コレクション PDO などの一部のドライバー スタックでは、ファイル オブジェクトが関連付けられていない要求が失敗します。

アプリで作成された要求とは異なり、ローカル I/O ターゲットに送信されるドライバーによって作成された要求には、関連付けられたファイル オブジェクトがありません。 その結果、フレームワークまたは下位ドライバーでこれらの要求が失敗する可能性があります。

この状況では、 WdfIoTargetOpenLocalTargetByFile を使用して、ローカル ターゲットに送信されたドライバーによって作成された要求を、そのターゲットに対応するファイル オブジェクトに関連付けることができます。

要件

要件
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfiotarget.h (Wdf.h を含む)

こちらもご覧ください

DEVICE_OBJECT

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE

WdfIoTargetCloseForQueryRemove

WdfIoTargetOpen