Metoda IVsQueryEditQuerySave2.QuerySaveFile — (String, UInt32, VSQEQS_FILE_ATTRIBUTE_DATA , UInt32)
Powiadamia środowisko, w którym ma zostać zapisany plik.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
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
Parametry
pszMkDocument
Type: System.String[in] Ścieżka do pliku (dokument ma zostać zapisany) na dysku.
rgf
Type: System.UInt32[in] Flagi których wartości dla atrybutów prawidłowy plik są pobierane z tagVSQEQSFlags wyliczenia. Wartością domyślną jest zero.
pFileInfo
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 rgf 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.
QuerySaveFile nie ma wystawionych Zapisz jako okno dialogowe, ale albo it jest trybie cichym informujący, aby to zrobić, lub i użytkownik wybrał odebrał monit Zapisz jako. Jeśli edytujesz konwencjonalnych pliku możesz zachęcamy do wywołania GetSaveFileNameViaDlg metody w IVsUIShell interfejsu w tym momencie.
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.
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 QuerySaveFile(
[in] LPCOLESTR pszMkDocument,
[in] VSQEQSFlags rgf,
[in] const VSQEQS_FILE_ATTRIBUTE_DATA *pFileInfo,
[out, retval] VSQuerySaveResult *pdwQSResult
);
Przed projektu lub Edytor zapisze plik, musi on wywołać tej metody lub QuerySaveFiles metody. Pliki projektu te wywołania są wypełniane automatycznie przez rozwiązanie, 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 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, należy wydać polecenie realizacji transakcji, aby upewnić się, że plik jest zapisywalna (na przykład, jeżeli plik był edytowany w pamięci). Pakiet kontroli źródła, który zapewnia dla opcji "wersja lokalna wyewidencjonowanie" jest to bezpieczne operacji. Nie ma pakietu kontroli źródła nie można ukończyć operacji wyewidencjonowanie w 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