Class: Windows::Stat::Structs::BY_HANDLE_FILE_INFORMATION

Inherits:
FFI::Struct
  • Object
show all
Includes:
Constants
Defined in:
lib/win32/file/windows/structs.rb

Instance Method Summary collapse

Instance Method Details

#atimeObject

Return the atime as a number



41
42
43
44
45
46
# File 'lib/win32/file/windows/structs.rb', line 41

def atime
  date = ULARGE_INTEGER.new
  date[:u][:LowPart] = self[:ftLastAccessTime][:dwLowDateTime]
  date[:u][:HighPart] = self[:ftLastAccessTime][:dwHighDateTime]
  date[:QuadPart] / 10000000 - 11644473600 # ns, 100-ns since Jan 1, 1601.
end

#ctimeObject

Return the ctime as a number



49
50
51
52
53
54
# File 'lib/win32/file/windows/structs.rb', line 49

def ctime
  date = ULARGE_INTEGER.new
  date[:u][:LowPart] = self[:ftCreationTime][:dwLowDateTime]
  date[:u][:HighPart] = self[:ftCreationTime][:dwHighDateTime]
  date[:QuadPart] / 10000000 - 11644473600 # ns, 100-ns since Jan 1, 1601.
end

#mtimeObject

Return the mtime as a number



57
58
59
60
61
62
# File 'lib/win32/file/windows/structs.rb', line 57

def mtime
  date = ULARGE_INTEGER.new
  date[:u][:LowPart] = self[:ftLastWriteTime][:dwLowDateTime]
  date[:u][:HighPart] = self[:ftLastWriteTime][:dwHighDateTime]
  date[:QuadPart] / 10000000 - 11644473600 # ns, 100-ns since Jan 1, 1601.
end

#sizeObject

Return the size as a single number



65
66
67
# File 'lib/win32/file/windows/structs.rb', line 65

def size
  (self[:nFileSizeHigh] * (MAXDWORD + 1)) + self[:nFileSizeLow]
end