WDF_FILEOBJECT_CLASS列挙 (wdfdevice.h)
[KMDF と UMDF に適用]
WDF_FILEOBJECT_CLASS列挙は、ドライバーが、アプリケーションまたは別のドライバーが作成または開こうとしているファイルを表すためにフレームワーク ファイル オブジェクトを必要とするかどうかを識別する値を定義します。 これらの値は、フレームワークがオブジェクトのハンドルを格納できる場所も指定します。
構文
typedef enum _WDF_FILEOBJECT_CLASS {
WdfFileObjectInvalid = 0,
WdfFileObjectNotRequired = 1,
WdfFileObjectWdfCanUseFsContext = 2,
WdfFileObjectWdfCanUseFsContext2 = 3,
WdfFileObjectWdfCannotUseFsContexts = 4,
WdfFileObjectCanBeOptional = 0x80000000
} WDF_FILEOBJECT_CLASS, *PWDF_FILEOBJECT_CLASS;
定数
WdfFileObjectInvalid 値: 0 内部使用のために予約されています。 |
WdfFileObjectNotRequired 値: 1 ドライバーにはフレームワーク ファイル オブジェクトは必要ありません。 |
WdfFileObjectWdfCanUseFsContext 値: 2 ドライバーにはフレームワーク ファイル オブジェクトが必要です。 フレームワークは、ファイルの Windows ドライバー モデル (WDM) FILE_OBJECT構造体の FsContext メンバーにオブジェクトのハンドル を 格納できます。 |
WdfFileObjectWdfCanUseFsContext2 値: 3 ドライバーにはフレームワーク ファイル オブジェクトが必要です。 フレームワークは、ファイルの WDM FILE_OBJECT構造体の FsContext2 メンバーにオブジェクトのハンドルを格納できます。 |
WdfFileObjectWdfCannotUseFsContexts 値: 4 ドライバーにはフレームワーク ファイル オブジェクトが必要です。 1 つ以上のドライバーがこれらのメンバーを使用しているため、フレームワークは、ファイルの WDM FILE_OBJECT構造体の FsContext または FsContext2 メンバーにオブジェクトのハンドルを格納できません。 そのため、フレームワークはハンドルを内部的に格納する必要があります。 |
WdfFileObjectCanBeOptional 値: 0x80000000 ドライバーには通常、フレームワーク ファイル オブジェクトが必要ですが、ドライバーは、フレームワーク ファイル オブジェクトが見つからない、または異なる特殊な状況を処理することもできます。 これらの状況の詳細については、次の「備考」セクションを参照してください。 WdfFileObjectCanBeOptional は、ドライバーが WdfFileObjectWdfCanUseFsContext、WdfFileObjectWdfCanUseFsContext2、または WdfFileObjectWdfCannotUseFsContexts 列挙値を使用してまたはできるビット フラグです。 ほとんどのフレームワーク ベースのドライバーでは、このビット フラグは使用されません。 WdfFileObjectCanBeOptional 値は、バージョン 1.9 以降のバージョンの KMDF で使用できます。 |
注釈
WDF_FILEOBJECT_CLASS列挙体は、WDF_FILEOBJECT_CONFIG構造体で使用されます。
ドライバーが WdfRequestGetFileObject を呼び出して I/O 要求のフレームワーク ファイル オブジェクトを取得し、ドライバーが受信する WDM I/O 要求パケット (IRP) の一部に WDM ファイル オブジェクトが含まれていないことがわかっている場合、ドライバーは WdfFileObjectCanBeOptional ビット フラグを設定できます。
ドライバーが WdfFileObjectWdfCanUseFsContext、WdfFileObjectWdfCanUseFsContext2、または WdfFileObjectWdfCannotUseFsContexts 値を設定し、WdfFileObjectCanBeOptional ビット フラグを設定していない場合、フレームワークの検証ツールは、ドライバーが WdfRequestGetFileObject メソッドを呼び出したときに、次の場合にエラーを報告します。
- IRP には WDM ファイル オブジェクトは含まれません。
- IRP には WDM ファイル オブジェクトが含まれていますが、ファイル オブジェクトは、ファイル作成 IRP が含まれているとは異なります。
要件
要件 | 値 |
---|---|
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdevice.h (Wdf.h を含む) |