次の方法で共有


QUERYCHANGESFUNC

これは、ファイル名のコレクションを列挙し、各ファイルの状態を判断するために SccQueryChanges 操作で使用されるコールバック関数です。

SccQueryChanges 関数には、ファイルの一覧と QUERYCHANGESFUNC コールバックへのポインターが指定されます。 ソース管理プラグインにより、指定された一覧が列挙され、(このコールバックを介して) 一覧内の各ファイルの状態が表示されます。

署名

typedef BOOL (*QUERYCHANGESFUNC)(
   LPVOID pvCallerData,
   QUERYCHANGESDATA * pChangesData
);

パラメーター

pvCallerData

[入力] 呼び出し元 (IDE) から SccQueryChanges に渡される pvCallerData パラメーター。 ソース管理プラグイン側では、この値の内容について何も想定しないでください。

pChangesData

[入力] ファイルへの変更を記述する QUERYCHANGESDATA 構造体構造体へのポインター。

戻り値

IDE によって適切なエラー コードが返されます。

Value 説明
SCC_OK 処理し続けます。
SCC_I_OPERATIONCANCELED 処理を停止します。
SCC_E_xxx 適切な SCC エラーが発生すると、処理が停止します。

QUERYCHANGESDATA 構造体

各ファイルに渡される構造体は、次のようになります。

struct QUERYCHANGESDATA_A
{
    DWORD  dwSize;
    LPCSTR lpFileName;
    DWORD  dwChangeType;
    LPCSTR lpLatestName;
};

typedef struct QUERYCHANGESDATA_A QUERYCHANGESDATA;

struct QUERYCHANGESDATA_W
{
    DWORD   dwSize;
    LPCWSTR lpFileName;
    DWORD   dwChangeType;
    LPCWSTR lpLatestName;
};

この構造体の dwSize サイズ (バイト単位)。

lpFileName: この項目の元のファイル名。

ファイルの状態を示す dwChangeType コード:

コード 説明
SCC_CHANGE_UNKNOWN 変更内容を識別できません。
SCC_CHANGE_UNCHANGED このファイルの名前は変更されません。
SCC_CHANGE_DIFFERENT データベース内に、ID は異なりますが、同じ名前のファイルが存在します。
SCC_CHANGE_NONEXISTENT ファイルはデータベース内にもローカルにも存在しません。
SCC_CHANGE_DATABASE_DELETED データベース内のファイルは削除されました。
SCC_CHANGE_LOCAL_DELETED ローカルでファイルは削除されましたが、データベース内にはまだファイルが存在します。 これを判断できない場合は、SCC_CHANGE_DATABASE_ADDED を返します。
SCC_CHANGE_DATABASE_ADDED ファイルはデータベースに追加されましたが、ローカルには存在しません。
SCC_CHANGE_LOCAL_ADDED ファイルはデータベース内に存在せず、新しいローカル ファイルです。
SCC_CHANGE_RENAMED_TO データベース内のファイル名は lpLatestName に変更されたか、移動されました。
SCC_CHANGE_RENAMED_FROM データベース内のファイル名は lpLatestName から変更されたか、移動されました。この追跡にコストがかかりすぎる場合は、SCC_CHANGE_DATABASE_ADDED などの別のフラグを返します。

lpLatestName: この項目の現在のファイル名。

関連項目