# IRdSelNodeSelectionDisp Struct Reference

Inherits IDispatch, and IDispatch.

List of all members.

## Public Member Functions
HRESULT | LockObject ()
HRESULT | UnlockObject ()
HRESULT | IsEmpty ([out, retval] BOOL *pEmpty)
HRESULT | GetCount ([out, retval] RtUlong *pSize)
HRESULT | GetAt ([in] RtUlong pos,[out, retval] IDispatch **ppNode)
HRESULT | GetAll ([out, retval] SAFEARRAY **ppSArray)
HRESULT | Add ([in] IDispatch *pObj)
HRESULT | AddArray ([in] RtUlong Count,[in] IDispatch **pNode)
HRESULT | AddSafeArray ([in] SAFEARRAY **pSArray)
HRESULT | AddSelection ([in] IRdSelNodeSelectionDisp *pSelection)
HRESULT | ReplaceBy ([in] IDispatch *pObj)
HRESULT | ReplaceByArray ([in] RtUlong Count,[in] IDispatch **pNode)
HRESULT | ReplaceBySafeArray ([in] SAFEARRAY **pSArray)
HRESULT | ReplaceBySelection ([in] IRdSelNodeSelectionDisp *pSelection)
HRESULT | Remove ([in] IDispatch *pObj)
HRESULT | RemoveAt ([in] RtUlong dwIndex)
HRESULT | RemoveRange ([in] RtUlong Start,[in] RtUlong Count)
HRESULT | RemoveAll ()
HRESULT | IsInSpace ([in] IDispatch *pSpaceNode,[in] IDispatch *pNode)
HRESULT | IsInSelection ([in] IDispatch *pNode)
HRESULT | LockObject ()
HRESULT | UnlockObject ()
HRESULT | IsEmpty ([out, retval] BOOL *pEmpty)
HRESULT | GetCount ([out, retval] RtUlong *pSize)
HRESULT | GetAt ([in] RtUlong pos,[out, retval] IDispatch **ppNode)
HRESULT | GetAll ([out, retval] SAFEARRAY **ppSArray)
HRESULT | Add ([in] IDispatch *pObj)
HRESULT | AddArray ([in] RtUlong Count,[in] IDispatch **pNode)
HRESULT | AddSafeArray ([in] SAFEARRAY **pSArray)
HRESULT | AddSelection ([in] IRdSelNodeSelectionDisp *pSelection)
HRESULT | ReplaceBy ([in] IDispatch *pObj)
HRESULT | ReplaceByArray ([in] RtUlong Count,[in] IDispatch **pNode)
HRESULT | ReplaceBySafeArray ([in] SAFEARRAY **pSArray)
HRESULT | ReplaceBySelection ([in] IRdSelNodeSelectionDisp *pSelection)
HRESULT | Remove ([in] IDispatch *pObj)
HRESULT | RemoveAt ([in] RtUlong dwIndex)
HRESULT | RemoveRange ([in] RtUlong Start,[in] RtUlong Count)
HRESULT | RemoveAll ()
HRESULT | IsInSpace ([in] IDispatch *pSpaceNode,[in] IDispatch *pNode)
HRESULT | IsInSelection ([in] IDispatch *pNode)

## Detailed Description

Analogy of the IRdSelNodeSelection interface, based on IDispatch (scripts support).

## Member Function Documentation

HRESULT IRdSelNodeSelectionDisp::LockObject | ( |  | ) |

Lock the manager for concurent access (i.e. during iterations.)

HRESULT IRdSelNodeSelectionDisp::UnlockObject | ( |  | ) |

Unlock the manager for concurent access (i.e. during iterations).

HRESULT IRdSelNodeSelectionDisp::IsEmpty | ( | [out, retval] BOOL * | pEmpty | ) |

Returns:
  pEmpty [out,retval] Return true if the node is empty.

HRESULT IRdSelNodeSelectionDisp::GetCount | ( | [out, retval] RtUlong * | pSize | ) |

Returns:
  pSize [out,retval] Return the number of stored nodes.

HRESULT IRdSelNodeSelectionDisp::GetAt | ( | [in] RtUlong | pos,
|  | [out, retval] IDispatch ** | ppNode |
| ) |  |  |

Parameters:

  | pos | [in] Index of node in array.

Returns:
  ppNode [out,retval] Return the node at specified index.

HRESULT IRdSelNodeSelectionDisp::GetAll | ( | [out, retval] SAFEARRAY ** | ppSArray | ) |

Returns:
  ppSArray [out,retval] Return all nodes in the selection.

HRESULT IRdSelNodeSelectionDisp::Add | ( | [in] IDispatch * | pObj | ) |

Add node to the selection.
Duplicate nodes are ignored and S_FALSE is returned if duplicate node is found.

