204 lines
3.4 KiB
C
204 lines
3.4 KiB
C
|
|
||
|
|
||
|
#define POLL_STATE_INITIAL 0
|
||
|
#define POLL_STATE_DS_DOWNLOADED 1
|
||
|
#define POLL_STATE_LOCAL_DOWNLOADED 2
|
||
|
#define POLL_STATE_CACHE_DOWNLOADED 3
|
||
|
|
||
|
|
||
|
typedef struct _IPSEC_POLICY_STATE {
|
||
|
DWORD dwCurrentState;
|
||
|
union {
|
||
|
LPWSTR pszDirectoryPolicyDN;
|
||
|
LPWSTR pszRegistryPolicyDN;
|
||
|
LPWSTR pszCachePolicyDN;
|
||
|
};
|
||
|
DWORD CurrentPollingInterval;
|
||
|
DWORD DefaultPollingInterval;
|
||
|
DWORD DSIncarnationNumber;
|
||
|
DWORD RegIncarnationNumber;
|
||
|
PIPSEC_POLICY_OBJECT pIpsecPolicyObject;
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData;
|
||
|
} IPSEC_POLICY_STATE, * PIPSEC_POLICY_STATE;
|
||
|
|
||
|
|
||
|
VOID
|
||
|
InitializePolicyStateBlock(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
StartStatePollingManager(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
PlumbDirectoryPolicy(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetDirectoryPolicyDN(
|
||
|
LPWSTR * ppszDirectoryPolicyDN
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
LoadDirectoryPolicy(
|
||
|
LPWSTR pszDirectoryPolicyDN,
|
||
|
PIPSEC_POLICY_OBJECT * ppIpsecPolicyObject
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
PlumbCachePolicy(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetCachePolicyDN(
|
||
|
LPWSTR * ppszCachePolicyDN
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
LoadCachePolicy(
|
||
|
LPWSTR pszCachePolicyDN,
|
||
|
PIPSEC_POLICY_OBJECT * ppIpsecPolicyObject
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
PlumbRegistryPolicy(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetRegistryPolicyDN(
|
||
|
LPWSTR * ppszRegistryPolicyDN
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
LoadRegistryPolicy(
|
||
|
LPWSTR pszRegistryPolicyDN,
|
||
|
PIPSEC_POLICY_OBJECT * ppIpsecPolicyObject
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
AddPolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
AddMMPolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
AddQMPolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
OnPolicyChanged(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeletePolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeleteMMPolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeleteQMPolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeleteAllPolicyInformation(
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeleteAllMMPolicyInformation(
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
DeleteAllQMPolicyInformation(
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
ClearPolicyStateBlock(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
OnPolicyPoll(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
ProcessDirectoryPolicyPollState(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetDirectoryIncarnationNumber(
|
||
|
LPWSTR pszIpsecPolicyDN,
|
||
|
DWORD * pdwIncarnationNumber
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MigrateFromDSToCache(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
ProcessCachePolicyPollState(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
MigrateFromCacheToDS(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
UpdateFromCacheToDS(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
ProcessLocalPolicyPollState(
|
||
|
PIPSEC_POLICY_STATE pIpsecPolicyState
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
HasRegistryPolicyChanged(
|
||
|
LPWSTR pszCurrentPolicyDN,
|
||
|
PBOOL pbChanged
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
GetRegistryIncarnationNumber(
|
||
|
LPWSTR pszIpsecPolicyDN,
|
||
|
DWORD *pdwIncarnationNumber
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
UpdatePolicyInformation(
|
||
|
PIPSEC_POLICY_DATA pOldIpsecPolicyData,
|
||
|
PIPSEC_POLICY_DATA pNewIpsecPolicyData
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
LoadDefaultISAKMPInformation(
|
||
|
LPWSTR pszDefaultISAKMPDN
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
UnLoadDefaultISAKMPInformation(
|
||
|
LPWSTR pszDefaultISAKMPDN
|
||
|
);
|
||
|
|