Commit 565b0085 authored by Peter Hunnisett's avatar Peter Hunnisett Committed by Alexandre Julliard

- Added some missing WINELIB_NAME_AW definitions, types and messages

- Small prototype fixes
parent 2826f575
......@@ -183,7 +183,7 @@ RegisterServiceCtrlHandlerW( LPCWSTR lpServiceName,
*/
BOOL WINAPI
SetServiceStatus( SERVICE_STATUS_HANDLE hService, LPSERVICE_STATUS lpStatus )
{ FIXME("%lx %p\n",hService, lpStatus);
{ FIXME("%x %p\n",hService, lpStatus);
TRACE("\tType:%lx\n",lpStatus->dwServiceType);
TRACE("\tState:%lx\n",lpStatus->dwCurrentState);
TRACE("\tControlAccepted:%lx\n",lpStatus->dwControlsAccepted);
......@@ -371,7 +371,7 @@ OpenServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName,
* CreateServiceW [ADVAPI32.29]
*/
SC_HANDLE WINAPI
CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName,
CreateServiceW( SC_HANDLE hSCManager, LPCWSTR lpServiceName,
LPCWSTR lpDisplayName, DWORD dwDesiredAccess,
DWORD dwServiceType, DWORD dwStartType,
DWORD dwErrorControl, LPCWSTR lpBinaryPathName,
......@@ -379,7 +379,7 @@ CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName,
LPCWSTR lpDependencies, LPCWSTR lpServiceStartName,
LPCWSTR lpPassword )
{
FIXME("(%ld,%s,%s,...)\n", hSCManager, debugstr_w(lpServiceName), debugstr_w(lpDisplayName));
FIXME("(%u,%s,%s,...)\n", hSCManager, debugstr_w(lpServiceName), debugstr_w(lpDisplayName));
return FALSE;
}
......@@ -388,7 +388,7 @@ CreateServiceW( DWORD hSCManager, LPCWSTR lpServiceName,
* CreateServiceA [ADVAPI32.28]
*/
SC_HANDLE WINAPI
CreateServiceA( DWORD hSCManager, LPCSTR lpServiceName,
CreateServiceA( SC_HANDLE hSCManager, LPCSTR lpServiceName,
LPCSTR lpDisplayName, DWORD dwDesiredAccess,
DWORD dwServiceType, DWORD dwStartType,
DWORD dwErrorControl, LPCSTR lpBinaryPathName,
......@@ -400,7 +400,7 @@ CreateServiceA( DWORD hSCManager, LPCSTR lpServiceName,
LONG r;
DWORD dp;
TRACE("(%ld,%s,%s,...)\n", hSCManager, debugstr_a(lpServiceName), debugstr_a(lpDisplayName));
TRACE("(%u,%s,%s,...)\n", hSCManager, debugstr_a(lpServiceName), debugstr_a(lpDisplayName));
r = RegCreateKeyExA(hSCManager, lpServiceName, 0, NULL,
REG_OPTION_NON_VOLATILE, dwDesiredAccess, NULL, &hKey, &dp);
......
......@@ -214,11 +214,11 @@ BOOL PROPSHEET_CollectPageInfo(LPCPROPSHEETPAGEA lppsp,
* Process page template.
*/
if (dwFlags & PSP_DLGINDIRECT)
pTemplate = (DLGTEMPLATE*)lppsp->u1.pResource;
pTemplate = (DLGTEMPLATE*)lppsp->u.pResource;
else
{
HRSRC hResource = FindResourceA(lppsp->hInstance,
lppsp->u1.pszTemplate,
lppsp->u.pszTemplate,
RT_DIALOGA);
HGLOBAL hTemplate = LoadResource(lppsp->hInstance,
hResource);
......@@ -1017,11 +1017,11 @@ static int PROPSHEET_CreatePage(HWND hwndParent,
TRACE("index %d\n", index);
if (ppshpage->dwFlags & PSP_DLGINDIRECT)
pTemplate = (DLGTEMPLATE*)ppshpage->u1.pResource;
pTemplate = (DLGTEMPLATE*)ppshpage->u.pResource;
else
{
HRSRC hResource = FindResourceA(ppshpage->hInstance,
ppshpage->u1.pszTemplate,
ppshpage->u.pszTemplate,
RT_DIALOGA);
HGLOBAL hTemplate = LoadResource(ppshpage->hInstance, hResource);
pTemplate = (LPDLGTEMPLATEA)LockResource(hTemplate);
......@@ -1976,8 +1976,8 @@ HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(
*ppsp = *lpPropSheetPage;
if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u1.pszTemplate ) )
ppsp->u1.pszTemplate = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u1.pszTemplate );
if ( !(ppsp->dwFlags & PSP_DLGINDIRECT) && HIWORD( ppsp->u.pszTemplate ) )
ppsp->u.pszTemplate = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u.pszTemplate );
if ( (ppsp->dwFlags & PSP_USEICONID) && HIWORD( ppsp->u2.pszIcon ) )
ppsp->u2.pszIcon = HEAP_strdupA( GetProcessHeap(), 0, lpPropSheetPage->u2.pszIcon );
......@@ -2011,8 +2011,8 @@ BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage)
if (!psp)
return FALSE;
if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u1.pszTemplate ) )
HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u1.pszTemplate);
if ( !(psp->dwFlags & PSP_DLGINDIRECT) && HIWORD( psp->u.pszTemplate ) )
HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u.pszTemplate);
if ( (psp->dwFlags & PSP_USEICONID) && HIWORD( psp->u2.pszIcon ) )
HeapFree(GetProcessHeap(), 0, (LPVOID)psp->u2.pszIcon);
......@@ -2116,18 +2116,18 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (psInfo->ppshheader.dwFlags & PSH_USEICONID)
hIcon = LoadImageA(psInfo->ppshheader.hInstance,
psInfo->ppshheader.u1.pszIcon,
psInfo->ppshheader.u.pszIcon,
IMAGE_ICON,
icon_cx, icon_cy,
LR_DEFAULTCOLOR);
else
hIcon = psInfo->ppshheader.u1.hIcon;
hIcon = psInfo->ppshheader.u.hIcon;
SendMessageA(hwnd, WM_SETICON, 0, hIcon);
}
if (psInfo->ppshheader.dwFlags & PSH_USEHICON)
SendMessageA(hwnd, WM_SETICON, 0, psInfo->ppshheader.u1.hIcon);
SendMessageA(hwnd, WM_SETICON, 0, psInfo->ppshheader.u.hIcon);
psInfo->strPropertiesFor = strCaption;
......
......@@ -244,7 +244,7 @@ import kernel32.dll
292 stdcall ShellExecuteExA (long) ShellExecuteExA
293 stdcall ShellExecuteExW (long) ShellExecuteExW
294 stdcall ShellExecuteW (long wstr wstr wstr wstr long) ShellExecuteW
296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIcon
296 stdcall Shell_NotifyIcon(long ptr) Shell_NotifyIconA
297 stdcall Shell_NotifyIconA(long ptr) Shell_NotifyIconA
298 stdcall Shell_NotifyIconW(long ptr) Shell_NotifyIconW
299 stub Shl1632_ThunkData32
......
......@@ -334,7 +334,7 @@ BOOL SYSTRAY_Init(void)
}
/*************************************************************************
* Shell_NotifyIconA [SHELL32.297]
* Shell_NotifyIconA [SHELL32.297][SHELL32.296]
*/
BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid )
{
......@@ -356,7 +356,7 @@ BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid )
}
/*************************************************************************
* Shell_NotifyIconW [SHELL32.297]
* Shell_NotifyIconW [SHELL32.298]
*/
BOOL WINAPI Shell_NotifyIconW (DWORD dwMessage, PNOTIFYICONDATAW pnid )
{
......@@ -372,11 +372,3 @@ BOOL WINAPI Shell_NotifyIconW (DWORD dwMessage, PNOTIFYICONDATAW pnid )
HeapFree(GetProcessHeap(),0,p);
return ret;
}
/*************************************************************************
* Shell_NotifyIcon [SHELL32.296]
*/
BOOL WINAPI Shell_NotifyIcon(DWORD dwMessage, PNOTIFYICONDATAA pnid)
{
return Shell_NotifyIconA(dwMessage, pnid);
}
......@@ -340,6 +340,11 @@ typedef struct tagUDACCEL
#define UDM_GETBASE (WM_USER+110)
#define UDM_SETRANGE32 (WM_USER+111)
#define UDM_GETRANGE32 (WM_USER+112)
#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define UDM_SETPOS32 (WM_USER+113)
#define UDM_GETPOS32 (WM_USER+114)
#define NMUPDOWN NM_UPDOWN
#define LPNMUPDOWN LPNM_UPDOWN
......@@ -2041,6 +2046,8 @@ typedef struct tagNMTREEVIEWW {
#define NM_TREEVIEW WINELIB_NAME_AW(NMTREEVIEW)
#define LPNMTREEVIEW WINELIB_NAME_AW(LPNMTREEVIEW)
#define LPNM_TREEVIEW LPNMTREEVIEW
typedef struct tagTVDISPINFOA {
NMHDR hdr;
TVITEMA item;
......@@ -3442,6 +3449,10 @@ typedef struct tagNMDAYSTATE
#define DTN_FORMATW (DTN_FIRST + 17)
#define DTN_FORMATQUERYW (DTN_FIRST + 18)
#define DTN_USERSTRING WINELIB_NAME_AW(DTN_USERSTRING)
#define DTN_WMKEYDOWN WINELIB_NAME_AW(DTN_WMKEYDOWN)
#define DTN_FORMAT WINELIB_NAME_AW(DTN_FORMAT)
#define DTN_FORMATQUERY WINELIB_NAME_AW(DTN_FORMATQUERY)
#define DTS_SHORTDATEFORMAT 0x0000
#define DTS_UPDOWN 0x0001
......@@ -3474,6 +3485,8 @@ typedef struct tagNMDATETIMESTRINGW
DWORD dwFlags;
} NMDATETIMESTRINGW, *LPNMDATETIMESTRINGW;
DECL_WINELIB_TYPE_AW(NMDATETIMESTRING)
DECL_WINELIB_TYPE_AW(LPNMDATETIMESTRING)
typedef struct tagNMDATETIMEWMKEYDOWNA
{
......@@ -3491,7 +3504,8 @@ typedef struct tagNMDATETIMEWMKEYDOWNW
SYSTEMTIME st;
} NMDATETIMEWMKEYDOWNW, *LPNMDATETIMEWMKEYDOWNW;
DECL_WINELIB_TYPE_AW(NMDATETIMEWMKEYDOWN)
DECL_WINELIB_TYPE_AW(LPNMDATETIMEWMKEYDOWN)
typedef struct tagNMDATETIMEFORMATA
{
......@@ -3512,7 +3526,8 @@ typedef struct tagNMDATETIMEFORMATW
WCHAR szDisplay[64];
} NMDATETIMEFORMATW, *LPNMDATETIMEFORMATW;
DECL_WINELIB_TYPE_AW(NMDATETIMEFORMAT)
DECL_WINELIB_TYPE_AW(LPNMDATETIMEFORMAT)
typedef struct tagNMDATETIMEFORMATQUERYA
{
......@@ -3528,13 +3543,8 @@ typedef struct tagNMDATETIMEFORMATQUERYW
SIZE szMax;
} NMDATETIMEFORMATQUERYW, *LPNMDATETIMEFORMATQUERYW;
#define NMDATETIMESTRING WINELIB_NAME_AW(NMDATETIMESTRING)
#define NMDATETIMEWMKEYDOWN WINELIB_NAME_AW(NMDATETIMEWMKEYDOWN)
#define NMDATETIMEFORMAT WINELIB_NAME_AW(NMDATETIMEFORMAT)
#define NMDATETIMEFORMATQUERY WINELIB_NAME_AW(NMDATETIMEFORMATQUERY)
DECL_WINELIB_TYPE_AW(NMDATETIMEFORMATQUERY)
DECL_WINELIB_TYPE_AW(LPNMDATETIMEFORMATQUERY)
......
......@@ -517,4 +517,20 @@ HRESULT WINAPI LoadTypeLib(OLECHAR *szFile, ITypeLib **pptLib);
HRESULT WINAPI LoadTypeLibEx(LPOLESTR szFile, REGKIND regKind, ITypeLib **pptLib);
INT WINAPI DosDateTimeToVariantTime(USHORT,USHORT,DATE*);
HRESULT WINAPI DispGetParam(DISPPARAMS* pdispparams, UINT position,
VARTYPE vtTarg, VARIANT* pvarResult, UINT* puArgErr);
HRESULT WINAPI DispGetIDsOfNames(ITypeInfo* ptinfo, OLECHAR** rgszNames,
UINT cNames, DISPID* rgdispid);
HRESULT WINAPI DispInvoke(void* _this, ITypeInfo* ptinfo, DISPID dispidMember,
WORD wFlags, DISPPARAMS* pparams, VARIANT* pvarResult,
EXCEPINFO* pexcepinfo, UINT* puArgErr);
HRESULT WINAPI CreateDispTypeInfo(INTERFACEDATA* pidata, LCID lcid,
ITypeInfo** pptinfo);
HRESULT WINAPI CreateStdDispatch(IUnknown* punkOuter, void* pvThis,
ITypeInfo* ptinfo, IUnknown** ppunkStdDisp);
HRESULT WINAPI DispCallFunc(void* pvInstance, ULONG oVft, CALLCONV cc,
VARTYPE vtReturn, UINT cActuals, VARTYPE* prgvt,
VARIANTARG** prgpvarg, VARIANT* pvargResult);
#endif /*__WINE_OLEAUTO_H*/
......@@ -43,7 +43,7 @@ typedef struct _PROPSHEETPAGEA
{
LPCSTR pszTemplate;
LPCDLGTEMPLATEA pResource;
}DUMMYUNIONNAME1;
}DUMMYUNIONNAME;
union
{
HICON hIcon;
......@@ -69,7 +69,7 @@ typedef struct _PROPSHEETPAGEW
{
LPCWSTR pszTemplate;
LPCDLGTEMPLATEW pResource;
}DUMMYUNIONNAME1;
}DUMMYUNIONNAME;
union
{
HICON hIcon;
......@@ -97,7 +97,7 @@ typedef struct _PROPSHEETHEADERA
{
HICON hIcon;
LPCSTR pszIcon;
}DUMMYUNIONNAME1;
}DUMMYUNIONNAME;
LPCSTR pszCaption;
UINT nPages;
union
......
......@@ -235,6 +235,13 @@ typedef struct _NOTIFYICONDATAW
WCHAR szTip[64];
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
DECL_WINELIB_TYPE_AW(NOTIFYICONDATA)
DECL_WINELIB_TYPE_AW(PNOTIFYICONDATA)
BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
#define Shell_NotifyIcon WINELIB_NAME_AW(Shell_NotifyIcon)
/******************************************
* Misc
......
......@@ -17,6 +17,18 @@ extern "C" {
typedef DWORD CALLBACK (*LPTHREAD_START_ROUTINE)(LPVOID);
typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
#define EXCEPTION_DEBUG_EVENT 1
#define CREATE_THREAD_DEBUG_EVENT 2
#define CREATE_PROCESS_DEBUG_EVENT 3
......@@ -965,16 +977,6 @@ typedef DWORD CALLBACK (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE
#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
/* Could this type be considered opaque? */
typedef struct {
LPVOID DebugInfo;
LONG LockCount;
LONG RecursionCount;
HANDLE OwningThread;
HANDLE LockSemaphore;
DWORD Reserved;
}CRITICAL_SECTION;
#ifdef __WINE__
#define CRITICAL_SECTION_INIT { 0, -1, 0, 0, 0, 0 }
#endif
......
......@@ -450,11 +450,10 @@ typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM);
/* The SIZE structure */
typedef struct tagSIZE
{
INT cx;
INT cy;
LONG cx;
LONG cy;
} SIZE, *PSIZE, *LPSIZE;
typedef SIZE SIZEL, *PSIZEL, *LPSIZEL;
#define CONV_SIZE16TO32(s16,s32) \
......
......@@ -2766,6 +2766,93 @@ typedef enum tagSID_NAME_USE {
/* ------------------------------ end registry ------------------------------ */
typedef struct _RTL_CRITICAL_SECTION_DEBUG
{
WORD Type;
WORD CreatorBackTraceIndex;
struct _RTL_CRITICAL_SECTION *CriticalSection;
LIST_ENTRY ProcessLocksList;
DWORD EntryCount;
DWORD ContentionCount;
DWORD Spare[ 2 ];
} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;
typedef struct _RTL_CRITICAL_SECTION {
PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
LONG LockCount;
LONG RecursionCount;
HANDLE OwningThread;
HANDLE LockSemaphore;
ULONG_PTR SpinCount;
} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
#define EVENTLOG_SUCCESS 0x0000
#define EVENTLOG_ERROR_TYPE 0x0001
#define EVENTLOG_WARNING_TYPE 0x0002
#define EVENTLOG_INFORMATION_TYPE 0x0004
#define EVENTLOG_AUDIT_SUCCESS 0x0008
#define EVENTLOG_AUDIT_FAILURE 0x0010
#define SERVICE_BOOT_START 0x00000000
#define SERVICE_SYSTEM_START 0x00000001
#define SERVICE_AUTO_START 0x00000002
#define SERVICE_DEMAND_START 0x00000003
#define SERVICE_DISABLED 0x00000004
#define SERVICE_ERROR_IGNORE 0x00000000
#define SERVICE_ERROR_NORMAL 0x00000001
#define SERVICE_ERROR_SEVERE 0x00000002
#define SERVICE_ERROR_CRITICAL 0x00000003
/* Service types */
#define SERVICE_KERNEL_DRIVER 0x00000001
#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002
#define SERVICE_ADAPTER 0x00000004
#define SERVICE_RECOGNIZER_DRIVER 0x00000008
#define SERVICE_DRIVER ( SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | \
SERVICE_RECOGNIZER_DRIVER )
#define SERVICE_WIN32_OWN_PROCESS 0x00000010
#define SERVICE_WIN32_SHARE_PROCESS 0x00000020
#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS)
#define SERVICE_INTERACTIVE_PROCESS 0x00000100
#define SERVICE_TYPE_ALL ( SERVICE_WIN32 | SERVICE_ADAPTER | \
SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS )
typedef enum _CM_SERVICE_NODE_TYPE
{
DriverType = SERVICE_KERNEL_DRIVER,
FileSystemType = SERVICE_FILE_SYSTEM_DRIVER,
Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS,
Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,
AdapterType = SERVICE_ADAPTER,
RecognizerType = SERVICE_RECOGNIZER_DRIVER
} SERVICE_NODE_TYPE;
typedef enum _CM_SERVICE_LOAD_TYPE
{
BootLoad = SERVICE_BOOT_START,
SystemLoad = SERVICE_SYSTEM_START,
AutoLoad = SERVICE_AUTO_START,
DemandLoad = SERVICE_DEMAND_START,
DisableLoad = SERVICE_DISABLED
} SERVICE_LOAD_TYPE;
typedef enum _CM_ERROR_CONTROL_TYPE
{
IgnoreError = SERVICE_ERROR_IGNORE,
NormalError = SERVICE_ERROR_NORMAL,
SevereError = SERVICE_ERROR_SEVERE,
CriticalError = SERVICE_ERROR_CRITICAL
} SERVICE_ERROR_TYPE;
#define RtlEqualMemory(Destination, Source, Length) (!memcmp((Destination),(Source),(Length)))
#define RtlMoveMemory(Destination, Source, Length) memmove((Destination),(Source),(Length))
#define RtlCopyMemory(Destination, Source, Length) memcpy((Destination),(Source),(Length))
......
......@@ -13,6 +13,19 @@
/* proper 4-byte packing */
#include "pshpack4.h"
#define WS_SO_GROUP_ID 0x2001
#define WS_SO_GROUP_PRIORITY 0x2002
#define WS_SO_MAX_MSG_SIZE 0x2003
#define WS_SO_PROTOCOL_INFOA 0x2004
#define WS_SO_PROTOCOL_INFOW 0x2005
#define WS_SO_PROTOCOL_INFO WINELIB_NAME_AW(WS_SO_PROTOCOL_INFO)
#define PVD_CONFIG 0x3001
#define SO_CONDITIONAL_ACCEPT 0x3002
/* option flags per socket */
#define FD_MAX_EVENTS 10
#define FD_READ_BIT 0
#define FD_WRITE_BIT 1
......
......@@ -7,11 +7,83 @@ extern "C" {
#include "windef.h"
/* Controls */
#define SERVICE_CONTROL_STOP 0x00000001
#define SERVICE_CONTROL_PAUSE 0x00000002
#define SERVICE_CONTROL_CONTINUE 0x00000003
#define SERVICE_CONTROL_INTERROGATE 0x00000004
#define SERVICE_CONTROL_SHUTDOWN 0x00000005
#define SERVICE_CONTROL_PARAMCHANGE 0x00000006
#define SERVICE_CONTROL_NETBINDADD 0x00000007
#define SERVICE_CONTROL_NETBINDREMOVE 0x00000008
#define SERVICE_CONTROL_NETBINDENABLE 0x00000009
#define SERVICE_CONTROL_NETBINDDISABLE 0x0000000A
#define SERVICE_CONTROL_DEVICEEVENT 0x0000000B
#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C
#define SERVICE_CONTROL_POWEREVENT 0x0000000D
/* Service State */
#define SERVICE_STOPPED 0x00000001
#define SERVICE_START_PENDING 0x00000002
#define SERVICE_STOP_PENDING 0x00000003
#define SERVICE_RUNNING 0x00000004
#define SERVICE_CONTINUE_PENDING 0x00000005
#define SERVICE_PAUSE_PENDING 0x00000006
#define SERVICE_PAUSED 0x00000007
/* Controls Accepted */
#define SERVICE_ACCEPT_STOP 0x00000001
#define SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002
#define SERVICE_ACCEPT_SHUTDOWN 0x00000004
#define SERVICE_ACCEPT_PARAMCHANGE 0x00000008
#define SERVICE_ACCEPT_NETBINDCHANGE 0x00000010
#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020
#define SERVICE_ACCEPT_POWEREVENT 0x00000040
/* Service Control Manager Object access types */
#define SC_MANAGER_CONNECT 0x0001
#define SC_MANAGER_CREATE_SERVICE 0x0002
#define SC_MANAGER_ENUMERATE_SERVICE 0x0004
#define SC_MANAGER_LOCK 0x0008
#define SC_MANAGER_QUERY_LOCK_STATUS 0x0010
#define SC_MANAGER_MODIFY_BOOT_CONFIG 0x0020
#define SC_MANAGER_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SC_MANAGER_CONNECT | \
SC_MANAGER_CREATE_SERVICE | \
SC_MANAGER_ENUMERATE_SERVICE | \
SC_MANAGER_LOCK | \
SC_MANAGER_QUERY_LOCK_STATUS | \
SC_MANAGER_MODIFY_BOOT_CONFIG )
#define SERVICE_QUERY_CONFIG 0x0001
#define SERVICE_CHANGE_CONFIG 0x0002
#define SERVICE_QUERY_STATUS 0x0004
#define SERVICE_ENUMERATE_DEPENDENTS 0x0008
#define SERVICE_START 0x0010
#define SERVICE_STOP 0x0020
#define SERVICE_PAUSE_CONTINUE 0x0040
#define SERVICE_INTERROGATE 0x0080
#define SERVICE_USER_DEFINED_CONTROL 0x0100
#define SERVICE_ALL_ACCESS ( STANDARD_RIGHTS_REQUIRED | \
SERVICE_QUERY_CONFIG | \
SERVICE_CHANGE_CONFIG | \
SERVICE_QUERY_STATUS | \
SERVICE_ENUMERATE_DEPENDENTS | \
SERVICE_START | \
SERVICE_STOP | \
SERVICE_PAUSE_CONTINUE | \
SERVICE_INTERROGATE | \
SERVICE_USER_DEFINED_CONTROL )
/* Handle types */
typedef HANDLE SC_HANDLE, *LPSC_HANDLE;
DECLARE_HANDLE(SC_HANDLE);
DECLARE_HANDLE(SERVICE_STATUS_HANDLE);
typedef DWORD SERVICE_STATUS_HANDLE;
/* Service status structure */
......@@ -71,9 +143,9 @@ typedef VOID (WINAPI *LPHANDLER_FUNCTION)(DWORD);
BOOL WINAPI CloseServiceHandle(SC_HANDLE);
BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
SC_HANDLE WINAPI CreateServiceA(DWORD,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,
SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,
LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR);
SC_HANDLE WINAPI CreateServiceW(DWORD,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,
SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,
LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
#define CreateService WINELIB_NAME_AW(CreateService)
BOOL WINAPI DeleteService(SC_HANDLE);
......
......@@ -53,9 +53,18 @@ typedef enum tagSTGC
STGC_DEFAULT = 0,
STGC_OVERWRITE = 1,
STGC_ONLYIFCURRENT = 2,
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
STGC_CONSOLIDATE = 8
} STGC;
typedef enum tagSTGMOVE
{
STGMOVE_MOVE = 0,
STGMOVE_COPY = 1,
STGMOVE_SHALLOWCOPY = 2
} STGMOVE;
typedef struct _COAUTHIDENTITY
{
USHORT* User;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment