Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.