2.2.1.2.4 ept_lookup Method
These extensions redefine the ept_lookup method, as specified in [C706] Appendix O, by as follows:
Adds the ptr attribute to the object and Ifid parameters.
Adds the range attribute to the max_ents parameter.
Removes the [idempotent] method attribute.
The redefined method is specified as follows.
-
void ept_lookup( [in] handle_t hEpMapper, [in] unsigned long inquiry_type, [in, ptr] UUID* object, [in, ptr] RPC_IF_ID* Ifid, [in] unsigned long vers_option, [in, out] ept_lookup_handle_t* entry_handle, [in, range(0,500)] unsigned long max_ents, [out] unsigned long* num_ents, [out, length_is(*num_ents), size_is(max_ents)] ept_entry_t entries[], [out] error_status* status );
hEpMapper: An RPC binding handle as specified in [C706] section 2.
inquiry_type: The type of inquiry to perform. It SHOULD<25> be one of the following values.
-
Value
Meaning
RPC_C_EP_ALL_ELTS
0x00000000
Return all elements from the endpoint map. The Ifid, vers_option, and object parameters MUST be ignored.
RPC_C_EP_MATCH_BY_IF
0x00000001
Return endpoint map elements that contain the interface identifier specified by the Ifid and vers_option values.
RPC_C_EP_MATCH_BY_OBJ
0x00000002
Return endpoint map elements that contain the object UUID specified by object.
RPC_C_EP_MATCH_BY_BOTH
0x00000003
Return endpoint map elements that contain the interface identifier and object UUID specified by Ifid, vers_option, and object.
object: Optionally specifies an object UUID. A value of NULL indicates that no object UUID is specified.
Ifid: Optionally specifies an interface UUID. A value of NULL indicates that no interface UUID is specified.
vers_option: The interface version constraint. MUST be one of the following values.
-
Value
Meaning
RPC_C_VERS_ALL
0x00000001
Return endpoint map elements that contain the specified interface UUID, regardless of the version numbers.
RPC_C_VERS_COMPATIBLE
0x00000002
Return the endpoint map elements that contain the same major versions of the specified interface UUID and a minor version greater than or equal to the minor version of the specified UUID.
RPC_C_VERS_EXACT
0x00000003
Return endpoint map elements that contain the specified version of the specified interface UUID.
RPC_C_VERS_MAJOR_ONLY
0x00000004
Return endpoint map elements that contain the same version of the specified interface UUID and ignore the minor version.
RPC_C_VERS_UPTO
0x00000005
Return endpoint map elements that contain a version of the specified interface UUID less than or equal to the specified major and minor version.
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 wishes to terminate the search, it MUST close the context handle by calling ept_lookup_handle_free.
max_ents: The maximum number of elements to be returned.
num_ents: The actual number of elements being returned.
entries: The elements that satisfy the specified search criteria.
status: MUST be one of a Win32 error code as specified in [MS-ERREF], 0x16C9A0CD, or 0x16C9A0D6. All values other than those specified in the following table MUST be treated as a 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.<26>