//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//
//  Copyright (C) Microsoft Corporation, 1997 - 1999
//
//  File:       nsiclt.idl
//
//--------------------------------------------------------------------------

[
 uuid (d3fbb514-0e3b-11cb-8fad-08002b1d29c3),
 version (1.0),
 pointer_default (unique)]

interface NsiC
{

import"nsicom.idl";


/*
 * N S I _ B I N D I N G _ L O O K U P _ B E G I N
 *
 * Create an import context for an interface and optionally an object.
 */

void nsi_binding_lookup_begin
    (
#ifdef __CLIENT__         // workaround for midl bug.
	[in]        handle_t                function_explicit_handle,
#endif
    [in]        UNSIGNED32              entry_name_syntax,
    [in]        STRING_T                entry_name,
    [in]        NSI_INTERFACE_ID_T     *if_spec,
    [in]        NSI_UUID_P_T            obj_uuid,
    [in]        UNSIGNED32              binding_max_count,
    [in]        UNSIGNED32              ignore,
    [out]       NSI_NS_HANDLE_T	       *import_context,
    [out]       UNSIGNED16             *status
    );

/*
 * N S I _ B I N D I N G _ L O O K U P _ D O N E
 *
 * Delete an import context.
 */

void nsi_binding_lookup_done
    (
    [in,out] NSI_NS_HANDLE_T *import_context,
    [out]           UNSIGNED16      *status
    );

/*
 * N S I _ B I N D I N G _ L O O K U P _ N E X T
 *
 * Look up an interface and optionally an object from a name-service
 * database and return a binding of a compatible server (if found).
 */

void nsi_binding_lookup_next
    (
    [in]     NSI_NS_HANDLE_T         import_context,
    [in,out] NSI_BINDING_VECTOR_P_T *binding_vector,
    [out]    UNSIGNED16             *status
    );

/*
 * N S I _ M G M T _ H A N D L E _ E N T R Y _ S E T _ E X P _ A G E
 *
 * Set the maxium age that a cached entry can be returned through a lookup
 * context.
 */

void nsi_mgmt_handle_set_exp_age
    (
    [in]        NSI_NS_HANDLE_T	              inq_context,
    [in]        UNSIGNED32                    expiration_age,
    [out]       UNSIGNED16                  * status
    );

}