Parameters:

  | pObj | [in] Node to be added.

HRESULT IRdSelNodeSelectionDisp::AddArray | ( | [in] RtUlong | Count,
|  | [in] IDispatch ** | pNode |
| ) |  |  |

Add array of nodes into the selection using a buffer.
Duplicate nodes are ignored.

Parameters:

  | Count | [in] Size of array to be created.
  | pNode | [in] Buffer of nodes to be added to array.

HRESULT IRdSelNodeSelectionDisp::AddSafeArray | ( | [in] SAFEARRAY ** | pSArray | ) |

Add array of nodes into the selection using a safe array. Duplicate nodes are ignored.

Parameters:

  | pSArray | [in] Safe array of nodes to be added.

HRESULT IRdSelNodeSelectionDisp::AddSelection | ( | [in] IRdSelNodeSelectionDisp * | pSelection | ) |

Add nodes into the selection using other selection (merge). Duplicate nodes are ignored.

Parameters:

  | pSelection | [in] Name of selection to be merged.

HRESULT IRdSelNodeSelectionDisp::ReplaceBy | ( | [in] IDispatch * | pObj | ) |

Replace selection by a node.

Parameters:

  | pObj | [in] Name of node to act as replacement.

HRESULT IRdSelNodeSelectionDisp::ReplaceByArray | ( | [in] RtUlong | Count,
|  | [in] IDispatch ** | pNode |
| ) |  |  |

Replace selection by array of nodes using a buffer. Duplicate nodes are ignored.

Parameters:

  | Count | [in] Number of nodes.
  | pNode | [in] Array name.

HRESULT IRdSelNodeSelectionDisp::ReplaceBySafeArray | ( | [in] SAFEARRAY ** | pSArray | ) |

Replace selection by array of nodes using a safe array. Duplicate nodes are ignored.

Parameters:

  | pSArray | [in] Safe array name.

HRESULT IRdSelNodeSelectionDisp::ReplaceBySelection | ( | [in] IRdSelNodeSelectionDisp * | pSelection | ) |

Replace selection using other selection. Duplicate nodes are ignored.

Parameters:

  | pSelection | [in] Selection replacement.

HRESULT IRdSelNodeSelectionDisp::Remove | ( | [in] IDispatch * | pObj | ) |

Remove node from selection. Please note that this method involves linear search throught the array.

Parameters:

  | pObj | [in] Name of selection to be removed.

HRESULT IRdSelNodeSelectionDisp::RemoveAt | ( | [in] RtUlong | dwIndex | ) |

Remove node from selection at specified index.

Parameters:

  | dwIndex | Index of node to be removed.

HRESULT IRdSelNodeSelectionDisp::RemoveRange | ( | [in] RtUlong | Start,
|  | [in] RtUlong | Count |
| ) |  |  |

Remove a range of nodes from selection.

Parameters:

  | Start | [in] Low end of range.
  | Count | [in] Number of nodes to remove.

HRESULT IRdSelNodeSelectionDisp::RemoveAll | ( |  | ) |

Remove all nodes from the selection.

HRESULT IRdSelNodeSelectionDisp::IsInSpace | ( | [in] IDispatch * | pSpaceNode,
|  | [in] IDispatch * | pNode |
| ) |  |  |

Check if the pNode is part of the pSpaceNode space. If pSpaceNode is NULL, the kernel root is checked.

Parameters:

  | pSpaceNode | [in] Space to be checked.
  | pNode | [in] Name of node to search for.

Returns S_OK if pNode is part (sub-object) of pSpaceNode, or id pNode == pSpaceNode. Returns S_FALSE if it isn't. Returns other error if failed.

HRESULT IRdSelNodeSelectionDisp::IsInSelection | ( | [in] IDispatch * | pNode | ) |

Check if the object is included in current selection.

Parameters:

  | pNode | [in] Name of node to search for. Returns S_OK if pNode is in current selection. Returns S_FALSE if pNode isn't in current selection. Returns other error if failed.

HRESULT IRdSelNodeSelectionDisp::LockObject | ( |  | ) |

Lock the manager for concurent access (i.e. during iterations.)

HRESULT IRdSelNodeSelectionDisp::UnlockObject | ( |  | ) |

Unlock the manager for concurent access (i.e. during iterations).

HRESULT IRdSelNodeSelectionDisp::IsEmpty | ( | [out, retval] BOOL * | pEmpty | ) |

Returns:
  pEmpty [out,retval] Return true if the node is empty.

HRESULT IRdSelNodeSelectionDisp::GetCount | ( | [out, retval] RtUlong * | pSize | ) |

Returns:
  pSize [out,retval] Return the number of stored nodes.

