CreateLogContainerScanContext 関数 (clfsw32.h)
ScanLogContainers で使用するスキャン コンテキストを作成して、ログに関連付けられているすべてのログ コンテナーを列挙し、最初のスキャンを実行します。
構文
CLFSUSER_API BOOL CreateLogContainerScanContext(
[in] HANDLE hLog,
[in] ULONG cFromContainer,
[in] ULONG cContainers,
[in] CLFS_SCAN_MODE eScanMode,
[in, out] PCLFS_SCAN_CONTEXT pcxScan,
[in, out, optional] LPOVERLAPPED pOverlapped
);
パラメーター
[in] hLog
ログ コンテナーをスキャンするアクセス許可を持つ CreateLogFile から取得されたログへのハンドル。
ファイルには、専用または多重化されたログを指定できます。
[in] cFromContainer
スキャンを開始するコンテナー。
このパラメーターは、ログ内のコンテナーの数を基準とした序数です。
[in] cContainers
割り当てる CreateLogContainerScanContext のCLFS_CONTAINER_INFORMATION構造体の数。
この数は、各スキャン呼び出しでスキャンされたコンテナーの数であるため、呼び出し元は、返されるコンテナーの数がこの値より少ない場合にスキャンが完了したことを認識します。
終了時に、CLFS_CONTAINER_INFORMATION構造体のシステム割り当て配列へのポインターが、クライアント割り当てCLFS_SCAN_CONTEXT構造体の pinfoContainer メンバーに配置されます。 このメンバーは pcxScan パラメーター (つまり、"pcxScan-pinfoContainer>[]") によって指され、配列内の構造体の実際の数は "pcxScan-cContainersReturned>" に配置されます。
クライアントは、この配列を解放できるように、eScanMode パラメーターを CLFS_SCAN_CLOSE に設定して ScanLogContainers を呼び出す必要があります。それ以外の場合は、メモリ リークが発生します。
[in] eScanMode
コンテナーをスキャンするモード。
コンテナーは、次のいずれかのモードでスキャンできます。
[in, out] pcxScan
クライアントが専用ログのログ コンテナーをスキャンするときに ScanLogContainers 関数に渡すことができるスキャン コンテキストを受け取るクライアント割り当てCLFS_SCAN_CONTEXT構造体へのポインター。
[in, out, optional] pOverlapped
非同期操作に必要な OVERLAPPED 構造体へのポインター。
非同期操作を使用しない場合、このパラメーターは NULL にすることができます 。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
次の一覧は、考えられるエラー コードを示しています。
注釈
スキャンが完了した後、クライアントは、システムによって割り当てられたCLFS_CONTAINER_INFORMATION構造体の配列を解放できるように、eScanMode パラメーターを CLFS_SCAN_CLOSE に設定して ScanLogContainers を再度呼び出す必要があります。それ以外の場合は、メモリ リークが発生します。
例
この関数を使用する例については、「 ログ コンテナーの列挙」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | clfsw32.h |
Library | Clfsw32.lib |
[DLL] | Clfsw32.dll |