/*++

Copyright (C) Microsoft Corporation, 1995 - 1998

Module Name:

    lsapi.idl

Abstract:


Author:

    Arthur Hanson       (arth)      Jan 20-1994

Environment:

    User Mode

Revision History:

--*/

[
    uuid(57674CD0-5200-11CE-A897-08002B2E9C6D),
    version(1.0),
#ifdef __midl
    ms_union,
#endif // __midl
    pointer_default(unique)
]

interface lsapirpc

{

//
// Import a dummy interface containing #includes for public .h files.  This
// trick is necessary so that midl will only generate marshalling routines
// for subtypes that are relevant to the parameters specified on the RPC
// interface.  midl also ingores function prototypes contained therein.
//

import "llsimp.idl" ;

//
// Emit these constants into the generated file.
//
cpp_quote("#define LLS_LPC_ENDPOINT \"llslpc\"")
//
// Note: Must use quad backslash to emit two backslashes into #define
// which when compiled will boil down to single backslash
//
cpp_quote("#define LLS_NP_ENDPOINT \"\\\\pipe\\\\llsrpc\"")


typedef [string] LPWSTR PNAMEW;
typedef [string] LPSTR  PNAMEA;

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

typedef [context_handle] void	*LICENSE_HANDLE;
typedef [ref] LICENSE_HANDLE	*PLICENSE_HANDLE;

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
//
// Licensing API's
//
NTSTATUS
LlsrLicenseRequestW(
   [out] PLICENSE_HANDLE pLicenseHandle,
   [in, string] LPWSTR Product,
   [in] ULONG VersionIndex,
   [in] BOOLEAN IsAdmin,
   [in] ULONG DataType,
   [in] ULONG DataSize,
   [in, size_is(DataSize)] PBYTE Data
   );

NTSTATUS
LlsrLicenseFree(
   [in, out] PLICENSE_HANDLE pLicenseHandle
   );


}