Find Jobs
Hire Freelancers

Windows Journal Wrapper API for Delphi

$30-250 USD

已关闭
已发布大约 5 年前

$30-250 USD

货到付款
I need a high-level Delphi API wrapping the native Windows Journal functionality. The API must support Windows 10 or higher, taking advantage of all the latest Journal features that are available together with the very first release of Windows 10. It should support 32 bit and 64 bit platforms natively. It must be able to disable file system redirection on 32 bit platforms to accurately capture all changes when 32 bit code is being run on a 64 bit operating system. The following is a draft of the functions that should be available with the high-level Delphi API. Please feel free to suggest changes/enhancements/fixes to this API as necessary: function IsJournalDeleting(Volume: Char): Boolean; Returns whether the Windows Journal is being deleted on the target volume. GetLastError should return the WinAPI failure code where applicable. function IsJournalEnabled(Volume: Char): Boolean; Returns whether the Windows Journal is enabled on the target volume. GetLastError should return the WinAPI failure code where applicable. function EnableJournal(Volume: Char): Boolean; Enables the Windows Journal on the target volume. GetLastError should return the WinAPI failure code where applicable. function DisableJournal(Volume: Char): Boolean; Disables the Windows Journal on the target volume. GetLastError should return the WinAPI failure code where applicable. function PrepJournalChanges(Volume: Char; ChangeTypes: DWORD): Boolean; Starts monitoring the designated volume for changes. ChangeTypes is a flag to identify the types of changes to monitor for, as defined in the Windows Journal APIs. GetLastError should return the WinAPI failure code where applicable. function GetJournalChanges(Volume: Char; Callback: TJournalChangeCallback): Boolean; Returns the full list of changes picked up from the Windows Journal previously enabled (using the API above where necessary) on the desired volume, since the last time PrepJournalChanges was called, or if PrepJournalChanges was already called, since the last time GetJournalChanges was called. The Callback function described below is called for each Journal change that is detected. GetLastError should return the WinAPI failure code where applicable. IMPORTANT: The USN_REASON_CLOSE flag requires special treatment. When this flag is specified, changes should be reported only when the changed file/folder has been closed. However, you may still internally need to keep monitoring changes without the USN_REASON_CLOSE flag, to properly capture all types of changes occurring in between, which you may need to properly resolve file and folder paths. Otherwise, you may be unable to resolve some type of file and folder paths based on the types of changes occurring. type TJournalChangeCallback = function(FileName: String; IsFolder: Boolean; ChangeTypes: DWORD): Boolean; FileName contains the name of the file that was changed, including full file path. IsFolder designates whether FileName designates a folder. ChangeTypes contains the bitmask identifying the types of changes that are being reported. This user defined function returns TRUE to continue enumerating changes through the callback, or FALSE to stop enumerating changes immediately, where all changes captured by the last call to GetJournalChanges will be lost permanently, while new changes happening since the last call to GetJournalChanges may still be captured by a new call to GetJournalChanges. function DoneJournalChanges: Boolean; Frees up any resources allocated by PrepJournalChanges/GetJournalChanges. Any further calls after DoneJournalChanges has been called must start with a new call to PrepJournalChanges and further calls to GetJournalChanges as necessary. GetLastError should return the WinAPI failure code where applicable.
项目 ID: 18781475

关于此项目

1条提案
远程项目
活跃5 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
1威客以均价$250 USD来参与此工作竞标
用户头像
Good day can help with this project
$250 USD 在10天之内
4.9 (107条评论)
7.2
7.2

关于客户

UNITED STATES的国旗
Honolulu, United States
5.0
24
付款方式已验证
会员自6月 17, 2014起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。