SccGetCommandOptions 函式
這個函式會提示使用者提供進階的選項,指定的命令。
SCCRTN SccGetCommandOptions(
LPVOID pvContext,
HWND hWnd,
enum SCCCOMMAND iCommand,
LPCMDOPTS* ppvOptions
);
參數
pvContext
[in]原始檔控制外掛程式的內容結構。hWnd
[in]原始檔控制外掛程式可用於為父代對話框它所提供的 IDE 視窗控制代碼。iCommand
[in]進階的選項要求其相關的命令 (請參閱命令碼列舉程式的可能值)。ppvOptions
[in]選項結構 (也可能是NULL)。
傳回值
原始檔控制外掛程式的實作這個函式被期待傳回下列值之一:
值 |
描述 |
---|---|
SCC_OK |
成功。 |
SCC_I_ADV_SUPPORT |
原始檔控制外掛程式可支援進階的選項] 指令。 |
SCC_I_OPERATIONCANCELED |
使用者已取消原始檔控制隨單元的選項對話方塊。 |
SCC_E_OPTNOTSUPPORTED |
原始檔控制外掛程式不支援這項作業。 |
SCC_E_ISCHECKEDOUT |
無法執行這項作業目前已簽出檔案。 |
SCC_E_ACCESSFAILURE |
無法存取原始檔控制系統,可能因為到網路或爭用問題。 建議您重試。 |
SCC_E_NONSPECIFICERROR |
非特定的失敗。 |
備註
IDE 會呼叫這個函式與第一次ppvOptions=NULL決定原始檔控制外掛程式是否支援 [進階的選項] 功能,針對指定的命令。 如果外掛程式支援此功能對該命令,IDE 呼叫此函式一次使用者要求的進階的選項時 (通常是實作為進階在對話方塊中的按鈕),並提供給非 NULL 指標是否為ppvOptions ,指到NULL指標。 外掛程式,則會儲存在私用的結構中的使用者所指定的進階的選項,並傳回該結構中的指標ppvOptions。 這個結構接著會傳給所有需要知道,包括的後續呼叫其他原始檔控制外掛程式 API 函式SccGetCommandOptions函式。
範例可以幫助您釐清這種情況。
在使用者選擇取得 命令,IDE 就會顯示 取得對話方塊。 The IDE calls the SccGetCommandOptions function with iCommand set to SCC_COMMAND_GET and ppvOptions set to NULL. 此值會解譯原始檔控制外掛程式為問題、 「 您有任何進階的選項,此指令?" 如果外掛程式傳回SCC_I_ADV_SUPPORT,那麼 IDE 會顯示進階按鈕在其取得對話方塊。
第一次使用者按一下進階 ] 按鈕,再次呼叫 IDE SccGetCommandOptions函式,這一次非-NULLppvOptions ,指到NULL指標。 外掛程式會顯示它自己取得選項對話方塊中,會提示使用者輸入資訊,會將該資訊到它自己的結構,並傳回該結構中的指標ppvOptions。
如果使用者按一下進階一次在相同的對話方塊中,IDE 呼叫SccGetCommandOptions函式一次而不變更ppvOptions,如此結構則會傳回此外掛程式。 這可讓外掛程式,以便在重新初始化其對話方塊之前必須有使用者設定的值。 外掛程式會修改位置中的結構,然後傳回。
最後,當使用者按一下確定在 IDE 的取得 ,則 IDE 呼叫SccGet 函式,傳遞中傳回的結構ppvOptions包含進階的選項。
注意事項 |
---|
命令SCC_COMMAND_OPTIONS時,IDE 會顯示使用選項對話方塊,讓使用者設定控制整合的運作方式的喜好設定。如果原始檔控制外掛程式會想要提供自己的喜好設定] 對話方塊,它可以顯示從進階在 IDE 的 [喜好設定] 對話方塊中的按鈕。外掛程式不是單獨造成用於取得和保存這項資訊。 IDE 不會使用它,或修改它。 |