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.
pFileInfo
Type: Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[][in] Alınan değerleri VSQEQS_FILE_ATTRIBUTE_DATA Dosya özniteliklerini hakkındaki bilgileri içeren yapısı. Olabilir null; yoksayılır rgf 0'dır.
pdwQSResult
Type: System.UInt32[out] Alınan bir değere işaretçi tagVSQuerySaveResult numaralandırması.
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:
Dosyayı kaydedin. Dosyayı bu noktada salt okunur olmamalıdır.
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.
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:
Devam kaydedin (QSR_SaveOK).
Kaydetme (QSR_NoSave_Continue).
Farklı Kaydet (QSR_ForceSaveAs).
Kaydetme işlemini iptal (QSR_NoSave_UserCanceled veya QSR_NoSave_Cancel).
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