module Windows::NTFS::Winternl
Constants
- FileAccessInformation
- FileAlignmentInformation
- FileAllInformation
- FileAllocationInformation
- FileAlternateNameInformation
- FileAttributeTagInformation
- FileBasicInformation
- FileBothDirectoryInformation
- FileCompletionInformation
- FileCompressionInformation
- FileDirectoryInformation
- FileDispositionInformation
- FileEaInformation
- FileEndOfFileInformation
- FileFullDirectoryInformation
- FileFullEaInformation
- FileHardLinkInformation
- FileIdBothDirectoryInformation
- FileIdFullDirectoryInformation
- FileInternalInformation
- FileLinkInformation
- FileMailslotQueryInformation
- FileMailslotSetInformation
- FileModeInformation
- FileMoveClusterInformation
- FileNameInformation
- FileNamesInformation
- FileNetworkOpenInformation
- FileObjectIdInformation
- FilePipeInformation
- FilePipeLocalInformation
- FilePipeRemoteInformation
- FilePositionInformation
- FileQuotaInformation
- FileRenameInformation
- FileReparsePointInformation
- FileShortNameInformation
- FileStandardInformation
- FileStreamInformation
- FileTrackingInformation
- FileValidDataLengthInformation
- ObjectNameInformation
- STATUS_SUCCESS
Private Instance Methods
GetFinalPathNameByHandle(handle, buffer, size, flags)
click to toggle source
Simulates the GetFinalPathNameByHandle
method. Note that the size
and flags
arguments are ignored, but are required for interface compatibility. The buffer is an in/out parameter.
The size
argument simply isn't used internally and the flags
argument is currently assumed to always be VOLUME_NAME_NT.
# File lib/windows/ntfs/winternl.rb, line 93 def GetFinalPathNameByHandle(handle, buffer, size, flags) mpath = 1024 object_name_information = 0.chr * (8 + (mpath * 2)) status = NtQueryObject( handle, ObjectNameInformation, object_name_information, object_name_information.size, 0 ) if status > 0 raise 'NtQueryObject function failed: ' + get_last_error end buffer.replace(wide_to_multi(object_name_information[8..-1])) buffer.size end