# IRpNetwork Interface Reference

Inherits IRsObject.

List of all members.

## Public Member Functions
HRESULT | CreateNetworkFn ([out, retval] IRfNetworkFn **ppNetFn)
HRESULT | RegisterForSSInfo ([in] IRsNtSharedSpaceInfo *pSSInfoReq,[in] NtSSStatFlags bRegFlags)
HRESULT | UnregisterForSSInfo ([in] IRsNtSharedSpaceInfo *pSSInfoReq)
HRESULT | SetSharedSpaceStatus ([in] IRsNode *pNtController,[in] IRsNode *pSSNode,[in] RtBOOL bActivated)
HRESULT | GetNodeStatus ([in] IRsNode *pNode,[out] RtDWORD *pdwNumLocSS,[out, retval] E_NtNodeStat *peNtNodeStat)
HRESULT | EnumerateSharedSpaces ([in] IRsNode *pNode,[out, retval] IRsEnumNodesSSs **ppEnumNodesSSs)
HRESULT | GetModuleInstance ([out, retval] RtInstance *pInstance)
HRESULT | CreateNetworkCacheFn ([out, retval] IRfNetworkCache **ppNetCacheFn)
HRESULT | CreateContentClient ([out, retval] IRsContentClient **ppContentClient)
HRESULT | CreateNetworkCfgFnSet ([out, retval] IRfNetworkCfgFn **ppNetCfgSet)
HRESULT | CreateConflictSimulator ([out, retval] IRsConflictSimulator **ppRsConflictSimulator)
HRESULT | CreateRsNtBSEReport ([out, retval] IRsNtBSEReport **ppRsNtBSEReport)
HRESULT | CreateRsNtEventMng ([in] IUnknown *pOuter,[out, retval] IUnknown **ppEventMngObj)

## Detailed Description

RpNetwork package class handle common network operation and accessing your network function sets.

## Member Function Documentation

HRESULT IRpNetwork::CreateNetworkFn | ( | [out, retval] IRfNetworkFn ** | ppNetFn | ) |

Call to create the IRfNetworkFn function set.

Returns:
  ppNetFn [out,retval] Returns created Network Function Set.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::RegisterForSSInfo | ( | [in] IRsNtSharedSpaceInfo * | pSSInfoReq,
|  | [in] NtSSStatFlags | bRegFlags |
| ) |  |  |

Register an object to be informed about Shared Space changes.

Parameters:

  | pSSInfoReq | [in] Specify IRsNtSharedSpaceInfo interface. You will be notified through this interface.
  | bRegFlags | [in] Specify what type of events are you interested in. You can call this method to add another events. To unregister an event you have to call UnregisterForSSInfo and then re-register again. See RpNetwork::NtSSStatFlags for possible registration flags.

Returns:
  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::UnregisterForSSInfo | ( | [in] IRsNtSharedSpaceInfo * | pSSInfoReq | ) |

Unregister an object to stop receiving Info about Shared Spaces changes.

- Use this method if you registered for Shared Spaces event through RegisterForSSInfo method and you want to stop the events listening.

Parameters:

  | pSSInfoReq | [in] Specify IRsNtSharedSpaceInfo interface that you registered in RegisterForSSInfo.

Returns:
  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::SetSharedSpaceStatus | ( | [in] IRsNode * | pNtController,
|  | [in] IRsNode * | pSSNode,
|  | [in] RtBOOL | bActivated |
| ) |  |  |

Set shared space status.

Parameters:

  | pNtController | [in] Server or Client controller.
  | pSSNode | [in] The shared space.
  | bActivated | [in] Set TRUE for active space.

Returns:
  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::GetNodeStatus | ( | [in] IRsNode * | pNode,
|  | [out] RtDWORD * | pdwNumLocSS,
|  | [out, retval] E_NtNodeStat * | peNtNodeStat |
| ) |  |  |

GetNodeStatus allows you to find if your node is included in a Shared Space and what role it has (whether the node is Master, Slave or Disconnected).

Parameters:

  | pNode | [in] Specify the node you want to check.
  | pdwNumLocSS | [out] Returns number of Shared Spaces in which the pNode object is included. Use EnumerateSharedSpaces method to enumerate all the Shared Spaces.

Returns:
  peNtNodeStat [out, retval] Returns status of the node object.
  - See IRsNtSharedSpaceInfo::E_NtNodeStat for possible values.

  Standard HRESULT processing can be applied to the result.

Remarks:
  Consider to use Shared Space events registration through RegisterForSSInfo method if you need to check the status too often as GetNodeStatus can be an expensive operation.

HRESULT IRpNetwork::EnumerateSharedSpaces | ( | [in] IRsNode * | pNode,
|  | [out, retval] IRsEnumNodesSSs ** | ppEnumNodesSSs |
| ) |  |  |

Enumerate Active Shared Spaces Controllers for specific node object.

- Use this enumerator to find all the activated Shared Spaces in which your node is included.

Parameters:

  | pNode | [in] If a Node is specified, enumerated will be only Shared Spaces in which the Node is included. If you specify NULL, all the activated Shared Spaces will be enumerated.

Returns:
  ppEnumNodesSSs [out, retval] Enumeratted Shared Spaces controllers (IRnNtServer and IRnNtClient).

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::GetModuleInstance | ( | [out, retval] RtInstance * | pInstance | ) |

Call to get module instance to be able access resources of this package.

Returns:
  pInstance [out, retval] Returns module instance.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateNetworkCacheFn | ( | [out, retval] IRfNetworkCache ** | ppNetCacheFn | ) |

Creates Network Cache Function Set.

Returns:
  ppNetCacheFn [out,retval] Returns IRfNetworkCache interface.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateContentClient | ( | [out, retval] IRsContentClient ** | ppContentClient | ) |

Create content client helper.

Returns:
  ppContentClient [out, retval] Returns IRsContentClient interface.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateNetworkCfgFnSet | ( | [out, retval] IRfNetworkCfgFn ** | ppNetCfgSet | ) |

Call to create Network Configuration Function Set.

Returns:
  ppNetCfgSet [out, retval] Returns IRfNetworkCfgFn interface.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateConflictSimulator | ( | [out, retval] IRsConflictSimulator ** | ppRsConflictSimulator | ) |

Create conflict simulator.

Returns:
  ppRsConflictSimulator [out, retval] Returns IRsConflictSimulator interface.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateRsNtBSEReport | ( | [out, retval] IRsNtBSEReport ** | ppRsNtBSEReport | ) |

Create base event report object.

Returns:
  ppRsNtBSEReport [out, retval] Returns IRsNtBSEReport interface.

  Standard HRESULT processing can be applied to the result.

HRESULT IRpNetwork::CreateRsNtEventMng | ( | [in] IUnknown * | pOuter,
|  | [out, retval] IUnknown ** | ppEventMngObj |
| ) |  |  |

Create Event Manager object.

Parameters:

  | pOuter | [in] .

Returns:
  ppEventMngObj [out,retval] .