次の方法で共有


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 つ以上のドライバーがこれらのメンバーを使用しているため、フレームワークは、FsContext またはファイルの WDM FILE_OBJECT構造体の メンバー 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 が含まれているとは異なります。
WdfFileObjectCanBeOptional ビット フラグが設定されている場合、フレームワークの検証ツールはそのようなケースを無視します。

必要条件

要件 価値
最小 KMDF バージョン 1.0
UMDF の最小バージョン する 2.0
ヘッダー wdfdevice.h (Wdf.h を含む)

関連項目

FILE_OBJECT

WDF_FILEOBJECT_CONFIG