181 guarantee (_ParkEvent != NULL, "invariant") ; |
181 guarantee (_ParkEvent != NULL, "invariant") ; |
182 } |
182 } |
183 |
183 |
184 } ; |
184 } ; |
185 |
185 |
186 // JDK7 requires VS2010 |
|
187 #if _MSC_VER < 1600 |
|
188 #define JDK6_OR_EARLIER 1 |
|
189 #endif |
|
190 |
|
191 |
|
192 |
|
193 class WinSock2Dll: AllStatic { |
186 class WinSock2Dll: AllStatic { |
194 public: |
187 public: |
195 static BOOL WSAStartup(WORD, LPWSADATA); |
188 static BOOL WSAStartup(WORD, LPWSADATA); |
196 static struct hostent* gethostbyname(const char *name); |
189 static struct hostent* gethostbyname(const char *name); |
197 static BOOL WinSock2Available(); |
190 static BOOL WinSock2Available(); |
198 #ifdef JDK6_OR_EARLIER |
|
199 private: |
|
200 static int (PASCAL FAR* _WSAStartup)(WORD, LPWSADATA); |
|
201 static struct hostent *(PASCAL FAR *_gethostbyname)(...); |
|
202 static BOOL initialized; |
|
203 |
|
204 static void initialize(); |
|
205 #endif |
|
206 }; |
191 }; |
207 |
192 |
208 class Kernel32Dll: AllStatic { |
193 class Kernel32Dll: AllStatic { |
209 public: |
194 public: |
210 static BOOL SwitchToThread(); |
195 static BOOL SwitchToThread(); |
242 static USHORT (WINAPI *_RtlCaptureStackBackTrace)(ULONG, ULONG, PVOID*, PULONG); |
227 static USHORT (WINAPI *_RtlCaptureStackBackTrace)(ULONG, ULONG, PVOID*, PULONG); |
243 static BOOL initialized; |
228 static BOOL initialized; |
244 |
229 |
245 static void initialize(); |
230 static void initialize(); |
246 static void initializeCommon(); |
231 static void initializeCommon(); |
247 |
|
248 #ifdef JDK6_OR_EARLIER |
|
249 private: |
|
250 static BOOL (WINAPI *_SwitchToThread)(void); |
|
251 static HANDLE (WINAPI* _CreateToolhelp32Snapshot)(DWORD,DWORD); |
|
252 static BOOL (WINAPI* _Module32First)(HANDLE,LPMODULEENTRY32); |
|
253 static BOOL (WINAPI* _Module32Next)(HANDLE,LPMODULEENTRY32); |
|
254 static void (WINAPI *_GetNativeSystemInfo)(LPSYSTEM_INFO); |
|
255 #endif |
|
256 |
|
257 }; |
232 }; |
258 |
233 |
259 class Advapi32Dll: AllStatic { |
234 class Advapi32Dll: AllStatic { |
260 public: |
235 public: |
261 static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD); |
236 static BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD); |
262 static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE); |
237 static BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE); |
263 static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID); |
238 static BOOL LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID); |
264 |
239 |
265 static BOOL AdvapiAvailable(); |
240 static BOOL AdvapiAvailable(); |
266 |
|
267 #ifdef JDK6_OR_EARLIER |
|
268 private: |
|
269 static BOOL (WINAPI *_AdjustTokenPrivileges)(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD); |
|
270 static BOOL (WINAPI *_OpenProcessToken)(HANDLE, DWORD, PHANDLE); |
|
271 static BOOL (WINAPI *_LookupPrivilegeValue)(LPCTSTR, LPCTSTR, PLUID); |
|
272 static BOOL initialized; |
|
273 |
|
274 static void initialize(); |
|
275 #endif |
|
276 }; |
241 }; |
277 |
242 |
278 class PSApiDll: AllStatic { |
243 class PSApiDll: AllStatic { |
279 public: |
244 public: |
280 static BOOL EnumProcessModules(HANDLE, HMODULE *, DWORD, LPDWORD); |
245 static BOOL EnumProcessModules(HANDLE, HMODULE *, DWORD, LPDWORD); |
281 static DWORD GetModuleFileNameEx(HANDLE, HMODULE, LPTSTR, DWORD); |
246 static DWORD GetModuleFileNameEx(HANDLE, HMODULE, LPTSTR, DWORD); |
282 static BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD); |
247 static BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD); |
283 |
248 |
284 static BOOL PSApiAvailable(); |
249 static BOOL PSApiAvailable(); |
285 |
|
286 #ifdef JDK6_OR_EARLIER |
|
287 private: |
|
288 static BOOL (WINAPI *_EnumProcessModules)(HANDLE, HMODULE *, DWORD, LPDWORD); |
|
289 static BOOL (WINAPI *_GetModuleFileNameEx)(HANDLE, HMODULE, LPTSTR, DWORD);; |
|
290 static BOOL (WINAPI *_GetModuleInformation)(HANDLE, HMODULE, LPMODULEINFO, DWORD); |
|
291 static BOOL initialized; |
|
292 |
|
293 static void initialize(); |
|
294 #endif |
|
295 }; |
250 }; |
296 |
251 |
297 #endif // OS_WINDOWS_VM_OS_WINDOWS_HPP |
252 #endif // OS_WINDOWS_VM_OS_WINDOWS_HPP |