/* * LCRpc.idl * * Author: BreenH * * The RPC interface to the licensing core. */ /* * LCRPC Interface Context Handle */ typedef [context_handle] void *LCRPC_HANDLE; /* * Create some constants in the generated header. Note that the strings are * processed twice, therefore any "\" character, which should show up in the * header as "\\", needs to be written here as "\\\\". */ cpp_quote("//") cpp_quote("// Constants") cpp_quote("//") cpp_quote("") cpp_quote("#define LC_RPC_UUID L\"2f59a331-bf7d-48cb-9e5c-7c090d76e8b8\"") cpp_quote("#define LC_RPC_LRPC_EP L\"LcRpc\"") cpp_quote("#define LC_RPC_NP_EP L\"\\\\pipe\\\\TermSrv_Licensing_Core\"") cpp_quote("#define LC_RPC_MAX_THREADS 4") /* * LCRPC Interface */ [ uuid(2f59a331-bf7d-48cb-9e5c-7c090d76e8b8), version(1.0), pointer_default(unique), endpoint("ncalrpc:[LcRpc]", "ncacn_np:[\\pipe\\TermSrv_Licensing_Core]") ] interface LCRPC { // // To include headers into the interface, it is necessary to include // through a separate IDL file. // import "lcimport.idl"; // // RPC Open and Close Server Functions // BOOLEAN RpcLicensingOpenServer( [in] handle_t hBinding, [out] LCRPC_HANDLE *phServer, [out, ref] PLONG pStatus ); void RpcLicensingCloseServer( [in, out] LCRPC_HANDLE *phServer ); // // Policy Loading and Activation Functions // BOOLEAN RpcLicensingLoadPolicy( [in] LCRPC_HANDLE hServer, [in] ULONG ulPolicyId, [out, ref] PLONG pStatus ); BOOLEAN RpcLicensingUnloadPolicy( [in] LCRPC_HANDLE hServer, [in] ULONG ulPolicyId, [out, ref] PLONG pStatus ); LONG RpcLicensingSetPolicy( [in] LCRPC_HANDLE hServer, [in] ULONG ulPolicyId, [out, ref] PLONG pNewPolicyStatus ); // // Administrative Functions // BOOLEAN RpcLicensingGetAvailablePolicyIds( [in] LCRPC_HANDLE hServer, [out, size_is(,*pcPolicies)] PULONG *ppulPolicyIds, [out, ref] PULONG pcPolicies, [out, ref] PLONG pStatus ); BOOLEAN RpcLicensingGetPolicy( [in] LCRPC_HANDLE hServer, [out, ref] PULONG pulPolicyId, [out, ref] PLONG pStatus ); BOOLEAN RpcLicensingGetPolicyInformation( [in] LCRPC_HANDLE hServer, [in] ULONG ulPolicyId, [in, out, ref] PULONG pulVersion, [out, size_is(,*pcbPolicyInfo)] PCHAR *ppPolicyInfo, [in, out, ref] PULONG pcbPolicyInfo, [out, ref] PLONG pStatus ); BOOLEAN RpcLicensingDeactivateCurrentPolicy( [in] LCRPC_HANDLE hServer, [out, ref] PLONG pStatus ); }