2.2.1.2.5 ept_map Method

These extensions redefine the ept_map method, as specified in [C706] Appendix O, by way of the following:

  • Adding the ptr attribute to the obj and map_tower parameters.

  • Adding the range attribute to the max_towers parameter.

  • Removing the [idempotent] method attribute.

The resulting method definition is specified as follows.

 void ept_map(
   [in] handle_t hEpMapper,
   [in, ptr] UUID* obj,
   [in, ptr] twr_p_t map_tower,
   [in, out] ept_lookup_handle_t* entry_handle,
   [in, range(0,500)] unsigned long max_towers,
   [out] unsigned long* num_towers,
   [out, ptr, size_is(max_towers), length_is(*num_towers)] 
     twr_p_t* ITowers,
   [out] error_status* status
 );

hEpMapper: An RPC binding handle as specified in [C706] section 2.

obj: Optionally specifies an object UUID. A value of NULL indicates that no object UUID is specified. Interfaces registered with a NULL object UUID will match any object UUID supplied here.

map_tower: The tower encoding to search for, as specified in [C706] Appendix L.

entry_handle: On the first call, the client MUST set this to NULL. On successful completion of this method, returns a context handle that the client MUST use on subsequent calls to this method. In between calls if the client wants to terminate the search, it MUST close the context handle by calling ept_lookup_handle_free.

max_towers: The maximum number of elements to be returned.

num_towers: The actual number of elements being returned.

ITowers: The tower encoding, as specified in [C706] Appendix L, of the elements found in the endpoint map.

status: MUST be one of a Win32 error code specified in [MS-ERREF], 0X16C9A0CD, or 0X16C9A0D6. All values besides the following ones MUST be treated as failure.

Value

Meaning

0x00000000

The method call returned at least one element that matched the search criteria.

0x16C9A0D6

There are no elements that satisfy the specified search criteria.

This method has no return values.

Everything else about this method remains as specified in [C706] Appendix O. For more details, see section 2.3.3.3 in [C706]. Note that this redefinition has no wire impact and, therefore, it is interoperable with the [C706] implementation, as long as the max_towers value is less than 501.<27>