Metoda IVsSolution.GetProjectOfProjref — (String, IVsHierarchy, String, VSUPDATEPROJREFREASON )
Zwraca hierarchię dla ciągu odwołanie do określonego projektu.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
int GetProjectOfProjref(
string pszProjref,
out IVsHierarchy ppHierarchy,
out string pbstrUpdatedProjref,
VSUPDATEPROJREFREASON[] puprUpdateReason
)
int GetProjectOfProjref(
String^ pszProjref,
[OutAttribute] IVsHierarchy^% ppHierarchy,
[OutAttribute] String^% pbstrUpdatedProjref,
array<VSUPDATEPROJREFREASON>^ puprUpdateReason
)
abstract GetProjectOfProjref :
pszProjref:string *
ppHierarchy:IVsHierarchy byref *
pbstrUpdatedProjref:string byref *
puprUpdateReason:VSUPDATEPROJREFREASON[] -> int
Function GetProjectOfProjref (
pszProjref As String,
<OutAttribute> ByRef ppHierarchy As IVsHierarchy,
<OutAttribute> ByRef pbstrUpdatedProjref As String,
puprUpdateReason As VSUPDATEPROJREFREASON()
) As Integer
Parametry
pszProjref
Type: System.String[in] Wskaźnik do istniejących parametrów odwołanie do projektu, jeśli to konieczne. Może być null.
ppHierarchy
Type: Microsoft.VisualStudio.Shell.Interop.IVsHierarchy[out] Wskaźnik do IVsHierarchy interfejs odwołuje się odwołanie do projektu.
pbstrUpdatedProjref
Type: System.String[out] Wskaźnik do ciągu odwołanie zaktualizowany projekt.
puprUpdateReason
Type: Microsoft.VisualStudio.Shell.Interop.VSUPDATEPROJREFREASON[][out] Identyfikowane opisujący powód zmiany w ciągu odwołanie do projektu. Aby uzyskać listę puprUpdateReason wartości, zobacz VSUPDATEPROJREFREASON.
Wartość zwracana
Type: System.Int32
Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.
Uwagi
Podpis COM
Z vsshell.idl:
HRESULT IVsSolution::GetProjectOfProjref(
[in] LPCOLESTR pszProjref,
[out] IVsHierarchy **ppHierarchy,
[out] BSTR *pbstrUpdatedProjref,
[out] VSUPDATEPROJREFREASON *puprUpdateReason
);
Istnieją dwa scenariusze dla tej metody:
Odwołanie do projektu śledzi, gdy projekt jest zmieniana w ramach jednego rozwiązania. Podczas próby powiązania odwołania projektu, identyfikator GUID pierwszej próbie przez wywołanie metody GetProjectOfGuid. Jeśli to wywołanie zakończy się pomyślnie i projektu została zmieniona, odwołanie zaktualizowany projekt jest również udostępniany w dla klienta.
Projekty są dodawane do nowego rozwiązania, a odwołanie do projektu jest nadal można powiązać. Jeśli identyfikator GUID nie może powiązać, aby zlokalizować projektu przy użyciu informacji typu/nazwa jest podejmowana próba. Jeśli to się powiedzie, zwracany jest odwołanie do projektu zaktualizowane, która obejmuje nowy projekt.
Zawartość odwołania projektu jest nieprzezroczyste do klienta. Jednak w celu obsługi tych dwóch scenariuszy dla naszych wewnętrzny implementacji, musimy mieć ciąg odwołania projektu, który składa się z następujących informacji:
Identyfikator GUID projektu przypisane i utrzymywane przez plik rozwiązania
Projekt typu (lub nazwę)
Poniżej znajduje się opis sposobu GetProjectOfProjref Metoda jest używana do obsługi operacji przeciągania i upuszczania:
CF_VSPROJECTITEMS i CF_VSPROJECTS Schowka formatuje użyj DROPFILES struktury w taki sam sposób jak CF_HDROP lub CF_PRINTERS. Dane, które następuje DROPFILES struktury znajduje się lista zakończony znakiem NULL podwójnej Projref ciągów. Konsument operacji usuwania można użyć interfejsu API systemu Windows DragQueryFile zbadać dane w DROPFILES struktury.CF_VSPROJECTS Format jest oferowana, gdy Projref ciągów zidentyfikować projekty jako całości, to znaczy *pitemid == VSITEMID_ROOT.CF_VSPROJECTITEMS Format jest oferowana, gdy Projref ciągów zidentyfikować jeden lub więcej elementów pojedynczego projektu. Albo CF_VSPROJECTS lub CF_VSPROJECTITEMS powinien być oferowany, ale nie oba.
Zobacz też
Interfejs IVsSolution
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku