WdfDeviceGetFileObject 関数 (wdfdevice.h)

[KMDF にのみ適用]

WdfDeviceGetFileObject メソッドは、指定した WDM ファイル オブジェクトに関連付けられているフレームワーク ファイル オブジェクトへのハンドルを返します。

構文

WDFFILEOBJECT WdfDeviceGetFileObject(
  [in] WDFDEVICE    Device,
  [in] PFILE_OBJECT FileObject
);

パラメーター

[in] Device

フレームワーク デバイス オブジェクトへのハンドル。

[in] FileObject

WDM FILE_OBJECT 構造体へのポインター。

戻り値

WdfDeviceGetFileObject は、指定した WDM ファイル オブジェクトに関連付けられているフレームワーク ファイル オブジェクトへのハンドルを返します。 ファイルに対してフレームワーク ファイル オブジェクトが作成されていない場合、または FileObject ポインターが無効な場合、メソッドは NULL 返します。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

備考

フレームワーク ファイル オブジェクトの詳細については、「Framework ファイル オブジェクトの」を参照してください。

例

次のコード例では、オブジェクトへの要求されたアクセスを許可できる場合は、名前付き WDM デバイス オブジェクトとそれに対応する WDM ファイル オブジェクトへのポインターを取得します。 次に、WDM ファイル オブジェクトに関連付けられているフレームワーク ファイル オブジェクトへのハンドルを取得します。

PFILE_OBJECT  pWdmFileObject = NULL;
PDEVICE_OBJECT  pWdmDeviceObject = NULL;
WDFFILEOBJECT  fileObject = NULL;
NTSTATUS  status = STATUS_SUCCESS;
BOOLEAN  success = TRUE;

status = IoGetDeviceObjectPointer(
                                  &inputFileName,    // File name 
                                  FILE_ALL_ACCESS,   // Access mask
                                  &pWdmFileObject,   // Output pointer of WDM file object
                                  &pWdmDeviceObject  // Output pointer of WDM device object
                                  );

if(!NT_SUCCESS(status)){
    success = FALSE;
    break;
}

fileObject = WdfDeviceGetFileObject(
                                    gDeviceObject,  // Handle to device object
                                    pWdmFileObject  // Handle to WDM file object
                                    );
if(fileObject == NULL){
    success = FALSE;
}

必要条件

要件 価値
ターゲット プラットフォーム の 万国
最小 KMDF バージョン 1.0
ヘッダー wdfdevice.h (Wdf.h を含む)
ライブラリ Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 を する DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

関連項目

IoGetDeviceObjectPointer の