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