Find Jobs
Hire Freelancers

Windows Journal Wrapper API for Delphi

$30-250 USD

Cerrado
Publicado hace alrededor de 5 años

$30-250 USD

Pagado a la entrega
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 del proyecto: 18781475

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 5 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
1 freelancer está ofertando un promedio de $250 USD por este trabajo
Avatar del usuario
Good day can help with this project
$250 USD en 10 días
4,9 (107 comentarios)
7,2
7,2

Sobre este cliente

Bandera de UNITED STATES
Honolulu, United States
5,0
24
Forma de pago verificada
Miembro desde jun 17, 2014

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.