|
||||
|
KeePass 2.x
Installation / Portability
Translations
Plugins
Compatibility / SxS
Application Policy
Auto-Type Obfuscation
Synchronization
Triggers
User Interface
Database Settings
Entry
Interface Options
Load/Save From/To URL
License
Features
Auto-Type
Command Line Options
Composite Master Key
Configuration
Field References
Import / Export
Integration
Multi-User
Password Generator
Placeholders
Repair Databases
Secure Edit Controls
Security
TAN Support
URL Field
Using Stored Passwords
Development
Customization (1.x)
Customization (2.x)
Scripting (2.x)
Creating Plugins (1.x)
Creating Plugins (2.x)
Key Providers (1.x)
Key Providers (2.x)
Support KeePass
Donate
|
IKpDatabase.hGo to the documentation of this file.00001 /* 00002 Copyright (c) 2008-2013, Dominik Reichl 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without 00006 modification, are permitted provided that the following conditions 00007 are met: 00008 00009 * Redistributions of source code must retain the above copyright 00010 notice, this list of conditions and the following disclaimer. 00011 * Redistributions in binary form must reproduce the above copyright 00012 notice, this list of conditions and the following disclaimer in 00013 the documentation and/or other materials provided with the 00014 distribution. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00017 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00018 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 00019 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 00020 COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00021 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 00022 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00023 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00024 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00025 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 00026 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00027 POSSIBILITY OF SUCH DAMAGE. 00028 */ 00029 00030 #ifndef ___IKPDATABASE_H___ 00031 #define ___IKPDATABASE_H___ 00032 00033 #pragma once 00034 00035 #include "../../SysDefEx.h" 00036 #include "IKpUnknown.h" 00037 #include "../../PwStructs.h" 00038 00039 #pragma pack(1) 00040 00044 struct KP_DECL_INTERFACE("29A5C55A-7100-4A1E-B74D-986C0E085AB2") IKpDatabase : 00045 public IKpUnknown 00046 { 00047 public: 00049 STDMETHOD(InitPrimaryInstance)() = 0; 00050 00053 STDMETHOD_(INT, SetMasterKey)(LPCTSTR lpMasterKey, BOOL bDiskDrive, 00054 LPCTSTR lpSecondKey) = 0; 00055 00056 STDMETHOD_(DWORD, GetEntryCount)() = 0; 00057 STDMETHOD_(DWORD, GetGroupCount)() = 0; 00058 00060 STDMETHOD_(DWORD, GetEntryCountInGroup)(LPCTSTR lpGroup) = 0; 00062 STDMETHOD_(DWORD, GetEntryCountInGroupN)(DWORD dwGroupId) = 0; 00063 00064 // Access entry information 00065 00067 STDMETHOD_(PW_ENTRY*, GetEntry)(DWORD dwIndex) = 0; 00069 STDMETHOD_(PW_ENTRY*, GetEntryByGroup)(DWORD dwGroupId, DWORD dwIndex) = 0; 00070 STDMETHOD_(DWORD, GetEntryByGroupN)(DWORD dwGroupId, DWORD dwIndex) = 0; 00072 STDMETHOD_(PW_ENTRY*, GetEntryByUuid)(const BYTE* pUuid) = 0; 00073 STDMETHOD_(DWORD, GetEntryByUuidN)(const BYTE* pUuid) = 0; // Returns the index of the item with pUuid 00074 STDMETHOD_(DWORD, GetEntryPosInGroup)(const PW_ENTRY* pEntry) = 0; 00076 STDMETHOD_(PW_ENTRY*, GetLastEditedEntry)() = 0; 00077 00078 // Access group information 00079 00081 STDMETHOD_(PW_GROUP*, GetGroup)(DWORD dwIndex) = 0; 00083 STDMETHOD_(PW_GROUP*, GetGroupById)(DWORD dwGroupId) = 0; 00084 STDMETHOD_(DWORD, GetGroupByIdN)(DWORD dwGroupId) = 0; 00085 STDMETHOD_(DWORD, GetGroupId)(LPCTSTR lpGroupName) = 0; 00086 STDMETHOD_(DWORD, GetGroupIdByIndex)(DWORD dwIndex) = 0; 00087 STDMETHOD_(DWORD, GetLastChildGroup)(DWORD dwParentIndex) = 0; 00088 STDMETHOD_(BOOL, GetGroupTree)(DWORD dwGroupId, DWORD* pvIndices) = 0; 00089 00090 // Add entries and groups 00091 STDMETHOD_(BOOL, AddGroup)(const PW_GROUP* pTemplate) = 0; 00092 STDMETHOD_(BOOL, AddEntry)(const PW_ENTRY* pTemplate) = 0; 00093 STDMETHOD_(BOOL, BackupEntry)(const PW_ENTRY* pe, BOOL* pbGroupCreated) = 0; // pe must be unlocked already 00094 00095 // Delete entries and groups 00096 STDMETHOD_(BOOL, DeleteEntry)(DWORD dwIndex) = 0; 00097 STDMETHOD_(BOOL, DeleteGroupById)(DWORD dwGroupId, BOOL bCreateBackupEntries) = 0; 00098 00099 STDMETHOD_(BOOL, SetGroup)(DWORD dwIndex, const PW_GROUP* pTemplate) = 0; 00100 STDMETHOD_(BOOL, SetEntry)(DWORD dwIndex, const PW_ENTRY* pTemplate) = 0; 00101 00104 STDMETHOD(LockEntryPassword)(PW_ENTRY* pEntry) = 0; 00105 00111 STDMETHOD(UnlockEntryPassword)(PW_ENTRY* pEntry) = 0; 00112 00113 STDMETHOD(NewDatabase)() = 0; 00114 STDMETHOD_(INT, OpenDatabase)(LPCTSTR lpFile, PWDB_REPAIR_INFO* pRepair) = 0; 00115 STDMETHOD_(INT, SaveDatabase)(LPCTSTR lpFile, BYTE* pWrittenDataHash32) = 0; 00116 00117 // Move entries and groups 00118 STDMETHOD(MoveEntry)(DWORD dwGroupId, DWORD dwFrom, DWORD dwTo) = 0; 00119 STDMETHOD_(BOOL, MoveGroup)(DWORD dwFrom, DWORD dwTo) = 0; 00120 STDMETHOD_(BOOL, MoveGroupEx)(DWORD dwFromId, DWORD dwToId) = 0; 00121 STDMETHOD_(BOOL, MoveGroupExDir)(DWORD dwGroupId, INT iDirection) = 0; 00122 00123 // Sort entry and group lists 00124 STDMETHOD(SortGroup)(DWORD dwGroupId, DWORD dwSortByField) = 0; 00125 STDMETHOD(SortGroupList)() = 0; 00126 00127 // Find an item 00128 STDMETHOD_(DWORD, Find)(LPCTSTR lpFindString, BOOL bCaseSensitive, 00129 DWORD dwSearchFlags, DWORD dwStart) = 0; 00130 00131 // Get and set the algorithm used to encrypt the database 00132 STDMETHOD_(BOOL, SetEncryptionAlgorithm)(INT nAlgorithm) = 0; 00133 STDMETHOD_(INT, GetEncryptionAlgorithm)() = 0; 00134 00135 STDMETHOD_(DWORD, GetKeyEncRounds)() = 0; 00136 STDMETHOD(SetKeyEncRounds)(DWORD dwRounds) = 0; 00137 00139 STDMETHOD_(const PW_DBHEADER*, GetLastDatabaseHeader)() = 0; 00140 00142 STDMETHOD(FixGroupTree)() = 0; 00143 00144 STDMETHOD(SubstEntryGroupIds)(DWORD dwExistingId, DWORD dwNewId) = 0; 00145 00146 STDMETHOD(GetRawMasterKey)(BYTE* pStorage) = 0; 00147 STDMETHOD(SetRawMasterKey)(const BYTE* pNewKey) = 0; 00148 00149 STDMETHOD(GetPropertyString)(DWORD dwPropertyId, LPTSTR lpBuf, DWORD dwBufMaxChars) = 0; 00150 STDMETHOD_(BOOL, SetPropertyString)(DWORD dwPropertyId, LPCTSTR lpValue) = 0; 00151 00154 STDMETHOD_(BOOL, SetCustomKvp)(LPCTSTR lpKey, LPCTSTR lpValue) = 0; 00157 STDMETHOD_(LPCTSTR, GetCustomKvp)(LPCTSTR lpKey) = 0; 00158 00160 STDMETHOD_(LPCTSTR, GetBackupGroupName)(BOOL bTranslated) = 0; 00161 }; 00162 00163 #pragma pack() 00164 00165 #endif // ___IKPDATABASE_H___ Documentation generated with
Doxygen.
|
![]()
|
||
KeePass is OSI Certified Open Source Software Copyright © 2003-2013 Dominik Reichl, [Legal Contact / Imprint] [Disclaimer] [Acknowledgements] [Donate], Downloads hosted at |
||||
KeePass Help Center
KeePass Home
Downloads
Translations
Plugins
Donate
Help Center Home
Forums
Awards
Links
Search
