clfsmgmtw32.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_CLFSMGMTW32
  7. #define _INC_CLFSMGMTW32
  8. #if (_WIN32_WINNT >= 0x0600)
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. typedef VOID (CALLBACK * PLOG_UNPINNED_CALLBACK )(
  13. HANDLE hLogFile,
  14. PVOID pvClientContext
  15. );
  16. typedef VOID (CALLBACK * PLOG_FULL_HANDLER_CALLBACK )(
  17. HANDLE hLogFile,
  18. DWORD dwError,
  19. WINBOOL fLogIsPinned,
  20. PVOID pvClientContext
  21. );
  22. typedef VOID (CALLBACK * PLOG_TAIL_ADVANCE_CALLBACK )(
  23. HANDLE hLogFile,
  24. CLFS_LSN lsnTarget,
  25. PVOID pvClientContext
  26. );
  27. typedef struct _LOG_MANAGEMENT_CALLBACKS {
  28. PVOID CallbackContext;
  29. PLOG_TAIL_ADVANCE_CALLBACK AdvanceTailCallback;
  30. PLOG_FULL_HANDLER_CALLBACK LogFullHandlerCallback;
  31. PLOG_UNPINNED_CALLBACK LogUnpinnedCallback;
  32. } LOG_MANAGEMENT_CALLBACKS, *PLOG_MANAGEMENT_CALLBACKS;
  33. WINBOOL WINAPI HandleLogFull(
  34. HANDLE hLog
  35. );
  36. WINBOOL WINAPI RegisterManageableLogClient(
  37. HANDLE hLog,
  38. PLOG_MANAGEMENT_CALLBACKS pCallbacks
  39. );
  40. WINBOOL WINAPI ReadLogNotification(
  41. HANDLE hLog,
  42. PCLFS_MGMT_NOTIFICATION pNotification,
  43. LPOVERLAPPED lpOverlapped
  44. );
  45. WINBOOL WINAPI LogTailAdvanceFailure(
  46. HANDLE hLog,
  47. DWORD dwReason
  48. );
  49. WINBOOL WINAPI RegisterForLogWriteNotification(
  50. HANDLE hLog,
  51. ULONG cbThreshold,
  52. WINBOOL fEnable
  53. );
  54. WINBOOL WINAPI RemoveLogPolicy(
  55. HANDLE hLog,
  56. CLFS_MANAGEMENT_POLICY_TYPE ePolicyType
  57. );
  58. WINBOOL WINAPI SetLogFileSizeWithPolicy(
  59. HANDLE hLog,
  60. PULONGLONG pDesiredSize,
  61. PULONGLONG pResultingSize
  62. );
  63. #ifdef __cplusplus
  64. }
  65. #endif
  66. #endif /*(_WIN32_WINNT >= 0x0600)*/
  67. #endif /*_INC_CLFSMGMTW32*/