LLVM 22.0.0git
WindowsSupport.h File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/VersionTuple.h"
#include <cassert>
#include <string>
#include <system_error>
#include <windows.h>
#include <wincrypt.h>

Go to the source code of this file.

Classes

class  llvm::ScopedHandle< HandleTraits >
struct  llvm::CommonHandleTraits
struct  llvm::JobHandleTraits
struct  llvm::CryptContextTraits
struct  llvm::RegTraits
struct  llvm::FindHandleTraits
struct  llvm::FileHandleTraits

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::sys
namespace  llvm::sys::windows

Macros

#define _WIN32_WINNT   0x0601
#define WIN32_LEAN_AND_MEAN
#define NOMINMAX

Typedefs

typedef ScopedHandle< CommonHandleTraitsllvm::ScopedCommonHandle
typedef ScopedHandle< FileHandleTraitsllvm::ScopedFileHandle
typedef ScopedHandle< CryptContextTraitsllvm::ScopedCryptContext
typedef ScopedHandle< RegTraitsllvm::ScopedRegHandle
typedef ScopedHandle< FindHandleTraitsllvm::ScopedFindHandle
typedef ScopedHandle< JobHandleTraitsllvm::ScopedJobHandle

Functions

LLVM_ABI bool llvm::RunningWindows8OrGreater ()
 Determines if the program is running on Windows 8 or newer.
LLVM_ABI bool llvm::RunningWindows11OrGreater ()
 Determines if the program is running on Windows 11 or Windows Server 2022.
LLVM_ABI llvm::VersionTuple llvm::GetWindowsOSVersion ()
 Returns the Windows version as Major.Minor.0.BuildNumber.
LLVM_ABI bool llvm::MakeErrMsg (std::string *ErrMsg, const std::string &prefix)
void llvm::ReportLastErrorFatal (const char *Msg)
template<class T>
SmallVectorImpl< T >::const_pointer llvm::c_str (SmallVectorImpl< T > &str)
std::chrono::nanoseconds llvm::sys::toDuration (FILETIME Time)
TimePoint llvm::sys::toTimePoint (FILETIME Time)
FILETIME llvm::sys::toFILETIME (TimePoint<> TP)
LLVM_ABI std::error_code llvm::sys::windows::GetCommandLineArguments (SmallVectorImpl< const char * > &Args, BumpPtrAllocator &Alloc)
LLVM_ABI std::error_code llvm::sys::windows::widenPath (const Twine &Path8, SmallVectorImpl< wchar_t > &Path16, size_t MaxPathLen=MAX_PATH)
 Convert UTF-8 path to a suitable UTF-16 path for use with the Win32 Unicode File API.
LLVM_ABI HMODULE llvm::sys::windows::loadSystemModuleSecure (LPCWSTR lpModuleName)
 Retrieves the handle to a in-memory system module such as ntdll.dll, while ensuring we're not retrieving a malicious injected module but a module loaded from the system path.

Macro Definition Documentation

◆ _WIN32_WINNT

#define _WIN32_WINNT   0x0601

Definition at line 28 of file WindowsSupport.h.

◆ NOMINMAX

#define NOMINMAX

Definition at line 31 of file WindowsSupport.h.

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN

Definition at line 29 of file WindowsSupport.h.