/*********************************************************************** * * Copyright (C) 2005-2006 Novell, Inc. Inc. All Rights Reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, Novell, Inc. * * To contact Novell about this file by physical or electronic mail, * you may find current contact information at www.novell.com. * ***********************************************************************/ #ifndef _SECRETSTOREDEF_ #define _SECRETSTOREDEF_ //===[ Header files specific to this module ]============================== #include #include #include //===[ Manifest constants ]============================== // {A118B15C-66A3-46ba-BA3B-D45FBBF0C5DA} DEFINE_GUID(CLSID_SecretStoreClientService, 0xa118b15c, 0x66a3, 0x46ba, 0xba, 0x3b, 0xd4, 0x5f, 0xbb, 0xf0, 0xc5, 0xda); // {6DF6121E-C823-43dd-9D1C-7B89056CC4AE} DEFINE_GUID(IID_SSCS, 0x6df6121e, 0xc823, 0x43dd, 0x9d, 0x1c, 0x7b, 0x89, 0x5, 0x6c, 0xc4, 0xae); //===[ Structure Definitions ]============================== //===[ Function Prototypes ]============================== // {54BFEBE2-F726-44d9-AEDE-E9252FA99549} DEFINE_GUID(IID_VerifyAccessSS_1, 0x2d4c7faa, 0x8e3c, 0x4c70, 0x87, 0xa7, 0xc8, 0x7d, 0xad, 0x80, 0x2a, 0xd); /* 0x54bfebe2, 0xf726, 0x44d9, 0xae, 0xde, 0xe9, 0x25, 0x2f, 0xa9, 0x95, 0x49); */ #undef NICM_INTERFACE #define NICM_INTERFACE IVerifiedAccessSS NICM_DECLARE_INHERITTED_INTERFACE(IVerifiedAccessSS, NICM_IUnknown) { VIRT NCSTATUS NICM_STDMETHOD (QueryInterface) ( IN THISPTR IN const GUID *pIId, OUT void **ppvObj ) PURE; VIRT UINT32 NICM_STDMETHOD (AddRef) ( IN THISPTRONLY ) PURE; VIRT UINT32 NICM_STDMETHOD (Release) ( IN THISPTRONLY ) PURE; VIRT NCSTATUS NICM_STDMETHOD (QuerySecureInterface) ( IN THISPTR IN HMODULE hModule, IN const GUID *pIId, OUT void **ppvObj ) PURE; }; typedef IVerifiedAccessSS FAR *PIVerifiedAccessSS; #undef NICM_INTERFACE #define NICM_INTERFACE ISecretStore NICM_DECLARE_INHERITTED_INTERFACE(ISecretStore, NICM_IUnknown) { VIRT NCSTATUS NICM_STDMETHOD (QueryInterface) ( IN THISPTR IN const GUID *pIId, OUT void **ppvObj ) PURE; VIRT UINT32 NICM_STDMETHOD (AddRef) ( IN THISPTRONLY ) PURE; VIRT UINT32 NICM_STDMETHOD (Release) ( IN THISPTRONLY ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheOpenSecretStore) ( IN THISPTR IN PVOID secretStoreID, IN ULONG ssFlags, OUT PVOID ssHandle, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheCloseSecretStore) ( IN THISPTR IN PVOID ssHandle, IN ULONG ssFlags, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheRemoveSecretStore) ( IN THISPTR IN PVOID ssHandle, IN ULONG ssFlags, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheRemoveSecret) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN SSCS_SECRET_ID_T *secretID, IN SSCS_PASSWORD_T *epPassword, IN PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheReadSecret) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN SSCS_SECRET_ID_T *secretID, IN OUT SSCS_SECRET_T *secretData, IN SSCS_PASSWORD_T *epPassword, IN OUT void *bytesRequired, IN OUT void *reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheWriteSecret) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN SSCS_SECRET_ID_T *secretID, IN SSCS_SECRET_T *secretData, IN SSCS_PASSWORD_T *epPassword, IN void *reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheEnumerateSecretIDs) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN SSCS_SRCH_KEY_T *searchKey, IN OUT SSCS_SECRET_ID_LIST_T *secretIDList, IN OUT VOID *reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheEnumerateKeyChainIDs) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssflags, IN SSCS_SRCH_KEY_T *searchKey, IN OUT SSCS_KEYCHAIN_ID_LIST_T *kcIDList, IN OUT VOID *reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheAddKeyChain) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheRemoveKeyChain) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheGetSecretStoreInfo) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_SECRETSTORE_INFO_T *ssInfo, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (CacheGetKeychainInfo) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_KEYCHAIN_ID_T *keyChainID, IN SSCS_KEYCHAIN_INFO_T *kcInfo, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (LockCache ) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN OUT PVOID reserved ) PURE; VIRT NCSTATUS NICM_STDMETHOD (UnLockCache ) ( IN THISPTR IN SCHANDLE hSC, IN ULONG ssFlags, IN SSCS_PASSCODE_T *passcode, IN OUT PVOID reserved ) PURE; }; typedef ISecretStore FAR *PISecretStore; #endif // _SECRETSTOREDEF_ //========================================================================= //=========================================================================