def initialize(source = 'Application', server = nil, file = nil)
@source = source || 'Application'
@server = server
@file = file
raise TypeError unless @source.is_a?(String)
raise TypeError unless @server.is_a?(String) if @server
function = 'OpenEventLog()'
if @file.nil?
@handle = OpenEventLog(@server, @source)
else
@handle = OpenBackupEventLog(@server, @file)
function = 'OpenBackupEventLog()'
end
if @handle == 0
error = "#{function} failed: " + get_last_error
raise Error, error
end
if block_given?
begin
yield self
ensure
close
end
end
end