IVsHierarchyDeleteHandler.QueryDeleteItem(UInt32, UInt32, Int32) 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.
Called by the environment to determine whether the hierarchy supports item deletion, removal, or both.
public:
int QueryDeleteItem(System::UInt32 dwDelItemOp, System::UInt32 itemid, [Runtime::InteropServices::Out] int % pfCanDelete);
int QueryDeleteItem(unsigned int dwDelItemOp, unsigned int itemid, [Runtime::InteropServices::Out] int & pfCanDelete);
public int QueryDeleteItem (uint dwDelItemOp, uint itemid, out int pfCanDelete);
abstract member QueryDeleteItem : uint32 * uint32 * int -> int
Public Function QueryDeleteItem (dwDelItemOp As UInteger, itemid As UInteger, ByRef pfCanDelete As Integer) As Integer
Parameters
- dwDelItemOp
- UInt32
[in] Determines whether the hierarchy or hierarchy item is deleted from storage or removed from the project. Values are taken from the __VSDELETEITEMOPERATION enumeration.
- itemid
- UInt32
[in] Item identifier of an item in the hierarchy. Use VSITEMID_ROOT to delete all in the hierarchy. VSITEMID_SELECTION is not supported.
- pfCanDelete
- Int32
[out] If true
, then the hierarchy supports either item deletion or item removal, depending on the value specified for the dwDelItemOp
parameter. If false
, then the hierarchy or hierarchy item cannot be deleted.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
COM Signature
From vsshell.idl:
HRESULT IVsHierarchyDeleteHandler::QueryDeleteItem(
[in] VSDELETEITEMOPERATION dwDelItemOp,
[in] VSITEMID itemid,
[out, retval] BOOL *pfCanDelete
);
When an item in a hierarchy is selected, the environment calls this method twice on that hierarchy: once to determine if the hierarchy supports item deletion, and once to determine if the hierarchy supports item removal. Based on the result of this method, the environment modifies the context menu or the dialog box shown when delete or remove are selected from the context menu. If either remove or delete are supported, then a Remove or Delete command is shown in the context menu, respectively. If both options are supported, then a dialog box is shown querying the user whether to delete or remove the item. If neither remove nor delete are supported, then Remove and Delete commands are not shown in the context menu. If QueryDeleteItem
returns zero, the delete command is displayed grayed.
When either the Remove or Delete command is selected by the user, the environment then calls DeleteItem.