Leaked source code of windows server 2003
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

/*
* 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