次の方法で共有


ClfsCreateScanContext 関数 (wdm.h)

ClfsCreateScanContext ルーチンは、指定された CLFS ログのコンテナーを反復処理するために使用できるスキャン コンテキストを作成します。

構文

CLFSUSER_API NTSTATUS ClfsCreateScanContext(
  [in]      PLOG_FILE_OBJECT   plfoLog,
  [in]      ULONG              cFromContainer,
  [in]      ULONG              cContainers,
  [in]      CLFS_SCAN_MODE     eScanMode,
  [in, out] PCLFS_SCAN_CONTEXT pcxScan
);

パラメーター

[in] plfoLog

CLFS ストリームを表す LOG_FILE_OBJECT 構造体へのポインター。 スキャン コンテキストは、そのストリームの基になるストレージを提供するログに対して作成されます。 呼び出し元は、以前に ClfsCreateLogFile 呼び出すことによって、このポインターを取得しました。

[in] cFromContainer

スキャンする最初のコンテナーのインデックス。 コンテナーのインデックスは 0 から始まります。

[in] cContainers

ClfsScanLogContainersの呼び出しごとにスキャンするコンテナーの数。

[in] eScanMode

スキャン コンテキストを前後にスキャンするように設定するかどうか、およびスキャン コンテキストを再初期化するかどうかを指定するフラグのセット。 このルーチンの呼び出し元には、次の 3 つのフラグを使用できます。

価値 意味
CLFS_SCAN_FORWARD 前方方向にスキャンするためのスキャン コンテキストを設定します。 たとえば、コンテナー 5 が最後にスキャンされたコンテナーで、cContainers が 2 の場合、前方スキャンはコンテナー 6 と 7 の記述子を返します。
CLFS_SCAN_BACKWARD 逆方向にスキャンするためのスキャン コンテキストを設定します。 たとえば、コンテナー 5 が最後にスキャンされたコンテナーで、cContainers が 2 の場合、下位スキャンではコンテナー 4 と 3 の記述子が返されます。
CLFS_SCAN_INIT スキャン コンテキストを再初期化します。 次回 ClfsScanLogContainers 呼び出されると、スキャン コンテキストの作成後に初めて呼び出されたかのように動作します。
 

pcxScan がこのルーチンに初めて渡されるCLFS_SCAN_CONTEXT構造体を指している場合は、方向フラグ (CLFS_SCAN_FORWARDまたはCLFS_SCAN_BACKWARD) の 1 つを設定する必要があります。 CLFS_SCAN_INIT フラグは設定しないでください。

pcxScan がこのルーチンに渡されたCLFS_SCAN_CONTEXT構造体を指している場合は、CLFS_SCAN_INIT フラグを設定する必要があります。 また、方向フラグ (CLFS_SCAN_FORWARD または CLFS_SCAN_BACKWARD) を 1 つだけ設定する必要があります。

[in, out] pcxScan

このルーチンによってメンバーが初期化される呼び出し元によって割り当てられた CLFS_SCAN_CONTEXT 構造体へのポインター。 この構造体は、後で ClfsScanLogContainersに渡されます。

戻り値

ClfsCreateScanContext 成功した場合、STATUS_SUCCESSが返されます。それ以外の場合は、Ntstatus.h のいずれかのエラー コードが返されます。

備考

CLFS の概念と用語については、「共通ログ ファイル システムの」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2003 R2、Windows Vista、およびそれ以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー wdm.h (Wdm.h を含む)
ライブラリ Clfs.lib
DLL Clfs.sys
IRQL <= APC_LEVEL

関連項目

ClfsScanLogContainers