次の方法で共有


SccGetEvents 関数

この関数は、キューに置かれた状態イベントを取得します。

構文

SCCRTN SccGetEvents (
   LPVOID pvContext,
   LPSTR  lpFileName,
   LPLONG lpStatus,
   LPLONG pnEventsRemaining
);

パラメーター

pvContext

[入力] ソース管理プラグインのコンテキスト構造体。

lpFileName

[入力、出力] ソース管理プラグインによって、返されたファイル名 (最大 _MAX_PATH 文字) が配置されるバッファー。

lpStatus

[入力、出力] 状態コードを返します (有効な値については、「ファイルの状態コード」を参照してください)。

pnEventsRemaining

[入力、出力] この呼び出しの後にキューに残されたエントリの数を返します。 この数値が大きい場合、呼び出し元では、SccQueryInfo を呼び出して、すべての情報を一度に取得することを決定できます。

戻り値

この関数のソース管理プラグインの実装では、次のいずれかの値が返されることが予期されています。

Value 説明
SCC_OK イベントの取得に成功しました。
SCC_E_OPNOTSUPPORTED この関数はサポートされません。
SCC_E_NONSPECIFICERROR 不特定のエラーです。

解説

この関数は、アイドル処理中に呼び出され、ソース管理下にあるファイルの状態更新があるかどうかを確認します。 ソース管理プラグインでは、認識しているすべてのファイルの状態を保持し、プラグインによって状態の変更が通知されるたびに、状態および関連付けられたファイルがキューに格納されます。 SccGetEvents が呼び出されると、キューの最上位要素が取得され、返されます。 この関数は、以前にキャッシュされた情報のみを返すように制限されており、非常に迅速なターンアラウンドが必要です (つまり、ディスクの読み取りや、ソース管理システムの状態の確認はありません)。そうしないと、IDE のパフォーマンスが低下し始めることがあります。

レポートする状態更新がない場合、ソース管理プラグインでは lpFileName で示されるバッファーに空の文字列を格納します。 それ以外の場合、プラグインでは、状態情報が変更されたファイルの完全なパス名を格納し、適切な状態コード (「ファイルの状態コード」で詳細に説明されている値の 1 つ) を返します。

関連項目