IVsSolution.GetProjectOfProjref(String, IVsHierarchy, String, VSUPDATEPROJREFREASON[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine Hierarchie für die angegebene Projektverweiszeichenfolge zurück.
public:
int GetProjectOfProjref(System::String ^ pszProjref, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHierarchy, [Runtime::InteropServices::Out] System::String ^ % pbstrUpdatedProjref, cli::array <Microsoft::VisualStudio::Shell::Interop::VSUPDATEPROJREFREASON> ^ puprUpdateReason);
int GetProjectOfProjref(std::wstring const & pszProjref, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & & ppHierarchy, [Runtime::InteropServices::Out] std::wstring const & & pbstrUpdatedProjref, std::Array <Microsoft::VisualStudio::Shell::Interop::VSUPDATEPROJREFREASON> const & puprUpdateReason);
public int GetProjectOfProjref (string pszProjref, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierarchy, out string pbstrUpdatedProjref, Microsoft.VisualStudio.Shell.Interop.VSUPDATEPROJREFREASON[] puprUpdateReason);
abstract member GetProjectOfProjref : string * IVsHierarchy * string * Microsoft.VisualStudio.Shell.Interop.VSUPDATEPROJREFREASON[] -> int
Public Function GetProjectOfProjref (pszProjref As String, ByRef ppHierarchy As IVsHierarchy, ByRef pbstrUpdatedProjref As String, puprUpdateReason As VSUPDATEPROJREFREASON()) As Integer
Parameter
- pszProjref
- String
[in] Zeiger auf die vorhandene Projektverweiszeichenfolge, falls zutreffend. Kann null sein.
- ppHierarchy
- IVsHierarchy
[out] Zeiger auf die IVsHierarchy-Schnittstelle, die durch den Projektverweis angegeben wird.
- pbstrUpdatedProjref
- String
[out] Zeiger auf die aktualisierte Projektverweiszeichenfolge.
- puprUpdateReason
- VSUPDATEPROJREFREASON[]
[out] Bezeichner, der den Grund für die Änderung der Projektverweiszeichenfolge beschreibt. Eine Liste der puprUpdateReason-Werte finden Sie unter VSUPDATEPROJREFREASON.
Gibt zurück
Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Bei einem Fehler wird ein Fehlercode zurückgegeben.
Hinweise
COM-Signatur
Aus vsshell. idl:
HRESULT IVsSolution::GetProjectOfProjref(
[in] LPCOLESTR pszProjref,
[out] IVsHierarchy **ppHierarchy,
[out] BSTR *pbstrUpdatedProjref,
[out] VSUPDATEPROJREFREASON *puprUpdateReason
);
Für diese Methode gibt es zwei Szenarien:
Der Projekt Verweis wird nachverfolgt, wenn das Projekt in einer Projekt Mappe umbenannt wird. Beim Versuch, einen Projekt Verweis zu binden, wird zuerst die Projekt-GUID durch Aufrufen von versucht GetProjectOfGuid . Wenn dieser Befehl erfolgreich ausgeführt wird und das Projekt umbenannt wurde, wird auch der aktualisierte Projekt Verweis für den Client bereitgestellt.
Projekte werden einer neuen Projekt Mappe hinzugefügt, und der Projekt Verweis kann weiterhin gebunden werden. Wenn die GUID nicht gebunden werden kann, wird versucht, das Projekt anhand der Informationen zum Typ/Name zu suchen. Wenn dies erfolgreich ist, wird ein aktualisierter Projekt Verweis zurückgegeben, der das neue Projekt enthält.
Der Inhalt des Projekt Verweises ist für den Client nicht transparent. Um diese beiden Szenarien für unsere interne Implementierung zu unterstützen, benötigen wir jedoch eine Projekt Verweis Zeichenfolge, die aus den folgenden Informationen besteht:
Von der Projektmappendatei zugewiesene und erhaltene Projekt-GUID
Projekttyp (oder Name)
Im folgenden wird beschrieben, wie die GetProjectOfProjref -Methode zur Unterstützung von Drag & Drop-Vorgängen verwendet wird:
Die CF_VSPROJECTITEMS -und- CF_VSPROJECTS Zwischenablage Formate verwenden die- DROPFILES Struktur auf die gleiche Weise wie CF_HDROP oder CF_PRINTERS . Bei den Daten, die DROPFILES auf die Struktur folgen, handelt es sich um eine Liste von Zeichen folgen mit doppelter NULL endend Projref Der Consumer des Drop-Vorgangs kann die Windows-API verwenden DragQueryFile , um die Daten in der Struktur zu untersuchen DROPFILES . CF_VSPROJECTSdas Format wird angeboten, wenn die Zeichen folgen Projref Projekte als Ganzes identifizieren, d pitemid == VSITEMID_ROOT . h. *. Das CF_VSPROJECTITEMS Format wird angeboten, wenn Projref ein oder mehrere einzelne Projekt Elemente von den Zeichen folgen identifiziert werden. Entweder CF_VSPROJECTS oder CF_VSPROJECTITEMS sollte angeboten werden, aber nicht beides.