Metoda IVsQueryEditQuerySave2.QuerySaveFiles — (UInt32, Int32, String[], UInt32[], VSQEQS_FILE_ATTRIBUTE_DATA , UInt32)
Powiadamia środowisko, w którym mają zostać zapisane pliki.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
int QuerySaveFiles(
uint rgfQuerySave,
int cFiles,
string[] rgpszMkDocuments,
uint[] rgrgf,
VSQEQS_FILE_ATTRIBUTE_DATA[] rgFileInfo,
out uint pdwQSResult
)
int QuerySaveFiles(
unsigned int rgfQuerySave,
int cFiles,
array<String^>^ rgpszMkDocuments,
array<unsigned int>^ rgrgf,
array<VSQEQS_FILE_ATTRIBUTE_DATA>^ rgFileInfo,
[OutAttribute] unsigned int% pdwQSResult
)
abstract QuerySaveFiles :
rgfQuerySave:uint32 *
cFiles:int *
rgpszMkDocuments:string[] *
rgrgf:uint32[] *
rgFileInfo:VSQEQS_FILE_ATTRIBUTE_DATA[] *
pdwQSResult:uint32 byref -> int
Function QuerySaveFiles (
rgfQuerySave As UInteger,
cFiles As Integer,
rgpszMkDocuments As String(),
rgrgf As UInteger(),
rgFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(),
<OutAttribute> ByRef pdwQSResult As UInteger
) As Integer
Parametry
rgfQuerySave
Type: System.UInt32[in] Flagi są obecnie używane. Obiekt wywołujący powinien zawsze podawać flagi null domyślne, czyli zero.
cFiles
Type: System.Int32[in] Liczba plików.
rgpszMkDocuments
Type: System.String[][in] Ścieżka do pliku na dysku.
rgrgf
Type: System.UInt32[][in] Flagi, których wartości są pobierane z tagVSQEQSFlags wyliczenia dla atrybutów prawidłowy plik. Domyślnie = 0.
rgFileInfo
Type: Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[][in] Wartości z VSQEQS_FILE_ATTRIBUTE_DATA struktury zawierającej informacje na temat atrybutów pliku. Może być null; jest ignorowana, jeśli rgrgf ma wartość 0.
pdwQSResult
Type: System.UInt32[out] Wskaźnik do wartości z tagVSQuerySaveResult wyliczenia.
Wartość zwracana
Type: System.Int32
Jeśli metoda kończy się niepowodzeniem, zwraca kod błędu.
Jeśli się powiedzie, zwraca:
Zapisz plik. Plik nie może być tylko do odczytu na tym etapie.
Ta metoda nie ma wystawionych Zapisz jako okno dialogowe, ale albo it jest trybie cichym informujący, aby to zrobić, lub i użytkownik wybrał Zapisz jako odebrał monit. Jeśli edytujesz konwencjonalnych pliku możesz zachęcamy do wywołania GetSaveFileNameViaDlg na tym etapie.
Użytkownik został powiadomiony o tym, że plik jest tylko do odczytu i wybrał nie zapisać lub anulować operację. Wybór zależy od BeginQuerySaveBatch / EndQuerySaveBatch metody.
[!UWAGA]
Edytor próbuje zapisać wiele plików, należy znać przetwarzanie wsadowe stanu i różnica między nie, Anuluj. Wywołanie QuerySaveFile metody dla każdego pliku. Jeśli środowisko zwraca QSR_NoSave_UserCanceled lub QSR_NoSave_Cancel, a następnie zapisz zostało anulowane. Jeśli środowisko zwraca QSR_NoSave_Continue, następnie jednego pliku w partii nie zostaną zapisane, ale można kontynuować zapisywanie inne pliki.
Wyniki dla *pdwQSResult są:
Kontynuować zapisywanie (QSR_SaveOK).
Nie zapisuj (QSR_NoSave_Continue).
Zapisz jako (QSR_ForceSaveAs).
Anulowanie zapisywania (QSR_NoSave_UserCanceled lub QSR_NoSave_Cancel).
Uwagi
Podpis COM
Z 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
);
Przed projektu lub Edytor zapisze plik, musi on wywołać tej metody lub QuerySaveFile metody. W przypadku plików projektu te wywołania automatycznie są wykonywane za rozwiązania, które wie, kiedy ma być zapisany plik projektu. Edytory jest odpowiedzialny za wykonywanie tych wywołań, chyba że edytora stosowania IVsPersistDocData2 za pomocą funkcji pomocnika SaveDocDataToFile metody. Jeśli implementuje edytora IVsPersistDocData2 w ten sposób, a następnie wywołanie QuerySaveFile Metoda lub QuerySaveFiles staje się automatycznie.
Tę metodę można wywołać przed zapisaniem niczego na dysku. W sposób jednolity, udostępniony będą obsługiwać pliki tylko do odczytu i zaewidencjonowany.
Ta metoda może być konieczne wydać polecenie realizacji transakcji, aby upewnić się, że plik jest zapisywalna (na przykład, jeżeli plik był edytowany w pamięci). Dostawcy kontroli źródła, zapewniająca dla opcji "wersja lokalna wyewidencjonowanie" jest to operacja bezpieczne. Dostawcy kontroli źródła, która nie nie można ukończyć operacji wyewidencjonowanie bez utraty danych. W takim przypadku Zapisz jako jest jedyną opcją.
Zobacz też
Interfejs IVsQueryEditQuerySave2
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku