This documentation is archived and is not being maintained.

IVsSolution.GetProjrefOfProject Method

Returns a project reference string for the specified hierarchy.

Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (in

int GetProjrefOfProject (
	[InAttribute] IVsHierarchy pHierarchy,
	out string pbstrProjref
int GetProjrefOfProject (
	/** @attribute InAttribute() */ IVsHierarchy pHierarchy, 
	/** @attribute OutAttribute() */ /** @ref */ String pbstrProjref
JScript does not support passing value-type arguments by reference.



[in] Pointer to the IVsHierarchy interface for the specified hierarchy.


[out] Pointer to the project reference string.

Return Value

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From vsshell.idl:

HRESULT IVsSolution::GetProjrefOfProject(
   [in] IVsHierarchy *pHierarchy,
   [out] BSTR *pbstrProjref

The following is a description of how the GetProjrefOfProject method is used to support drag-and-drop operations:

The CF_VSPROJECTITEMS and CF_VSPROJECTS clipboard formats use the DROPFILES structure in the same manner as CF_HDROP or CF_PRINTERS. The data that follows the DROPFILES structure is a double-NULL-terminated list of Projref strings. The consumer of the drop operation can use the Windows API DragQueryFile to examine the data in the DROPFILES structure. CF_VSPROJECTS format is offered when the Projref strings identify projects as a whole, that is, *pitemid == VSITEMID_ROOT. The CF_VSPROJECTITEMS format is offered when the Projref strings identify one or more individual project items. Either CF_VSPROJECTS or CF_VSPROJECTITEMS should be offered, but never both.