Aracılığıyla paylaş


IVsQueryEditQuerySave2.QueryEditFiles Yöntem (UInt32, Int32, String[], UInt32[], VSQEQS_FILE_ATTRIBUTE_DATA , UInt32, UInt32)

 

Bir dosya hakkında düzenlenmek üzere olduğunda çağrılır.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

int QueryEditFiles(
    uint rgfQueryEdit,
    int cFiles,
    string[] rgpszMkDocuments,
    uint[] rgrgf,
    VSQEQS_FILE_ATTRIBUTE_DATA[] rgFileInfo,
    out uint pfEditVerdict,
    out uint prgfMoreInfo
)
int QueryEditFiles(
    unsigned int rgfQueryEdit,
    int cFiles,
    array<String^>^ rgpszMkDocuments,
    array<unsigned int>^ rgrgf,
    array<VSQEQS_FILE_ATTRIBUTE_DATA>^ rgFileInfo,
    [OutAttribute] unsigned int% pfEditVerdict,
    [OutAttribute] unsigned int% prgfMoreInfo
)
abstract QueryEditFiles : 
        rgfQueryEdit:uint32 *
        cFiles:int *
        rgpszMkDocuments:string[] *
        rgrgf:uint32[] *
        rgFileInfo:VSQEQS_FILE_ATTRIBUTE_DATA[] *
        pfEditVerdict:uint32 byref *
        prgfMoreInfo:uint32 byref -> int
Function QueryEditFiles (
    rgfQueryEdit As UInteger,
    cFiles As Integer,
    rgpszMkDocuments As String(),
    rgrgf As UInteger(),
    rgFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(),
    <OutAttribute> ByRef pfEditVerdict As UInteger,
    <OutAttribute> ByRef prgfMoreInfo As UInteger
) As Integer

Parametreler

  • rgpszMkDocuments
    Type: System.String[]

    [in] İşlenecek dosyası. Bu aynı boyutta olan cFiles. Geçerli olmayan cFiles 0.

  • rgrgf
    Type: System.UInt32[]

    [in] Alınan bayrak değerleri dizisi tagVSQEQSFlags numaralandırması.NULL Tüm 0 oldukları anlamına gelir.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Dönüş değeri pfEditCanceled dosyası devam etmek için düzenleme için Tamam olup olmadığını gösterir.

Parametre prgfMoreInfo aşağıdaki sonuçları verir:

  • Herhangi bir dosya olup olmadığı denetlenir

  • Dosyaları kullanıma alma üzerinde değişip

  • Herhangi bir dosya bellekte düzenlenmekte olan

  • Bellek içi düzenleme mı izin verilmiyor

  • Gürültülü checkout (sessiz modda yalnızca) gerekli olup olmadığı

  • Kullanıma almayı iptal edildi veya başarısız oldu

Notlar

COM imza

İvsqueryeditquerysave2.idl

HRESULT QueryEditFiles(
   [in] VSQueryEditFlags rgfQueryEdit,
   [in] int cFiles,
   [in, size_is(cFiles)] const LPCOLESTR rgpszMkDocuments[],
   [in, size_is(cFiles)] const VSQEQSFlags rgrgf[],
   [in, size_is(cFiles)] const VSQEQS_FILE_ATTRIBUTE_DATA rgFileInfo[],
   [out] VSQueryEditResult *pfEditVerdict,
   [out] VSQueryEditResultFlags *prgfMoreInfo
);

Bir proje dosyasının içeriğini değiştirebilirsiniz şey tanımlanan düzenleyiciler, bu yöntem ilk düzenleme önce henüz değiştirilmemiş bir belgede çağırmalıdır. Çözüm (.sln) dosyasının içeriği düzenler herhangi bir şeyi çağırabilirsiniz QueryEditSolutionFile, bu yöntemi çağırır.

  • Bir dosya salt okunur değilse ve kaynak denetimi altında QER_EditOK döndürülür.

  • Bir dosyanın kaynak denetimi altında değilse, salt okunur olup olmadığını ve rgfQueryEdit yer almaz QEF_AllowInMemoryEdits (veya salt okunur dosya düzenlemeye izin vermeyecek şekilde ayarlanmış Seçenekler iletişim kutusu), ardından QER_NoEdit_UserCanceled sessizce olduğundan döndürülen ve düzenleme için bellek içi belge veri taahhüt olmamalıdır. Ortam gürültülü modunda değilse, bunu düzenlemeyi iptal edildi kullanıcıyı uyarır.

  • Bir dosyanın kaynak denetimi altında değilse, salt okunur olup olmadığını ve rgfQueryEdit içeren QEF_AllowInMemoryEdits (veya Seçenekler iletişim kutusu, bellek içi düzenleme izin vermek için ayarlanır), ardından QER_EditOK sessizce döndürülür.

  • Salt okunur bir dosyadır ve kaynak denetimi altında Kullanıcı Seçimi verilmediğinde kullanılıp kullanılmayacağını dosyayı kullanıma alın. Dosyayı kullanıma ise QER_EditOK döndürülen; Aksi takdirde, QER_NoEdit_UserCanceled döndürülür. Bu durumda kullanıcı dosyasının en son sürümünü zaten varsa, ortamı "checkout yerel sürüm" seçeneği (ve hesap reloadability alırken) desteklemiyorsa, bellek içi düzenleme izin verilip verilmediğini biraz daha karmaşık ise (yani, QEF_AllowInMemoryEdits). Çoğu durumda, ancak, bellek içi düzenlemeler dosyaların iade mümkün değildir.

Düzenleyiciler, Reloadability ve kullanıma alma

Çağırdığınızda QueryEditFiles, her zaman sırayla dosya içeriğini bellek ve disk üzerindeki değiştirme, denetlenen bir dosyanın olasılığı yoktur.

Değişen içeriği potansiyelini nedeniyle, tüm VSPackages dosya değişiklik yapmadan çağırmalıdır QueryEditFiles değişiklikleri gerçekten dosyaya yapılmadan önce dosyanın içeriğini değiştirmek için ilk girişiminde. Bir VSPackage değil çağırırsanız QueryEditFiles ilk ve değişiklikleri zaten yapıldı bellek dosyasında, bu bellek içi değişiklikleri kullanıma alınan dosya sonucu olarak kaybedilebilir. Bu bir VSPackage hata olarak kabul edilir.

Bir dosya olup olmadığını değişti hakkında bilgi döndürülür *prgfMoreInfo dönüş değeri üzerinden QER_Reloaded veya QER_Changed bayrakları.

System_CAPS_importantÖnemli

QER_Changed yalnızca döndürülür QEF_DetectAnyChangedFile bayrağı geçirilir rgfQueryEdit bağımsız değişkeni QueryEditFiles çağırın.

Bir dosya çalıştıran belgeleri tablosunda ise ve QueryEditFiles belirleyen bir yeniden başlatma gerekir, dosya içeriğini yeniden dener. Verileri yeniden yüklenemiyor, el ile kapatın ve belgeyi yeniden kullanıcıya bildiren bir ileti kutusunda görüntüler. Özel bir düzenleyici uyguluyorsanız bkz IVsPersistDocData için destek hakkında bilgi belgelerinizi yeniden yükler.

Proje Dosyaları

Her proje kadar çağrılacak olan QueryEditFiles hakkında bilgi için bir proje dosyasında kalıcı bilgi yapılması ve çağırmak için bir değişiklik olduğunda QuerySaveFile veya QuerySaveFiles Proje dosyasını kaydetmeden önce.

Ayrıca bkz.

IVsQueryEditQuerySave2 Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön