Made nt-related types compatible, throw out wine-specific types.

oldstable
Juergen Schmied 1999-02-12 13:44:38 +00:00 committed by Alexandre Julliard
parent c95df10ed6
commit cdbdab74bd
7 changed files with 332 additions and 74 deletions

204
include/ntddk.h 100644
View File

@ -0,0 +1,204 @@
/*
this file defines interfaces mainly exposed to device drivers and
native nt dll's
*/
#ifndef __WINE_NTDDK_H
#define __WINE_NTDDK_H
#include <ntdef.h>
/* fixme: put it elsewhere */
typedef long BOOL;
/* end fixme */
/******************
* asynchronous I/O
*/
/* conflict with X11-includes*/
#undef Status
typedef struct _IO_STATUS_BLOCK
{ union
{ NTSTATUS Status;
PVOID Pointer;
} u;
ULONG_PTR Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved );
typedef enum _KEY_INFORMATION_CLASS {
KeyBasicInformation,
KeyNodeInformation,
KeyFullInformation
} KEY_INFORMATION_CLASS;
typedef enum _KEY_VALUE_INFORMATION_CLASS {
KeyValueBasicInformation,
KeyValueFullInformation,
KeyValuePartialInformation,
KeyValueFullInformationAlign64,
KeyValuePartialInformationAlign64
} KEY_VALUE_INFORMATION_CLASS;
typedef enum _PROCESSINFOCLASS
{ ProcessBasicInformation,
ProcessQuotaLimits,
ProcessIoCounters,
ProcessVmCounters,
ProcessTimes,
ProcessBasePriority,
ProcessRaisePriority,
ProcessDebugPort,
ProcessExceptionPort,
ProcessAccessToken,
ProcessLdtInformation,
ProcessLdtSize,
ProcessDefaultHardErrorMode,
ProcessIoPortHandlers,
ProcessPooledUsageAndLimits,
ProcessWorkingSetWatch,
ProcessUserModeIOPL,
ProcessEnableAlignmentFaultFixup,
ProcessPriorityClass,
ProcessWx86Information,
ProcessHandleCount,
ProcessAffinityMask,
ProcessPriorityBoost,
ProcessDeviceMap,
ProcessSessionInformation,
ProcessForegroundInformation,
ProcessWow64Information,
MaxProcessInfoClass
} PROCESSINFOCLASS;
typedef enum _THREADINFOCLASS
{ ThreadBasicInformation,
ThreadTimes,
ThreadPriority,
ThreadBasePriority,
ThreadAffinityMask,
ThreadImpersonationToken,
ThreadDescriptorTableEntry,
ThreadEnableAlignmentFaultFixup,
ThreadEventPair_Reusable,
ThreadQuerySetWin32StartAddress,
ThreadZeroTlsCell,
ThreadPerformanceCount,
ThreadAmILastThread,
ThreadIdealProcessor,
ThreadPriorityBoost,
ThreadSetTlsArrayAddress,
ThreadIsIoPending,
MaxThreadInfoClass
} THREADINFOCLASS;
typedef enum _FILE_INFORMATION_CLASS {
FileDirectoryInformation = 1,
FileFullDirectoryInformation,
FileBothDirectoryInformation,
FileBasicInformation,
FileStandardInformation,
FileInternalInformation,
FileEaInformation,
FileAccessInformation,
FileNameInformation,
FileRenameInformation,
FileLinkInformation,
FileNamesInformation,
FileDispositionInformation,
FilePositionInformation,
FileFullEaInformation,
FileModeInformation,
FileAlignmentInformation,
FileAllInformation,
FileAllocationInformation,
FileEndOfFileInformation,
FileAlternateNameInformation,
FileStreamInformation,
FilePipeInformation,
FilePipeLocalInformation,
FilePipeRemoteInformation,
FileMailslotQueryInformation,
FileMailslotSetInformation,
FileCompressionInformation,
FileObjectIdInformation,
FileCompletionInformation,
FileMoveClusterInformation,
FileQuotaInformation,
FileReparsePointInformation,
FileNetworkOpenInformation,
FileAttributeTagInformation,
FileTrackingInformation,
FileMaximumInformation
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
typedef enum _SECTION_INHERIT
{ ViewShare = 1,
ViewUnmap = 2
} SECTION_INHERIT;
/*
placeholder
*/
typedef enum _OBJECT_INFORMATION_CLASS
{ DunnoTheConstants1
} OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS;
typedef enum SYSTEM_INFORMATION_CLASS
{ DunnoTheConstants2
} SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS;
/*
* NtQuerySystemInformation interface
*/
typedef struct _SYSTEM_TIME_ADJUSTMENT
{
ULONG TimeAdjustment;
BOOL TimeAdjustmentDisabled;
} SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT;
typedef struct _SYSTEM_CONFIGURATION_INFO
{
union
{ ULONG OemId;
struct
{ WORD ProcessorArchitecture;
WORD Reserved;
} tag1;
} tag2;
ULONG PageSize;
PVOID MinimumApplicationAddress;
PVOID MaximumApplicationAddress;
ULONG ActiveProcessorMask;
ULONG NumberOfProcessors;
ULONG ProcessorType;
ULONG AllocationGranularity;
WORD ProcessorLevel;
WORD ProcessorRevision;
} SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO;
typedef struct _SYSTEM_CACHE_INFORMATION
{
ULONG CurrentSize;
ULONG PeakSize;
ULONG PageFaultCount;
ULONG MinimumWorkingSet;
ULONG MaximumWorkingSet;
ULONG Unused[4];
} SYSTEM_CACHE_INFORMATION;
/*
timer
*/
typedef enum _TIMER_TYPE
{ NotificationTimer,
SynchronizationTimer
} TIMER_TYPE;
#endif

53
include/ntdef.h 100644
View File

@ -0,0 +1,53 @@
#ifndef __WINE_NTDEF_H
#define __WINE_NTDEF_H
#define NTAPI __stdcall
/* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
* If they are zero terminated, Length does not include the terminating 0.
*/
typedef struct _STRING {
UINT16 Length;
UINT16 MaximumLength;
LPSTR Buffer;
} STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
typedef struct _CSTRING {
UINT16 Length;
UINT16 MaximumLength;
LPCSTR Buffer;
} CSTRING,*PCSTRING;
typedef struct _UNICODE_STRING {
UINT16 Length; /* bytes */
UINT16 MaximumLength; /* bytes */
LPWSTR Buffer;
} UNICODE_STRING,*PUNICODE_STRING;
/*
Objects
*/
#define OBJ_INHERIT 0x00000002L
#define OBJ_PERMANENT 0x00000010L
#define OBJ_EXCLUSIVE 0x00000020L
#define OBJ_CASE_INSENSITIVE 0x00000040L
#define OBJ_OPENIF 0x00000080L
#define OBJ_OPENLINK 0x00000100L
#define OBJ_KERNEL_HANDLE 0x00000200L
#define OBJ_VALID_ATTRIBUTES 0x000003F2L
typedef struct _OBJECT_ATTRIBUTES
{ ULONG Length;
HANDLE32 RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
} OBJECT_ATTRIBUTES;
typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
#endif

View File

@ -22,7 +22,7 @@ typedef DWORD NTSTATUS;
/* Moved to windows.h
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
*/
/* Moved to windows.h
@ -31,7 +31,7 @@ typedef struct _SID {
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PSID,*LPSID;
} SID,*PSID,*PSID;
*/
#define SID_REVISION (1) /* Current revision */
@ -130,8 +130,8 @@ typedef struct {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
LPSID Owner;
LPSID Group;
PSID Owner;
PSID Group;
LPACL Sacl;
LPACL Dacl;
} SECURITY_DESCRIPTOR,*PSECURITY_DESCRIPTOR,*LPSECURITY_DESCRIPTOR;
@ -146,29 +146,7 @@ typedef enum tagSID_NAME_USE {
SidTypeDeletedAccount,
SidTypeInvalid,
SidTypeUnknown
} SID_NAME_USE,*PSID_NAME_USE,*LPSID_NAME_USE;
/* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
* If they are zero terminated, Length does not include the terminating 0.
*/
typedef struct _STRING {
UINT16 Length;
UINT16 MaximumLength;
LPSTR Buffer;
} STRING,*LPSTRING,ANSI_STRING,*LPANSI_STRING;
typedef struct _CSTRING {
UINT16 Length;
UINT16 MaximumLength;
LPCSTR Buffer;
} CSTRING,*LPCSTRING;
typedef struct _UNICODE_STRING {
UINT16 Length; /* bytes */
UINT16 MaximumLength; /* bytes */
LPWSTR Buffer;
} UNICODE_STRING,*LPUNICODE_STRING;
} SID_NAME_USE,*PSID_NAME_USE;
typedef struct _RTL_RWLOCK {
CRITICAL_SECTION rtlCS;
@ -189,25 +167,25 @@ BYTE WINAPI RtlAcquireResourceShared(LPRTL_RWLOCK, BYTE fWait);
VOID WINAPI RtlReleaseResource(LPRTL_RWLOCK);
VOID WINAPI RtlDumpResource(LPRTL_RWLOCK);
BOOL32 WINAPI IsValidSid(LPSID);
BOOL32 WINAPI EqualSid(LPSID,LPSID);
BOOL32 WINAPI EqualPrefixSid(LPSID,LPSID);
BOOL32 WINAPI IsValidSid(PSID);
BOOL32 WINAPI EqualSid(PSID,PSID);
BOOL32 WINAPI EqualPrefixSid(PSID,PSID);
DWORD WINAPI GetSidLengthRequired(BYTE);
BOOL32 WINAPI AllocateAndInitializeSid(LPSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,
BOOL32 WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,
DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,
DWORD,LPSID*);
VOID* WINAPI FreeSid(LPSID);
DWORD,PSID*);
VOID* WINAPI FreeSid(PSID);
BOOL32 WINAPI InitializeSecurityDescriptor(SECURITY_DESCRIPTOR*,DWORD);
BOOL32 WINAPI InitializeSid(LPSID,LPSID_IDENTIFIER_AUTHORITY,BYTE);
DWORD* WINAPI GetSidSubAuthority(LPSID,DWORD);
BYTE * WINAPI GetSidSubAuthorityCount(LPSID);
DWORD WINAPI GetLengthSid(LPSID);
BOOL32 WINAPI CopySid(DWORD,LPSID,LPSID);
BOOL32 WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
DWORD* WINAPI GetSidSubAuthority(PSID,DWORD);
BYTE * WINAPI GetSidSubAuthorityCount(PSID);
DWORD WINAPI GetLengthSid(PSID);
BOOL32 WINAPI CopySid(DWORD,PSID,PSID);
BOOL32 WINAPI LookupAccountSid32A(LPCSTR,PSID,LPCSTR,LPDWORD,LPCSTR,LPDWORD,
PSID_NAME_USE);
BOOL32 WINAPI LookupAccountSid32W(LPCWSTR,PSID,LPCWSTR,LPDWORD,LPCWSTR,LPDWORD,
PSID_NAME_USE);
LPSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(LPSID);
PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
INT32 WINAPI AccessResource32(HMODULE32,HRSRC32);
#define AccessResource WINELIB_NAME(AccessResource)

