FltParseFileName 関数 (fltkernel.h)
FltParseFileName は、拡張子、ストリーム、および最終コンポーネントをファイル名文字列から解析します。
構文
NTSTATUS FLTAPI FltParseFileName(
[in] PCUNICODE_STRING FileName,
[in, out] PUNICODE_STRING Extension,
[in, out] PUNICODE_STRING Stream,
[in, out] PUNICODE_STRING FinalComponent
);
パラメーター
[in] FileName
ファイル名として解析する文字列を含む UNICODE_STRING 構造体へのポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[in, out] Extension
FileName 文字列から解析された拡張子を受け取るUNICODE_STRING構造体へのポインター。 拡張子が見つからない場合、 FltParseFileName は Extension.Buffer を NULL に、 Extension.Length を 0 に設定します。 それ以外の場合、 Extension.Buffer は FileName.Buffer 内の拡張子の先頭へのポインターを受け取り、 Extension.Length は 拡張機能の長さをバイト単位で受け取ります。 このパラメーターは省略可能であり、 NULL にすることができます。
[in, out] Stream
FileName 文字列から解析されたストリーム名を受け取るUNICODE_STRING構造体へのポインター。 ストリーム名が見つからない場合、FltParseFileName はStreamを設定します。NULL およびStreamにバッファーします。長さは 0 です。 それ以外の場合は、Stream。Buffer は FileName.Buffer 内のストリーム名の先頭へのポインターを受け取り、Stream。Length は、ストリーム名の長さをバイト単位で受け取ります。 このパラメーターは省略可能であり、 NULL にすることができます。
[in, out] FinalComponent
FileName 文字列から解析された最終的な名前コンポーネントを受け取るUNICODE_STRING構造体へのポインター。 最終的なコンポーネントが見つからない場合、 FltParseFileName は FinalComponent.Buffer を NULL に、 FinalComponent.Length を 0 に設定します。 それ以外の場合、 FinalComponent.Buffer は FileName.Buffer の最終コンポーネントの先頭へのポインターを受け取り、 FinalComponent.Length は最終コンポーネントの長さをバイト単位で受け取ります。 このパラメーターは省略可能であり、 NULL にすることができます。
戻り値
FltParseFileName は、STATUS_SUCCESSまたは適切な NTSTATUS エラー コードを返します。
注釈
FltParseFileName は、拡張子、ストリーム名、および最終コンポーネントをファイル名文字列から解析します。 ファイル名を正規化したり、完全なパス名を指定したりする必要はありません。 ファイル名が短いファイル名の場合、 FltParseFileName は拡張子のみを解析します。
ローカル ファイルの正規化された名前の例を次に示します。
\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1
FltParseFileName は、この正規化された名前を次のように解析します。
拡張機能: "txt"
Stream: ":stream1"
FinalComponent: "Test Results.txt:stream1"
ファイルの短い名前の例を次に示します。
TestRe~1.txt
FltParseFileName は、この短い名前を次のように解析します。
拡張機能: "txt"
Stream: NULL
FinalComponent: "TestRe~1.txt"
ファイル名の正規化とファイル名の解析の詳細については、「 FLT_FILE_NAME_INFORMATION」を参照してください。
FLT_FILE_NAME_INFORMATION構造体の内容を解析するには、 FltParseFileNameInformation を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP Service Pack 2 (SP2) 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |