Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

203 lines
3.4 KiB

#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
);