この関数は、キューに置かれた状態イベントを取得します。
構文
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 つ) を返します。