mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Add functions implemented by services in ctypes_generation
This commit is contained in:
@@ -267,4 +267,38 @@ BOOL StartServiceCtrlDispatcherA(
|
||||
|
||||
BOOL StartServiceCtrlDispatcherW(
|
||||
SERVICE_TABLE_ENTRYW *lpServiceStartTable
|
||||
);
|
||||
|
||||
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExA(
|
||||
[in] LPCSTR lpServiceName,
|
||||
[in] LPHANDLER_FUNCTION_EX lpHandlerProc,
|
||||
[in, optional] LPVOID lpContext
|
||||
);
|
||||
|
||||
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExW(
|
||||
[in] LPCWSTR lpServiceName,
|
||||
[in] LPHANDLER_FUNCTION_EX lpHandlerProc,
|
||||
[in, optional] LPVOID lpContext
|
||||
);
|
||||
|
||||
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(
|
||||
[in] LPCSTR lpServiceName,
|
||||
[in] LPHANDLER_FUNCTION lpHandlerProc
|
||||
);
|
||||
|
||||
SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(
|
||||
[in] LPCWSTR lpServiceName,
|
||||
[in] LPHANDLER_FUNCTION lpHandlerProc
|
||||
);
|
||||
|
||||
BOOL SetServiceStatus(
|
||||
[in] SERVICE_STATUS_HANDLE hServiceStatus,
|
||||
[in] LPSERVICE_STATUS lpServiceStatus
|
||||
);
|
||||
|
||||
BOOL SetServiceBits(
|
||||
[in] SERVICE_STATUS_HANDLE hServiceStatus,
|
||||
[in] DWORD dwServiceBits,
|
||||
[in] BOOL bSetBitsOn,
|
||||
[in] BOOL bUpdateImmediately
|
||||
);
|
||||
@@ -263,6 +263,8 @@ LPSERVICE_MAIN_FUNCTIONA = PVOID
|
||||
LPSERVICE_MAIN_FUNCTIONW = PVOID
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE = PVOID
|
||||
PDNS_QUERY_COMPLETION_ROUTINE = PVOID
|
||||
LPHANDLER_FUNCTION = PVOID
|
||||
LPHANDLER_FUNCTION_EX = PVOID
|
||||
|
||||
|
||||
// Will be changed at import time
|
||||
|
||||
@@ -15056,6 +15056,10 @@ functions = {'AccessCheck',
|
||||
'RegSetValueExW',
|
||||
'RegUnLoadKeyA',
|
||||
'RegUnLoadKeyW',
|
||||
'RegisterServiceCtrlHandlerA',
|
||||
'RegisterServiceCtrlHandlerExA',
|
||||
'RegisterServiceCtrlHandlerExW',
|
||||
'RegisterServiceCtrlHandlerW',
|
||||
'RegisterTraceGuidsA',
|
||||
'RegisterTraceGuidsW',
|
||||
'RemoveVectoredExceptionHandler',
|
||||
@@ -15103,6 +15107,8 @@ functions = {'AccessCheck',
|
||||
'SetSecurityDescriptorDacl',
|
||||
'SetSecurityDescriptorOwner',
|
||||
'SetSecurityInfo',
|
||||
'SetServiceBits',
|
||||
'SetServiceStatus',
|
||||
'SetStdHandle',
|
||||
'SetTcpEntry',
|
||||
'SetThreadAffinityMask',
|
||||
|
||||
@@ -2300,6 +2300,36 @@ StartServiceCtrlDispatcherAParams = ((1, 'lpServiceStartTable'),)
|
||||
StartServiceCtrlDispatcherWPrototype = WINFUNCTYPE(BOOL, POINTER(SERVICE_TABLE_ENTRYW))
|
||||
StartServiceCtrlDispatcherWParams = ((1, 'lpServiceStartTable'),)
|
||||
|
||||
#def RegisterServiceCtrlHandlerExA(lpServiceName, lpHandlerProc, lpContext):
|
||||
# return RegisterServiceCtrlHandlerExA.ctypes_function(lpServiceName, lpHandlerProc, lpContext)
|
||||
RegisterServiceCtrlHandlerExAPrototype = WINFUNCTYPE(SERVICE_STATUS_HANDLE, LPCSTR, LPHANDLER_FUNCTION_EX, LPVOID)
|
||||
RegisterServiceCtrlHandlerExAParams = ((1, 'lpServiceName'), (1, 'lpHandlerProc'), (1, 'lpContext'))
|
||||
|
||||
#def RegisterServiceCtrlHandlerExW(lpServiceName, lpHandlerProc, lpContext):
|
||||
# return RegisterServiceCtrlHandlerExW.ctypes_function(lpServiceName, lpHandlerProc, lpContext)
|
||||
RegisterServiceCtrlHandlerExWPrototype = WINFUNCTYPE(SERVICE_STATUS_HANDLE, LPCWSTR, LPHANDLER_FUNCTION_EX, LPVOID)
|
||||
RegisterServiceCtrlHandlerExWParams = ((1, 'lpServiceName'), (1, 'lpHandlerProc'), (1, 'lpContext'))
|
||||
|
||||
#def RegisterServiceCtrlHandlerA(lpServiceName, lpHandlerProc):
|
||||
# return RegisterServiceCtrlHandlerA.ctypes_function(lpServiceName, lpHandlerProc)
|
||||
RegisterServiceCtrlHandlerAPrototype = WINFUNCTYPE(SERVICE_STATUS_HANDLE, LPCSTR, LPHANDLER_FUNCTION)
|
||||
RegisterServiceCtrlHandlerAParams = ((1, 'lpServiceName'), (1, 'lpHandlerProc'))
|
||||
|
||||
#def RegisterServiceCtrlHandlerW(lpServiceName, lpHandlerProc):
|
||||
# return RegisterServiceCtrlHandlerW.ctypes_function(lpServiceName, lpHandlerProc)
|
||||
RegisterServiceCtrlHandlerWPrototype = WINFUNCTYPE(SERVICE_STATUS_HANDLE, LPCWSTR, LPHANDLER_FUNCTION)
|
||||
RegisterServiceCtrlHandlerWParams = ((1, 'lpServiceName'), (1, 'lpHandlerProc'))
|
||||
|
||||
#def SetServiceStatus(hServiceStatus, lpServiceStatus):
|
||||
# return SetServiceStatus.ctypes_function(hServiceStatus, lpServiceStatus)
|
||||
SetServiceStatusPrototype = WINFUNCTYPE(BOOL, SERVICE_STATUS_HANDLE, LPSERVICE_STATUS)
|
||||
SetServiceStatusParams = ((1, 'hServiceStatus'), (1, 'lpServiceStatus'))
|
||||
|
||||
#def SetServiceBits(hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately):
|
||||
# return SetServiceBits.ctypes_function(hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately)
|
||||
SetServiceBitsPrototype = WINFUNCTYPE(BOOL, SERVICE_STATUS_HANDLE, DWORD, BOOL, BOOL)
|
||||
SetServiceBitsParams = ((1, 'hServiceStatus'), (1, 'dwServiceBits'), (1, 'bSetBitsOn'), (1, 'bUpdateImmediately'))
|
||||
|
||||
#def SetupDiClassNameFromGuidA(ClassGuid, ClassName, ClassNameSize, RequiredSize):
|
||||
# return SetupDiClassNameFromGuidA.ctypes_function(ClassGuid, ClassName, ClassNameSize, RequiredSize)
|
||||
SetupDiClassNameFromGuidAPrototype = WINFUNCTYPE(BOOL, POINTER(GUID), PSTR, DWORD, PDWORD)
|
||||
|
||||
@@ -301,6 +301,8 @@ LPSERVICE_MAIN_FUNCTIONA = PVOID
|
||||
LPSERVICE_MAIN_FUNCTIONW = PVOID
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE = PVOID
|
||||
PDNS_QUERY_COMPLETION_ROUTINE = PVOID
|
||||
LPHANDLER_FUNCTION = PVOID
|
||||
LPHANDLER_FUNCTION_EX = PVOID
|
||||
LPCONTEXT = PVOID
|
||||
HCERTSTORE = PVOID
|
||||
HCRYPTMSG = PVOID
|
||||
|
||||
@@ -493,6 +493,40 @@ def CreateServiceW(hSCManager, lpServiceName, lpDisplayName, dwDesiredAccess, dw
|
||||
def DeleteService(hService):
|
||||
return DeleteService.ctypes_function(hService)
|
||||
|
||||
## Service : functions implemented by services.
|
||||
@Advapi32Proxy()
|
||||
def StartServiceCtrlDispatcherA(lpServiceStartTable):
|
||||
return StartServiceCtrlDispatcherA.ctypes_function(lpServiceStartTable)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def StartServiceCtrlDispatcherW(lpServiceStartTable):
|
||||
return StartServiceCtrlDispatcherW.ctypes_function(lpServiceStartTable)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def RegisterServiceCtrlHandlerExA(lpServiceName, lpHandlerProc, lpContext):
|
||||
return RegisterServiceCtrlHandlerExA.ctypes_function(lpServiceName, lpHandlerProc, lpContext)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def RegisterServiceCtrlHandlerExW(lpServiceName, lpHandlerProc, lpContext):
|
||||
return RegisterServiceCtrlHandlerExW.ctypes_function(lpServiceName, lpHandlerProc, lpContext)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def RegisterServiceCtrlHandlerA(lpServiceName, lpHandlerProc):
|
||||
return RegisterServiceCtrlHandlerA.ctypes_function(lpServiceName, lpHandlerProc)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def RegisterServiceCtrlHandlerW(lpServiceName, lpHandlerProc):
|
||||
return RegisterServiceCtrlHandlerW.ctypes_function(lpServiceName, lpHandlerProc)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def SetServiceStatus(hServiceStatus, lpServiceStatus):
|
||||
return SetServiceStatus.ctypes_function(hServiceStatus, lpServiceStatus)
|
||||
|
||||
@Advapi32Proxy()
|
||||
def SetServiceBits(hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately):
|
||||
return SetServiceBits.ctypes_function(hServiceStatus, dwServiceBits, bSetBitsOn, bUpdateImmediately)
|
||||
|
||||
|
||||
# Event log
|
||||
|
||||
@Advapi32Proxy()
|
||||
|
||||
Reference in New Issue
Block a user