WdfFileObjectGetFileName 関数 (wdffileobject.h)
[KMDF と UMDF に適用]
WdfFileObjectGetFileName メソッドは、指定したフレームワーク ファイル オブジェクトに含まれるファイル名を返します。
構文
PUNICODE_STRING WdfFileObjectGetFileName(
[in] WDFFILEOBJECT FileObject
);
パラメーター
[in] FileObject
フレームワーク ファイル オブジェクトへのハンドル。
戻り値
WdfFileObjectGetFileName は、ファイル名を含む UNICODE_STRING 構造体へのポインターを返します。 メソッドは、指定したフレームワーク ファイル オブジェクトの WDM ファイル オブジェクトがない場合、または IRQL で呼び出された場合は、PASSIVE_LEVELより高い NULL を 返します。
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
注釈
ドライバーが WdfDeviceCreateDeviceInterface を呼び出したときに参照文字列を指定した場合、 WdfFileObjectGetFileName は、バックスラッシュで付加された参照文字列を返します。 参照文字列を確認するには、円記号を削除します。
返される文字列には、ファイル名または参照文字列を含めることができます。 文字列にデバイス名が含まれていません。 参照文字列のないファイルではなく、アプリケーションまたはカーネル モード コンポーネントがデバイスを開いた場合、返されるUNICODE_STRING構造体の Length メンバーは 0 になります。
ドライバーは、ファイル作成要求の処理中にのみ WdfFileObjectGetFileName を呼び出す必要があります (WdfRequestTypeCreate 要求の種類)。 ドライバーは、EvtDeviceFileCreate コールバック関数で WdfRequestTypeCreate 型の I/O 要求を処理する場合があります。
または、 EvtDeviceFileCreate コールバック関数を提供する代わりに、ドライバーは WdfDeviceConfigureRequestDispatching を呼び出して、すべてのファイル作成要求 (WdfRequestTypeCreate 要求の種類) を受信する I/O キューを設定できます。 ドライバーは、その後、キューの EvtIoDefault 要求ハンドラーでファイル作成要求を受け取ります。
フレームワーク ファイル オブジェクトの詳細については、「 フレームワーク ファイル オブジェクト」を参照してください。
ファイル名の詳細については、「 デバイス名前空間アクセスの制御」を参照してください。
参照文字列の詳細については、「 IoRegisterDeviceInterface」を参照してください。
例
次のコード例は、 EvtDeviceFileCreate コールバック関数が、アプリケーションが開いたファイルの名前を取得する方法を示しています。
VOID
MyEvtDeviceFileCreate (
IN WDFDEVICE Device,
IN WDFREQUEST Request,
IN WDFFILEOBJECT FileObject
)
{
PUNICODE_STRING fileName;
fileName = WdfFileObjectGetFileName(FileObject);
...
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdffileobject.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |