The C++ framework for developing highly scalable, high performance servers on Windows platforms.

JetByteTools::Win32 Namespace Reference


Classes

class  CAutoResetEvent
 A class that wraps the operating system Event API and exposes just the interface for an auto reset event. More...
class  CCallStackCreator
class  CCodePage
class  CCountedRegKey
class  CCrtReportHook
class  CDirectoryChangeMonitor
class  CDirectorySearch
 A simple class that wraps the FindFirstFile() /FindNextFile() API. More...
class  CDiskSpaceProvider
class  CEnvironmentBlock
 A class for building and manipulating operating system Environment Blocks. More...
class  CEnvironmentVariables
 A class that wraps the operating system Environment Variable API. More...
class  CEvent
 A class that wraps the operating system Event API. See here for more details. More...
class  CFiberLocalStorage
class  CGlobalName
 A kernel object name that is globally visible in the kernel object namespace. More...
class  IAssignProcessesToJobs
 Provides an interface that can assign a process to a job. More...
class  ICreateMiniDumps
 Provides an interface that can create a mini dump of a process. More...
class  IHandleJobEvents
 An interface to allow a class to handle the events that are generated by operating system Job objects. More...
class  IKernelObjectName
 An interface that represents a name in the kernel object namespace See here for more details. More...
class  IListenForSystemShutdownNotifications
class  IListenForTimeChangeNotifications
class  IManageEnvironmentVariables
 An interface for manipulating operating system environment variables. More...
class  IManageJobEvents
 An interface to a class that manages the asynchronous events generated by an operating system job object and routes them to the supplied handler interface. More...
class  IMonitorJobs
 An interface to allow a class to monitor the events that are generated by instances of CJob. More...
class  CIOCompletionPort
 A simple wrapper around the I/O Completion Port API. I/O completion ports are, essentially, thread safe queues that can control how many threads are allowed to run and process items on the queue in a way that simply isn't possible if you stay entirely in "user mode". The queue keeps the threads that are waiting in fifo order to minimise memory paging and can limit the number of 'runable'threads that it releases. See here and here for more details. More...
class  CIOCPWorkerThread
 A thread that services completion packets from an I/O completion port. More...
class  IPerformanceCounterMonitorCallback
class  IProvideEnvironmentBlock
 An interface for providing operating system environment variable blocks as detailed here. More...
class  CJob
 A class for manipulating operating system job objects. More...
class  CJobEventManager
 A class for manipulating operating system job objects. More...
class  CKernelObjectNameImpl
 Implements IKernelObjectName in such a way that it's easy to provide an arbitrary prefix to an unqualified name for use in the kernel object namespace. More...
class  CLibraryLoader
 A class which dynamically loads dlls. More...
class  CLocalName
 A kernel object name that is locally visible in the kernel object namespace. More...
class  CManualResetEvent
 A class that wraps the operating system Event API and exposes just the interface for an manual reset event. More...
class  CMemoryMappedFile
 A class that wraps the MapViewOfFile() API. More...
class  CMiniDumper
class  CMiniDumpGenerator
class  CMultipleFileDeleter
class  CMutex
class  CNamedPipe
 A simple wrapper around the Named Pipe API. More...
class  CNullEnvironmentBlockProvider
 An implementation of IProvideEnvironmentBlock that always returns a null block. More...
class  CNullJobMonitor
 An object that implements IMonitorThreadPool and does nothing. More...
class  COSVersionInfo
 A simple class that wraps, and initialises, an OSVERSIONINFO structure. More...
class  COverlappedWithEvent
 A class that wraps an OVERLAPPED structure that uses an event. More...
class  CPerformanceCounterMonitor
class  CPerThreadUsageTracker
class  CProcess
 A class for processes. More...
class  CProcessInformation
 A simple class that wraps, and cleans up after, a PROCESS_INFORMATION structure. More...
class  CProcessMemory
 A class which allocates and accesses memory in a specified process. More...
class  CProcessToken
class  CRecursiveDirectorySearch
 A simple class that wraps the FindFirstFile() /FindNextFile() API. More...
class  CRegistryConfiguration
class  CRegistryKey
class  TRegistryList
class  CRegKeyIterator
class  TRegKeyIterator
class  CSecurityAttributes
 A simple class that wraps, a SECURITY_ATTRIBUTES structure. More...
class  CSecurityDescriptor
 A simple class that wraps, and initialises, a SECURITY_DESCRIPTOR structure. More...
class  CSecurityDescriptorAllowAll
 A simple class that represents a decurity descriptor that allows access to all users. More...
class  CSecurityPrivilege
class  CSecurityPrivileges
class  CSEHException
class  CSemaphore
 A class that wraps the operating system Semaphore API. More...
class  CSharedMemory
 A wrapper around the File Mapping, memory management, API which makes shared memory easier to use. Note that this class creates shared memory and if you pass in a name that's in the Global namespace then the caller needs to have the SeCreateGlobalPrivilege on their account for the code to work without an access denied exception from the constructor. More...
