diff options
Diffstat (limited to 'sandbox/src/win_utils.h')
-rw-r--r-- | sandbox/src/win_utils.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sandbox/src/win_utils.h b/sandbox/src/win_utils.h index 8bc44b7..a80bb81 100644 --- a/sandbox/src/win_utils.h +++ b/sandbox/src/win_utils.h @@ -15,6 +15,9 @@ namespace sandbox { const wchar_t kNTPrefix[] = L"\\??\\"; const size_t kNTPrefixLen = arraysize(kNTPrefix) - 1; +const wchar_t kNTObjManPrefix[] = L"\\Device\\"; +const size_t kNTObjManPrefixLen = arraysize(kNTObjManPrefix) - 1; + // Automatically acquires and releases a lock when the object is // is destroyed. class AutoLock { @@ -74,9 +77,13 @@ DWORD IsReparsePoint(const std::wstring& full_path, bool* result); // Returns true if the handle corresponds to the object pointed by this path. bool SameObject(HANDLE handle, const wchar_t* full_path); -// Resolves a handle to a path. Returns true if the handle can be resolved. +// Resolves a handle to an nt path. Returns true if the handle can be resolved. bool GetPathFromHandle(HANDLE handle, std::wstring* path); +// Resolves a win32 path to an nt path using GetPathFromHandle. The path must +// exist. Returs true if the translation was succesful. +bool GetNtPathFromWin32Path(const std::wstring& path, std::wstring* nt_path); + // Translates a reserved key name to its handle. // For example "HKEY_LOCAL_MACHINE" returns HKEY_LOCAL_MACHINE. // Returns NULL if the name does not represent any reserved key name. |