IVsQueryEditQuerySave2.QuerySaveFiles(UInt32, Int32, String[], UInt32[], VSQEQS_FILE_ATTRIBUTE_DATA[], UInt32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Benachrichtigt die Umgebung, dass mehrere Dateien im Begriff sind, gespeichert zu werden.
public:
int QuerySaveFiles(System::UInt32 rgfQuerySave, int cFiles, cli::array <System::String ^> ^ rgpszMkDocuments, cli::array <System::UInt32> ^ rgrgf, cli::array <Microsoft::VisualStudio::Shell::Interop::VSQEQS_FILE_ATTRIBUTE_DATA> ^ rgFileInfo, [Runtime::InteropServices::Out] System::UInt32 % pdwQSResult);
int QuerySaveFiles(unsigned int rgfQuerySave, int cFiles, std::Array <std::wstring const &> const & rgpszMkDocuments, std::Array <unsigned int> const & rgrgf, std::Array <Microsoft::VisualStudio::Shell::Interop::VSQEQS_FILE_ATTRIBUTE_DATA> const & rgFileInfo, [Runtime::InteropServices::Out] unsigned int & pdwQSResult);
public int QuerySaveFiles (uint rgfQuerySave, int cFiles, string[] rgpszMkDocuments, uint[] rgrgf, Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[] rgFileInfo, out uint pdwQSResult);
abstract member QuerySaveFiles : uint32 * int * string[] * uint32[] * Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[] * uint32 -> int
Public Function QuerySaveFiles (rgfQuerySave As UInteger, cFiles As Integer, rgpszMkDocuments As String(), rgrgf As UInteger(), rgFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(), ByRef pdwQSResult As UInteger) As Integer
Parameter
- rgfQuerySave
- UInt32
[in] Flags werden derzeit nicht verwendet. Der Aufrufer sollte immer das standardmäßige NULL-Flag übergeben.
- cFiles
- Int32
[in] Dateianzahl.
- rgpszMkDocuments
- String[]
[in] Pfad zur Datei auf dem Datenträger.
- rgrgf
- UInt32[]
[in] Flags, deren Werte aus der tagVSQEQSFlags-Enumeration für gültige Dateiattribute übernommen werden. Standardwert = 0.
- rgFileInfo
- VSQEQS_FILE_ATTRIBUTE_DATA[]
[in] Die Werte aus der VSQEQS_FILE_ATTRIBUTE_DATA-Struktur, die Informationen über die Dateiattribute enthält. Kann sein null ; wird ignoriert, wenn rgrgf 0 ist.
- pdwQSResult
- UInt32
[out] Zeiger auf einen Wert aus der tagVSQuerySaveResult-Enumeration.
Gibt zurück
Wenn die Methode fehlschlägt, wird ein Fehlercode zurückgegeben. Wenn dies erfolgreich ist, wird Folgendes zurückgegeben: QSR_SaveOK
Speichern Sie die Datei. Die Datei sollte an diesem Punkt nicht schreibgeschützt sein.
QSR_ForceSaveAs
Diese Methode hat kein Dialogfeld "Speichern unter" eingefügt, aber Sie wird entweder in Ruhe zu diesem Zweck aufgefordert, oder der Benutzer wurde aufgefordert und hat "Speichern unter" ausgewählt. Wenn Sie eine normalen Datei bearbeiten, wird Ihnen empfohlen, GetSaveFileNameViaDlg(VSSAVEFILENAMEW[]) an diesem Punkt aufzurufen.
QSR_NoSave_UserCanceled
Der Benutzer wurde benachrichtigt, dass die Datei schreibgeschützt ist, und hat entschieden, nicht zu speichern oder den Vorgang abzubrechen. Die Auswahl hängt von den- BeginQuerySaveBatch() / EndQuerySaveBatch() Methoden ab. Wenn der Editor versucht, mehrere Dateien zu speichern, müssen Sie den Batch Verarbeitungs Status und den Unterschied zwischen "Nein" und "Abbrechen" kennen. Rufen Sie die QuerySaveFile(String, UInt32, VSQEQS_FILE_ATTRIBUTE_DATA[], UInt32)-Methode für jede einzelne Datei auf. Wenn die Umgebung QSR_NoSave_UserCanceled oder QSR_NoSave_Cancel zurückgibt, wird die Speichern abgebrochen. Wenn die Umgebung zurückgibt QSR_NoSave_Continue , wird diese eine Datei im Batch nicht gespeichert, aber Sie können weiterhin die anderen Dateien speichern. Die Ergebnisse für lauten *pdwQSResult : Vorgang mit Save ( QSR_SaveOK ) fortsetzen. Nicht speichern ( QSR_NoSave_Continue ). Speichern unter ( QSR_ForceSaveAs ). Brechen Sie den Vorgang ab ( QSR_NoSave_UserCanceled oder QSR_NoSave_Cancel ).
Hinweise
COM-Signatur
Aus ivsqueryeditquerysave2. idl
HRESULT QuerySaveFiles(
[in] VSQuerySaveFlags rgfQuerySave,
[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, retval] VSQuerySaveResult *pdwQSResult
);
Bevor ein Projekt oder Editor eine Datei speichert, muss diese Methode oder die-Methode aufgerufen werden QuerySaveFile . Bei Projektdateien werden diese Aufrufe automatisch von der Projekt Mappe abgeschlossen, die weiß, wann eine Projektdatei gespeichert werden soll. Editoren sind für diese Aufrufe zuständig, es sei denn, die Editor-Implementierung von IVsPersistDocData2 verwendet die hilfsfunktions SaveDocDataToFile Methode. Wenn IVsPersistDocData2 der Editor auf diese Weise implementiert, wird der Methodenaufrufe QuerySaveFile oder QuerySaveFiles für Sie durchgeführt.
Ruft diese Methode auf, bevor alles auf dem Datenträger gespeichert wird. Sie verarbeitet schreibgeschützte und eingecheckte Dateien auf einheitliche, freigegebene Weise.
Diese Methode muss möglicherweise einen Checkout-Befehl ausgeben, um sicherzustellen, dass die Datei beschreibbar ist (z. b. wenn die Datei im Arbeitsspeicher bearbeitet wurde). Bei einem Quell Code Verwaltungs Anbieter, der für die Option "lokale Version Auschecken" bereitstellt, handelt es sich hierbei um einen sicheren Vorgang. Für einen Quell Code Verwaltungs Anbieter, der nicht verwendet wird, kann der Checkout-Vorgang ohne Datenverlust nicht abgeschlossen werden. In diesem Fall ist " Speichern unter" die einzige Option.