#ifndef __OS_H__ #define __OS_H__ namespace OS { enum { NT4 = 4 }; bool unicodeOS(); extern const bool unicodeOS_; extern const bool secureOS_; extern const int osVer_; LONG RegOpenKeyExW (HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult); LONG RegCreateKeyExW (HKEY hKey, LPCTSTR lpSubKey,DWORD Reserved, LPTSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition); LONG RegEnumKeyExW (HKEY hKey,DWORD dwIndex,LPTSTR lpName,LPDWORD lpcName,LPDWORD lpReserved,LPTSTR lpClass,LPDWORD lpcClass,PFILETIME lpftLastWriteTime); LONG RegDeleteKeyW (HKEY hKey, LPCTSTR lpSubKey); LONG RegQueryValueExW( HKEY hKey, // handle to key LPCTSTR lpValueName, // value name LPDWORD lpReserved, // reserved LPDWORD lpType, // type buffer LPBYTE lpData, // data buffer LPDWORD lpcbData // size of data buffer ); LONG RegSetValueExW( HKEY hKey, // handle to key LPCTSTR lpValueName, // value name DWORD Reserved, // reserved DWORD dwType, // value type CONST BYTE *lpData, // value data DWORD cbData // size of value data ); HRESULT CoImpersonateClient(); BOOL GetProcessTimes( HANDLE hProcess, // handle to process LPFILETIME lpCreationTime, // process creation time LPFILETIME lpExitTime, // process exit time LPFILETIME lpKernelTime, // process kernel-mode time LPFILETIME lpUserTime // process user-mode time ); HANDLE CreateEventW(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName ); HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bInitialOwner, LPCWSTR lpName ); wchar_t ToUpper(wchar_t c); wchar_t ToLower(wchar_t c); bool wbem_iswdigit(wchar_t c); bool wbem_iswalnum (wchar_t c); }; #endif