IVsSolution2.GetProjectOfProjref Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen proje başvuru dizesi için bir hiyerarşi döndürür.
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
Parametreler
- pszProjref
- String
'ndaki Varsa, varolan proje başvuru dizesinin işaretçisi. Olabilir null .
- ppHierarchy
- IVsHierarchy
dışı IVsHierarchy Proje başvurusu tarafından başvurulan arabirime yönelik işaretçi.
- pbstrUpdatedProjref
- String
dışı Güncelleştirilmiş proje başvuru dizesinin işaretçisi.
- puprUpdateReason
- VSUPDATEPROJREFREASON[]
dışı Proje başvuru dizesindeki değişikliğin nedenini açıklama olarak tanımlandı. Değerlerin listesi için puprUpdateReason bkz VSUPDATEPROJREFREASON ..
Döndürülenler
Yöntem başarılı olursa, döndürür S_OK . Başarısız olursa, bir hata kodu döndürür.
Uygulamalar
Açıklamalar
COM Imzası
Vsshell. IDL dosyasından:
HRESULT IVsSolution2::GetProjectOfProjref(
[in] LPCOLESTR pszProjref,
[out] IVsHierarchy **ppHierarchy,
[out] BSTR *pbstrUpdatedProjref,
[out] VSUPDATEPROJREFREASON *puprUpdateReason
);
Bu yöntem için iki senaryo vardır:
Proje başvurusu, proje bir çözüm içinde yeniden adlandırıldığında izler. Proje başvurusunu bağlamaya çalışırken, proje GUID 'SI ilk olarak çağırarak denenir GetProjectOfGuid . Bu çağrı başarılı olursa ve proje yeniden adlandırılırsa, istemci için güncelleştirilmiş proje başvurusu da sağlanır.
Projeler yeni bir çözüme eklenir ve proje başvurusu yine de bağlayabiliyor. GUID bağlanamadığında, tür/ad bilgilerini kullanarak projeyi bulmak için bir girişimde bulunuldu. Bu başarılı olursa, yeni projeyi içeren güncelleştirilmiş bir proje başvurusu döndürülür.
Proje başvurusunun içeriği istemciye opaktır. Bununla birlikte, iç uygulamamız için bu iki senaryoyu desteklemek amacıyla, aşağıdaki bilgilerden oluşan bir proje başvuru dizesi olması gerekir:
Çözüm dosyası tarafından atanan ve korunan proje GUID 'SI
Proje türü (veya adı)
Aşağıdaki GetProjectOfProjref Yöntem, sürükle ve bırak işlemlerini desteklemek için yönteminin nasıl kullanıldığına ilişkin bir açıklamadır:
CF_VSPROJECTITEMS ve CF_VSPROJECTS Pano biçimleri, DROPFILES yapıyı CF_HDROP veya CF_PRINTERS ile aynı şekilde kullanır. Yapıyı izleyen veriler, DROPFILES dizelerin ÇIFT null ile sonlandırılmış listesidir Projref . Bırakma işleminin tüketicisi, DragQueryFile yapıdaki verileri incelemek Için WINDOWS API 'sini kullanabilir DROPFILES . CF_VSPROJECTS biçim, Projref dizeler bir bütün olarak projeleri tanımlayorsa, bu, * pitemid = = VSITEMID_ROOT. CF_VSPROJECTITEMS biçimi, Projref dizeler bir veya daha fazla bireysel proje öğesini tanımlayorsa sunulur. CF_VSPROJECTS veya CF_VSPROJECTITEMS sunulmalı, ancak asla her ikisi de sağlanmalıdır.