HRESULT IRdSelNodeSelectionDisp::GetAt | ( | [in] RtUlong | pos,
|  | [out, retval] IDispatch ** | ppNode |
| ) |  |  |

Parameters:

  | pos | [in] Index of node in array.

Returns:
  ppNode [out,retval] Return the node at specified index.

HRESULT IRdSelNodeSelectionDisp::GetAll | ( | [out, retval] SAFEARRAY ** | ppSArray | ) |

Returns:
  ppSArray [out,retval] Return all nodes in the selection.

HRESULT IRdSelNodeSelectionDisp::Add | ( | [in] IDispatch * | pObj | ) |

Add node to the selection.
Duplicate nodes are ignored and S_FALSE is returned if duplicate node is found.

Parameters:

  | pObj | [in] Node to be added.

HRESULT IRdSelNodeSelectionDisp::AddArray | ( | [in] RtUlong | Count,
|  | [in] IDispatch ** | pNode |
| ) |  |  |

Add array of nodes into the selection using a buffer.
Duplicate nodes are ignored.

Parameters:

  | Count | [in] Size of array to be created.
  | pNode | [in] Buffer of nodes to be added to array.

HRESULT IRdSelNodeSelectionDisp::AddSafeArray | ( | [in] SAFEARRAY ** | pSArray | ) |

Add array of nodes into the selection using a safe array. Duplicate nodes are ignored.

Parameters:

  | pSArray | [in] Safe array of nodes to be added.

HRESULT IRdSelNodeSelectionDisp::AddSelection | ( | [in] IRdSelNodeSelectionDisp * | pSelection | ) |

Add nodes into the selection using other selection (merge). Duplicate nodes are ignored.

Parameters:

  | pSelection | [in] Name of selection to be merged.

HRESULT IRdSelNodeSelectionDisp::ReplaceBy | ( | [in] IDispatch * | pObj | ) |

Replace selection by a node.

Parameters:

  | pObj | [in] Name of node to act as replacement.

HRESULT IRdSelNodeSelectionDisp::ReplaceByArray | ( | [in] RtUlong | Count,
|  | [in] IDispatch ** | pNode |
| ) |  |  |

Replace selection by array of nodes using a buffer. Duplicate nodes are ignored.

Parameters:

  | Count | [in] Number of nodes.
  | pNode | [in] Array name.

HRESULT IRdSelNodeSelectionDisp::ReplaceBySafeArray | ( | [in] SAFEARRAY ** | pSArray | ) |

Replace selection by array of nodes using a safe array. Duplicate nodes are ignored.

Parameters:

  | pSArray | [in] Safe array name.

HRESULT IRdSelNodeSelectionDisp::ReplaceBySelection | ( | [in] IRdSelNodeSelectionDisp * | pSelection | ) |

Replace selection using other selection. Duplicate nodes are ignored.

Parameters:

  | pSelection | [in] Selection replacement.

HRESULT IRdSelNodeSelectionDisp::Remove | ( | [in] IDispatch * | pObj | ) |

Remove node from selection. Please note that this method involves linear search throught the array.

Parameters:

  | pObj | [in] Name of selection to be removed.

HRESULT IRdSelNodeSelectionDisp::RemoveAt | ( | [in] RtUlong | dwIndex | ) |

Remove node from selection at specified index.

Parameters:

  | dwIndex | Index of node to be removed.

HRESULT IRdSelNodeSelectionDisp::RemoveRange | ( | [in] RtUlong | Start,
|  | [in] RtUlong | Count |
| ) |  |  |

Remove a range of nodes from selection.

Parameters:

  | Start | [in] Low end of range.
  | Count | [in] Number of nodes to remove.

HRESULT IRdSelNodeSelectionDisp::RemoveAll | ( |  | ) |

Remove all nodes from the selection.

HRESULT IRdSelNodeSelectionDisp::IsInSpace | ( | [in] IDispatch * | pSpaceNode,
|  | [in] IDispatch * | pNode |
| ) |  |  |

Check if the pNode is part of the pSpaceNode space. If pSpaceNode is NULL, the kernel root is checked.

Parameters:

  | pSpaceNode | [in] Space to be checked.
  | pNode | [in] Name of node to search for.

Returns S_OK if pNode is part (sub-object) of pSpaceNode, or id pNode == pSpaceNode. Returns S_FALSE if it isn't. Returns other error if failed.

HRESULT IRdSelNodeSelectionDisp::IsInSelection | ( | [in] IDispatch * | pNode | ) |

Check if the object is included in current selection.

Parameters:

  | pNode | [in] Name of node to search for. Returns S_OK if pNode is in current selection. Returns S_FALSE if pNode isn't in current selection. Returns other error if failed.