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

割り当てる CreateLogContainerScanContextCLFS_CONTAINER_INFORMATION構造体の数。

この数は、各スキャン呼び出しでスキャンされたコンテナーの数であるため、呼び出し元は、返されるコンテナーの数がこの値より少ない場合にスキャンが完了したことを認識します。

終了時に、CLFS_CONTAINER_INFORMATION構造体のシステム割り当て配列へのポインターが、クライアント割り当てCLFS_SCAN_CONTEXT構造体の pinfoContainer メンバーに配置されます。 このメンバーは pcxScan パラメーター (つまり、"pcxScan-pinfoContainer>[]") によって指され、配列内の構造体の実際の数は "pcxScan-cContainersReturned>" に配置されます。

クライアントは、この配列を解放できるように、eScanMode パラメーターを CLFS_SCAN_CLOSE に設定して ScanLogContainers を呼び出す必要があります。それ以外の場合は、メモリ リークが発生します。

[in] eScanMode

コンテナーをスキャンするモード。

コンテナーは、次のいずれかのモードでスキャンできます。

意味
CLFS_SCAN_INIT
コンテナー リストの最初のコンテナーからスキャンを初期化または再初期化します。

このモードでは、コンテナー コンテキストを初期化し、 cContainers が指定するコンテナー記述子の最初のセットを返します。

CLFS_SCAN_FORWARD
cContainers が指定するコンテナーの最初のセットを返します。
CLFS_SCAN_BACKWARD
cContainers で指定されたコンテナーの最後のセットを返します。

[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

こちらもご覧ください

CLFS_CONTAINER_INFORMATION

CLFS_SCAN_CONTEXT

CLFS_SCAN_MODE

一般的なログ ファイル システム関数

ScanLogContainers