mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-07-16 02:02:53 -07:00
Also updates: - importlib-metadata-0.7 - jaraco-windows - jaraco.classes-1.5 - jaraco.collections-1.6.0 - jaraco.functools-1.20 - jaraco.structures-1.1.2 - jaraco.text-1.10.1 - jaraco.ui-1.6 - more-itertools-4.3.0 - path.py-11.5.0 - six-1.12.0
38 lines
1,003 B
Python
38 lines
1,003 B
Python
from ctypes import windll, POINTER
|
|
from ctypes.wintypes import (
|
|
LPWSTR, DWORD, LPVOID, HANDLE, BOOL,
|
|
)
|
|
|
|
CreateEvent = windll.kernel32.CreateEventW
|
|
CreateEvent.argtypes = (
|
|
LPVOID, # LPSECURITY_ATTRIBUTES
|
|
BOOL,
|
|
BOOL,
|
|
LPWSTR,
|
|
)
|
|
CreateEvent.restype = HANDLE
|
|
|
|
SetEvent = windll.kernel32.SetEvent
|
|
SetEvent.argtypes = HANDLE,
|
|
SetEvent.restype = BOOL
|
|
|
|
WaitForSingleObject = windll.kernel32.WaitForSingleObject
|
|
WaitForSingleObject.argtypes = HANDLE, DWORD
|
|
WaitForSingleObject.restype = DWORD
|
|
|
|
_WaitForMultipleObjects = windll.kernel32.WaitForMultipleObjects
|
|
_WaitForMultipleObjects.argtypes = DWORD, POINTER(HANDLE), BOOL, DWORD
|
|
_WaitForMultipleObjects.restype = DWORD
|
|
|
|
|
|
def WaitForMultipleObjects(handles, wait_all=False, timeout=0):
|
|
n_handles = len(handles)
|
|
handle_array = (HANDLE * n_handles)()
|
|
for index, handle in enumerate(handles):
|
|
handle_array[index] = handle
|
|
return _WaitForMultipleObjects(n_handles, handle_array, wait_all, timeout)
|
|
|
|
|
|
WAIT_OBJECT_0 = 0
|
|
INFINITE = -1
|
|
WAIT_TIMEOUT = 0x102
|