RtmGetRegisteredEntities function (rtmv2.h)

The RtmGetRegisteredEntities function returns information about all clients that have registered with the specified instance of the routing table manager and specified address family.

Syntax

DWORD RtmGetRegisteredEntities(
  [in]      RTM_ENTITY_HANDLE  RtmRegHandle,
  [in, out] PUINT              NumEntities,
  [out]     PRTM_ENTITY_HANDLE EntityHandles,
  [out]     PRTM_ENTITY_INFO   EntityInfos
);

Parameters

[in] RtmRegHandle

Handle to the client obtained from a previous call to RtmRegisterEntity.

[in, out] NumEntities

On input, NumEntities is a pointer to a UINT value, which specifies the maximum number of clients that can be received by EntityInfos. On output, NumEntities receives the actual number of clients received by EntityInfos.

[out] EntityHandles

If handles must be returned: On input, EntityHandles is a pointer to NULL. On output, EntityHandles receives a pointer to an array of entity handle; otherwise, EntityHandles remains unchanged.

If handles do not need to be returned: On input, EntityHandles is NULL.

[out] EntityInfos

If a pointer must be returned: On input, EntityInfos is a pointer to NULL. On output, EntityInfos receives a pointer to an array of RTM_ENTITY_INFO structures; otherwise, EntityInfos remains unchanged.

If a pointer does not need to be returned: On input, EntityInfos is NULL.

Return value

If the function succeeds, the return value is NO_ERROR.

If the function fails, the return value is one of the following error codes.

Value Meaning
ERROR_INSUFFICIENT_BUFFER
The buffer supplied is not large enough to hold all the requested information.

Remarks

If ERROR_INSUFFICIENT_BUFFER is returned, there may be some data in EntityHandles. The NumEntities parameter specifies how many entities were actually returned.

The RtmGetRegisteredEntities function can be used by routing protocols to verify which other protocols are running for that address family and routing table manager instance. Based on the information returned, a client can then perform protocol-specific processing.

The RTMv2 API supports only one instance of the routing table manager.

When the entities are no longer required, release them by calling RtmReleaseEntities.

For sample code using this function, see Enumerate the Registered Entities.

Requirements

Requirement Value
Minimum supported client None supported
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header rtmv2.h
Library Rtm.lib
DLL Rtm.dll

See also

RTM_ENTITY_INFO

RtmReleaseEntities