FltRetrieveFileInfoOnCreateCompletionEx 関数 (fltkernel.h)
FltRetrieveFileInfoOnCreateCompletionEx 、ファイルの作成時に指定されたファイル情報のクエリを します。
構文
NTSTATUS FLTAPI FltRetrieveFileInfoOnCreateCompletionEx(
[in] PFLT_FILTER Filter,
[in] PFLT_CALLBACK_DATA Data,
[in] ULONG InfoClass,
[out] PULONG RetInfoSize,
[out] PVOID *RetInfoBuffer
);
パラメーター
[in] Filter
ミニフィルター ドライバーを一意に識別する不透明なフィルター ポインター。 これは FltRegisterFilter
[in] Data
I/O 操作を表す FLT_CALLBACK_DATA コールバック データへのポインター。
[in] InfoClass
返されるファイル情報の種類を示すフラグ。 フラグを組み合わせることはできません。 次のいずれかの値を指定できます。
旗 | 意味 |
---|---|
QoCFileStatInformation (0x00000001) | ファイル システムは、QUERY_ON_CREATE_FILE_STAT_INFORMATION 構造体内のファイル統計情報を返します。 |
QoCFileLxInformation の |
ファイル システムは、拡張された Linux に似た情報を QUERY_ON_CREATE_FILE_LX_INFORMATION 構造で返します。 |
QoCFileEaInformation (0x00000004) | ファイル システムは、QUERY_ON_CREATE_EA_INFORMATION 構造体の拡張属性 (EA) を返します。 |
QoCFileUsnInformation (0x00000008) | ファイル システムは、QUERY_ON_CREATE_USN_INFORMATION 構造体で USN 情報を返します。 |
QoCFileSecurityInformation の |
ファイル システムは、QUERY_ON_CREATE_SECURITY_INFORMATION 構造のファイル セキュリティ情報を返します。 |
[out] RetInfoSize
RetInfoBuffer が指す
[out] RetInfoBuffer
InfoClass 構造体
戻り値
リターン コード | 形容 |
---|---|
STATUS_SUCCESS | ファイル システムは、要求されたファイル情報を正常に返しました。 |
STATUS_NOT_FOUND | ファイル システムは要求を処理しましたが、要求された情報がファイルに存在しなかったか、ファイル システムが InfoClassで情報要求 |
STATUS_NOT_SUPPORTED | ファイル システムは、要求された情報を取得できませんでした。 このエラーは、ファイル システムが情報要求または関連付けられている ECP をサポートしていない場合、またはファイルの事前作成時 FltRequestFileInfoOnCreateCompletion が呼び出されなかった場合に発生します。 呼び出し元は、代わりに従来のファイル システム API を使用して、情報の要求を再試行する必要があります。 |
STATUS_UNSUCCESSFUL | 要求された情報を取得しようとしたときに、ファイル システムがエラーを受け取りました。 呼び出し元は、通常のファイル システム API を使用して情報の要求を試みることができますが、失敗する可能性があります。 |
備考
FltRequestFileInfoOnCreateCompletion と
- 事前作成では、ミニフィルターは、要求された情報を識別する InfoClassFlags
を 1 回呼び出します。の入力 組み合わせて FltRequestFileInfoOnCreateCompletion - ファイル システムは適切な構造を割り当て、サポートされている場合は、作成の処理中に要求された情報を入力します。
- 作成後、ミニフィルターは FltRetrieveFileInfoOnCreateCompletionEx
呼び出して、事前作成呼び出しで要求された情報を取得します。 ミニフィルターが複数の情報の種類を要求した場合は、各情報の種類 FltRetrieveFileInfoOnCreateCompletionEx を 1 回呼び出す必要があります。 例えば:
// Pre-create:
NTSTATUS status;
status = FltRequestFileInfoOnCreateCompletion( Filter,
CallbackData,
QoCFileStatInformation
| QoCFileLxInformation
| QoCFileEaInformation
| QoCFileUsnInformation );
// Post-create:
NTSTATUS status;
ULONG fileStatSize, fileLxSize, fileEaSize;
QUERY_ON_CREATE_FILE_STAT_INFORMATION* fileStatInfo;
QUERY_ON_CREATE_FILE_LX_INFORMATION* fileLxInfo;
QUERY_ON_CREATE_EA_INFORMATION* fileEaInfo;
QUERY_ON_CREATE_USN_INFORMATION* fileUsnInfo;
QUERY_ON_CREATE_SECURITY_INFORMATION* fileSecurityInfo;
status = FltRetrieveFileInfoOnCreateCompletionEx( Filter,
CallbackData,
QoCFileStatInformation,
&fileStatSize,
&fileStatInfo );
status = FltRetrieveFileInfoOnCreateCompletionEx( Filter,
CallbackData,
QoCFileLxInformation,
&fileLxSize,
&fileLxInfo );
status = FltRetrieveFileInfoOnCreateCompletionEx( Filter,
CallbackData,
QoCFileEaInformation,
&fileEaSize,
&fileEaInfo );
status = FltRetrieveFileInfoOnCreateCompletionEx( Filter,
CallbackData,
QoCFileUsnInformation,
&fileUsnInfo,
&fileUsnInfo );
status = FltRetrieveFileInfoOnCreateCompletionEx( Filter,
CallbackData,
QoCFileSecurityInformation,
&fileSecurityInfo,
&fileSecurityInfo);
FltRetrieveFileInfoOnCreateCompletionEx
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1809 |
ヘッダー | fltkernel.h |
関連項目
FltRequestFileInfoOnCreateCompletion の
QUERY_ON_CREATE_EA_INFORMATION