class  CSimpleFixedSizedMemoryAllocator
 A class that provides naive fixed sized memory allocation. Note that once the allocator has requested memory from the operating system it never returns it to the operating system, it simply keeps it around until another allocation request can use it. So, if you allocate 1000 1024 byte blocks and then free them all the allocator itself is still holding on to 1024000 bytes of memory. The allocator uses VirtualAlloc() to allocate the memory that it uses, this allows it to provide page aligned memory if requested to do so. It also means that internally it works in terms of multiples of the system's allocation granularity when allocating chunks of memory that it can slice up into blocks to return to the caller. Also, if you specify that you want page alignment and the memory block size that you're using is smaller than an exact page multiple then the difference between the block size and the next multiple of the page size will be 'wasted'. More...
class  CSimpleNamedPipeClient
 A wrapper around the Named Pipe API which makes it easy to manage named pipe clients. More...
class  CSimpleNamedPipeServer
 A wrapper around the Named Pipe API which makes it easy to manage named pipe servers. The pipes created are read/write, overlapped, message oriented pipes. More...
class  CSList
 A class which wraps the operating system SLIST API. More...
class  CSmartBool
class  CSmartHandle
 A smart pointer to a HANDLE. Calls CloseHandle() on any HANDLE that the it owns when the CSmartHandle goes out of scope to aid in scope based designs. More...
class  CSmartHeapPointer
 A smart pointer to memory using the HeapAlloc() API. Calls HeapFree() on any memory that the CSmartHeapPointer owns when it goes out of scope to aid in scope based designs. More...
class  CSmartHGlobal
class  CSmartHGlobalLock
class  CSmartLocalPointer
 A smart pointer to memory using the LocalAlloc() API. Calls LocalFree() on any memory that the CSmartLocalPointer owns when it goes out of scope to aid in scope based designs. More...
class  CSmartStartupInfo
 A simple class that wraps, and initialises, an STARTUPINFO structure and manages the lifetime of any handles within it. More...
class  CStartupInfo
 A simple class that wraps, and initialises, an STARTUPINFO structure. More...
class  CSystemInfo
 A simple class that wraps, and initialises, a SYSTEM_INFO structure. More...
class  CSystemShutdownMonitor
class  CTempDirectory
 A class which wraps the operating system GetTempPath() API and which creates and removes temporary directories in a scope based style. Directories are created in the form: TEMP_PATH\prefix + "-" + time(0). More...
class  CThread
 A class that wraps the operating system Threading API and provides a thread object that runs code which implements the IRunnable interface. More...
class  CThreadAffinity
 A class that wraps the operating system SetThreadAffinityMask API. More...
class  CThreadPool
 A thread pool which can expand and contract (i.e. change the number of pooled threads) based on the work load. The pool has minimum and maximum sizes and a dispatch timeout. If dispatching a work item to a worker thread takes longer than the timeout then the pool is enlarged by one thread. There is also a maximum number of "dormant" threads, that is threads that are not working and when this number is reached worker threads are removed from the pool. The thread pool uses two I/O completion ports to do its work. Work items are dispatched to the dispatch port and are processed by the maintenance thread which dispatches the work items to the work port where the worker threads are waiting. This two layer dispatching means that dispatching from user code is fast but the pool can adjust its size depending on how long it takes for a worker thread to pick up a work item. Work items only ever queue on the dispatch port, the work port will only ever have a single work item on it at a time. More...
class  CThreadPoolEx
class  CTimeChangeNotificationMonitor
class  CUnqualifiedName
 A kernel object name that is unquallifier in the kernel object namespace. More...
class  CUsesCOM
 A simple object to support scope based COM initialisation and uninitialisation. Create an instance of this at the scope where you want COM to be available and it will be automatically uninitialised when the scope ends. More...
class  CWin32Exception
 A simple exception class to replace Win32 error returns. More...
class  CWOW64FileSystemRedirector

Typedefs

typedef DWORD ProcessId
typedef DWORD HANDLE hFile
typedef DWORD HANDLE
MINIDUMP_TYPE 
DumpType
typedef DWORD HANDLE
MINIDUMP_TYPE
PMINIDUMP_EXCEPTION_INFORMATION 
ExceptionParam
typedef DWORD HANDLE
MINIDUMP_TYPE
PMINIDUMP_EXCEPTION_INFORMATION
PMINIDUMP_USER_STREAM_INFORMATION 
UserStreamParam
typedef DWORD HANDLE
MINIDUMP_TYPE
PMINIDUMP_EXCEPTION_INFORMATION
PMINIDUMP_USER_STREAM_INFORMATION
PMINIDUMP_CALLBACK_INFORMATION 
CallbackParam
typedef std::map
< _tstring, Limits > 
PerDumpTypeLimits
typedef
Core::TExpandableBuffer
< TCHAR
TCHAR_Buffer
typedef
Core::TExpandableBuffer
< BYTE
BYTE_Buffer

