separate (RPC) procedure RPC_Mgmt_EP_Elt_Inq_Next( Inquiry_Context : in RPC_EP_Inquiry_Handle_Type; Interface_ID : in RPC_Interface_Id_Type; Binding_Handle : out RPC_Binding_Handle_Type; Object_UUID : out UUID_Type; Annotation : out EP_Map_Annotation_Type; Status : out DCE_Status.Status_Type; No_Binding : in boolean := FALSE; No_Obj_UUID : in boolean := FALSE; No_Annotation : in boolean := FALSE) is -- **************************************************************************** use C_String_Pkg; -- /// For direct visibility to the "/=" operator procedure rpc_mgmt_ep_elt_inq_next( inquiry_context : RPC_EP_Inquiry_Handle_Type; interface_id : System.Address; binding_handle : System.Address; object_uuid : System.Address; annotation : System.Address; status : System.Address); pragma INTERFACE (C, rpc_mgmt_ep_elt_inq_next); Local_Binding : RPC_Binding_Handle_Type; Local_Binding_Addr : System.Address := Local_Binding'ADDRESS; Local_UUID : UUID_Type; Local_UUID_Addr : System.Address := Local_UUID'ADDRESS; Local_Annotation : C_String_Pkg.C_String; Local_Annot_Addr : System.Address := Local_Annotation'ADDRESS; Local_Status : DCE_Status.Status_Type; begin if No_Binding then Local_Binding_Addr := System.NULL_ADDRESS; end if; if No_Obj_UUID then Local_UUID_Addr := System.NULL_ADDRESS; end if; if No_Annotation then Local_Annot_Addr := System.NULL_ADDRESS; end if; rpc_mgmt_ep_elt_inq_next(Inquiry_Context, Interface_ID'ADDRESS, Local_Binding_Addr, Local_UUID_Addr, Local_Annot_Addr, Local_Status'ADDRESS); Status := Local_Status; Binding_Handle := Local_Binding; if (Local_Annotation /= NULL) then Annotation := (others => ' '); C_String_Pkg.C_to_Ada_String(Local_Annotation, string(Annotation), FALSE); RPC_String_Free(Local_Annotation'ADDRESS, Local_Status); end if; end RPC_Mgmt_EP_Elt_Inq_Next;