internal LogManagementAsyncResult(LogStore logStore)
     : base(null, null)
 {
     this.logStore = logStore;
     this.notification = new CLFS_MGMT_NOTIFICATION();
     this.handleLogFullCallbackList = null;
 }
 extern static bool _ReadLogNotification(
     SafeFileHandle hLog,
     CLFS_MGMT_NOTIFICATION pNotification,
     NativeOverlapped* pOverlapped);
        public static bool ReadLogNotification(
            SafeFileHandle hLog,
            CLFS_MGMT_NOTIFICATION pNotification,
            NativeOverlapped* lpOverlapped)
        {
            if (!_ReadLogNotification(hLog, pNotification, lpOverlapped))
            {
                uint errorCode = (uint)Marshal.GetLastWin32Error();
                switch (errorCode)
                {
                    case Error.ERROR_IO_PENDING:
                        return false;

                    default:
                        throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.ExceptionForUnknownCode(errorCode));
                }
            }

            return true;
        }