Udostępnij za pośrednictwem


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.

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

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

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

    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.

[!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ą:

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