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 の