IVsExternalFilesManager2.TransferDocument(String, String, IVsWindowFrame) Methode

Definition

Überträgt ein Dokument auf das Projekt "Sonstige Dateien".

public:
 int TransferDocument(System::String ^ pszMkDocumentOld, System::String ^ pszMkDocumentNew, Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ punkWindowFrame);
public:
 int TransferDocument(Platform::String ^ pszMkDocumentOld, Platform::String ^ pszMkDocumentNew, Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ punkWindowFrame);
int TransferDocument(std::wstring const & pszMkDocumentOld, std::wstring const & pszMkDocumentNew, Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame const & punkWindowFrame);
public int TransferDocument (string pszMkDocumentOld, string pszMkDocumentNew, Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame punkWindowFrame);
abstract member TransferDocument : string * string * Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame -> int
Public Function TransferDocument (pszMkDocumentOld As String, pszMkDocumentNew As String, punkWindowFrame As IVsWindowFrame) As Integer

Parameter

pszMkDocumentOld
String

[in] Gibt den ursprünglichen Pfad der zu übertragenden Datei an.

pszMkDocumentNew
String

[in] Gibt den neuen Pfad der Datei an.

punkWindowFrame
IVsWindowFrame

[in] Gibt den Zeiger auf das geöffnete Fenster für die Datei an.

Gibt zurück

Int32

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.

Implementiert

Hinweise

COM-Signatur

Aus vsshell. idl:

HRESULT IVsExternalFilesManager2::TransferDocument(  
   [in] LPCOLESTR pszMkDocumentOld,  
   [in] LPCOLESTR pszMkDocumentNew,  
   [in] IVsWindowFrame *punkWindowFrame  
);  

Dies ist die Implementierung des Befehls " externe Datei öffnen " im Menü "System Datei ". Wenn kein Projekt diese Datei bedienen kann und das Projekt sonstige Dateien (externe Dateien) nicht bereits vorhanden ist, erstellt die Umgebung das Projekt "sonstige Dateien" und versucht es erneut.

In der-Umgebung wird das Projekt "sonstige Dateien" mithilfe des externen Datei-Managers ( IVsExternalFilesManager ) implementiert. Mit dieser Schnittstelle können Sie das Projekt "sonstige Dateien" bearbeiten.

Wenn Sie über ein World Wide Web Projekt verfügen, ist die Definition des Projekt Systems eng an die Tatsache gebunden, dass sich Ihre Webseiten in einem bestimmten Verzeichnis befinden, das die Hierarchie der Website imitiert. Wenn in Ihrem Projekt eine Datei aus dem Web geöffnet ist und der Benutzer eine Speicherung unter für diese Datei durchführt, um Sie auf einer Diskette zu speichern, kann diese Datei nicht mehr als eine Datei angesehen werden, die zur Website gehört, da Sie sich nicht im Verzeichnis der Website befindet. Das Modell von Save as der Umgebung ist, dass der geöffnete Editor die Datei am neuen Speicherort nachverfolgt. Das heißt, der Editor bearbeitet die Bearbeitung der neuen Datei an Ihrem neuen Speicherort, und die alte Datei bleibt am ursprünglichen Speicherort unverändert und ist nicht mehr geöffnet. Da die neue Datei nicht mehr Mitglied des Website Projekts ist, übergibt das Projekt System den geöffneten Editor an das Projekt "sonstige Dateien".

Um diese Übertragung abzuschließen, ruft der Hierarchie-/Itemid-Besitzer des Projekts (in diesem Beispiel das Webprojekt) Query Service SID_SVsExternalFilesManager auf, um einen Zeiger auf zu erhalten IVsExternalFilesManager . Das Projekt ruft dann TransferDocument auf, um den alten dokumentmoniker ( pszMkDocumentString ) für das Dokument zu übergeben, als es sich im Webprojekt befand. Dieser Moniker kann ein URL-, http://-oder UNC-Pfad sein und ist der Schlüssel zur ursprünglichen Datei in der ausgelaufenden dokumententabelle (RDT). Außerdem übergibt Sie den neuen pszMkDocumentString und den neuen geöffneten Fensterrahmen-Zeiger. Das Projekt "sonstige Dateien" überträgt dann die Datei an das Projekt, ordnet ihr eine neue Element-ID zu und aktualisiert dann den RDT durch Aufrufen der- RenameDocument Methode. Fenster Frames und verschiedene Entitäten, die auf RDT-Ereignisse lauschen, wissen, dass Sie Ihre Verweise auf das Dokument aktualisieren müssen.

Gilt für