Aracılığıyla paylaş


IVsQueryEditQuerySave2.QuerySaveFile Yöntem (String, UInt32, VSQEQS_FILE_ATTRIBUTE_DATA , UInt32)

 

Bir dosya kaydedilmek üzere ortam bildirir.

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

Sözdizimi

int QuerySaveFile(
    string pszMkDocument,
    uint rgf,
    VSQEQS_FILE_ATTRIBUTE_DATA[] pFileInfo,
    out uint pdwQSResult
)
int QuerySaveFile(
    String^ pszMkDocument,
    unsigned int rgf,
    array<VSQEQS_FILE_ATTRIBUTE_DATA>^ pFileInfo,
    [OutAttribute] unsigned int% pdwQSResult
)
abstract QuerySaveFile : 
        pszMkDocument:string *
        rgf:uint32 *
        pFileInfo:VSQEQS_FILE_ATTRIBUTE_DATA[] *
        pdwQSResult:uint32 byref -> int
Function QuerySaveFile (
    pszMkDocument As String,
    rgf As UInteger,
    pFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(),
    <OutAttribute> ByRef pdwQSResult As UInteger
) As Integer

Parametreler

  • pszMkDocument
    Type: System.String

    [in] (Kaydedilecek belge) dosyasının yolunu disk üzerinde.

  • rgf
    Type: System.UInt32

    [in] Geçerli dosya öznitelikleri alındığı için değerleri flags tagVSQEQSFlags numaralandırması. Varsayılan değer sıfırdır.

Dönüş Değeri

Type: System.Int32

Yöntemi başarısız olursa, bir hata kodu döndürür.

Başarılı olursa, döndürür:

  • QSR_SaveOK

  • Dosyayı kaydedin. Dosyayı bu noktada salt okunur olmamalıdır.

  • QSR_ForceSaveAs

  • QuerySaveFile yerine demektir bir Kaydet iletişim kutusu, ancak her iki BT bildirimsiz bildirir, bunu yapmak için veya kullanıcı istendi ve seçmiştir Kaydet. Geleneksel dosya düzenliyorsanız, çağrı kullanmaları GetSaveFileNameViaDlg yönteminde IVsUIShell Bu noktada arabirim.

  • QSR_NoSave_UserCanceled

  • Kullanıcı dosyayı salt okunurdur ve değil kaydedileceği veya işlemi iptal etmek için katılmamayı bildirildi. Seçim bağlıdır BeginQuerySaveBatch / EndQuerySaveBatch yöntemleri.

Sonuçlar için *pdwQSResult şunlardır:

Notlar

COM imza

İvsqueryeditquerysave2.idl

HRESULT QuerySaveFile(
   [in] LPCOLESTR pszMkDocument,
   [in] VSQEQSFlags rgf,
   [in] const VSQEQS_FILE_ATTRIBUTE_DATA *pFileInfo,
   [out, retval] VSQuerySaveResult *pdwQSResult
);

Bir proje veya Düzenleyicisi dosya kaydetmeden önce bu yöntemi çağırmanız gerekir veya QuerySaveFiles yöntemi. Proje dosyaları için bu çağrılar ne zaman bir proje dosyasını kaydetmeyi bilir çözümü tarafından otomatik olarak doldurulur. Düzenleyiciler sürece bu çağrılar yapmaktan sorumlu Düzenleyicisi uygulanması IVsPersistDocData2 yardımcı işlevini kullanır SaveDocDataToFile yöntemi. Düzenleyiciniz uygularsa IVsPersistDocData2 Bu şekilde, ardından çağrısı içinde QuerySaveFile veya QuerySaveFiles sizin için yapılır.

Herhangi bir şeyi diske kaydetmeden önce bu yöntemi çağırın. Bu dosyalar salt okunur ve iade Tekdüzen, paylaşılan bir şekilde işler.

Bu yöntem (örneğin, dosya bellekte düzenlendiği ise) dosyanın yazılabilir olduğundan emin olmak için bir checkout komutu vermeniz gerekebilir. "Checkout yerel sürüm" seçeneğini sağlayan bir kaynak denetimi paketi, bu güvenli bir işlemdir. Mevcut bir kaynak denetimi paketi, veri kaybı olmadan kullanıma alma işlemi tamamlanamıyor. Bu durumda, Kaydet tek seçenektir.

Ayrıca bkz.

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

Başa dön