Class: Chef::ReservedNames::Win32::API::File::REPARSE_DATA_BUFFER_SYMBOLIC_LINK

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/chef/win32/api/file.rb

Overview

typedef struct _REPARSE_DATA_BUFFER {

ULONG  ReparseTag;
USHORT ReparseDataLength;
USHORT Reserved;
union {
  struct {
    USHORT SubstituteNameOffset;
    USHORT SubstituteNameLength;
    USHORT PrintNameOffset;
    USHORT PrintNameLength;
    ULONG  Flags;
    WCHAR  PathBuffer[1];
  } SymbolicLinkReparseBuffer;
  struct {
    USHORT SubstituteNameOffset;
    USHORT SubstituteNameLength;
    USHORT PrintNameOffset;
    USHORT PrintNameLength;
    WCHAR  PathBuffer[1];
  } MountPointReparseBuffer;
  struct {
    UCHAR DataBuffer[1];
  } GenericReparseBuffer;
};

} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;

Instance Method Summary collapse

Instance Method Details



314
315
316
317
# File 'lib/chef/win32/api/file.rb', line 314

def print_name
  string_pointer = FFI::Pointer.new(pointer.address) + offset_of(:PathBuffer) + self[:PrintNameOffset]
  string_pointer.read_wstring(self[:PrintNameLength] / 2)
end

#substitute_nameObject



309
310
311
312
# File 'lib/chef/win32/api/file.rb', line 309

def substitute_name
  string_pointer = FFI::Pointer.new(pointer.address) + offset_of(:PathBuffer) + self[:SubstituteNameOffset]
  string_pointer.read_wstring(self[:SubstituteNameLength] / 2)
end