IVsSolution2.GetItemOfProjref Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a hierarchy and hierarchy item pair for the specified project reference string.
public:
int GetItemOfProjref(System::String ^ pszProjref, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHierarchy, [Runtime::InteropServices::Out] System::UInt32 % pitemid, [Runtime::InteropServices::Out] System::String ^ % pbstrUpdatedProjref, cli::array <Microsoft::VisualStudio::Shell::Interop::VSUPDATEPROJREFREASON> ^ puprUpdateReason);
int GetItemOfProjref(std::wstring const & pszProjref, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & & ppHierarchy, [Runtime::InteropServices::Out] unsigned int & pitemid, [Runtime::InteropServices::Out] std::wstring const & & pbstrUpdatedProjref, std::Array <Microsoft::VisualStudio::Shell::Interop::VSUPDATEPROJREFREASON> const & puprUpdateReason);
public int GetItemOfProjref (string pszProjref, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierarchy, out uint pitemid, out string pbstrUpdatedProjref, Microsoft.VisualStudio.Shell.Interop.VSUPDATEPROJREFREASON[] puprUpdateReason);
abstract member GetItemOfProjref : string * IVsHierarchy * uint32 * string * Microsoft.VisualStudio.Shell.Interop.VSUPDATEPROJREFREASON[] -> int
Public Function GetItemOfProjref (pszProjref As String, ByRef ppHierarchy As IVsHierarchy, ByRef pitemid As UInteger, ByRef pbstrUpdatedProjref As String, puprUpdateReason As VSUPDATEPROJREFREASON()) As Integer
Parameters
- pszProjref
- String
[in] Pointer to the existing project item reference string, if applicable. Can be null
.
- ppHierarchy
- IVsHierarchy
[out] Pointer to the IVsHierarchy interface referred to by the project reference.
- pitemid
- UInt32
[out] Pointer to the item identifier referred to by the project reference. For a list of enumerated pitemid
values, see VSITEMID
.
- pbstrUpdatedProjref
- String
[out] Pointer to the updated project reference string.
- puprUpdateReason
- VSUPDATEPROJREFREASON[]
[out] Identifier describing the reason for a change in the project reference string. For a list of puprUpdateReason
values, see VSUPDATEPROJREFREASON.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Implements
Remarks
COM Signature
From vsshell.idl:
HRESULT IVsSolution2::GetItemOfProjref(
[in] LPCOLESTR pszProjref,
[out] IVsHierarchy **ppHierarchy,
[out] VSITEMID *pitemid,
[out] BSTR *pbstrUpdatedProjref,
[out] VSUPDATEPROJREFREASON *puprUpdateReason
);
During a drag-and-drop or cut-and-paste operation, the environment places a set of project references on the clipboard for the source item in the operation. This method is used by the target in these operations to change the project references from the clipboard back into hierarchy and hierarchy item pairs. The target can then notify the source that it has incorporated these items.
The following is a description of how the GetItemOfProjref
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 Microsoft 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.