Functions

static void CrtReportHookAtExitDetector ()
static bool IsDirectory (const _tstring &path)
 m_hFind (::FindFirstFile(filename.c_str(), this))
static size_t CalculateSpaceRequired (const StringMap &variables)
static HANDLE Create (SECURITY_ATTRIBUTES *pEventAttributes, bool bManualReset, bool bInitialState, LPCTSTR lpName, CEvent::CreationFlags creationFlags)
static HANDLE Create (SECURITY_ATTRIBUTES *pEventAttributes, LPCTSTR lpName)
_tstring TranslateDeviceNamePathToDriveLetterPath (const _tstring &deviceNamePath)
_tstring GetFileNameFromHandleIfPossible (HANDLE hFile)
_tstring GetFileNameFromHandle (HANDLE hFile)
Core::_tstring TranslateDeviceNamePathToDriveLetterPath (const Core::_tstring &deviceNamePath)
static bool StringIsAllANSI (const std::wstring &data)
static const _tstring s_fileVersionString (_T("ProductVersion"))
string GetFileVersionA ()
_tstring GetFileVersion ()
_tstring GetFileVersion (const _tstring &languageID)
_tstring GetFileVersion (const _tstring &languageID, const _tstring &charsetID)
string GetFileVersionA (const HMODULE hModule)
_tstring GetFileVersion (const HMODULE hModule)
_tstring GetFileVersion (const HMODULE hModule, const _tstring &languageID)
_tstring GetFileVersion (const HMODULE hModule, const _tstring &languageID, const _tstring &charsetID)
_tstring GetFileVersionString (const _tstring &requiredString)
_tstring GetFileVersionString (const _tstring &languageID, const _tstring &requiredString)
_tstring GetFileVersionString (const _tstring &languageID, const _tstring &charsetID, const _tstring &requiredString)
_tstring GetFileVersionString (const HMODULE hModule, const _tstring &requiredString)
_tstring GetFileVersionString (const HMODULE hModule, const _tstring &languageID, const _tstring &requiredString)
_tstring GetFileVersionString (const HMODULE hModule, const _tstring &languageID, const _tstring &charsetID, const _tstring &requiredString)
_tstring GetFileVersionHash ()
_tstring GetFileVersionHash (const HMODULE hModule)
Core::_tstring GetFileVersion (const Core::_tstring &languageID)
Core::_tstring GetFileVersion (const Core::_tstring &languageID, const Core::_tstring &charsetID)
Core::_tstring GetFileVersion (HMODULE hModule, const Core::_tstring &languageID)
Core::_tstring GetFileVersion (HMODULE hModule, const Core::_tstring &languageID, const Core::_tstring &charsetID)
Core::_tstring GetFileVersionString (const Core::_tstring &requiredString)
Core::_tstring GetFileVersionString (const Core::_tstring &languageID, const Core::_tstring &requiredString)
Core::_tstring GetFileVersionString (const Core::_tstring &languageID, const Core::_tstring &charsetID, const Core::_tstring &requiredString)
Core::_tstring GetFileVersionString (HMODULE hModule, const Core::_tstring &requiredString)
Core::_tstring GetFileVersionString (HMODULE hModule, const Core::_tstring &languageID, const Core::_tstring &requiredString)
Core::_tstring GetFileVersionString (HMODULE hModule, const Core::_tstring &languageID, const Core::_tstring &charsetID, const Core::_tstring &requiredString)
_tstring GetLastErrorMessageIfPossible (const DWORD last_error, const bool stripTrailingLineFeed)
_tstring GetLastErrorMessageIfPossible (const HMODULE hModule, const DWORD last_error, const bool stripTrailingLineFeed)
_tstring GetLastErrorMessage (const DWORD last_error, const bool stripTrailingLineFeed)
_tstring GetLastErrorMessage (const HMODULE hModule, const DWORD last_error, const bool stripTrailingLineFeed)
string GetLastErrorMessageA (const DWORD last_error, const bool stripTrailingLineFeed)
wstring GetLastErrorMessageW (const DWORD last_error, const bool stripTrailingLineFeed)
_tstring GUIDAsString (const GUID &guid, const bool stripBrackets)
_tstring CreateGUIDAsString (const bool stripBrackets)
static HANDLE Create (SECURITY_ATTRIBUTES *pSecurityAttributes, LPCTSTR lpName, CJob::CreationFlags creationFlags)
static bool IsProcessInJobInternal (HANDLE hProcess, HANDLE hJob)
_tstring GetMD5Digest (const BYTE *const pData, const DWORD dataLength)
void GetMD5Digest (const BYTE *const pData, const DWORD dataLength, BYTE *pOutput, const DWORD outputLength)
static DWORD GetPageMode (CMemoryMappedFile::AccessMode mode)
static DWORD GetAccessMode (CMemoryMappedFile::AccessMode mode)
static CSmartHandle OpenFile (const _tstring &fileName, CMemoryMappedFile::AccessMode mode)
typedef BOOL (__stdcall MiniDumpWriteDumpFnc)(HANDLE hProcess
static _tstring BuildOutputFileNameBase (CMiniDumper::FileNameParts fileNameParts)
static _tstring BuildOutputFileNameBase (const _tstring &outputPath, CMiniDumper::FileNameParts fileNameParts)
static _tstring BuildOutputFileNameBase (const _tstring &outputPath, const _tstring &fileNameRoot, CMiniDumper::FileNameParts fileNameParts)
static int GetDbgHelpVersion (const CLibraryLoader &loader)
static void AddLimit (const _tstring &type, const long maxDumps, const bool ignoreExistingDumps)
static bool CanGenerateDump (const _tstring &type, long &attempts, long &totalAttempts, long &maxDumps, long &existingDumps)
static HANDLE Create (SECURITY_ATTRIBUTES *pEventAttributes, DWORD flags, LPCTSTR lpName, CMutex::CreationFlags creationFlags)
static void CreateProcess (const _tstring &processName, const _tstring &commandLineArguments, const _tstring &workingDirectory, const CStartupInfo &startupInfo, const IProvideEnvironmentBlock &environmentProvider, DWORD flags, bool inheritHandles, CProcessInformation &processInfo)
static HANDLE OpenToken (DWORD desiredAccess)
static TOKEN_PRIVILEGES & GetTokenPrivileges (HANDLE hToken, TExpandableBuffer< BYTE > &buffer)
static bool AdjustPrivilegeIfPossible (HANDLE hToken, const LUID &luid, DWORD newAttribute)
static void AdjustPrivilege (HANDLE hToken, const LUID &luid, DWORD newAttribute, const _tstring &functionName)
 name (privs.GetPrivilegeName(luid_))
 displayName (privs.GetPrivilegeDisplayName(name))
 enabled (enabled_)
 enabledByDefault (enabledByDefault_)
 m_currentDirectory (StripFileNameFromPathName(filename))
 m_searchPattern (GetFileNameFromPathName(filename))
 m_root (true)
static _tstring Where (const EXCEPTION_POINTERS *pPointers)
static const _tstring & Message (unsigned long code)
 DEFINE_MSG (ACCESS_VIOLATION)
 DEFINE_MSG (DATATYPE_MISALIGNMENT)
 DEFINE_MSG (BREAKPOINT)
 DEFINE_MSG (SINGLE_STEP)
 DEFINE_MSG (ARRAY_BOUNDS_EXCEEDED)
 DEFINE_MSG (FLT_DENORMAL_OPERAND)
 DEFINE_MSG (FLT_DIVIDE_BY_ZERO)
 DEFINE_MSG (FLT_INEXACT_RESULT)
 DEFINE_MSG (FLT_INVALID_OPERATION)
 DEFINE_MSG (FLT_OVERFLOW)
 DEFINE_MSG (FLT_STACK_CHECK)
 DEFINE_MSG (FLT_UNDERFLOW)
 DEFINE_MSG (INT_DIVIDE_BY_ZERO)
 DEFINE_MSG (INT_OVERFLOW)
 DEFINE_MSG (PRIV_INSTRUCTION)
 DEFINE_MSG (IN_PAGE_ERROR)
 DEFINE_MSG (ILLEGAL_INSTRUCTION)
 DEFINE_MSG (NONCONTINUABLE_EXCEPTION)
 DEFINE_MSG (STACK_OVERFLOW)
 DEFINE_MSG (INVALID_DISPOSITION)
 DEFINE_MSG (GUARD_PAGE)
 DEFINE_MSG (INVALID_HANDLE)
static HANDLE Create (LPSECURITY_ATTRIBUTES lpSecurityAttributes, long initialCount, long maximumCount, LPCTSTR lpName, CSemaphore::CreationFlags creationFlags)
static HANDLE Open (LPCTSTR lpName, DWORD requiredAccess)
_tstring GetSHA1Hash (const BYTE *const pData, const DWORD dataLength)
void GetSHA1Hash (const BYTE *const pData, const DWORD dataLength, BYTE *pOutput, const DWORD outputLength)
static DWORD CalculateSize (DWORD size)
static DWORD GetProtection (CSharedMemory::PageProtection protection)
static size_t CalculateBlockSize (size_t blockSizeHint, CSimpleFixedSizedMemoryAllocator::AllocationFlags allocationFlags)
static size_t CalculateChunkSize (size_t chunkSizeHint, size_t blockSize, CSimpleFixedSizedMemoryAllocator::AllocationFlags allocationFlags)
static HANDLE CreatePipe (const _tstring &server, const _tstring &name)
static HANDLE CreatePipe (const _tstring &name, DWORD numInstances, DWORD bufferSize, Milliseconds defaultTimeout)
static HANDLE GetProcessHeap ()
static HANDLE CreateFile (const _tstring &filename)
static const _tstring s_windowClassName (_T("JetByteTools::Win32::CSystemShutdownMonitor"))
_tstring GetUserName ()
_tstring GetComputerName ()
_tstring GetModuleFileName (HANDLE hProcess, HINSTANCE hModule)
bool GetModuleFileName (HANDLE hProcess, HINSTANCE hModule, _tstring &name)
_tstring GetModuleFileName (HINSTANCE hModule)
_tstring GetModulePathName (HINSTANCE hModule)
bool Is64bitSystem ()
bool IsWow64Process ()
bool Is64bitProcess ()
bool Is32bitProcess ()
_tstring GetSystemWow64Directory ()
_tstring GetSystemWindowsDirectory ()
_tstring GetSystemDirectory ()
bool GetModuleFileName (HANDLE hProcess, HINSTANCE hModule, Core::_tstring &name)
static
CTempDirectory::Flags 
ValidateFlags (const DWORD flags)
static _tstring CreateTempDirectoryName (const _tstring &prefix, const CTempDirectory::Flags flags)
static bool CreateOrConnectToTempDirectory (const _tstring &name, const CTempDirectory::Flags flags)
static DWORD_PTR SetThreadAffinity (HANDLE hThread, CThreadAffinity::SelectHow selectHow, DWORD_PTR affinityMask=0)
static DWORD_PTR SelectSingleProcessor ()
static const _tstring s_windowClassName (_T("JetByteTools::Win32::CTimeChangeNotificationMonitor"))
DWORD CoHackGetTLSValue ()

Variables

static bool s_generateDumpOnWarnings = false
static bool s_processIsExiting = false
Core::CLockableObject s_lock
static const _tstring s_noType
static LockType s_lock
static ICreateMiniDumpss_pCustomDumper = nullptr
static long s_defaultMaxDumps = 10
static bool s_defaultIgnoreExistingDumps = false
static long s_maxDumpsToAttemptToProduce = 0
static long s_totalDumpAttempts = 0
static
CMiniDumpGenerator::OnTooManyDumpAttempsFnc * 
s_pOnTooManyDumpAttemps = nullptr
static bool s_produceDumps = true
static bool s_dumpsEnabled = true
static const _tstring s_noType
CLockableObject s_limitLock
PerDumpTypeLimits s_perDumpTypeLimits
static const
CDiskSpaceProvider 
s_standardDiskSpaceProvider
static const
IProvideDiskSpace
s_pDiskSpaceProvider = &s_standardDiskSpaceProvider
static BYTE s_minDiskSpacePercentOfTotalDisk = 0
static const HMODULE s_hModule = GetModuleHandle(_T("PDH.DLL"))
static const _tstring s_unknown = _T("Unknown exception")
static HANDLE s_currentThreadPseudoHandle = GetCurrentThread()
static HANDLE s_currentProcessPseudoHandle = GetCurrentProcess()
static long s_classRef = 0
static
CNullThreadPoolMonitor 
s_nullThreadPoolMonitor
static
CNullThreadPoolMonitor 
s_nullThreadPoolMonitor
static long s_classRef = 0
static const UINT_PTR s_timerID = 123


Typedef Documentation

typedef DWORD HANDLE MINIDUMP_TYPE PMINIDUMP_EXCEPTION_INFORMATION PMINIDUMP_USER_STREAM_INFORMATION PMINIDUMP_CALLBACK_INFORMATION CallbackParam

typedef DWORD HANDLE MINIDUMP_TYPE DumpType

typedef DWORD HANDLE MINIDUMP_TYPE PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam

typedef DWORD HANDLE hFile

typedef std::map<_tstring, Limits> PerDumpTypeLimits

typedef DWORD ProcessId

typedef DWORD HANDLE MINIDUMP_TYPE PMINIDUMP_EXCEPTION_INFORMATION PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam


Function Documentation

static void JetByteTools::Win32::AddLimit ( const _tstring &  type,
const long  maxDumps,
const bool  ignoreExistingDumps 
) [static]

static void AdjustPrivilege ( HANDLE  hToken,
const LUID &  luid,
DWORD  newAttribute,
const _tstring &  functionName 
) [static]

static bool AdjustPrivilegeIfPossible ( HANDLE  hToken,
const LUID &  luid,
DWORD  newAttribute 
) [static]

typedef JetByteTools::Win32::BOOL ( __stdcall  MiniDumpWriteDumpFnc  ) 

static _tstring BuildOutputFileNameBase ( const _tstring &  outputPath,
const _tstring &  fileNameRoot,
CMiniDumper::FileNameParts  fileNameParts 
) [static]

static _tstring BuildOutputFileNameBase ( const _tstring &  outputPath,
CMiniDumper::FileNameParts  fileNameParts 
) [static]

static _tstring BuildOutputFileNameBase ( CMiniDumper::FileNameParts  fileNameParts  )  [static]

static size_t CalculateBlockSize ( size_t  blockSizeHint,
CSimpleFixedSizedMemoryAllocator::AllocationFlags  allocationFlags 
) [static]

static size_t CalculateChunkSize ( size_t  chunkSizeHint,
size_t  blockSize,
CSimpleFixedSizedMemoryAllocator::AllocationFlags  allocationFlags 
) [static]

static DWORD CalculateSize ( DWORD  size  )  [static]

static size_t CalculateSpaceRequired ( const StringMap &  variables  )  [static]

static bool JetByteTools::Win32::CanGenerateDump ( const _tstring &  type,
long &  attempts,
long &  totalAttempts,
long &  maxDumps,
long &  existingDumps 
) [static]

DWORD JetByteTools::Win32::CoHackGetTLSValue (  )  [inline]

static HANDLE Create ( LPSECURITY_ATTRIBUTES  lpSecurityAttributes,
long  initialCount,
long  maximumCount,
LPCTSTR  lpName,
CSemaphore::CreationFlags  creationFlags 
) [static]

static HANDLE Create ( SECURITY_ATTRIBUTES pEventAttributes,
DWORD  flags,
LPCTSTR  lpName,
CMutex::CreationFlags  creationFlags 
) [static]

static HANDLE Create ( SECURITY_ATTRIBUTES pSecurityAttributes,
LPCTSTR  lpName,
CJob::CreationFlags  creationFlags 
) [static]

static HANDLE Create ( SECURITY_ATTRIBUTES pEventAttributes,
LPCTSTR  lpName 
) [static]

static HANDLE Create ( SECURITY_ATTRIBUTES pEventAttributes,
bool  bManualReset,
bool  bInitialState,
LPCTSTR  lpName,
CEvent::CreationFlags  creationFlags 
) [static]

static HANDLE CreateFile ( const _tstring &  filename  )  [static]

Core::_tstring CreateGUIDAsString ( const bool  stripBrackets  ) 

static bool CreateOrConnectToTempDirectory ( const _tstring &  name,
const CTempDirectory::Flags  flags 
) [static]

static HANDLE CreatePipe ( const _tstring &  name,
DWORD  numInstances,
DWORD  bufferSize,
Milliseconds  defaultTimeout 
) [static]

static HANDLE CreatePipe ( const _tstring &  server,
const _tstring &  name 
) [static]

static void CreateProcess ( const _tstring &  processName,
const _tstring &  commandLineArguments,
const _tstring &  workingDirectory,
const CStartupInfo &  startupInfo,
const IProvideEnvironmentBlock &  environmentProvider,
DWORD  flags,
bool  inheritHandles,
CProcessInformation &  processInfo 
) [static]

static _tstring CreateTempDirectoryName ( const _tstring &  prefix,
const CTempDirectory::Flags  flags 
) [static]

static void CrtReportHookAtExitDetector (  )  [static]

JetByteTools::Win32::DEFINE_MSG ( INVALID_HANDLE   ) 

JetByteTools::Win32::DEFINE_MSG ( GUARD_PAGE   ) 

JetByteTools::Win32::DEFINE_MSG ( INVALID_DISPOSITION   ) 

JetByteTools::Win32::DEFINE_MSG ( STACK_OVERFLOW   ) 

JetByteTools::Win32::DEFINE_MSG ( NONCONTINUABLE_EXCEPTION   ) 

JetByteTools::Win32::DEFINE_MSG ( ILLEGAL_INSTRUCTION   ) 

JetByteTools::Win32::DEFINE_MSG ( IN_PAGE_ERROR   ) 

JetByteTools::Win32::DEFINE_MSG ( PRIV_INSTRUCTION   ) 

JetByteTools::Win32::DEFINE_MSG ( INT_OVERFLOW   ) 

JetByteTools::Win32::DEFINE_MSG ( INT_DIVIDE_BY_ZERO   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_UNDERFLOW   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_STACK_CHECK   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_OVERFLOW   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_INVALID_OPERATION   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_INEXACT_RESULT   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_DIVIDE_BY_ZERO   ) 

JetByteTools::Win32::DEFINE_MSG ( FLT_DENORMAL_OPERAND   ) 

JetByteTools::Win32::DEFINE_MSG ( ARRAY_BOUNDS_EXCEEDED   ) 

JetByteTools::Win32::DEFINE_MSG ( SINGLE_STEP   ) 

JetByteTools::Win32::DEFINE_MSG ( BREAKPOINT   ) 

JetByteTools::Win32::DEFINE_MSG ( DATATYPE_MISALIGNMENT   ) 

JetByteTools::Win32::DEFINE_MSG ( ACCESS_VIOLATION   ) 

JetByteTools::Win32::displayName ( privs.  GetPrivilegeDisplayName(name)  ) 

JetByteTools::Win32::enabled ( enabled_   ) 

JetByteTools::Win32::enabledByDefault ( enabledByDefault_   ) 

static DWORD GetAccessMode ( CMemoryMappedFile::AccessMode  mode  )  [static]

Core::_tstring GetComputerName (  ) 

static int GetDbgHelpVersion ( const CLibraryLoader &  loader  )  [static]

Core::_tstring GetFileNameFromHandle ( HANDLE  hFile  ) 

Core::_tstring GetFileNameFromHandleIfPossible ( HANDLE  hFile  ) 

Core::_tstring JetByteTools::Win32::GetFileVersion ( HMODULE  hModule,
const Core::_tstring &  languageID,
const Core::_tstring &  charsetID 
)

Core::_tstring JetByteTools::Win32::GetFileVersion ( HMODULE  hModule,
const Core::_tstring &  languageID 
)

Core::_tstring JetByteTools::Win32::GetFileVersion ( const Core::_tstring &  languageID,
const Core::_tstring &  charsetID 
)

Core::_tstring JetByteTools::Win32::GetFileVersion ( const Core::_tstring &  languageID  ) 

_tstring JetByteTools::Win32::GetFileVersion ( const HMODULE  hModule,
const _tstring &  languageID,
const _tstring &  charsetID 
)

_tstring JetByteTools::Win32::GetFileVersion ( const HMODULE  hModule,
const _tstring &  languageID 
)

Core::_tstring GetFileVersion ( const HMODULE  hModule  ) 

_tstring JetByteTools::Win32::GetFileVersion ( const _tstring &  languageID,
const _tstring &  charsetID 
)

_tstring JetByteTools::Win32::GetFileVersion ( const _tstring &  languageID  ) 

Core::_tstring GetFileVersion (  ) 

std::string GetFileVersionA ( const HMODULE  hModule  ) 

std::string GetFileVersionA (  ) 

Core::_tstring GetFileVersionHash ( const HMODULE  hModule  ) 

Core::_tstring GetFileVersionHash (  ) 

Core::_tstring JetByteTools::Win32::GetFileVersionString ( HMODULE  hModule,
const Core::_tstring &  languageID,
const Core::_tstring &  charsetID,
const Core::_tstring &  requiredString 
)

Core::_tstring JetByteTools::Win32::GetFileVersionString ( HMODULE  hModule,
const Core::_tstring &  languageID,
const Core::_tstring &  requiredString 
)

Core::_tstring JetByteTools::Win32::GetFileVersionString ( HMODULE  hModule,
const Core::_tstring &  requiredString 
)

Core::_tstring JetByteTools::Win32::GetFileVersionString ( const Core::_tstring &  languageID,
const Core::_tstring &  charsetID,
const Core::_tstring &  requiredString 
)

Core::_tstring JetByteTools::Win32::GetFileVersionString ( const Core::_tstring &  languageID,
const Core::_tstring &  requiredString 
)

Core::_tstring JetByteTools::Win32::GetFileVersionString ( const Core::_tstring &  requiredString  ) 

_tstring JetByteTools::Win32::GetFileVersionString ( const HMODULE  hModule,
const _tstring &  languageID,
const _tstring &  charsetID,
const _tstring &  requiredString 
)

_tstring JetByteTools::Win32::GetFileVersionString ( const HMODULE  hModule,
const _tstring &  languageID,
const _tstring &  requiredString 
)

_tstring JetByteTools::Win32::GetFileVersionString ( const HMODULE  hModule,
const _tstring &  requiredString 
)

_tstring JetByteTools::Win32::GetFileVersionString ( const _tstring &  languageID,
const _tstring &  charsetID,
const _tstring &  requiredString 
)

_tstring JetByteTools::Win32::GetFileVersionString ( const _tstring &  languageID,
const _tstring &  requiredString 
)

_tstring JetByteTools::Win32::GetFileVersionString ( const _tstring &  requiredString  ) 

Core::_tstring GetLastErrorMessage ( const HMODULE  hModule,
const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

Core::_tstring GetLastErrorMessage ( const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

std::string GetLastErrorMessageA ( const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

Core::_tstring GetLastErrorMessageIfPossible ( const HMODULE  hModule,
const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

Core::_tstring GetLastErrorMessageIfPossible ( const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

std::wstring GetLastErrorMessageW ( const DWORD  last_error,
const bool  stripTrailingLineFeed 
)

void GetMD5Digest ( const BYTE *const   pData,
const DWORD  dataLength,
BYTE pOutput,
const DWORD  outputLength 
)

Core::_tstring GetMD5Digest ( const BYTE *const   pData,
const DWORD  dataLength 
)

bool JetByteTools::Win32::GetModuleFileName ( HANDLE  hProcess,
HINSTANCE  hModule,
Core::_tstring &  name 
)

Core::_tstring GetModuleFileName ( HINSTANCE  hModule  ) 

bool JetByteTools::Win32::GetModuleFileName ( HANDLE  hProcess,
HINSTANCE  hModule,
_tstring &  name 
)

Core::_tstring GetModuleFileName ( HANDLE  hProcess,
HINSTANCE  hModule 
)

Core::_tstring GetModulePathName ( HINSTANCE  hModule  ) 

static DWORD GetPageMode ( CMemoryMappedFile::AccessMode  mode  )  [static]

static HANDLE GetProcessHeap (  )  [static]

static DWORD GetProtection ( CSharedMemory::PageProtection  protection  )  [static]

void GetSHA1Hash ( const BYTE *const   pData,
const DWORD  dataLength,
BYTE pOutput,
const DWORD  outputLength 
)

Core::_tstring GetSHA1Hash ( const BYTE *const   pData,
const DWORD  dataLength 
)

Core::_tstring GetSystemDirectory (  ) 

Core::_tstring GetSystemWindowsDirectory (  ) 

Core::_tstring GetSystemWow64Directory (  ) 

static TOKEN_PRIVILEGES & GetTokenPrivileges ( HANDLE  hToken,
TExpandableBuffer< BYTE > &  buffer 
) [static]

Core::_tstring GetUserName (  ) 

Core::_tstring GUIDAsString ( const GUID guid,
const bool  stripBrackets 
)

bool Is32bitProcess (  ) 

bool Is64bitProcess (  ) 

bool Is64bitSystem (  ) 

static bool IsDirectory ( const _tstring &  path  )  [static]

static bool IsProcessInJobInternal ( HANDLE  hProcess,
HANDLE  hJob 
) [static]

bool IsWow64Process (  ) 

JetByteTools::Win32::m_currentDirectory ( StripFileNameFromPathName(filename)   ) 

m_hFind ( ::  FindFirstFile(filename.c_str(), this)  ) 

JetByteTools::Win32::m_root ( true   ) 

JetByteTools::Win32::m_searchPattern ( GetFileNameFromPathName(filename)   ) 

static const _tstring & Message ( unsigned long  code  )  [static]

JetByteTools::Win32::name ( privs.  GetPrivilegeName(luid_)  ) 

static HANDLE Open ( LPCTSTR  lpName,
DWORD  requiredAccess 
) [static]

static CSmartHandle OpenFile ( const _tstring &  fileName,
CMemoryMappedFile::AccessMode  mode 
) [static]

static HANDLE OpenToken ( DWORD  desiredAccess  )  [static]

static const _tstring JetByteTools::Win32::s_fileVersionString ( _T("ProductVersion")   )  [static]

static const _tstring JetByteTools::Win32::s_windowClassName ( _T("JetByteTools::Win32::CTimeChangeNotificationMonitor")   )  [static]

static const _tstring JetByteTools::Win32::s_windowClassName ( _T("JetByteTools::Win32::CSystemShutdownMonitor")   )  [static]

static DWORD_PTR SelectSingleProcessor (  )  [static]

static DWORD_PTR SetThreadAffinity ( HANDLE  hThread,
CThreadAffinity::SelectHow  selectHow,
DWORD_PTR  affinityMask = 0 
) [static]

static bool JetByteTools::Win32::StringIsAllANSI ( const std::wstring &  data  )  [static]

Core::_tstring JetByteTools::Win32::TranslateDeviceNamePathToDriveLetterPath ( const Core::_tstring &  deviceNamePath  ) 

_tstring JetByteTools::Win32::TranslateDeviceNamePathToDriveLetterPath ( const _tstring &  deviceNamePath  ) 

static CTempDirectory::Flags ValidateFlags ( const DWORD  flags  )  [static]

static _tstring Where ( const EXCEPTION_POINTERS pPointers  )  [static]


Variable Documentation

long s_classRef = 0 [static]

long s_classRef = 0 [static]

HANDLE s_currentProcessPseudoHandle = GetCurrentProcess() [static]

HANDLE s_currentThreadPseudoHandle = GetCurrentThread() [static]

long s_defaultMaxDumps = 10 [static]

bool s_dumpsEnabled = true [static]

bool s_generateDumpOnWarnings = false [static]

const HMODULE s_hModule = GetModuleHandle(_T("PDH.DLL")) [static]

CLockableObject s_limitLock

LockType s_lock [static]

Core::CLockableObject s_lock

long s_maxDumpsToAttemptToProduce = 0 [static]

const _tstring s_noType [static]

const _tstring s_noType [static]

ICreateMiniDumps* s_pCustomDumper = nullptr [static]

CMiniDumpGenerator::OnTooManyDumpAttempsFnc* s_pOnTooManyDumpAttemps = nullptr [static]

bool s_processIsExiting = false [static]

bool s_produceDumps = true [static]

const UINT_PTR s_timerID = 123 [static]

long s_totalDumpAttempts = 0 [static]

const _tstring s_unknown = _T("Unknown exception") [static]


Generated on Sun Sep 12 19:11:29 2021 for The Server Framework - v7.4 by doxygen 1.5.3