From 691b12a99f9d726c2d8fcbfaf3a7d25789b750d1 Mon Sep 17 00:00:00 2001 From: Giampaolo Rodola Date: Sun, 24 Feb 2019 07:42:30 -0800 Subject: windows progress --- psutil/arch/windows/process_info.c | 4 ++-- psutil/arch/windows/services.c | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/psutil/arch/windows/process_info.c b/psutil/arch/windows/process_info.c index 1d556473..5e0b9421 100644 --- a/psutil/arch/windows/process_info.c +++ b/psutil/arch/windows/process_info.c @@ -361,7 +361,7 @@ psutil_pid_is_running(DWORD pid) { // Be strict and raise an exception; the caller is supposed // to take -1 into account. else { - PyErr_SetFromWindowsErr(err); + PyErr_SetFromOSErrnoWithSyscall("OpenProcess(PROCESS_VM_READ)"); return -1; } } @@ -395,7 +395,7 @@ psutil_pid_is_running(DWORD pid) { return 1; } else { - PyErr_SetFromWindowsErr(err); + PyErr_SetFromOSErrnoWithSyscall("GetExitCodeProcess"); return -1; } } diff --git a/psutil/arch/windows/services.c b/psutil/arch/windows/services.c index 62a12861..92458494 100644 --- a/psutil/arch/windows/services.c +++ b/psutil/arch/windows/services.c @@ -24,13 +24,13 @@ psutil_get_service_handler(char *service_name, DWORD scm_access, DWORD access) sc = OpenSCManager(NULL, NULL, scm_access); if (sc == NULL) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("OpenSCManager"); return NULL; } hService = OpenService(sc, service_name, access); if (hService == NULL) { + PyErr_SetFromOSErrnoWithSyscall("OpenService"); CloseServiceHandle(sc); - PyErr_SetFromWindowsErr(0); return NULL; } CloseServiceHandle(sc); @@ -113,7 +113,7 @@ psutil_winservice_enumerate(PyObject *self, PyObject *args) { sc = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); if (sc == NULL) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("OpenSCManager"); return NULL; } @@ -213,13 +213,13 @@ psutil_winservice_query_config(PyObject *self, PyObject *args) { bytesNeeded = 0; QueryServiceConfigW(hService, NULL, 0, &bytesNeeded); if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfigW"); goto error; } qsc = (QUERY_SERVICE_CONFIGW *)malloc(bytesNeeded); ok = QueryServiceConfigW(hService, qsc, bytesNeeded, &bytesNeeded); if (ok == 0) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfigW"); goto error; } @@ -307,7 +307,7 @@ psutil_winservice_query_status(PyObject *self, PyObject *args) { return Py_BuildValue("s", ""); } if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceStatusEx"); goto error; } ssp = (SERVICE_STATUS_PROCESS *)HeapAlloc( @@ -321,7 +321,7 @@ psutil_winservice_query_status(PyObject *self, PyObject *args) { ok = QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)ssp, bytesNeeded, &bytesNeeded); if (ok == 0) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceStatusEx"); goto error; } @@ -381,7 +381,7 @@ psutil_winservice_query_descr(PyObject *self, PyObject *args) { return Py_BuildValue("s", ""); } if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfig2W"); goto error; } @@ -389,7 +389,7 @@ psutil_winservice_query_descr(PyObject *self, PyObject *args) { ok = QueryServiceConfig2W(hService, SERVICE_CONFIG_DESCRIPTION, (LPBYTE)scd, bytesNeeded, &bytesNeeded); if (ok == 0) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("QueryServiceConfig2W"); goto error; } @@ -435,7 +435,7 @@ psutil_winservice_start(PyObject *self, PyObject *args) { } ok = StartService(hService, 0, NULL); if (ok == 0) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("StartService"); goto error; } @@ -471,7 +471,7 @@ psutil_winservice_stop(PyObject *self, PyObject *args) { ok = ControlService(hService, SERVICE_CONTROL_STOP, &ssp); Py_END_ALLOW_THREADS if (ok == 0) { - PyErr_SetFromWindowsErr(0); + PyErr_SetFromOSErrnoWithSyscall("ControlService"); goto error; } -- cgit v1.2.1