Aracılığıyla paylaş


SccGetCommandOptions işlevi

Bu işlev, kullanıcıdan belirli bir komut için gelişmiş seçenekler ister.

Sözdizimi

SCCRTN SccGetCommandOptions(
   LPVOID pvContext,
   HWND hWnd,
   enum SCCCOMMAND iCommand,
   LPCMDOPTS* ppvOptions
);

Parametreler

pvContext

[in] Kaynak denetimi eklentisi bağlam yapısı.

Hwnd

[in] Kaynak denetimi eklentisinin sağladığı iletişim kutuları için üst öğe olarak kullanabileceği IDE penceresinin tanıtıcısı.

ıcommand

[in] Gelişmiş seçeneklerin istendiği komut (olası değerler için komut koduna bakın).

ppvOptions

[in] Seçenek yapısı (da olabilir NULL).

Dönüş değeri

Bu işlevin kaynak denetimi eklentisinin aşağıdaki değerlerden birini döndürmesi beklenir:

Value Açıklama
SCC_OK Başarılı.
SCC_I_ADV_SUPPORT Kaynak denetimi eklentisi komutu için gelişmiş seçenekleri destekler.
SCC_I_OPERATIONCANCELED Kullanıcı, kaynak denetimi eklentisinin Seçenekler iletişim kutusunu iptal etti.
SCC_E_OPTNOTSUPPORTED Kaynak denetimi eklentisi bu işlemi desteklemiyor.
SCC_E_ISCHECKEDOUT Şu anda kullanıma alınmış bir dosyada bu işlem gerçekleştirilemiyor.
SCC_E_ACCESSFAILURE Büyük olasılıkla ağ veya çekişme sorunlarından dolayı kaynak denetim sistemine erişilirken bir sorun oluştu. Yeniden deneme önerilir.
SCC_E_NONSPECIFICERROR Özel olmayan hata.

Açıklamalar

IDE, kaynak denetimi eklentisinin belirtilen komut için gelişmiş seçenekler özelliğini desteklenip desteklemediğini belirlemek için ile bu işlevi ilk kez ppvOptions=NULL çağırır. Eklenti bu komutun özelliğini destekliyorsa, kullanıcı gelişmiş seçenekler istediğinde (genellikle bir iletişim kutusunda Gelişmiş düğmesi olarak uygulanır) ve işaretçiye işaret NULL eden null olmayan bir işaretçi ppvOptions sağladığında IDE bu işlevi yeniden çağırır. Eklenti, kullanıcı tarafından belirtilen gelişmiş seçenekleri özel bir yapıda depolar ve içindeki ppvOptionsbu yapıya yönelik bir işaretçi döndürür. Bu yapı daha sonra işleve yapılan sonraki çağrılar da dahil olmak üzere, bu yapı hakkında bilmesi gereken diğer tüm Kaynak Denetimi Eklentisi API işlevlerine SccGetCommandOptions geçirilir.

Bu durumun netleştirilmesine bir örnek verilebilir.

Kullanıcı Al komutunu seçer ve IDE bir Al iletişim kutusu görüntüler. IDE, olarak ayarlanmış ve ppvOptions olarak SCC_COMMAND_GET ayarlanmış NULLişlevi iCommand çağırırSccGetCommandOptions. Bu, kaynak denetimi eklentisi tarafından "Bu komut için gelişmiş seçenekleriniz var mı?" sorusu olarak yorumlanır. Eklenti döndürürseSCC_I_ADV_SUPPORT, IDE, Al iletişim kutusunda bir Gelişmiş düğmesi görüntüler.

Kullanıcı Gelişmiş düğmesine ilk kez tıkladığınızda, IDE işlevi yeniden çağırır SccGetCommandOptions ve bu kez işaretçiyi işaret eden olmayanNULL``ppvOptions bir NULL işlevle çalışır. Eklenti kendi Get Options iletişim kutusunu görüntüler, kullanıcıdan bilgi ister, bu bilgileri kendi yapısına yerleştirir ve içindeki ppvOptionsbu yapıya yönelik bir işaretçi döndürür.

Kullanıcı aynı iletişim kutusunda Gelişmiş'e yeniden tıklarsa, IDE işlevi değiştirmeden ppvOptionsyeniden çağırırSccGetCommandOptions, böylece yapı eklentiye geri geçirilir. Bu, eklentinin iletişim kutusunu kullanıcının önceden ayarlamış olduğu değerlere yeniden başlatmasını sağlar. Eklenti, döndürmeden önce yapıyı yerinde değiştirir.

Son olarak, kullanıcı IDE'nin Al iletişim kutusunda Tamam'a tıkladığında IDE, gelişmiş seçenekleri içeren içinde ppvOptions döndürülen yapıyı geçirerek SccGet'i çağırır.

Not

Komut SCC_COMMAND_OPTIONS , IDE tümleştirmenin nasıl çalıştığını denetleyen tercihleri ayarlamasına olanak tanıyan bir Seçenekler iletişim kutusu görüntülendiğinde kullanılır. Kaynak denetimi eklentisi kendi tercihleri iletişim kutusunu sağlamak istiyorsa, bunu IDE'nin tercihler iletişim kutusundaki Gelişmiş düğmesinden görüntüleyebilir. Eklenti yalnızca bu bilgileri almak ve kalıcı hale almakla sorumludur; IDE bunu kullanmaz veya değiştirmez.

Ayrıca bkz.