# File lib/win32/eventlog.rb, line 363
      def notify_change(&block)
         unless block_given?
            raise Error, 'block missing for notify_change()'
         end
         
         # Reopen the handle because the NotifyChangeEventLog() function will
         # choke after five or six reads otherwise.
         @handle = OpenEventLog(@server, @source)
         
         if @handle == 0
            error = "OpenEventLog() failed: " + get_last_error
            raise Error, error
         end
         
         event = CreateEvent(0, 0, 0, 0)
         
         unless NotifyChangeEventLog(@handle, event)
            error = 'NotifyChangeEventLog() failed: ' + get_last_error
            raise Error, error
         end
         
         wait_result = WaitForSingleObject(event, INFINITE)
         
         if wait_result == WAIT_FAILED
            error = 'WaitForSingleObject() failed: ' + get_last_error
            CloseHandle(event)
            raise Error, error
         else
            last = read_last_event
            block.call(last)
         end
   
         CloseHandle(event)
         self
      end