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.
239 lines
7.1 KiB
239 lines
7.1 KiB
// Per-user data items
|
|
|
|
// export for one-time initialization
|
|
DWORD GetPSTUserHKEY(
|
|
LPCWSTR szUser, // in
|
|
HKEY* phUserKey, // out
|
|
BOOL* pfExisted); // out
|
|
|
|
// types
|
|
DWORD BPCreateType( // fills in PST_GUIDNAME's sz if NULL
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
PST_TYPEINFO* pinfoType); // in
|
|
|
|
DWORD BPDeleteType(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType); // in
|
|
|
|
DWORD BPEnumTypes(
|
|
LPCWSTR szUser, // in
|
|
DWORD dwIndex, // in
|
|
GUID* pguidType); // out
|
|
|
|
DWORD BPGetTypeName( // fills in PST_GUIDNAME's sz
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
LPWSTR* ppszType); // out
|
|
|
|
|
|
// subtypes
|
|
DWORD BPCreateSubtype( // fills in PST_GUIDNAME's sz if NULL
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
PST_TYPEINFO* pinfoSubtype); // in
|
|
|
|
DWORD BPDeleteSubtype(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype); // in
|
|
|
|
DWORD BPEnumSubtypes(
|
|
LPCWSTR szUser, // in
|
|
DWORD dwIndex, // in
|
|
const GUID* pguidType, // in
|
|
GUID* pguidSubtype); // out
|
|
|
|
DWORD BPGetSubtypeName( // fills in PST_GUIDNAME's sz
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPWSTR* ppszSubtype); // out
|
|
|
|
|
|
// items
|
|
DWORD BPCreateItem(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName); // in
|
|
|
|
DWORD BPDeleteItem(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName); // in
|
|
|
|
DWORD BPEnumItems(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
DWORD dwIndex, // in
|
|
LPWSTR* ppszName); // out
|
|
|
|
|
|
#if 0
|
|
|
|
// rulesets
|
|
DWORD BPGetSubtypeRuleset(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
PST_ACCESSRULESET* psRules); // out
|
|
|
|
DWORD BPSetSubtypeRuleset(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
PST_ACCESSRULESET *sRules); // in
|
|
|
|
DWORD BPGetItemRuleset(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PST_ACCESSRULESET* psRules); // out
|
|
|
|
DWORD BPSetItemRuleset(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PST_ACCESSRULESET *sRules); // in
|
|
|
|
#endif
|
|
|
|
|
|
// secured data
|
|
BOOL FBPGetSecuredItemData(
|
|
LPCWSTR szUser, // in
|
|
LPCWSTR szMasterKey, // in
|
|
BYTE rgbPwd[], // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PBYTE* ppbData, // out
|
|
DWORD* pcbData); // out
|
|
|
|
BOOL FBPSetSecuredItemData(
|
|
LPCWSTR szUser, // in
|
|
LPCWSTR szMasterKey, // in
|
|
BYTE rgbPwd[], // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PBYTE pbData, // in
|
|
DWORD cbData); // in
|
|
|
|
// insecure data
|
|
DWORD BPGetInsecureItemData(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PBYTE* ppbData, // out
|
|
DWORD* pcbData); // out
|
|
|
|
DWORD BPSetInsecureItemData(
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
PBYTE pbData, // in
|
|
DWORD cbData); // in
|
|
|
|
|
|
// Item Confirmation
|
|
DWORD BPGetItemConfirm(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
DWORD* pdwConfirm, // out
|
|
LPWSTR* pszMK); // out
|
|
|
|
DWORD BPSetItemConfirm(
|
|
PST_PROVIDER_HANDLE* phPSTProv, // in
|
|
LPCWSTR szUser, // in
|
|
const GUID* pguidType, // in
|
|
const GUID* pguidSubtype, // in
|
|
LPCWSTR szItemName, // in
|
|
DWORD dwConfirm, // in
|
|
LPCWSTR szMK); // in
|
|
|
|
|
|
// Master Keys
|
|
BOOL BPMasterKeyExists(
|
|
LPCWSTR szUser, // in
|
|
LPWSTR szMasterKey); // in
|
|
|
|
DWORD BPEnumMasterKeys(
|
|
LPCWSTR szUser, // in
|
|
DWORD dwIndex, // in
|
|
LPWSTR* ppszMasterKey); // out
|
|
|
|
DWORD BPGetMasterKeys(
|
|
LPCWSTR szUser, // in
|
|
LPCWSTR rgszMasterKeys[], // in
|
|
DWORD* pcbMasterKeys, // in, out
|
|
BOOL fUserFilter); // in
|
|
|
|
// security state
|
|
BOOL FBPGetSecurityState(
|
|
LPCWSTR szUser, // in
|
|
LPCWSTR szMK, // in
|
|
BYTE rgbSalt[], // out
|
|
DWORD cbSalt, // in
|
|
BYTE rgbConfirm[], // out
|
|
DWORD cbConfirm, // in
|
|
PBYTE* ppbMK, // out
|
|
DWORD* pcbMK); // out
|
|
|
|
BOOL FBPGetSecurityStateFromHKEY(
|
|
HKEY hMKKey,
|
|
BYTE rgbSalt[],
|
|
DWORD cbSalt,
|
|
BYTE rgbConfirm[],
|
|
DWORD cbConfirm,
|
|
PBYTE* ppbMK,
|
|
DWORD* pcbMK);
|
|
|
|
BOOL FBPSetSecurityState(
|
|
LPCWSTR szUser, // in
|
|
LPCWSTR szMK, // in
|
|
BYTE rgbSalt[], // in
|
|
DWORD cbSalt, // in
|
|
BYTE rgbConfirm[], // in
|
|
DWORD cbConfirm, // in
|
|
PBYTE pbMK, // in
|
|
DWORD cbMK); // in
|
|
|
|
|
|
// MAC keys
|
|
BOOL FGetInternalMACKey(
|
|
LPCWSTR szUser, // in
|
|
PBYTE* ppbKey, // out
|
|
DWORD* pcbKey); // out
|
|
|
|
BOOL FSetInternalMACKey(
|
|
LPCWSTR szUser, // in
|
|
PBYTE pbKey, // in
|
|
DWORD cbKey); // in
|
|
|
|
// nuke existing user data
|
|
BOOL
|
|
DeleteAllUserData(
|
|
HKEY hKey
|
|
);
|
|
|
|
BOOL
|
|
DeleteUserData(
|
|
HKEY hKey
|
|
);
|
|
|