Udostępnij za pośrednictwem


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.

Wartość zwracana

Type: System.Int32

Jeśli metoda kończy się niepowodzeniem, zwraca kod błędu.

Jeśli się powiedzie, zwraca:

  • QSR_SaveOK

  • Zapisz plik. Plik nie może być tylko do odczytu na tym etapie.

  • QSR_ForceSaveAs

  • 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.

  • QSR_NoSave_UserCanceled

  • 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ą:

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