次の方法で共有


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構造体へのポインター。 拡張子が見つからない場合、 FltParseFileNameExtension.BufferNULL に、 Extension.Length を 0 に設定します。 それ以外の場合、 Extension.BufferFileName.Buffer 内の拡張子の先頭へのポインターを受け取り、 Extension.Length は 拡張機能の長さをバイト単位で受け取ります。 このパラメーターは省略可能であり、 NULL にすることができます。

[in, out] Stream

FileName 文字列から解析されたストリーム名を受け取るUNICODE_STRING構造体へのポインター。 ストリーム名が見つからない場合、FltParseFileName はStreamを設定します。NULL およびStreamにバッファーします。長さは 0 です。 それ以外の場合は、Stream。BufferFileName.Buffer 内のストリーム名の先頭へのポインターを受け取り、Stream。Length は、ストリーム名の長さをバイト単位で受け取ります。 このパラメーターは省略可能であり、 NULL にすることができます。

[in, out] FinalComponent

FileName 文字列から解析された最終的な名前コンポーネントを受け取るUNICODE_STRING構造体へのポインター。 最終的なコンポーネントが見つからない場合、 FltParseFileNameFinalComponent.BufferNULL に、 FinalComponent.Length を 0 に設定します。 それ以外の場合、 FinalComponent.BufferFileName.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

こちらもご覧ください

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING