3.1.4.5 I_nsi_entry_object_inq_begin (Opnum 6)

The I_nsi_entry_object_inq_begin method is invoked to enumerate the object UUIDs on a name service entry. The MIDL syntax of the method is specified as follows.

 void I_nsi_entry_object_inq_begin(
   [in] handle_t hrpcPrimaryLocatorHndl,
   [in] unsigned long EntryNameSyntax,
   [in] STRING_T EntryName,
   [out] NSI_NS_HANDLE_T* InqContext,
   [out] unsigned short* status
 );

hrpcPrimaryLocatorHndl: An RPC server binding handle, as specified in [C706] Part 2, "Binding Handle". A client creates this handle by binding to the locator server using the UUID specified in section 1.9 and endpoint specified in section 2.1. A client can create the binding handle using the rpc_string_binding_compose and rpc_binding_from_string_binding APIs (as specified in [C706] the "rpc_string_binding_compose" section) or equivalent on the client system's implementation of RPC. When all operations using this handle are completed, use the equivalent of rpc_binding_free to free the handle resources.

EntryNameSyntax: An identifier that represents the syntax used for the entry_name parameter. The value MUST be RPC_C_NS_SYNTAX_DCE.

EntryName: A Unicode [UNICODE] string specifying the entry name of the name service entry, using the syntax identified by the entry_name_syntax parameter, as specified in section 2.2.2.

InqContext: On successful completion, returns a context handle for enumerating object UUID vectors by using the I_nsi_entry_object_inq_next method. This context handle MUST be closed by using the I_nsi_entry_object_inq_done method.

status: A 16-bit value that indicates the results of the method call. In case of success, the value will contain NSI_S_OK, or a nonzero value on failure. All failures MUST be treated identically as a failure of the whole enumeration process.

Return Values: This method does not return any values. RPC exceptions can be thrown from this method.

Server Operations

The server MUST first validate that the Entry Cache contains a server entry with an entry name equal to the value of the EntryName parameter. If a server entry exists, the server MUST set the value of the status parameter to 0 and create a new NSI_NS_HANDLE_T (section 2.2.3.5) and return it to the caller in the InqContext parameter.

If the Entry Cache does not contain a server entry with an entry name equal to the value of the EntryName parameter, the server MUST set the value of the status parameter to NSI_S_NO_MORE_BINDINGS (1).

Exceptions Thrown

No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified in [MS-RPCE].