You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
1.9 KiB
138 lines
1.9 KiB
/*
|
|
* LSCore.h
|
|
*
|
|
* Author: BreenH
|
|
*
|
|
* API for the licensing core.
|
|
*/
|
|
|
|
#ifndef __LC_LSCORE_H__
|
|
#define __LC_LSCORE_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* Typedefs
|
|
*/
|
|
|
|
typedef enum {
|
|
LC_INIT_LIMITED = 0,
|
|
LC_INIT_ALL
|
|
} LCINITMODE, *LPLCINITMODE;
|
|
|
|
typedef struct {
|
|
LPWSTR pUserName;
|
|
LPWSTR pDomain;
|
|
LPWSTR pPassword;
|
|
} LCCREDENTIALS, *LPLCCREDENTIALS;
|
|
|
|
/*
|
|
* Initialization Function Prototypes
|
|
*/
|
|
|
|
NTSTATUS
|
|
LCInitialize(
|
|
LCINITMODE lcInitMode,
|
|
BOOL fAppCompat
|
|
);
|
|
|
|
VOID
|
|
LCShutdown(
|
|
);
|
|
|
|
/*
|
|
* Policy Activation Function Prototypes
|
|
*/
|
|
|
|
|
|
NTSTATUS
|
|
LCSetPolicy(
|
|
ULONG ulPolicyId,
|
|
PNTSTATUS pNewPolicyStatus
|
|
);
|
|
|
|
/*
|
|
* Administrative Function Prototypes
|
|
*/
|
|
|
|
VOID
|
|
LCAssignPolicy(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCCreateContext(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
VOID
|
|
LCDestroyContext(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCGetAvailablePolicyIds(
|
|
PULONG *ppulPolicyIds,
|
|
PULONG pcPolicies
|
|
);
|
|
|
|
ULONG
|
|
LCGetPolicy(
|
|
VOID
|
|
);
|
|
|
|
NTSTATUS
|
|
LCGetPolicyInformation(
|
|
ULONG ulPolicyId,
|
|
LPLCPOLICYINFOGENERIC lpPolicyInfo
|
|
);
|
|
|
|
/*
|
|
* Licensing Event Function Prototypes
|
|
*/
|
|
|
|
NTSTATUS
|
|
LCProcessConnectionProtocol(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCProcessConnectionPostLogon(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCProcessConnectionDisconnect(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCProcessConnectionReconnect(
|
|
PWINSTATION pWinStation,
|
|
PWINSTATION pTemporaryWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCProcessConnectionLogoff(
|
|
PWINSTATION pWinStation
|
|
);
|
|
|
|
NTSTATUS
|
|
LCProvideAutoLogonCredentials(
|
|
PWINSTATION pWinStation,
|
|
LPBOOL lpfUseCredentials,
|
|
LPLCCREDENTIALS lpCredentials
|
|
);
|
|
|
|
NTSTATUS
|
|
LCDeactivateCurrentPolicy(
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif
|
|
|