diff options
Diffstat (limited to 'PC')
| -rw-r--r-- | PC/winreg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/PC/winreg.c b/PC/winreg.c index 8ed6be4..3a6ea36 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -984,10 +984,12 @@ winreg_DeleteKeyEx_impl(PyObject *module, HKEY key, /* Only available on 64bit platforms, so we must load it dynamically. */ + Py_BEGIN_ALLOW_THREADS hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RDKEFunc)GetProcAddress(hMod, "RegDeleteKeyExW"); + Py_END_ALLOW_THREADS if (!pfn) { PyErr_SetString(PyExc_NotImplementedError, "not implemented on this platform"); @@ -1714,10 +1716,12 @@ winreg_DisableReflectionKey_impl(PyObject *module, HKEY key) /* Only available on 64bit platforms, so we must load it dynamically.*/ + Py_BEGIN_ALLOW_THREADS hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RDRKFunc)GetProcAddress(hMod, "RegDisableReflectionKey"); + Py_END_ALLOW_THREADS if (!pfn) { PyErr_SetString(PyExc_NotImplementedError, "not implemented on this platform"); @@ -1757,10 +1761,12 @@ winreg_EnableReflectionKey_impl(PyObject *module, HKEY key) /* Only available on 64bit platforms, so we must load it dynamically.*/ + Py_BEGIN_ALLOW_THREADS hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RERKFunc)GetProcAddress(hMod, "RegEnableReflectionKey"); + Py_END_ALLOW_THREADS if (!pfn) { PyErr_SetString(PyExc_NotImplementedError, "not implemented on this platform"); @@ -1799,10 +1805,12 @@ winreg_QueryReflectionKey_impl(PyObject *module, HKEY key) /* Only available on 64bit platforms, so we must load it dynamically.*/ + Py_BEGIN_ALLOW_THREADS hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RQRKFunc)GetProcAddress(hMod, "RegQueryReflectionKey"); + Py_END_ALLOW_THREADS if (!pfn) { PyErr_SetString(PyExc_NotImplementedError, "not implemented on this platform"); |
