* defined -A and -W structs and callback for a couple of functions Mantis #0029762

git-svn-id: trunk@33143 -
This commit is contained in:
marco 2016-03-02 13:46:37 +00:00
parent 87baa8c43f
commit 1ae1e9310b
4 changed files with 114 additions and 16 deletions

View File

@ -77,9 +77,9 @@ function ExpandEnvironmentStringsA(lpSrc:LPCSTR; lpDst:LPSTR; nSize:DWORD):DWORD
procedure OutputDebugStringA(lpOutputString:LPCSTR); external 'kernel32' name 'OutputDebugStringA';
function FindResourceA(hModule:HINST; lpName:LPCSTR; lpType:LPCSTR):HRSRC; external 'kernel32' name 'FindResourceA';
function FindResourceExA(hModule:HINST; lpType:LPCSTR; lpName:LPCSTR; wLanguage:WORD):HRSRC; external 'kernel32' name 'FindResourceExA';
function EnumResourceTypesA(hModule:HMODULE; lpEnumFunc:ENUMRESTYPEPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceTypesA';
function EnumResourceNamesA(hModule:HMODULE; lpType:LPCSTR; lpEnumFunc:ENUMRESNAMEPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceNamesA';
function EnumResourceLanguagesA(hModule:HMODULE; lpType:LPCSTR; lpName:LPCSTR; lpEnumFunc:ENUMRESLANGPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceLanguagesA';
function EnumResourceTypesA(hModule:HMODULE; lpEnumFunc:ENUMRESTYPEPROCA; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceTypesA';
function EnumResourceNamesA(hModule:HMODULE; lpType:LPCSTR; lpEnumFunc:ENUMRESNAMEPROCA; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceNamesA';
function EnumResourceLanguagesA(hModule:HMODULE; lpType:LPCSTR; lpName:LPCSTR; lpEnumFunc:ENUMRESLANGPROCA; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceLanguagesA';
function BeginUpdateResourceA(pFileName:LPCSTR; bDeleteExistingResources:WINBOOL):HANDLE; external 'kernel32' name 'BeginUpdateResourceA';
function UpdateResourceA(hUpdate:HANDLE; lpType:LPCSTR; lpName:LPCSTR; wLanguage:WORD; lpData:LPVOID;cbData:DWORD):WINBOOL; external 'kernel32' name 'UpdateResourceA';
function EndUpdateResourceA(hUpdate:HANDLE; fDiscard:WINBOOL):WINBOOL; external 'kernel32' name 'EndUpdateResourceA';
@ -452,16 +452,16 @@ function ChangeServiceConfigA(hService:SC_HANDLE; dwServiceType:DWORD; dwStartTy
function CreateServiceA(hSCManager:SC_HANDLE; lpServiceName:LPCSTR; lpDisplayName:LPCSTR; dwDesiredAccess:DWORD; dwServiceType:DWORD;dwStartType:DWORD; dwErrorControl:DWORD; lpBinaryPathName:LPCSTR; lpLoadOrderGroup:LPCSTR;
lpdwTagId:LPDWORD;lpDependencies:LPCSTR; lpServiceStartName:LPCSTR; lpPassword:LPCSTR):SC_HANDLE; external 'advapi32' name 'CreateServiceA';
function EnumDependentServicesA(hService:SC_HANDLE; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUS; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD;lpServicesReturned:LPDWORD):WINBOOL; external 'advapi32' name 'EnumDependentServicesA';
function EnumServicesStatusA(hSCManager:SC_HANDLE; dwServiceType:DWORD; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUS; cbBufSize:DWORD;pcbBytesNeeded:LPDWORD; lpServicesReturned:LPDWORD; lpResumeHandle:LPDWORD):WINBOOL;
function EnumServicesStatusA(hSCManager:SC_HANDLE; dwServiceType:DWORD; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUSA; cbBufSize:DWORD;pcbBytesNeeded:LPDWORD; lpServicesReturned:LPDWORD; lpResumeHandle:LPDWORD):WINBOOL;
external 'advapi32' name 'EnumServicesStatusA';
function GetServiceKeyNameA(hSCManager:SC_HANDLE; lpDisplayName:LPCSTR; lpServiceName:LPSTR; lpcchBuffer:LPDWORD):WINBOOL; external 'advapi32' name 'GetServiceKeyNameA';
function GetServiceDisplayNameA(hSCManager:SC_HANDLE; lpServiceName:LPCSTR; lpDisplayName:LPSTR; lpcchBuffer:LPDWORD):WINBOOL; external 'advapi32' name 'GetServiceDisplayNameA';
function OpenSCManagerA(lpMachineName:LPCSTR; lpDatabaseName:LPCSTR; dwDesiredAccess:DWORD):SC_HANDLE; external 'advapi32' name 'OpenSCManagerA';
function OpenServiceA(hSCManager:SC_HANDLE; lpServiceName:LPCSTR; dwDesiredAccess:DWORD):SC_HANDLE; external 'advapi32' name 'OpenServiceA';
function QueryServiceConfigA(hService:SC_HANDLE; lpServiceConfig:LPQUERY_SERVICE_CONFIG; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceConfigA';
function QueryServiceLockStatusA(hSCManager:SC_HANDLE; lpLockStatus:LPQUERY_SERVICE_LOCK_STATUS; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceLockStatusA';
function QueryServiceConfigA(hService:SC_HANDLE; lpServiceConfig:LPQUERY_SERVICE_CONFIGA; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceConfigA';
function QueryServiceLockStatusA(hSCManager:SC_HANDLE; lpLockStatus:LPQUERY_SERVICE_LOCK_STATUSA; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceLockStatusA';
function RegisterServiceCtrlHandlerA(lpServiceName:LPCSTR; lpHandlerProc:LPHANDLER_FUNCTION):SERVICE_STATUS_HANDLE; external 'advapi32' name 'RegisterServiceCtrlHandlerA';
function StartServiceCtrlDispatcherA(lpServiceStartTable:LPSERVICE_TABLE_ENTRY):WINBOOL; external 'advapi32' name 'StartServiceCtrlDispatcherA';
function StartServiceCtrlDispatcherA(lpServiceStartTable:LPSERVICE_TABLE_ENTRYA):WINBOOL; external 'advapi32' name 'StartServiceCtrlDispatcherA';
function StartServiceA(hService:SC_HANDLE; dwNumServiceArgs:DWORD; lpServiceArgVectors:LPPCSTR):WINBOOL; external 'advapi32' name 'StartServiceA';
function DragQueryFileA(_para1:HDROP; _para2:cardinal; _para3:Pchar;_para4:cardinal):cardinal; external 'shell32' name 'DragQueryFileA';
function ExtractAssociatedIconA(_para1:HINST; _para2:Pchar; _para3:LPWORD):HICON; external 'shell32' name 'ExtractAssociatedIconA';

View File

@ -638,7 +638,9 @@
PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;stdcall;
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPPTSTR);stdcall;
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPPTSTR);stdcall;
LPSERVICE_MAIN_FUNCTIONA = procedure (_para1:DWORD; _para2:LPPSTR);stdcall;
LPSERVICE_MAIN_FUNCTIONW = procedure (_para1:DWORD; _para2:LPPWSTR);stdcall;
PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
@ -653,11 +655,16 @@
PROC = FARPROC;
ENUMRESTYPEPROC = function (hModule:HMODULE; lpszType:LPTSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESTYPEPROCA = function (hModule:HMODULE; lpszType:LPSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESTYPEPROCW = function (hModule:HMODULE; lpszType:LPWSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESNAMEPROC = function (hModule:HMODULE; lpszType:LPCTSTR; lpszName:LPTSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESNAMEPROCA= function (hModule:HMODULE; lpszType:LPCSTR; lpszName:LPSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESNAMEPROCW= function (hModule:HMODULE; lpszType:LPCWSTR; lpszName:LPWSTR; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESLANGPROC = function (hModule:HMODULE; lpszType:LPCTSTR; lpszName:LPCTSTR; wIDLanguage:WORD; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESLANGPROCA= function (hModule:HMODULE; lpszType:LPCSTR; lpszName:LPCSTR; wIDLanguage:WORD; lParam:LONG_PTR):WINBOOL;stdcall;
ENUMRESLANGPROCW= function (hModule:HMODULE; lpszType:LPCWSTR; lpszName:LPCWSTR; wIDLanguage:WORD; lParam:LONG_PTR):WINBOOL;stdcall;
DESKTOPENUMPROC = FARPROC;
ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;stdcall;

View File

@ -3624,6 +3624,26 @@ Const
TENUMSERVICESTATUS = ENUM_SERVICE_STATUS;
PENUMSERVICESTATUS = ^ENUM_SERVICE_STATUS;
ENUM_SERVICE_STATUSA= record
lpServiceName : LPSTR;
lpDisplayName : LPSTR;
ServiceStatus : SERVICE_STATUS;
end;
LPENUM_SERVICE_STATUSA = ^ENUM_SERVICE_STATUSA;
_ENUM_SERVICE_STATUSA = ENUM_SERVICE_STATUSA;
TENUMSERVICESTATUSA = ENUM_SERVICE_STATUSA;
PENUMSERVICESTATUSA = ^ENUM_SERVICE_STATUSA;
ENUM_SERVICE_STATUSW = record
lpServiceName : LPWSTR;
lpDisplayName : LPWSTR;
ServiceStatus : SERVICE_STATUS;
end;
LPENUM_SERVICE_STATUSW = ^ENUM_SERVICE_STATUSW;
_ENUM_SERVICE_STATUSW = ENUM_SERVICE_STATUSW;
TENUMSERVICESTATUSW = ENUM_SERVICE_STATUSW;
PENUMSERVICESTATUSW = ^ENUM_SERVICE_STATUSW;
ENUMLOGFONT = record
elfLogFont : LOGFONT;
elfFullName : array[0..(LF_FULLFACESIZE)-1] of TCHAR;
@ -6115,6 +6135,39 @@ Const
TQUERYSERVICECONFIG = QUERY_SERVICE_CONFIG;
PQUERYSERVICECONFIG = ^QUERY_SERVICE_CONFIG;
QUERY_SERVICE_CONFIGA = record
dwServiceType : DWORD;
dwStartType : DWORD;
dwErrorControl : DWORD;
lpBinaryPathName : LPSTR;
lpLoadOrderGroup : LPSTR;
dwTagId : DWORD;
lpDependencies : LPSTR;
lpServiceStartName : LPSTR;
lpDisplayName : LPSTR;
end;
LPQUERY_SERVICE_CONFIGA = ^QUERY_SERVICE_CONFIGA;
_QUERY_SERVICE_CONFIGA = QUERY_SERVICE_CONFIGA;
TQUERYSERVICECONFIGA = QUERY_SERVICE_CONFIGA;
PQUERYSERVICECONFIGA = ^QUERY_SERVICE_CONFIGA;
QUERY_SERVICE_CONFIGW = record
dwServiceType : DWORD;
dwStartType : DWORD;
dwErrorControl : DWORD;
lpBinaryPathName : LPWSTR;
lpLoadOrderGroup : LPWSTR;
dwTagId : DWORD;
lpDependencies : LPWSTR;
lpServiceStartName : LPWSTR;
lpDisplayName : LPWSTR;
end;
LPQUERY_SERVICE_CONFIGW = ^QUERY_SERVICE_CONFIGW;
_QUERY_SERVICE_CONFIGW = QUERY_SERVICE_CONFIGW;
TQUERYSERVICECONFIGW = QUERY_SERVICE_CONFIGW;
PQUERYSERVICECONFIGW = ^QUERY_SERVICE_CONFIGW;
QUERY_SERVICE_LOCK_STATUS = record
fIsLocked : DWORD;
lpLockOwner : LPTSTR;
@ -6125,6 +6178,26 @@ Const
TQUERYSERVICELOCKSTATUS = QUERY_SERVICE_LOCK_STATUS;
PQUERYSERVICELOCKSTATUS = ^QUERY_SERVICE_LOCK_STATUS;
QUERY_SERVICE_LOCK_STATUSA = record
fIsLocked : DWORD;
lpLockOwner : LPSTR;
dwLockDuration : DWORD;
end;
LPQUERY_SERVICE_LOCK_STATUSA = ^QUERY_SERVICE_LOCK_STATUSA;
_QUERY_SERVICE_LOCK_STATUSA = QUERY_SERVICE_LOCK_STATUSA;
TQUERYSERVICELOCKSTATUSA = QUERY_SERVICE_LOCK_STATUSA;
PQUERYSERVICELOCKSTATUSA = ^QUERY_SERVICE_LOCK_STATUSA;
QUERY_SERVICE_LOCK_STATUSW = record
fIsLocked : DWORD;
lpLockOwner : LPWSTR;
dwLockDuration : DWORD;
end;
LPQUERY_SERVICE_LOCK_STATUSW = ^QUERY_SERVICE_LOCK_STATUSW;
_QUERY_SERVICE_LOCK_STATUSW = QUERY_SERVICE_LOCK_STATUSW;
TQUERYSERVICELOCKSTATUSW = QUERY_SERVICE_LOCK_STATUSW;
PQUERYSERVICELOCKSTATUSW = ^QUERY_SERVICE_LOCK_STATUSW;
RASAMBA = record
dwSize : DWORD;
dwError : DWORD;
@ -6601,6 +6674,24 @@ Const
TSERVICETABLEENTRY = SERVICE_TABLE_ENTRY;
PSERVICETABLEENTRY = ^SERVICE_TABLE_ENTRY;
SERVICE_TABLE_ENTRYA = record
lpServiceName : LPSTR;
lpServiceProc : LPSERVICE_MAIN_FUNCTIONA;
end;
LPSERVICE_TABLE_ENTRYA = ^SERVICE_TABLE_ENTRYA;
_SERVICE_TABLE_ENTRYA = SERVICE_TABLE_ENTRYA;
TSERVICETABLEENTRYA = SERVICE_TABLE_ENTRYA;
PSERVICETABLEENTRYA = ^SERVICE_TABLE_ENTRYA;
SERVICE_TABLE_ENTRYW = record
lpServiceName : LPWSTR;
lpServiceProc : LPSERVICE_MAIN_FUNCTIONW;
end;
LPSERVICE_TABLE_ENTRYW = ^SERVICE_TABLE_ENTRYW;
_SERVICE_TABLE_ENTRYW = SERVICE_TABLE_ENTRYW;
TSERVICETABLEENTRYW = SERVICE_TABLE_ENTRYW;
PSERVICETABLEENTRYW = ^SERVICE_TABLE_ENTRYW;
SERVICE_TYPE_VALUE_ABS = record
dwNameSpace : DWORD;
dwValueType : DWORD;

View File

@ -77,9 +77,9 @@ function ExpandEnvironmentStringsW(lpSrc:LPCWSTR; lpDst:LPWSTR; nSize:DWORD):DWO
procedure OutputDebugStringW(lpOutputString:LPCWSTR); external 'kernel32' name 'OutputDebugStringW';
function FindResourceW(hModule:HINST; lpName:LPCWSTR; lpType:LPCWSTR):HRSRC; external 'kernel32' name 'FindResourceW';
function FindResourceExW(hModule:HINST; lpType:LPCWSTR; lpName:LPCWSTR; wLanguage:WORD):HRSRC; external 'kernel32' name 'FindResourceExW';
function EnumResourceTypesW(hModule:HMODULE; lpEnumFunc:ENUMRESTYPEPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceTypesW';
function EnumResourceNamesW(hModule:HMODULE; lpType:LPCWSTR; lpEnumFunc:ENUMRESNAMEPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceNamesW';
function EnumResourceLanguagesW(hModule:HMODULE; lpType:LPCWSTR; lpName:LPCWSTR; lpEnumFunc:ENUMRESLANGPROC; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceLanguagesW';
function EnumResourceTypesW(hModule:HMODULE; lpEnumFunc:ENUMRESTYPEPROCW; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceTypesW';
function EnumResourceNamesW(hModule:HMODULE; lpType:LPCWSTR; lpEnumFunc:ENUMRESNAMEPROCW; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceNamesW';
function EnumResourceLanguagesW(hModule:HMODULE; lpType:LPCWSTR; lpName:LPCWSTR; lpEnumFunc:ENUMRESLANGPROCW; lParam:LONG_PTR):WINBOOL; external 'kernel32' name 'EnumResourceLanguagesW';
function BeginUpdateResourceW(pFileName:LPCWSTR; bDeleteExistingResources:WINBOOL):HANDLE; external 'kernel32' name 'BeginUpdateResourceW';
function UpdateResourceW(hUpdate:HANDLE; lpType:LPCWSTR; lpName:LPCWSTR; wLanguage:WORD; lpData:LPVOID;cbData:DWORD):WINBOOL; external 'kernel32' name 'UpdateResourceW';
function EndUpdateResourceW(hUpdate:HANDLE; fDiscard:WINBOOL):WINBOOL; external 'kernel32' name 'EndUpdateResourceW';
@ -451,16 +451,16 @@ function ChangeServiceConfigW(hService:SC_HANDLE; dwServiceType:DWORD; dwStartTy
function CreateServiceW(hSCManager:SC_HANDLE; lpServiceName:LPCWSTR; lpDisplayName:LPCWSTR; dwDesiredAccess:DWORD; dwServiceType:DWORD;dwStartType:DWORD; dwErrorControl:DWORD; lpBinaryPathName:LPCWSTR; lpLoadOrderGroup:LPCWSTR;
lpdwTagId:LPDWORD;lpDependencies:LPCWSTR; lpServiceStartName:LPCWSTR; lpPassword:LPCWSTR):SC_HANDLE; external 'advapi32' name 'CreateServiceW';
function EnumDependentServicesW(hService:SC_HANDLE; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUS; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD;lpServicesReturned:LPDWORD):WINBOOL; external 'advapi32' name 'EnumDependentServicesW';
function EnumServicesStatusW(hSCManager:SC_HANDLE; dwServiceType:DWORD; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUS; cbBufSize:DWORD;pcbBytesNeeded:LPDWORD; lpServicesReturned:LPDWORD; lpResumeHandle:LPDWORD):WINBOOL;
function EnumServicesStatusW(hSCManager:SC_HANDLE; dwServiceType:DWORD; dwServiceState:DWORD; lpServices:LPENUM_SERVICE_STATUSW; cbBufSize:DWORD;pcbBytesNeeded:LPDWORD; lpServicesReturned:LPDWORD; lpResumeHandle:LPDWORD):WINBOOL;
external 'advapi32' name 'EnumServicesStatusW';
function GetServiceKeyNameW(hSCManager:SC_HANDLE; lpDisplayName:LPCWSTR; lpServiceName:LPWSTR; lpcchBuffer:LPDWORD):WINBOOL; external 'advapi32' name 'GetServiceKeyNameW';
function GetServiceDisplayNameW(hSCManager:SC_HANDLE; lpServiceName:LPCWSTR; lpDisplayName:LPWSTR; lpcchBuffer:LPDWORD):WINBOOL; external 'advapi32' name 'GetServiceDisplayNameW';
function OpenSCManagerW(lpMachineName:LPCWSTR; lpDatabaseName:LPCWSTR; dwDesiredAccess:DWORD):SC_HANDLE; external 'advapi32' name 'OpenSCManagerW';
function OpenServiceW(hSCManager:SC_HANDLE; lpServiceName:LPCWSTR; dwDesiredAccess:DWORD):SC_HANDLE; external 'advapi32' name 'OpenServiceW';
function QueryServiceConfigW(hService:SC_HANDLE; lpServiceConfig:LPQUERY_SERVICE_CONFIG; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceConfigW';
function QueryServiceLockStatusW(hSCManager:SC_HANDLE; lpLockStatus:LPQUERY_SERVICE_LOCK_STATUS; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceLockStatusW';
function QueryServiceConfigW(hService:SC_HANDLE; lpServiceConfig:LPQUERY_SERVICE_CONFIGW; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceConfigW';
function QueryServiceLockStatusW(hSCManager:SC_HANDLE; lpLockStatus:LPQUERY_SERVICE_LOCK_STATUSW; cbBufSize:DWORD; pcbBytesNeeded:LPDWORD):WINBOOL; external 'advapi32' name 'QueryServiceLockStatusW';
function RegisterServiceCtrlHandlerW(lpServiceName:LPCWSTR; lpHandlerProc:LPHANDLER_FUNCTION):SERVICE_STATUS_HANDLE; external 'advapi32' name 'RegisterServiceCtrlHandlerW';
function StartServiceCtrlDispatcherW(lpServiceStartTable:LPSERVICE_TABLE_ENTRY):WINBOOL; external 'advapi32' name 'StartServiceCtrlDispatcherW';
function StartServiceCtrlDispatcherW(lpServiceStartTable:LPSERVICE_TABLE_ENTRYW):WINBOOL; external 'advapi32' name 'StartServiceCtrlDispatcherW';
function StartServiceW(hService:SC_HANDLE; dwNumServiceArgs:DWORD; lpServiceArgVectors:LPPCWSTR):WINBOOL; external 'advapi32' name 'StartServiceW';
function DragQueryFileW(_para1:HDROP; _para2:cardinal; _para3:LPCWSTR; _para4:cardinal):cardinal; external 'shell32' name 'DragQueryFileW';
function ExtractAssociatedIconW(_para1:HINST; _para2:LPCWSTR; _para3:LPWORD):HICON; external 'shell32' name 'ExtractAssociatedIconW';