View File

@ -171,11 +171,11 @@ typedef struct {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
LPSID Owner;
LPSID Group;
LPACL Sacl;
LPACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *LPSECURITY_DESCRIPTOR;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
typedef DWORD SECURITY_INFORMATION;
@ -1521,7 +1521,7 @@ BOOL32 WINAPI PurgeComm(HANDLE32,DWORD);
DWORD WINAPI QueryDosDevice32A(LPCSTR,LPSTR,DWORD);
DWORD WINAPI QueryDosDevice32W(LPCWSTR,LPWSTR,DWORD);
#define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
BOOL32 WINAPI QueryPerformanceCounter(LPLARGE_INTEGER);
BOOL32 WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
BOOL32 WINAPI ReadConsole32A(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
BOOL32 WINAPI ReadConsole32W(HANDLE32,LPVOID,DWORD,LPDWORD,LPVOID);
#define ReadConsole WINELIB_NAME_AW(ReadConsole)
@ -1663,8 +1663,8 @@ UINT32 WINAPI GetCurrentDirectory32W(UINT32,LPWSTR);
BOOL32 WINAPI GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
BOOL32 WINAPI GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
BOOL32 WINAPI GetDiskFreeSpaceEx32A(LPCSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
BOOL32 WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,LPULARGE_INTEGER,LPULARGE_INTEGER,LPULARGE_INTEGER);
BOOL32 WINAPI GetDiskFreeSpaceEx32A(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
BOOL32 WINAPI GetDiskFreeSpaceEx32W(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
#define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
UINT32 WINAPI GetDriveType32A(LPCSTR);
UINT32 WINAPI GetDriveType32W(LPCWSTR);

View File

@ -5,6 +5,18 @@
#pragma pack(1)
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef OPTIONAL
#define OPTIONAL
#endif
/* FIXME: _MAX_PATH should be defined in stdlib.h and MAX_PATH in windef.h
* and mapiwin.h
*/

View File

@ -317,14 +317,14 @@ typedef struct _EXCEPTION_POINTERS
typedef struct {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PSID,*LPSID;
} SID,*PSID;
#pragma pack(4)
@ -400,15 +400,15 @@ typedef struct _LARGE_INTEGER
{
DWORD LowPart;
LONG HighPart;
} LARGE_INTEGER,*LPLARGE_INTEGER;
} LARGE_INTEGER,*PLARGE_INTEGER;
typedef struct _ULARGE_INTEGER
{
DWORD LowPart;
DWORD HighPart;
} ULARGE_INTEGER,*LPULARGE_INTEGER;
} ULARGE_INTEGER,*PULARGE_INTEGER;
typedef LARGE_INTEGER LUID,*LPLUID; /* locally unique ids */
typedef LARGE_INTEGER LUID,*PLUID; /* locally unique ids */
typedef struct _LUID_AND_ATTRIBUTES {
LUID Luid;
@ -422,7 +422,7 @@ typedef struct _LUID_AND_ATTRIBUTES {
typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
} TOKEN_PRIVILEGES;
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
/*
* TOKEN_OWNER
@ -440,9 +440,8 @@ typedef struct _TOKEN_PRIMARY_GROUP {
PSID PrimaryGroup;
} TOKEN_PRIMARY_GROUP;
/*
* ACL (and PACL LPACL?).
* ACL
*/
typedef struct _ACL {
@ -451,14 +450,14 @@ typedef struct _ACL {
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL, *LPACL;
} ACL, *PACL;
/*
* TOKEN_DEFAULT_DACL
*/
typedef struct _TOKEN_DEFAULT_DACL {
LPACL DefaultDacl;
PACL DefaultDacl;
} TOKEN_DEFAULT_DACL;
/*
@ -508,10 +507,6 @@ typedef struct _TOKEN_STATISTICS {
LUID ModifiedId;
} TOKEN_STATISTICS;
/* I moved the Language IDs to winnls.h (David Lee Lambert) */
/* Access rights */
#define DELETE 0x00010000

View File

@ -14,7 +14,7 @@
#define STANDARD_RIGHTS_READ READ_CONTROL
#endif
#ifndef STANDARD_RIGHTS_WRITE
#define STANDARD_RIGHTS_WRITE READ_CONTROL /* FIXME: hmm? */
#define STANDARD_RIGHTS_WRITE READ_CONTROL /* yes, it's right (js) */
#endif
#ifndef STANDARD_RIGHTS_ALL
#define STANDARD_RIGHTS_ALL 0x001f0000
@ -88,6 +88,28 @@
KEY_CREATE_LINK \
)
/* fixme: move it to basetsd.h */
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
/* end fixme */
/*
* registry provider structs
*/
typedef struct value_entA
{ LPSTR ve_valuename;
DWORD ve_valuelen;
DWORD_PTR ve_valueptr;
DWORD ve_type;
} VALENTA, *PVALENTA;
typedef struct value_entW {
LPWSTR ve_valuename;
DWORD ve_valuelen;
DWORD_PTR ve_valueptr;
DWORD ve_type;
} VALENTW, *PVALENTW;
/* Used by: ControlService */
typedef struct _SERVICE_STATUS {
DWORD dwServiceType;
@ -119,13 +141,13 @@ DWORD WINAPI RegCreateKeyEx32W(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,
LONG WINAPI RegSaveKey32A(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
LONG WINAPI RegSaveKey32W(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
#define RegSaveKey WINELIB_NAME_AW(RegSaveKey)
LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL32 WINAPI CloseServiceHandle(HANDLE32);
BOOL32 WINAPI ControlService(HANDLE32,DWORD,LPSERVICE_STATUS);
BOOL32 WINAPI DeleteService(HANDLE32);
BOOL32 WINAPI DeregisterEventSource(HANDLE32);
BOOL32 WINAPI GetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
BOOL32 WINAPI GetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,DWORD,LPDWORD);
BOOL32 WINAPI GetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
BOOL32 WINAPI GetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
#define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
BOOL32 WINAPI GetUserName32A(LPSTR,LPDWORD);
BOOL32 WINAPI GetUserName32W(LPWSTR,LPDWORD);
@ -139,7 +161,7 @@ DWORD WINAPI RegEnumKeyEx32A(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPSTR,
DWORD WINAPI RegEnumKeyEx32W(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPWSTR,
LPDWORD,LPFILETIME);
#define RegEnumKeyEx WINELIB_NAME_AW(RegEnumKeyEx)
LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR,LPDWORD);
LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,LPDWORD);
LONG WINAPI RegLoadKey32A(HKEY,LPCSTR,LPCSTR);
LONG WINAPI RegLoadKey32W(HKEY,LPCWSTR,LPCWSTR);
#define RegLoadKey WINELIB_NAME_AW(RegLoadKey)
@ -163,8 +185,8 @@ LONG WINAPI RegRestoreKey32W(HKEY,LPCWSTR,DWORD);
LONG WINAPI RegUnLoadKey32A(HKEY,LPCSTR);
LONG WINAPI RegUnLoadKey32W(HKEY,LPCWSTR);
#define RegUnLoadKey WINELIB_NAME_AW(RegUnLoadKey)
BOOL32 WINAPI SetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
BOOL32 WINAPI SetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,LPSECURITY_DESCRIPTOR);
BOOL32 WINAPI SetFileSecurity32A(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL32 WINAPI SetFileSecurity32W(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
#define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
BOOL32 WINAPI StartService32A(HANDLE32,DWORD,LPCSTR*);
BOOL32 WINAPI StartService32W(HANDLE32,DWORD,LPCWSTR*);
@ -206,10 +228,4 @@ DWORD WINAPI RegSetValueEx32A(HKEY,LPSTR,DWORD,DWORD,LPBYTE,DWORD);
DWORD WINAPI RegSetValueEx32W(HKEY,LPWSTR,DWORD,DWORD,LPBYTE,DWORD);
#define RegSetValueEx WINELIB_NAME_AW(RegSetValueEx)
void SHELL_Init(void);
void SHELL_SaveRegistry(void);
void SHELL_LoadRegistry(void);
#endif /* __WINE_WINREG_H */