win64: use new headers from mingw
This commit is contained in:
@ -1,119 +1,149 @@
|
||||
#ifndef _BASETSD_H
|
||||
#define _BASETSD_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _BASETSD_H_
|
||||
#define _BASETSD_H_
|
||||
|
||||
#if (defined(__x86_64) || defined(__ia64__)) && !defined(RC_INVOKED)
|
||||
typedef unsigned __int64 POINTER_64_INT;
|
||||
#else
|
||||
typedef unsigned long POINTER_64_INT;
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifndef __int64
|
||||
#define __int64 long long
|
||||
#endif
|
||||
#endif
|
||||
#define POINTER_32
|
||||
#define POINTER_64
|
||||
#define FIRMWARE_PTR
|
||||
|
||||
#if defined(_WIN64)
|
||||
#define __int3264 __int64
|
||||
#define ADDRESS_TAG_BIT 0x40000000000UI64
|
||||
#else /* !_WIN64 */
|
||||
#define __int3264 __int32
|
||||
#define ADDRESS_TAG_BIT 0x80000000UL
|
||||
#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
|
||||
#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
|
||||
#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h))
|
||||
#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
|
||||
#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
|
||||
#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
|
||||
#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
|
||||
#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
|
||||
#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
|
||||
#define IntToPtr( i ) ((VOID*)(INT_PTR)((int)i))
|
||||
#define UIntToPtr( ui ) ((VOID*)(UINT_PTR)((unsigned int)ui))
|
||||
#define LongToPtr( l ) ((VOID*)(LONG_PTR)((long)l))
|
||||
#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul))
|
||||
#endif /* !_WIN64 */
|
||||
|
||||
#define UlongToPtr(ul) ULongToPtr(ul)
|
||||
#define UintToPtr(ui) UIntToPtr(ui)
|
||||
#define MAXUINT_PTR (~((UINT_PTR)0))
|
||||
#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
|
||||
#define MININT_PTR (~MAXINT_PTR)
|
||||
#define MAXULONG_PTR (~((ULONG_PTR)0))
|
||||
#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
|
||||
#define MINLONG_PTR (~MAXLONG_PTR)
|
||||
#define MAXUHALF_PTR ((UHALF_PTR)~0)
|
||||
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
|
||||
#define MINHALF_PTR (~MAXHALF_PTR)
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
typedef int LONG32, *PLONG32;
|
||||
#ifndef XFree86Server
|
||||
typedef int INT32, *PINT32;
|
||||
#endif /* ndef XFree86Server */
|
||||
typedef unsigned int ULONG32, *PULONG32;
|
||||
typedef unsigned int DWORD32, *PDWORD32;
|
||||
typedef unsigned int UINT32, *PUINT32;
|
||||
|
||||
#if defined(_WIN64)
|
||||
typedef __int64 INT_PTR, *PINT_PTR;
|
||||
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
|
||||
typedef __int64 LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned __int64 HANDLE_PTR;
|
||||
typedef unsigned int UHALF_PTR, *PUHALF_PTR;
|
||||
typedef int HALF_PTR, *PHALF_PTR;
|
||||
typedef signed char INT8,*PINT8;
|
||||
typedef signed short INT16,*PINT16;
|
||||
typedef signed int INT32,*PINT32;
|
||||
typedef signed __int64 INT64,*PINT64;
|
||||
typedef unsigned char UINT8,*PUINT8;
|
||||
typedef unsigned short UINT16,*PUINT16;
|
||||
typedef unsigned int UINT32,*PUINT32;
|
||||
typedef unsigned __int64 UINT64,*PUINT64;
|
||||
typedef signed int LONG32,*PLONG32;
|
||||
typedef unsigned int ULONG32,*PULONG32;
|
||||
typedef unsigned int DWORD32,*PDWORD32;
|
||||
|
||||
#if 0 /* TODO when WIN64 is here */
|
||||
inline unsigned long HandleToUlong(const void* h )
|
||||
{ return((unsigned long) h ); }
|
||||
inline long HandleToLong( const void* h )
|
||||
{ return((long) h ); }
|
||||
inline void* LongToHandle( const long h )
|
||||
{ return((void*) (INT_PTR) h ); }
|
||||
inline unsigned long PtrToUlong( const void* p)
|
||||
{ return((unsigned long) p ); }
|
||||
inline unsigned int PtrToUint( const void* p )
|
||||
{ return((unsigned int) p ); }
|
||||
inline unsigned short PtrToUshort( const void* p )
|
||||
{ return((unsigned short) p ); }
|
||||
inline long PtrToLong( const void* p )
|
||||
{ return((long) p ); }
|
||||
inline int PtrToInt( const void* p )
|
||||
{ return((int) p ); }
|
||||
inline short PtrToShort( const void* p )
|
||||
{ return((short) p ); }
|
||||
inline void* IntToPtr( const int i )
|
||||
{ return( (void*)(INT_PTR)i ); }
|
||||
inline void* UIntToPtr(const unsigned int ui)
|
||||
{ return( (void*)(UINT_PTR)ui ); }
|
||||
inline void* LongToPtr( const long l )
|
||||
{ return( (void*)(LONG_PTR)l ); }
|
||||
inline void* ULongToPtr( const unsigned long ul )
|
||||
{ return( (void*)(ULONG_PTR)ul ); }
|
||||
#endif /* 0_ */
|
||||
#ifndef _W64
|
||||
#define _W64
|
||||
#endif
|
||||
|
||||
#else /* !_WIN64 */
|
||||
typedef int INT_PTR, *PINT_PTR;
|
||||
typedef unsigned int UINT_PTR, *PUINT_PTR;
|
||||
typedef long LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned short UHALF_PTR, *PUHALF_PTR;
|
||||
typedef short HALF_PTR, *PHALF_PTR;
|
||||
typedef unsigned long HANDLE_PTR;
|
||||
#endif /* !_WIN64 */
|
||||
#ifdef _WIN64
|
||||
typedef __int64 INT_PTR,*PINT_PTR;
|
||||
typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
|
||||
typedef __int64 LONG_PTR,*PLONG_PTR;
|
||||
typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
|
||||
#define __int3264 __int64
|
||||
#else
|
||||
typedef int INT_PTR,*PINT_PTR;
|
||||
typedef unsigned int UINT_PTR,*PUINT_PTR;
|
||||
typedef long LONG_PTR,*PLONG_PTR;
|
||||
typedef unsigned long ULONG_PTR,*PULONG_PTR;
|
||||
#define __int3264 __int32
|
||||
#endif
|
||||
|
||||
#ifdef _WIN64
|
||||
#define ADDRESS_TAG_BIT 0x40000000000ULL
|
||||
typedef __int64 SHANDLE_PTR;
|
||||
typedef unsigned __int64 HANDLE_PTR;
|
||||
typedef unsigned int UHALF_PTR,*PUHALF_PTR;
|
||||
typedef int HALF_PTR,*PHALF_PTR;
|
||||
|
||||
static __inline unsigned long HandleToULong(const void *h) { return((unsigned long) (ULONG_PTR) h); }
|
||||
static __inline long HandleToLong(const void *h) { return((long) (LONG_PTR) h); }
|
||||
static __inline void *ULongToHandle(const unsigned long h) { return((void *) (UINT_PTR) h); }
|
||||
static __inline void *LongToHandle(const long h) { return((void *) (INT_PTR) h); }
|
||||
static __inline unsigned long PtrToUlong(const void *p) { return((unsigned long) (ULONG_PTR) p); }
|
||||
static __inline unsigned int PtrToUint(const void *p) { return((unsigned int) (UINT_PTR) p); }
|
||||
static __inline unsigned short PtrToUshort(const void *p) { return((unsigned short) (unsigned long) (ULONG_PTR) p); }
|
||||
static __inline long PtrToLong(const void *p) { return((long) (LONG_PTR) p); }
|
||||
static __inline int PtrToInt(const void *p) { return((int) (INT_PTR) p); }
|
||||
static __inline short PtrToShort(const void *p) { return((short) (long) (LONG_PTR) p); }
|
||||
static __inline void *IntToPtr(const int i) { return((void *)(INT_PTR)i); }
|
||||
static __inline void *UIntToPtr(const unsigned int ui) { return((void *)(UINT_PTR)ui); }
|
||||
static __inline void *LongToPtr(const long l) { return((void *)(LONG_PTR)l); }
|
||||
static __inline void *ULongToPtr(const unsigned long ul) { return((void *)(ULONG_PTR)ul); }
|
||||
|
||||
#define PtrToPtr64(p) ((void *) p)
|
||||
#define Ptr64ToPtr(p) ((void *) p)
|
||||
#define HandleToHandle64(h) (PtrToPtr64(h))
|
||||
#define Handle64ToHandle(h) (Ptr64ToPtr(h))
|
||||
|
||||
static __inline void *Ptr32ToPtr(const void *p) { return (void *)p; }
|
||||
static __inline void *Handle32ToHandle(const void *h) { return((void *) h); }
|
||||
static __inline void *PtrToPtr32(const void *p) { return((void *) (ULONG_PTR) p); }
|
||||
|
||||
#define HandleToHandle32(h) (PtrToPtr32(h))
|
||||
#else
|
||||
|
||||
#define ADDRESS_TAG_BIT 0x80000000UL
|
||||
|
||||
typedef unsigned short UHALF_PTR,*PUHALF_PTR;
|
||||
typedef short HALF_PTR,*PHALF_PTR;
|
||||
typedef long SHANDLE_PTR;
|
||||
typedef unsigned long HANDLE_PTR;
|
||||
|
||||
#define HandleToULong(h) ((ULONG)(ULONG_PTR)(h))
|
||||
#define HandleToLong(h) ((LONG)(LONG_PTR) (h))
|
||||
#define ULongToHandle(ul) ((HANDLE)(ULONG_PTR) (ul))
|
||||
#define LongToHandle(h) ((HANDLE)(LONG_PTR) (h))
|
||||
#define PtrToUlong(p) ((ULONG)(ULONG_PTR) (p))
|
||||
#define PtrToLong(p) ((LONG)(LONG_PTR) (p))
|
||||
#define PtrToUint(p) ((UINT)(UINT_PTR) (p))
|
||||
#define PtrToInt(p) ((INT)(INT_PTR) (p))
|
||||
#define PtrToUshort(p) ((unsigned short)(ULONG_PTR)(p))
|
||||
#define PtrToShort(p) ((short)(LONG_PTR)(p))
|
||||
#define IntToPtr(i) ((VOID *)(INT_PTR)((int)i))
|
||||
#define UIntToPtr(ui) ((VOID *)(UINT_PTR)((unsigned int)ui))
|
||||
#define LongToPtr(l) ((VOID *)(LONG_PTR)((long)l))
|
||||
#define ULongToPtr(ul) ((VOID *)(ULONG_PTR)((unsigned long)ul))
|
||||
|
||||
static __inline void *PtrToPtr64(const void *p) { return((void *) (ULONG_PTR)p); }
|
||||
static __inline void *Ptr64ToPtr(const void *p) { return((void *) (ULONG_PTR) p); }
|
||||
static __inline void *HandleToHandle64(const void *h) { return((void *) h); }
|
||||
static __inline void *Handle64ToHandle(const void *h) { return((void *) (ULONG_PTR) h); }
|
||||
|
||||
#define Ptr32ToPtr(p) ((void *) p)
|
||||
#define Handle32ToHandle(h) (Ptr32ToPtr(h))
|
||||
#define PtrToPtr32(p) ((void *) p)
|
||||
#define HandleToHandle32(h) (PtrToPtr32(h))
|
||||
#endif
|
||||
|
||||
#define HandleToUlong(h) HandleToULong(h)
|
||||
#define UlongToHandle(ul) ULongToHandle(ul)
|
||||
#define UlongToPtr(ul) ULongToPtr(ul)
|
||||
#define UintToPtr(ui) UIntToPtr(ui)
|
||||
|
||||
#define MAXUINT_PTR (~((UINT_PTR)0))
|
||||
#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
|
||||
#define MININT_PTR (~MAXINT_PTR)
|
||||
|
||||
#define MAXULONG_PTR (~((ULONG_PTR)0))
|
||||
#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
|
||||
#define MINLONG_PTR (~MAXLONG_PTR)
|
||||
|
||||
#define MAXUHALF_PTR ((UHALF_PTR)~0)
|
||||
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
|
||||
#define MINHALF_PTR (~MAXHALF_PTR)
|
||||
|
||||
typedef ULONG_PTR SIZE_T,*PSIZE_T;
|
||||
typedef LONG_PTR SSIZE_T,*PSSIZE_T;
|
||||
typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
|
||||
typedef __int64 LONG64,*PLONG64;
|
||||
typedef unsigned __int64 ULONG64,*PULONG64;
|
||||
typedef unsigned __int64 DWORD64,*PDWORD64;
|
||||
typedef ULONG_PTR KAFFINITY;
|
||||
typedef KAFFINITY *PKAFFINITY;
|
||||
|
||||
typedef ULONG_PTR SIZE_T, *PSIZE_T;
|
||||
typedef LONG_PTR SSIZE_T, *PSSIZE_T;
|
||||
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
||||
typedef __int64 LONG64, *PLONG64;
|
||||
typedef __int64 INT64, *PINT64;
|
||||
typedef unsigned __int64 ULONG64, *PULONG64;
|
||||
typedef unsigned __int64 DWORD64, *PDWORD64;
|
||||
typedef unsigned __int64 UINT64, *PUINT64;
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* !RC_INVOKED */
|
||||
|
||||
#endif /* _BASETSD_H */
|
||||
#endif
|
||||
|
||||
@ -1,144 +1,85 @@
|
||||
#ifndef _BASETYPS_H
|
||||
#define _BASETYPS_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !defined(_BASETYPS_H_)
|
||||
#define _BASETYPS_H_
|
||||
|
||||
#ifndef __OBJC__
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif /* __cplusplus */
|
||||
#define STDMETHODCALLTYPE __stdcall
|
||||
#define STDMETHODVCALLTYPE __cdecl
|
||||
#define STDAPICALLTYPE __stdcall
|
||||
#define STDAPIVCALLTYPE __cdecl
|
||||
#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
|
||||
#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE
|
||||
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
|
||||
#define STDMETHODIMP_(t) t STDMETHODCALLTYPE
|
||||
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||
#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
|
||||
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||
#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
|
||||
#define interface struct
|
||||
#endif
|
||||
|
||||
#define STDMETHODCALLTYPE WINAPI
|
||||
#define STDMETHODVCALLTYPE __cdecl
|
||||
|
||||
#define STDAPICALLTYPE WINAPI
|
||||
#define STDAPIVCALLTYPE __cdecl
|
||||
|
||||
#define STDAPI EXTERN_C HRESULT WINAPI
|
||||
#define STDAPI_(type) EXTERN_C type WINAPI
|
||||
|
||||
#define STDMETHODIMP HRESULT WINAPI
|
||||
#define STDMETHODIMP_(type) type WINAPI
|
||||
|
||||
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
|
||||
|
||||
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||
#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
#define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m
|
||||
#define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m
|
||||
#define PURE =0
|
||||
|
||||
#define __STRUCT__ struct
|
||||
#define STDMETHOD(method) virtual HRESULT WINAPI method
|
||||
#define STDMETHOD_(type,method) virtual type WINAPI method
|
||||
#define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
|
||||
#define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
|
||||
#define PURE = 0
|
||||
#define THIS_
|
||||
#define THIS void
|
||||
/*
|
||||
__attribute__((com_interface)) is obsolete in __GNUC__ >= 3
|
||||
g++ vtables are now COM-compatible by default
|
||||
*/
|
||||
#if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
|
||||
#define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i
|
||||
#define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b
|
||||
#define THIS void
|
||||
#define DECLARE_INTERFACE(iface) __STRUCT__ iface
|
||||
#define DECLARE_INTERFACE_(iface,baseiface) __STRUCT__ iface : public baseiface
|
||||
#else
|
||||
#define DECLARE_INTERFACE(i) interface i
|
||||
#define DECLARE_INTERFACE_(i,b) interface i : public b
|
||||
|
||||
#ifndef __OBJC__
|
||||
#define interface struct
|
||||
#endif
|
||||
#else
|
||||
#define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m)
|
||||
#define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m)
|
||||
|
||||
#define STDMETHOD(method) HRESULT (WINAPI *method)
|
||||
#define STDMETHOD_(type,method) type (WINAPI *method)
|
||||
#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
|
||||
#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
|
||||
|
||||
#define PURE
|
||||
#define THIS_ INTERFACE *,
|
||||
#define THIS INTERFACE *
|
||||
#ifndef CONST_VTABLE
|
||||
#define CONST_VTABLE
|
||||
#endif
|
||||
#define DECLARE_INTERFACE(i) \
|
||||
typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
|
||||
typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
|
||||
CONST_VTABLE struct i##Vtbl
|
||||
#define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
|
||||
#endif
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
|
||||
#define FWD_DECL(i) typedef interface i i
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
#define IENUM_THIS(T)
|
||||
#define IENUM_THIS_(T)
|
||||
#define THIS_ INTERFACE *This,
|
||||
#define THIS INTERFACE *This
|
||||
#ifdef CONST_VTABLE
|
||||
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
||||
const struct iface##Vtbl *lpVtbl; } iface; \
|
||||
typedef const struct iface##Vtbl iface##Vtbl; \
|
||||
const struct iface##Vtbl
|
||||
#else
|
||||
#define IENUM_THIS(T) T*
|
||||
#define IENUM_THIS_(T) T*,
|
||||
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
||||
struct iface##Vtbl *lpVtbl; \
|
||||
} iface; \
|
||||
typedef struct iface##Vtbl iface##Vtbl; \
|
||||
struct iface##Vtbl
|
||||
#endif
|
||||
#define DECLARE_INTERFACE_(iface,baseiface) DECLARE_INTERFACE(iface)
|
||||
#endif
|
||||
#define DECLARE_ENUMERATOR_(I,T) \
|
||||
DECLARE_INTERFACE_(I,IUnknown) \
|
||||
{ \
|
||||
STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \
|
||||
STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \
|
||||
STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \
|
||||
STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
|
||||
}
|
||||
#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
|
||||
|
||||
#endif /* __OBJC__ */
|
||||
#include <guiddef.h>
|
||||
|
||||
#ifndef _GUID_DEFINED /* also defined in winnt.h */
|
||||
#define _GUID_DEFINED
|
||||
typedef struct _GUID
|
||||
{
|
||||
unsigned long Data1;
|
||||
unsigned short Data2;
|
||||
unsigned short Data3;
|
||||
unsigned char Data4[8];
|
||||
} GUID,*REFGUID,*LPGUID;
|
||||
#endif /* _GUID_DEFINED */
|
||||
#ifndef UUID_DEFINED
|
||||
#define UUID_DEFINED
|
||||
typedef GUID UUID;
|
||||
#endif /* UUID_DEFINED */
|
||||
typedef GUID IID;
|
||||
typedef GUID CLSID;
|
||||
typedef CLSID *LPCLSID;
|
||||
typedef IID *LPIID;
|
||||
typedef IID *REFIID;
|
||||
typedef CLSID *REFCLSID;
|
||||
typedef GUID FMTID;
|
||||
typedef FMTID *REFFMTID;
|
||||
#ifndef _ERROR_STATUS_T_DEFINED
|
||||
#define _ERROR_STATUS_T_DEFINED
|
||||
typedef unsigned long error_status_t;
|
||||
#define uuid_t UUID
|
||||
typedef unsigned long PROPID;
|
||||
#endif
|
||||
|
||||
#ifndef _REFGUID_DEFINED
|
||||
#if defined (__cplusplus) && !defined (CINTERFACE)
|
||||
#define REFGUID const GUID&
|
||||
#define REFIID const IID&
|
||||
#define REFCLSID const CLSID&
|
||||
#else
|
||||
#define REFGUID const GUID* const
|
||||
#define REFIID const IID* const
|
||||
#define REFCLSID const CLSID* const
|
||||
#endif
|
||||
#define _REFGUID_DEFINED
|
||||
#define _REFGIID_DEFINED
|
||||
#define _REFCLSID_DEFINED
|
||||
#endif
|
||||
#ifndef GUID_SECTION
|
||||
#define GUID_SECTION ".text"
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#define GUID_SECT __attribute__ ((section (GUID_SECTION)))
|
||||
#else
|
||||
#define GUID_SECT
|
||||
#endif
|
||||
#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus))
|
||||
#define GUID_EXT EXTERN_C
|
||||
#else
|
||||
#define GUID_EXT
|
||||
#endif
|
||||
#ifdef INITGUID
|
||||
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
|
||||
#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
#else
|
||||
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
|
||||
#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
#ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
#define _WCHAR_T_DEFINED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
151
win32/include/winapi/guiddef.h
Normal file
151
win32/include/winapi/guiddef.h
Normal file
@ -0,0 +1,151 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef GUID_DEFINED
|
||||
#define GUID_DEFINED
|
||||
typedef struct _GUID {
|
||||
unsigned long Data1;
|
||||
unsigned short Data2;
|
||||
unsigned short Data3;
|
||||
unsigned char Data4[8 ];
|
||||
} GUID;
|
||||
#endif
|
||||
|
||||
#ifndef FAR
|
||||
#define FAR
|
||||
#endif
|
||||
|
||||
#ifndef DECLSPEC_SELECTANY
|
||||
#define DECLSPEC_SELECTANY __declspec(selectany)
|
||||
#endif
|
||||
|
||||
#ifndef EXTERN_C
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEFINE_GUID
|
||||
#undef DEFINE_GUID
|
||||
#endif
|
||||
|
||||
#ifdef INITGUID
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
||||
#else
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
||||
#endif
|
||||
#else
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID name
|
||||
#endif
|
||||
|
||||
#define DEFINE_OLEGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
|
||||
#ifndef _GUIDDEF_H_
|
||||
#define _GUIDDEF_H_
|
||||
|
||||
#ifndef __LPGUID_DEFINED__
|
||||
#define __LPGUID_DEFINED__
|
||||
typedef GUID *LPGUID;
|
||||
#endif
|
||||
|
||||
#ifndef __LPCGUID_DEFINED__
|
||||
#define __LPCGUID_DEFINED__
|
||||
typedef const GUID *LPCGUID;
|
||||
#endif
|
||||
|
||||
#ifndef __IID_DEFINED__
|
||||
#define __IID_DEFINED__
|
||||
|
||||
typedef GUID IID;
|
||||
typedef IID *LPIID;
|
||||
#define IID_NULL GUID_NULL
|
||||
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
||||
typedef GUID CLSID;
|
||||
typedef CLSID *LPCLSID;
|
||||
#define CLSID_NULL GUID_NULL
|
||||
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
||||
typedef GUID FMTID;
|
||||
typedef FMTID *LPFMTID;
|
||||
#define FMTID_NULL GUID_NULL
|
||||
#define IsEqualFMTID(rfmtid1,rfmtid2) IsEqualGUID(rfmtid1,rfmtid2)
|
||||
|
||||
#ifdef __midl_proxy
|
||||
#define __MIDL_CONST
|
||||
#else
|
||||
#define __MIDL_CONST const
|
||||
#endif
|
||||
|
||||
#ifndef _REFGUID_DEFINED
|
||||
#define _REFGUID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFGUID const GUID &
|
||||
#else
|
||||
#define REFGUID const GUID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFIID_DEFINED
|
||||
#define _REFIID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFIID const IID &
|
||||
#else
|
||||
#define REFIID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFCLSID_DEFINED
|
||||
#define _REFCLSID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFCLSID const IID &
|
||||
#else
|
||||
#define REFCLSID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFFMTID_DEFINED
|
||||
#define _REFFMTID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFFMTID const IID &
|
||||
#else
|
||||
#define REFFMTID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _SYS_GUID_OPERATORS_
|
||||
#define _SYS_GUID_OPERATORS_
|
||||
#include <string.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
__inline int InlineIsEqualGUID(REFGUID rguid1,REFGUID rguid2) {
|
||||
return (((unsigned long *) &rguid1)[0]==((unsigned long *) &rguid2)[0] && ((unsigned long *) &rguid1)[1]==((unsigned long *) &rguid2)[1] &&
|
||||
((unsigned long *) &rguid1)[2]==((unsigned long *) &rguid2)[2] && ((unsigned long *) &rguid1)[3]==((unsigned long *) &rguid2)[3]);
|
||||
}
|
||||
__inline int IsEqualGUID(REFGUID rguid1,REFGUID rguid2) { return !memcmp(&rguid1,&rguid2,sizeof(GUID)); }
|
||||
#else
|
||||
#define InlineIsEqualGUID(rguid1,rguid2) (((unsigned long *) rguid1)[0]==((unsigned long *) rguid2)[0] && ((unsigned long *) rguid1)[1]==((unsigned long *) rguid2)[1] && ((unsigned long *) rguid1)[2]==((unsigned long *) rguid2)[2] && ((unsigned long *) rguid1)[3]==((unsigned long *) rguid2)[3])
|
||||
#define IsEqualGUID(rguid1,rguid2) (!memcmp(rguid1,rguid2,sizeof(GUID)))
|
||||
#endif
|
||||
|
||||
#ifdef __INLINE_ISEQUAL_GUID
|
||||
#undef IsEqualGUID
|
||||
#define IsEqualGUID(rguid1,rguid2) InlineIsEqualGUID(rguid1,rguid2)
|
||||
#endif
|
||||
|
||||
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
||||
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
||||
|
||||
#if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
|
||||
#define _SYS_GUID_OPERATOR_EQ_
|
||||
#ifdef __cplusplus
|
||||
__inline int operator==(REFGUID guidOne,REFGUID guidOther) { return IsEqualGUID(guidOne,guidOther); }
|
||||
__inline int operator!=(REFGUID guidOne,REFGUID guidOther) { return !(guidOne==guidOther); }
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
11
win32/include/winapi/intrin.h
Normal file
11
win32/include/winapi/intrin.h
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef __INTRIN_H_
|
||||
#define __INTRIN_H_
|
||||
|
||||
//!__TINYC__: intrinsic stuff removed
|
||||
|
||||
#endif /* end __INTRIN_H_ */
|
||||
8
win32/include/winapi/poppack.h
Normal file
8
win32/include/winapi/poppack.h
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
8
win32/include/winapi/pshpack1.h
Normal file
8
win32/include/winapi/pshpack1.h
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,1)
|
||||
#endif
|
||||
8
win32/include/winapi/pshpack2.h
Normal file
8
win32/include/winapi/pshpack2.h
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,2)
|
||||
#endif
|
||||
8
win32/include/winapi/pshpack4.h
Normal file
8
win32/include/winapi/pshpack4.h
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,4)
|
||||
#endif
|
||||
8
win32/include/winapi/pshpack8.h
Normal file
8
win32/include/winapi/pshpack8.h
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,8)
|
||||
#endif
|
||||
80
win32/include/winapi/reason.h
Normal file
80
win32/include/winapi/reason.h
Normal file
@ -0,0 +1,80 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !defined SENTINEL_Reason
|
||||
#define SENTINEL_Reason
|
||||
|
||||
#define SHTDN_REASON_FLAG_COMMENT_REQUIRED 0x01000000
|
||||
#define SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED 0x02000000
|
||||
#define SHTDN_REASON_FLAG_CLEAN_UI 0x04000000
|
||||
#define SHTDN_REASON_FLAG_DIRTY_UI 0x08000000
|
||||
#define SHTDN_REASON_FLAG_USER_DEFINED 0x40000000
|
||||
#define SHTDN_REASON_FLAG_PLANNED 0x80000000
|
||||
#define SHTDN_REASON_MAJOR_OTHER 0x00000000
|
||||
#define SHTDN_REASON_MAJOR_NONE 0x00000000
|
||||
#define SHTDN_REASON_MAJOR_HARDWARE 0x00010000
|
||||
#define SHTDN_REASON_MAJOR_OPERATINGSYSTEM 0x00020000
|
||||
#define SHTDN_REASON_MAJOR_SOFTWARE 0x00030000
|
||||
#define SHTDN_REASON_MAJOR_APPLICATION 0x00040000
|
||||
#define SHTDN_REASON_MAJOR_SYSTEM 0x00050000
|
||||
#define SHTDN_REASON_MAJOR_POWER 0x00060000
|
||||
#define SHTDN_REASON_MAJOR_LEGACY_API 0x00070000
|
||||
#define SHTDN_REASON_MINOR_OTHER 0x00000000
|
||||
#define SHTDN_REASON_MINOR_NONE 0x000000ff
|
||||
#define SHTDN_REASON_MINOR_MAINTENANCE 0x00000001
|
||||
#define SHTDN_REASON_MINOR_INSTALLATION 0x00000002
|
||||
#define SHTDN_REASON_MINOR_UPGRADE 0x00000003
|
||||
#define SHTDN_REASON_MINOR_RECONFIG 0x00000004
|
||||
#define SHTDN_REASON_MINOR_HUNG 0x00000005
|
||||
#define SHTDN_REASON_MINOR_UNSTABLE 0x00000006
|
||||
#define SHTDN_REASON_MINOR_DISK 0x00000007
|
||||
#define SHTDN_REASON_MINOR_PROCESSOR 0x00000008
|
||||
#define SHTDN_REASON_MINOR_NETWORKCARD 0x00000009
|
||||
#define SHTDN_REASON_MINOR_POWER_SUPPLY 0x0000000a
|
||||
#define SHTDN_REASON_MINOR_CORDUNPLUGGED 0x0000000b
|
||||
#define SHTDN_REASON_MINOR_ENVIRONMENT 0x0000000c
|
||||
#define SHTDN_REASON_MINOR_HARDWARE_DRIVER 0x0000000d
|
||||
#define SHTDN_REASON_MINOR_OTHERDRIVER 0x0000000e
|
||||
#define SHTDN_REASON_MINOR_BLUESCREEN 0x0000000F
|
||||
#define SHTDN_REASON_MINOR_SERVICEPACK 0x00000010
|
||||
#define SHTDN_REASON_MINOR_HOTFIX 0x00000011
|
||||
#define SHTDN_REASON_MINOR_SECURITYFIX 0x00000012
|
||||
#define SHTDN_REASON_MINOR_SECURITY 0x00000013
|
||||
#define SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000014
|
||||
#define SHTDN_REASON_MINOR_WMI 0x00000015
|
||||
#define SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000016
|
||||
#define SHTDN_REASON_MINOR_HOTFIX_UNINSTALL 0x00000017
|
||||
#define SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000018
|
||||
#define SHTDN_REASON_MINOR_MMC 0x00000019
|
||||
#define SHTDN_REASON_MINOR_SYSTEMRESTORE 0x0000001a
|
||||
#define SHTDN_REASON_MINOR_TERMSRV 0x00000020
|
||||
#define SHTDN_REASON_MINOR_DC_PROMOTION 0x00000021
|
||||
#define SHTDN_REASON_MINOR_DC_DEMOTION 0x00000022
|
||||
#define SHTDN_REASON_UNKNOWN SHTDN_REASON_MINOR_NONE
|
||||
#define SHTDN_REASON_LEGACY_API (SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED)
|
||||
#define SHTDN_REASON_VALID_BIT_MASK 0xc0ffffff
|
||||
|
||||
#define PCLEANUI (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI)
|
||||
#define UCLEANUI (SHTDN_REASON_FLAG_CLEAN_UI)
|
||||
#define PDIRTYUI (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_DIRTY_UI)
|
||||
#define UDIRTYUI (SHTDN_REASON_FLAG_DIRTY_UI)
|
||||
|
||||
#define MAX_REASON_NAME_LEN 64
|
||||
#define MAX_REASON_DESC_LEN 256
|
||||
#define MAX_REASON_BUGID_LEN 32
|
||||
#define MAX_REASON_COMMENT_LEN 512
|
||||
#define SHUTDOWN_TYPE_LEN 32
|
||||
|
||||
#define POLICY_SHOWREASONUI_NEVER 0
|
||||
#define POLICY_SHOWREASONUI_ALWAYS 1
|
||||
#define POLICY_SHOWREASONUI_WORKSTATIONONLY 2
|
||||
#define POLICY_SHOWREASONUI_SERVERONLY 3
|
||||
|
||||
#define SNAPSHOT_POLICY_NEVER 0
|
||||
#define SNAPSHOT_POLICY_ALWAYS 1
|
||||
#define SNAPSHOT_POLICY_UNPLANNED 2
|
||||
|
||||
#define MAX_NUM_REASONS 256
|
||||
#endif
|
||||
7
win32/include/winapi/specstrings.h
Normal file
7
win32/include/winapi/specstrings.h
Normal file
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
|
||||
#define __specstrings
|
||||
154
win32/include/winapi/stralign.h
Normal file
154
win32/include/winapi/stralign.h
Normal file
@ -0,0 +1,154 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef __STRALIGN_H_
|
||||
#define __STRALIGN_H_
|
||||
|
||||
#ifndef _STRALIGN_USE_SECURE_CRT
|
||||
#define _STRALIGN_USE_SECURE_CRT 0
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(I_X86_)
|
||||
#define WSTR_ALIGNED(s) TRUE
|
||||
#define ua_CharUpperW CharUpperW
|
||||
#define ua_lstrcmpiW lstrcmpiW
|
||||
#define ua_lstrcmpW lstrcmpW
|
||||
#define ua_lstrlenW lstrlenW
|
||||
#define ua_wcschr wcschr
|
||||
#define ua_wcsicmp wcsicmp
|
||||
#define ua_wcslen wcslen
|
||||
#define ua_wcsrchr wcsrchr
|
||||
static __inline PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source) { return wcscpy(Destination,Source); }
|
||||
#else
|
||||
#define WSTR_ALIGNED(s) (((DWORD_PTR)(s) & (sizeof(WCHAR)-1))==0)
|
||||
|
||||
LPUWSTR WINAPI uaw_CharUpperW(LPUWSTR String);
|
||||
int WINAPI uaw_lstrcmpW(PCUWSTR String1,PCUWSTR String2);
|
||||
int WINAPI uaw_lstrcmpiW(PCUWSTR String1,PCUWSTR String2);
|
||||
int WINAPI uaw_lstrlenW(LPCUWSTR String);
|
||||
PUWSTR __cdecl uaw_wcschr(PCUWSTR String,WCHAR Character);
|
||||
PUWSTR __cdecl uaw_wcscpy(PUWSTR Destination,PCUWSTR Source);
|
||||
int __cdecl uaw_wcsicmp(PCUWSTR String1,PCUWSTR String2);
|
||||
size_t __cdecl uaw_wcslen(PCUWSTR String);
|
||||
PUWSTR __cdecl uaw_wcsrchr(PCUWSTR String,WCHAR Character);
|
||||
#ifdef CharUpper
|
||||
static __inline LPUWSTR ua_CharUpperW(LPUWSTR String) {
|
||||
if(WSTR_ALIGNED(String)) return CharUpperW((PWSTR)String);
|
||||
return uaw_CharUpperW(String);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef lstrcmp
|
||||
static __inline int ua_lstrcmpW(LPCUWSTR String1,LPCUWSTR String2) {
|
||||
if(WSTR_ALIGNED(String1) && WSTR_ALIGNED(String2)) return lstrcmpW((LPCWSTR)String1,(LPCWSTR)String2);
|
||||
return uaw_lstrcmpW(String1,String2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef lstrcmpi
|
||||
static __inline int ua_lstrcmpiW(LPCUWSTR String1,LPCUWSTR String2) {
|
||||
if(WSTR_ALIGNED(String1) && WSTR_ALIGNED(String2)) return lstrcmpiW((LPCWSTR)String1,(LPCWSTR)String2);
|
||||
return uaw_lstrcmpiW(String1,String2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef lstrlen
|
||||
static __inline int ua_lstrlenW(LPCUWSTR String) {
|
||||
if(WSTR_ALIGNED(String)) return lstrlenW((PCWSTR)String);
|
||||
return uaw_lstrlenW(String);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(_WSTRING_DEFINED)
|
||||
#ifdef _WConst_return
|
||||
typedef _WConst_return WCHAR UNALIGNED *PUWSTR_C;
|
||||
#else
|
||||
typedef WCHAR UNALIGNED *PUWSTR_C;
|
||||
#endif
|
||||
static __inline PUWSTR_C ua_wcschr(PCUWSTR String,WCHAR Character) {
|
||||
if(WSTR_ALIGNED(String)) return wcschr((PCWSTR)String,Character);
|
||||
return (PUWSTR_C)uaw_wcschr(String,Character);
|
||||
}
|
||||
static __inline PUWSTR_C ua_wcsrchr(PCUWSTR String,WCHAR Character) {
|
||||
if(WSTR_ALIGNED(String)) return wcsrchr((PCWSTR)String,Character);
|
||||
return (PUWSTR_C)uaw_wcsrchr(String,Character);
|
||||
}
|
||||
#if defined(__cplusplus) && defined(_WConst_Return)
|
||||
static __inline PUWSTR ua_wcschr(PUWSTR String,WCHAR Character) {
|
||||
if(WSTR_ALIGNED(String)) return wcscpy((PWSTR)Destination,(PCWSTR)Source);
|
||||
return uaw_wcscpy(Destination,Source);
|
||||
}
|
||||
static __inline PUWSTR ua_wcsrchr(PUWSTR String,WCHAR Character) {
|
||||
if(WSTR_ALIGNED(String)) return wcsrchr(String,Character);
|
||||
return uaw_wcsrchr((PCUWSTR)String,Character);
|
||||
}
|
||||
#endif
|
||||
|
||||
static __inline PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source) {
|
||||
if(WSTR_ALIGNED(Source) && WSTR_ALIGNED(Destination)) return wcscpy((PWSTR)Destination,(PCWSTR)Source);
|
||||
return uaw_wcscpy(Destination,Source);
|
||||
}
|
||||
static __inline size_t ua_wcslen(PCUWSTR String) {
|
||||
if(WSTR_ALIGNED(String)) return wcslen((PCWSTR)String);
|
||||
return uaw_wcslen(String);
|
||||
}
|
||||
#endif
|
||||
|
||||
static __inline int ua_wcsicmp(LPCUWSTR String1,LPCUWSTR String2) {
|
||||
if(WSTR_ALIGNED(String1) && WSTR_ALIGNED(String2)) return _wcsicmp((LPCWSTR)String1,(LPCWSTR)String2);
|
||||
return uaw_wcsicmp(String1,String2);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef __UA_WCSLEN
|
||||
#define __UA_WCSLEN ua_wcslen
|
||||
#endif
|
||||
|
||||
#define __UA_WSTRSIZE(s) ((__UA_WCSLEN(s)+1)*sizeof(WCHAR))
|
||||
#define __UA_STACKCOPY(p,s) memcpy(_alloca(s),p,s)
|
||||
|
||||
#ifdef I_X86_
|
||||
#define WSTR_ALIGNED_STACK_COPY(d,s) (*(d) = (PCWSTR)(s))
|
||||
#else
|
||||
#define WSTR_ALIGNED_STACK_COPY(d,s) { PCUWSTR __ua_src; ULONG __ua_size; PWSTR __ua_dst; __ua_src = (s); if(WSTR_ALIGNED(__ua_src)) { __ua_dst = (PWSTR)__ua_src; } else { __ua_size = __UA_WSTRSIZE(__ua_src); __ua_dst = (PWSTR)_alloca(__ua_size); memcpy(__ua_dst,__ua_src,__ua_size); } *(d) = (PCWSTR)__ua_dst; }
|
||||
#endif
|
||||
|
||||
#define ASTR_ALIGNED_STACK_COPY(d,s) (*(d) = (PCSTR)(s))
|
||||
|
||||
#ifndef I_X86_
|
||||
#define __UA_STRUC_ALIGNED(t,s) (((DWORD_PTR)(s) & (TYPE_ALIGNMENT(t)-1))==0)
|
||||
#define STRUC_ALIGNED_STACK_COPY(t,s) __UA_STRUC_ALIGNED(t,s) ? ((t const *)(s)) : ((t const *)__UA_STACKCOPY((s),sizeof(t)))
|
||||
#else
|
||||
#define STRUC_ALIGNED_STACK_COPY(t,s) ((CONST t *)(s))
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define TSTR_ALIGNED_STACK_COPY(d,s) WSTR_ALIGNED_STACK_COPY(d,s)
|
||||
#define TSTR_ALIGNED(x) WSTR_ALIGNED(x)
|
||||
#define ua_CharUpper ua_CharUpperW
|
||||
#define ua_lstrcmp ua_lstrcmpW
|
||||
#define ua_lstrcmpi ua_lstrcmpiW
|
||||
#define ua_lstrlen ua_lstrlenW
|
||||
#define ua_tcscpy ua_wcscpy
|
||||
#else
|
||||
#define TSTR_ALIGNED_STACK_COPY(d,s) ASTR_ALIGNED_STACK_COPY(d,s)
|
||||
#define TSTR_ALIGNED(x) TRUE
|
||||
#define ua_CharUpper CharUpperA
|
||||
#define ua_lstrcmp lstrcmpA
|
||||
#define ua_lstrcmpi lstrcmpiA
|
||||
#define ua_lstrlen lstrlenA
|
||||
#define ua_tcscpy strcpy
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <sec_api/stralign_s.h>
|
||||
#endif
|
||||
79
win32/include/winapi/tvout.h
Normal file
79
win32/include/winapi/tvout.h
Normal file
@ -0,0 +1,79 @@
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef __TVOUT__
|
||||
#define __TVOUT__
|
||||
|
||||
#include <guiddef.h>
|
||||
|
||||
typedef struct _VIDEOPARAMETERS {
|
||||
GUID Guid;
|
||||
ULONG dwOffset;
|
||||
ULONG dwCommand;
|
||||
ULONG dwFlags;
|
||||
ULONG dwMode;
|
||||
ULONG dwTVStandard;
|
||||
ULONG dwAvailableModes;
|
||||
ULONG dwAvailableTVStandard;
|
||||
ULONG dwFlickerFilter;
|
||||
ULONG dwOverScanX;
|
||||
ULONG dwOverScanY;
|
||||
ULONG dwMaxUnscaledX;
|
||||
ULONG dwMaxUnscaledY;
|
||||
ULONG dwPositionX;
|
||||
ULONG dwPositionY;
|
||||
ULONG dwBrightness;
|
||||
ULONG dwContrast;
|
||||
ULONG dwCPType;
|
||||
ULONG dwCPCommand;
|
||||
ULONG dwCPStandard;
|
||||
ULONG dwCPKey;
|
||||
ULONG bCP_APSTriggerBits;
|
||||
UCHAR bOEMCopyProtection[256];
|
||||
} VIDEOPARAMETERS,*PVIDEOPARAMETERS,*LPVIDEOPARAMETERS;
|
||||
|
||||
#define VP_COMMAND_GET 0x0001
|
||||
#define VP_COMMAND_SET 0x0002
|
||||
|
||||
#define VP_FLAGS_TV_MODE 0x0001
|
||||
#define VP_FLAGS_TV_STANDARD 0x0002
|
||||
#define VP_FLAGS_FLICKER 0x0004
|
||||
#define VP_FLAGS_OVERSCAN 0x0008
|
||||
#define VP_FLAGS_MAX_UNSCALED 0x0010
|
||||
#define VP_FLAGS_POSITION 0x0020
|
||||
#define VP_FLAGS_BRIGHTNESS 0x0040
|
||||
#define VP_FLAGS_CONTRAST 0x0080
|
||||
#define VP_FLAGS_COPYPROTECT 0x0100
|
||||
|
||||
#define VP_MODE_WIN_GRAPHICS 0x0001
|
||||
#define VP_MODE_TV_PLAYBACK 0x0002
|
||||
|
||||
#define VP_TV_STANDARD_NTSC_M 0x0001
|
||||
#define VP_TV_STANDARD_NTSC_M_J 0x0002
|
||||
#define VP_TV_STANDARD_PAL_B 0x0004
|
||||
#define VP_TV_STANDARD_PAL_D 0x0008
|
||||
#define VP_TV_STANDARD_PAL_H 0x0010
|
||||
#define VP_TV_STANDARD_PAL_I 0x0020
|
||||
#define VP_TV_STANDARD_PAL_M 0x0040
|
||||
#define VP_TV_STANDARD_PAL_N 0x0080
|
||||
#define VP_TV_STANDARD_SECAM_B 0x0100
|
||||
#define VP_TV_STANDARD_SECAM_D 0x0200
|
||||
#define VP_TV_STANDARD_SECAM_G 0x0400
|
||||
#define VP_TV_STANDARD_SECAM_H 0x0800
|
||||
#define VP_TV_STANDARD_SECAM_K 0x1000
|
||||
#define VP_TV_STANDARD_SECAM_K1 0x2000
|
||||
#define VP_TV_STANDARD_SECAM_L 0x4000
|
||||
#define VP_TV_STANDARD_WIN_VGA 0x8000
|
||||
#define VP_TV_STANDARD_NTSC_433 0x00010000
|
||||
#define VP_TV_STANDARD_PAL_G 0x00020000
|
||||
#define VP_TV_STANDARD_PAL_60 0x00040000
|
||||
#define VP_TV_STANDARD_SECAM_L1 0x00080000
|
||||
|
||||
#define VP_CP_TYPE_APS_TRIGGER 0x0001
|
||||
#define VP_CP_TYPE_MACROVISION 0x0002
|
||||
#define VP_CP_CMD_ACTIVATE 0x0001
|
||||
#define VP_CP_CMD_DEACTIVATE 0x0002
|
||||
#define VP_CP_CMD_CHANGE 0x0004
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,206 +1,300 @@
|
||||
#ifndef _WINCON_H
|
||||
#define _WINCON_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINCON_
|
||||
#define _WINCON_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define FOREGROUND_BLUE 1
|
||||
#define FOREGROUND_GREEN 2
|
||||
#define FOREGROUND_RED 4
|
||||
#define FOREGROUND_INTENSITY 8
|
||||
#define BACKGROUND_BLUE 16
|
||||
#define BACKGROUND_GREEN 32
|
||||
#define BACKGROUND_RED 64
|
||||
#define BACKGROUND_INTENSITY 128
|
||||
typedef struct _COORD {
|
||||
SHORT X;
|
||||
SHORT Y;
|
||||
} COORD,*PCOORD;
|
||||
|
||||
typedef struct _SMALL_RECT {
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
} SMALL_RECT,*PSMALL_RECT;
|
||||
|
||||
typedef struct _KEY_EVENT_RECORD {
|
||||
WINBOOL bKeyDown;
|
||||
WORD wRepeatCount;
|
||||
WORD wVirtualKeyCode;
|
||||
WORD wVirtualScanCode;
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} uChar;
|
||||
DWORD dwControlKeyState;
|
||||
} KEY_EVENT_RECORD,*PKEY_EVENT_RECORD;
|
||||
|
||||
#define RIGHT_ALT_PRESSED 0x1
|
||||
#define LEFT_ALT_PRESSED 0x2
|
||||
#define RIGHT_CTRL_PRESSED 0x4
|
||||
#define LEFT_CTRL_PRESSED 0x8
|
||||
#define SHIFT_PRESSED 0x10
|
||||
#define NUMLOCK_ON 0x20
|
||||
#define SCROLLLOCK_ON 0x40
|
||||
#define CAPSLOCK_ON 0x80
|
||||
#define ENHANCED_KEY 0x100
|
||||
#define NLS_DBCSCHAR 0x10000
|
||||
#define NLS_ALPHANUMERIC 0x0
|
||||
#define NLS_KATAKANA 0x20000
|
||||
#define NLS_HIRAGANA 0x40000
|
||||
#define NLS_ROMAN 0x400000
|
||||
#define NLS_IME_CONVERSION 0x800000
|
||||
#define NLS_IME_DISABLE 0x20000000
|
||||
|
||||
typedef struct _MOUSE_EVENT_RECORD {
|
||||
COORD dwMousePosition;
|
||||
DWORD dwButtonState;
|
||||
DWORD dwControlKeyState;
|
||||
DWORD dwEventFlags;
|
||||
} MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD;
|
||||
|
||||
#define FROM_LEFT_1ST_BUTTON_PRESSED 0x1
|
||||
#define RIGHTMOST_BUTTON_PRESSED 0x2
|
||||
#define FROM_LEFT_2ND_BUTTON_PRESSED 0x4
|
||||
#define FROM_LEFT_3RD_BUTTON_PRESSED 0x8
|
||||
#define FROM_LEFT_4TH_BUTTON_PRESSED 0x10
|
||||
|
||||
#define MOUSE_MOVED 0x1
|
||||
#define DOUBLE_CLICK 0x2
|
||||
#define MOUSE_WHEELED 0x4
|
||||
|
||||
typedef struct _WINDOW_BUFFER_SIZE_RECORD {
|
||||
COORD dwSize;
|
||||
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
|
||||
|
||||
typedef struct _MENU_EVENT_RECORD {
|
||||
UINT dwCommandId;
|
||||
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
|
||||
|
||||
typedef struct _FOCUS_EVENT_RECORD {
|
||||
WINBOOL bSetFocus;
|
||||
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
|
||||
|
||||
typedef struct _INPUT_RECORD {
|
||||
WORD EventType;
|
||||
union {
|
||||
KEY_EVENT_RECORD KeyEvent;
|
||||
MOUSE_EVENT_RECORD MouseEvent;
|
||||
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
|
||||
MENU_EVENT_RECORD MenuEvent;
|
||||
FOCUS_EVENT_RECORD FocusEvent;
|
||||
} Event;
|
||||
} INPUT_RECORD,*PINPUT_RECORD;
|
||||
|
||||
#define KEY_EVENT 0x1
|
||||
#define MOUSE_EVENT 0x2
|
||||
#define WINDOW_BUFFER_SIZE_EVENT 0x4
|
||||
#define MENU_EVENT 0x8
|
||||
#define FOCUS_EVENT 0x10
|
||||
|
||||
typedef struct _CHAR_INFO {
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} Char;
|
||||
WORD Attributes;
|
||||
} CHAR_INFO,*PCHAR_INFO;
|
||||
|
||||
#define FOREGROUND_BLUE 0x1
|
||||
#define FOREGROUND_GREEN 0x2
|
||||
#define FOREGROUND_RED 0x4
|
||||
#define FOREGROUND_INTENSITY 0x8
|
||||
#define BACKGROUND_BLUE 0x10
|
||||
#define BACKGROUND_GREEN 0x20
|
||||
#define BACKGROUND_RED 0x40
|
||||
#define BACKGROUND_INTENSITY 0x80
|
||||
#define COMMON_LVB_LEADING_BYTE 0x100
|
||||
#define COMMON_LVB_TRAILING_BYTE 0x200
|
||||
#define COMMON_LVB_GRID_HORIZONTAL 0x400
|
||||
#define COMMON_LVB_GRID_LVERTICAL 0x800
|
||||
#define COMMON_LVB_GRID_RVERTICAL 0x1000
|
||||
#define COMMON_LVB_REVERSE_VIDEO 0x4000
|
||||
#define COMMON_LVB_UNDERSCORE 0x8000
|
||||
|
||||
#define COMMON_LVB_SBCSDBCS 0x300
|
||||
|
||||
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
||||
COORD dwSize;
|
||||
COORD dwCursorPosition;
|
||||
WORD wAttributes;
|
||||
SMALL_RECT srWindow;
|
||||
COORD dwMaximumWindowSize;
|
||||
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
||||
|
||||
typedef struct _CONSOLE_CURSOR_INFO {
|
||||
DWORD dwSize;
|
||||
WINBOOL bVisible;
|
||||
} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
|
||||
|
||||
typedef struct _CONSOLE_FONT_INFO {
|
||||
DWORD nFont;
|
||||
COORD dwFontSize;
|
||||
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
|
||||
|
||||
typedef struct _CONSOLE_SELECTION_INFO {
|
||||
DWORD dwFlags;
|
||||
COORD dwSelectionAnchor;
|
||||
SMALL_RECT srSelection;
|
||||
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
|
||||
|
||||
#define CONSOLE_NO_SELECTION 0x0
|
||||
#define CONSOLE_SELECTION_IN_PROGRESS 0x1
|
||||
#define CONSOLE_SELECTION_NOT_EMPTY 0x2
|
||||
#define CONSOLE_MOUSE_SELECTION 0x4
|
||||
#define CONSOLE_MOUSE_DOWN 0x8
|
||||
|
||||
typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD CtrlType);
|
||||
|
||||
#define CTRL_C_EVENT 0
|
||||
#define CTRL_BREAK_EVENT 1
|
||||
#define CTRL_CLOSE_EVENT 2
|
||||
|
||||
#define CTRL_LOGOFF_EVENT 5
|
||||
#define CTRL_SHUTDOWN_EVENT 6
|
||||
#define ENABLE_LINE_INPUT 2
|
||||
#define ENABLE_ECHO_INPUT 4
|
||||
#define ENABLE_PROCESSED_INPUT 1
|
||||
#define ENABLE_WINDOW_INPUT 8
|
||||
#define ENABLE_MOUSE_INPUT 16
|
||||
#define ENABLE_PROCESSED_OUTPUT 1
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT 2
|
||||
#define KEY_EVENT 1
|
||||
#define MOUSE_EVENT 2
|
||||
#define WINDOW_BUFFER_SIZE_EVENT 4
|
||||
#define MENU_EVENT 8
|
||||
#define FOCUS_EVENT 16
|
||||
#define CAPSLOCK_ON 128
|
||||
#define ENHANCED_KEY 256
|
||||
#define RIGHT_ALT_PRESSED 1
|
||||
#define LEFT_ALT_PRESSED 2
|
||||
#define RIGHT_CTRL_PRESSED 4
|
||||
#define LEFT_CTRL_PRESSED 8
|
||||
#define SHIFT_PRESSED 16
|
||||
#define NUMLOCK_ON 32
|
||||
#define SCROLLLOCK_ON 64
|
||||
#define FROM_LEFT_1ST_BUTTON_PRESSED 1
|
||||
#define RIGHTMOST_BUTTON_PRESSED 2
|
||||
#define FROM_LEFT_2ND_BUTTON_PRESSED 4
|
||||
#define FROM_LEFT_3RD_BUTTON_PRESSED 8
|
||||
#define FROM_LEFT_4TH_BUTTON_PRESSED 16
|
||||
#define MOUSE_MOVED 1
|
||||
#define DOUBLE_CLICK 2
|
||||
#define MOUSE_WHEELED 4
|
||||
|
||||
typedef struct _CHAR_INFO {
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} Char;
|
||||
WORD Attributes;
|
||||
} CHAR_INFO,*PCHAR_INFO;
|
||||
typedef struct _SMALL_RECT {
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
} SMALL_RECT,*PSMALL_RECT;
|
||||
typedef struct _CONSOLE_CURSOR_INFO {
|
||||
DWORD dwSize;
|
||||
BOOL bVisible;
|
||||
} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
|
||||
typedef struct _COORD {
|
||||
SHORT X;
|
||||
SHORT Y;
|
||||
} COORD;
|
||||
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
||||
COORD dwSize;
|
||||
COORD dwCursorPosition;
|
||||
WORD wAttributes;
|
||||
SMALL_RECT srWindow;
|
||||
COORD dwMaximumWindowSize;
|
||||
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
||||
typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD);
|
||||
typedef struct _KEY_EVENT_RECORD {
|
||||
BOOL bKeyDown;
|
||||
WORD wRepeatCount;
|
||||
WORD wVirtualKeyCode;
|
||||
WORD wVirtualScanCode;
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} uChar;
|
||||
DWORD dwControlKeyState;
|
||||
}
|
||||
#ifdef __GNUC__
|
||||
/* gcc's alignment is not what win32 expects */
|
||||
PACKED
|
||||
#endif
|
||||
KEY_EVENT_RECORD;
|
||||
#define ENABLE_PROCESSED_INPUT 0x1
|
||||
#define ENABLE_LINE_INPUT 0x2
|
||||
#define ENABLE_ECHO_INPUT 0x4
|
||||
#define ENABLE_WINDOW_INPUT 0x8
|
||||
#define ENABLE_MOUSE_INPUT 0x10
|
||||
|
||||
typedef struct _MOUSE_EVENT_RECORD {
|
||||
COORD dwMousePosition;
|
||||
DWORD dwButtonState;
|
||||
DWORD dwControlKeyState;
|
||||
DWORD dwEventFlags;
|
||||
} MOUSE_EVENT_RECORD;
|
||||
typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
|
||||
typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
|
||||
typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
|
||||
typedef struct _INPUT_RECORD {
|
||||
WORD EventType;
|
||||
union {
|
||||
KEY_EVENT_RECORD KeyEvent;
|
||||
MOUSE_EVENT_RECORD MouseEvent;
|
||||
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
|
||||
MENU_EVENT_RECORD MenuEvent;
|
||||
FOCUS_EVENT_RECORD FocusEvent;
|
||||
} Event;
|
||||
} INPUT_RECORD,*PINPUT_RECORD;
|
||||
|
||||
BOOL WINAPI AllocConsole(void);
|
||||
HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID);
|
||||
BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
|
||||
BOOL WINAPI FreeConsole(void);
|
||||
BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD);
|
||||
UINT WINAPI GetConsoleCP(void);
|
||||
BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
|
||||
BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
|
||||
UINT WINAPI GetConsoleOutputCP(void);
|
||||
BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
|
||||
DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
|
||||
DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
|
||||
COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
|
||||
BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
|
||||
BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
|
||||
BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
||||
BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
||||
BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
|
||||
BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
|
||||
BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
||||
BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
|
||||
BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
|
||||
BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
|
||||
BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
|
||||
BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
|
||||
BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
|
||||
BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE);
|
||||
BOOL WINAPI SetConsoleCP(UINT);
|
||||
BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
|
||||
BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
|
||||
BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
|
||||
BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
|
||||
BOOL WINAPI SetConsoleOutputCP(UINT);
|
||||
BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
|
||||
BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD);
|
||||
BOOL WINAPI SetConsoleTitleA(LPCSTR);
|
||||
BOOL WINAPI SetConsoleTitleW(LPCWSTR);
|
||||
BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
|
||||
BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
|
||||
BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
|
||||
BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
|
||||
BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
|
||||
BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
|
||||
BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
|
||||
BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
|
||||
BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
|
||||
#define ENABLE_PROCESSED_OUTPUT 0x1
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x2
|
||||
|
||||
#ifdef UNICODE
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
||||
#define GetConsoleTitle GetConsoleTitleW
|
||||
#define PeekConsoleInput PeekConsoleInputW
|
||||
#define ReadConsole ReadConsoleW
|
||||
#define ReadConsoleInput ReadConsoleInputW
|
||||
#define ReadConsoleOutput ReadConsoleOutputW
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
||||
#define SetConsoleTitle SetConsoleTitleW
|
||||
#define WriteConsole WriteConsoleW
|
||||
#define WriteConsoleInput WriteConsoleInputW
|
||||
#define ReadConsoleOutput ReadConsoleOutputW
|
||||
#define WriteConsoleOutput WriteConsoleOutputW
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
||||
#define GetConsoleTitle GetConsoleTitleW
|
||||
#define SetConsoleTitle SetConsoleTitleW
|
||||
#define ReadConsole ReadConsoleW
|
||||
#define WriteConsole WriteConsoleW
|
||||
#define AddConsoleAlias AddConsoleAliasW
|
||||
#define GetConsoleAlias GetConsoleAliasW
|
||||
#define GetConsoleAliasesLength GetConsoleAliasesLengthW
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
|
||||
#define GetConsoleAliases GetConsoleAliasesW
|
||||
#define GetConsoleAliasExes GetConsoleAliasExesW
|
||||
#else
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
||||
#define GetConsoleTitle GetConsoleTitleA
|
||||
#define PeekConsoleInput PeekConsoleInputA
|
||||
#define ReadConsole ReadConsoleA
|
||||
#define ReadConsoleInput ReadConsoleInputA
|
||||
#define ReadConsoleOutput ReadConsoleOutputA
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
||||
#define SetConsoleTitle SetConsoleTitleA
|
||||
#define WriteConsole WriteConsoleA
|
||||
#define WriteConsoleInput WriteConsoleInputA
|
||||
#define ReadConsoleOutput ReadConsoleOutputA
|
||||
#define WriteConsoleOutput WriteConsoleOutputA
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
||||
#define GetConsoleTitle GetConsoleTitleA
|
||||
#define SetConsoleTitle SetConsoleTitleA
|
||||
#define ReadConsole ReadConsoleA
|
||||
#define WriteConsole WriteConsoleA
|
||||
#define AddConsoleAlias AddConsoleAliasA
|
||||
#define GetConsoleAlias GetConsoleAliasA
|
||||
#define GetConsoleAliasesLength GetConsoleAliasesLengthA
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
|
||||
#define GetConsoleAliases GetConsoleAliasesA
|
||||
#define GetConsoleAliasExes GetConsoleAliasExesA
|
||||
#endif
|
||||
|
||||
WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE hConsoleOutput,CONST WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode);
|
||||
WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
|
||||
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE hConsoleOutput);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
|
||||
WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
||||
WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
|
||||
WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput);
|
||||
WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE hConsoleInput);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo);
|
||||
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill);
|
||||
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,CONST SMALL_RECT *lpConsoleWindow);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add);
|
||||
WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId);
|
||||
WINBASEAPI WINBOOL WINAPI AllocConsole(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI FreeConsole(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD dwProcessId);
|
||||
|
||||
#define ATTACH_PARENT_PROCESS ((DWORD)-1)
|
||||
|
||||
WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR lpConsoleTitle);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR lpConsoleTitle);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
|
||||
|
||||
#define CONSOLE_TEXTMODE_BUFFER 1
|
||||
|
||||
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData);
|
||||
WINBASEAPI UINT WINAPI GetConsoleCP(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT wCodePageID);
|
||||
WINBASEAPI UINT WINAPI GetConsoleOutputCP(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT wCodePageID);
|
||||
|
||||
#define CONSOLE_FULLSCREEN 1
|
||||
#define CONSOLE_FULLSCREEN_HARDWARE 2
|
||||
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags);
|
||||
WINBASEAPI HWND WINAPI GetConsoleWindow(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount);
|
||||
WINBASEAPI WINBOOL WINAPI AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName);
|
||||
WINBASEAPI WINBOOL WINAPI AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthA(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1,7 +1,13 @@
|
||||
#ifndef _WINDEF_H
|
||||
#define _WINDEF_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINDEF_
|
||||
#define _WINDEF_
|
||||
|
||||
#ifndef STRICT
|
||||
#define STRICT 1
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -9,230 +15,277 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0400
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
#ifndef _WIN32_WINNT
|
||||
#define _WIN32_WINNT WINVER
|
||||
|
||||
#ifndef BASETYPES
|
||||
#define BASETYPES
|
||||
typedef unsigned long ULONG;
|
||||
typedef ULONG *PULONG;
|
||||
typedef unsigned short USHORT;
|
||||
typedef USHORT *PUSHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef UCHAR *PUCHAR;
|
||||
typedef char *PSZ;
|
||||
#endif
|
||||
#ifndef WIN32
|
||||
#define WIN32
|
||||
#endif
|
||||
#ifndef _WIN32
|
||||
#define _WIN32
|
||||
#endif
|
||||
#define FAR
|
||||
#define far
|
||||
#define NEAR
|
||||
#define near
|
||||
#ifndef CONST
|
||||
#define CONST const
|
||||
#endif
|
||||
#undef MAX_PATH
|
||||
|
||||
#define MAX_PATH 260
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void*)0)
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef IN
|
||||
#define IN
|
||||
#endif
|
||||
|
||||
#ifndef OUT
|
||||
#define OUT
|
||||
#endif
|
||||
|
||||
#ifndef OPTIONAL
|
||||
#define OPTIONAL
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define PACKED __attribute__((packed))
|
||||
#ifndef _stdcall
|
||||
#define _stdcall __attribute__((stdcall))
|
||||
#endif
|
||||
#ifndef __stdcall
|
||||
#define __stdcall __attribute__((stdcall))
|
||||
#endif
|
||||
#ifndef _cdecl
|
||||
#define _cdecl __attribute__((cdecl))
|
||||
#endif
|
||||
#ifndef __cdecl
|
||||
#define __cdecl __attribute__((cdecl))
|
||||
#endif
|
||||
#ifndef __declspec
|
||||
#define __declspec(e) __attribute__((e))
|
||||
#endif
|
||||
#ifndef _declspec
|
||||
#define _declspec(e) __attribute__((e))
|
||||
#endif
|
||||
#else
|
||||
#define PACKED
|
||||
#define _cdecl
|
||||
#define __cdecl
|
||||
#endif
|
||||
|
||||
#undef far
|
||||
#undef near
|
||||
#undef pascal
|
||||
#undef _pascal
|
||||
#undef __pascal
|
||||
|
||||
#define far
|
||||
#define near
|
||||
#define pascal __stdcall
|
||||
#define _pascal __stdcall
|
||||
#define __pascal __stdcall
|
||||
#define PASCAL _pascal
|
||||
#define CDECL _cdecl
|
||||
#define STDCALL __stdcall
|
||||
#define WINAPI __stdcall
|
||||
#define WINAPIV __cdecl
|
||||
#define APIENTRY __stdcall
|
||||
|
||||
#define cdecl
|
||||
#ifndef CDECL
|
||||
#define CDECL
|
||||
#endif
|
||||
#ifndef CALLBACK
|
||||
#define CALLBACK __stdcall
|
||||
#define APIPRIVATE __stdcall
|
||||
|
||||
#define DECLSPEC_IMPORT __declspec(dllimport)
|
||||
#define DECLSPEC_EXPORT __declspec(dllexport)
|
||||
#ifdef __GNUC__
|
||||
#define DECLSPEC_NORETURN __declspec(noreturn)
|
||||
#define DECLARE_STDCALL_P( type ) __stdcall type
|
||||
#elif defined(__WATCOMC__)
|
||||
#define DECLSPEC_NORETURN
|
||||
#define DECLARE_STDCALL_P( type ) type __stdcall
|
||||
#endif /* __GNUC__/__WATCOMC__ */
|
||||
#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
|
||||
#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
|
||||
#define LOWORD(l) ((WORD)((DWORD)(l)))
|
||||
#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
|
||||
#define LOBYTE(w) ((BYTE)(w))
|
||||
#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
|
||||
|
||||
#ifndef _export
|
||||
#define _export
|
||||
#endif
|
||||
#ifndef __export
|
||||
#define __export
|
||||
#ifndef WINAPI
|
||||
#define WINAPI __stdcall
|
||||
#endif
|
||||
#define WINAPIV __cdecl
|
||||
#define APIENTRY WINAPI
|
||||
#define APIPRIVATE WINAPI
|
||||
#define PASCAL WINAPI
|
||||
#define WINAPI_INLINE WINAPI
|
||||
|
||||
#undef FAR
|
||||
#undef NEAR
|
||||
#define FAR
|
||||
#define NEAR
|
||||
#ifndef CONST
|
||||
#define CONST const
|
||||
#endif
|
||||
|
||||
typedef unsigned long DWORD;
|
||||
typedef int WINBOOL;
|
||||
#define BOOL WINBOOL
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned short WORD;
|
||||
typedef float FLOAT;
|
||||
typedef FLOAT *PFLOAT;
|
||||
typedef WINBOOL *PBOOL;
|
||||
typedef WINBOOL *LPBOOL;
|
||||
typedef BYTE *PBYTE;
|
||||
typedef BYTE *LPBYTE;
|
||||
typedef int *PINT;
|
||||
typedef int *LPINT;
|
||||
typedef WORD *PWORD;
|
||||
typedef WORD *LPWORD;
|
||||
typedef long *LPLONG;
|
||||
typedef DWORD *PDWORD;
|
||||
typedef DWORD *LPDWORD;
|
||||
typedef void *LPVOID;
|
||||
#ifndef _LPCVOID_DEFINED
|
||||
#define _LPCVOID_DEFINED
|
||||
typedef CONST void *LPCVOID;
|
||||
#endif
|
||||
typedef int INT;
|
||||
typedef unsigned int UINT;
|
||||
typedef unsigned int *PUINT;
|
||||
|
||||
#ifndef NT_INCLUDED
|
||||
#include <winnt.h>
|
||||
#endif
|
||||
|
||||
#include <specstrings.h>
|
||||
|
||||
typedef UINT_PTR WPARAM;
|
||||
typedef LONG_PTR LPARAM;
|
||||
typedef LONG_PTR LRESULT;
|
||||
|
||||
#ifndef __cplusplus
|
||||
#ifndef NOMINMAX
|
||||
#ifndef max
|
||||
#define max(a,b) ((a)>(b)?(a):(b))
|
||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef min
|
||||
#define min(a,b) ((a)<(b)?(a):(b))
|
||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
|
||||
#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
|
||||
#define DBG_UNREFERENCED_PARAMETER(P)
|
||||
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
|
||||
#define MAKEWORD(a,b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
|
||||
#define MAKELONG(a,b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
|
||||
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
|
||||
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
|
||||
#define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
|
||||
#define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
|
||||
|
||||
typedef unsigned long DWORD;
|
||||
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
|
||||
/* FIXME: Is there a good solution to this? */
|
||||
#ifndef XFree86Server
|
||||
#ifndef __OBJC__
|
||||
typedef WINBOOL BOOL;
|
||||
#ifndef WIN_INTERNAL
|
||||
DECLARE_HANDLE (HWND);
|
||||
DECLARE_HANDLE (HHOOK);
|
||||
#ifdef WINABLE
|
||||
DECLARE_HANDLE (HEVENT);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef WORD ATOM;
|
||||
|
||||
typedef HANDLE *SPHANDLE;
|
||||
typedef HANDLE *LPHANDLE;
|
||||
typedef HANDLE HGLOBAL;
|
||||
typedef HANDLE HLOCAL;
|
||||
typedef HANDLE GLOBALHANDLE;
|
||||
typedef HANDLE LOCALHANDLE;
|
||||
#ifdef _WIN64
|
||||
typedef INT_PTR (WINAPI *FARPROC)();
|
||||
typedef INT_PTR (WINAPI *NEARPROC)();
|
||||
typedef INT_PTR (WINAPI *PROC)();
|
||||
#else
|
||||
#define BOOL WINBOOL
|
||||
typedef int (WINAPI *FARPROC)();
|
||||
typedef int (WINAPI *NEARPROC)();
|
||||
typedef int (WINAPI *PROC)();
|
||||
#endif
|
||||
typedef unsigned char BYTE;
|
||||
#endif /* ndef XFree86Server */
|
||||
typedef BOOL *PBOOL,*LPBOOL;
|
||||
typedef unsigned short WORD;
|
||||
typedef float FLOAT;
|
||||
typedef FLOAT *PFLOAT;
|
||||
typedef BYTE *PBYTE,*LPBYTE;
|
||||
typedef int *PINT,*LPINT;
|
||||
typedef WORD *PWORD,*LPWORD;
|
||||
typedef long *LPLONG;
|
||||
typedef DWORD *PDWORD,*LPDWORD;
|
||||
typedef void *PVOID,*LPVOID;
|
||||
typedef CONST void *PCVOID,*LPCVOID;
|
||||
typedef int INT;
|
||||
typedef unsigned int UINT,*PUINT,*LPUINT;
|
||||
|
||||
#include <winnt.h>
|
||||
typedef void *HGDIOBJ;
|
||||
|
||||
typedef UINT WPARAM;
|
||||
typedef LONG LPARAM;
|
||||
typedef LONG LRESULT;
|
||||
#ifndef _HRESULT_DEFINED
|
||||
typedef LONG HRESULT;
|
||||
#define _HRESULT_DEFINED
|
||||
#endif
|
||||
#ifndef XFree86Server
|
||||
typedef WORD ATOM;
|
||||
#endif /* XFree86Server */
|
||||
typedef HANDLE HGLOBAL;
|
||||
typedef HANDLE HLOCAL;
|
||||
typedef HANDLE GLOBALHANDLE;
|
||||
typedef HANDLE LOCALHANDLE;
|
||||
typedef void *HGDIOBJ;
|
||||
DECLARE_HANDLE(HACCEL);
|
||||
DECLARE_HANDLE(HBITMAP);
|
||||
DECLARE_HANDLE(HBRUSH);
|
||||
DECLARE_HANDLE(HCOLORSPACE);
|
||||
DECLARE_HANDLE(HDC);
|
||||
DECLARE_HANDLE(HGLRC);
|
||||
DECLARE_HANDLE(HDESK);
|
||||
DECLARE_HANDLE(HENHMETAFILE);
|
||||
DECLARE_HANDLE(HFONT);
|
||||
DECLARE_HANDLE(HICON);
|
||||
DECLARE_HANDLE(HKEY);
|
||||
/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
|
||||
/* #if (WINVER >= 0x0500) */
|
||||
DECLARE_HANDLE(HMONITOR);
|
||||
#define HMONITOR_DECLARED 1
|
||||
DECLARE_HANDLE(HTERMINAL);
|
||||
DECLARE_HANDLE(HWINEVENTHOOK);
|
||||
/* #endif */
|
||||
typedef HKEY *PHKEY;
|
||||
DECLARE_HANDLE(HMENU);
|
||||
DECLARE_HANDLE(HMETAFILE);
|
||||
DECLARE_HANDLE(HINSTANCE);
|
||||
typedef HINSTANCE HMODULE;
|
||||
DECLARE_HANDLE(HPALETTE);
|
||||
DECLARE_HANDLE(HPEN);
|
||||
DECLARE_HANDLE(HRGN);
|
||||
DECLARE_HANDLE(HRSRC);
|
||||
DECLARE_HANDLE(HSTR);
|
||||
DECLARE_HANDLE(HTASK);
|
||||
DECLARE_HANDLE(HWND);
|
||||
DECLARE_HANDLE(HWINSTA);
|
||||
DECLARE_HANDLE(HKL);
|
||||
typedef int HFILE;
|
||||
typedef HICON HCURSOR;
|
||||
typedef DWORD COLORREF;
|
||||
typedef int (WINAPI *FARPROC)();
|
||||
typedef int (WINAPI *NEARPROC)();
|
||||
typedef int (WINAPI *PROC)();
|
||||
typedef struct tagRECT {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECT,*PRECT,*LPRECT;
|
||||
typedef const RECT *LPCRECT;
|
||||
typedef struct tagRECTL {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECTL,*PRECTL,*LPRECTL;
|
||||
typedef const RECTL *LPCRECTL;
|
||||
typedef struct tagPOINT {
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
|
||||
typedef struct tagSIZE {
|
||||
LONG cx;
|
||||
LONG cy;
|
||||
} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
|
||||
typedef struct tagPOINTS {
|
||||
SHORT x;
|
||||
SHORT y;
|
||||
} POINTS,*PPOINTS,*LPPOINTS;
|
||||
DECLARE_HANDLE(HKEY);
|
||||
typedef HKEY *PHKEY;
|
||||
|
||||
DECLARE_HANDLE(HACCEL);
|
||||
DECLARE_HANDLE(HBITMAP);
|
||||
DECLARE_HANDLE(HBRUSH);
|
||||
DECLARE_HANDLE(HCOLORSPACE);
|
||||
DECLARE_HANDLE(HDC);
|
||||
DECLARE_HANDLE(HGLRC);
|
||||
DECLARE_HANDLE(HDESK);
|
||||
DECLARE_HANDLE(HENHMETAFILE);
|
||||
DECLARE_HANDLE(HFONT);
|
||||
DECLARE_HANDLE(HICON);
|
||||
DECLARE_HANDLE(HMENU);
|
||||
DECLARE_HANDLE(HMETAFILE);
|
||||
DECLARE_HANDLE(HINSTANCE);
|
||||
typedef HINSTANCE HMODULE;
|
||||
DECLARE_HANDLE(HPALETTE);
|
||||
DECLARE_HANDLE(HPEN);
|
||||
DECLARE_HANDLE(HRGN);
|
||||
DECLARE_HANDLE(HRSRC);
|
||||
DECLARE_HANDLE(HSTR);
|
||||
DECLARE_HANDLE(HTASK);
|
||||
DECLARE_HANDLE(HWINSTA);
|
||||
DECLARE_HANDLE(HKL);
|
||||
DECLARE_HANDLE(HMONITOR);
|
||||
DECLARE_HANDLE(HWINEVENTHOOK);
|
||||
DECLARE_HANDLE(HUMPD);
|
||||
|
||||
typedef int HFILE;
|
||||
typedef HICON HCURSOR;
|
||||
typedef DWORD COLORREF;
|
||||
typedef DWORD *LPCOLORREF;
|
||||
|
||||
#define HFILE_ERROR ((HFILE)-1)
|
||||
|
||||
typedef struct tagRECT {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECT,*PRECT,*NPRECT,*LPRECT;
|
||||
|
||||
typedef const RECT *LPCRECT;
|
||||
|
||||
typedef struct _RECTL {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECTL,*PRECTL,*LPRECTL;
|
||||
|
||||
typedef const RECTL *LPCRECTL;
|
||||
|
||||
typedef struct tagPOINT {
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINT,*PPOINT,*NPPOINT,*LPPOINT;
|
||||
|
||||
typedef struct _POINTL {
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINTL,*PPOINTL;
|
||||
|
||||
typedef struct tagSIZE {
|
||||
LONG cx;
|
||||
LONG cy;
|
||||
} SIZE,*PSIZE,*LPSIZE;
|
||||
|
||||
typedef SIZE SIZEL;
|
||||
typedef SIZE *PSIZEL,*LPSIZEL;
|
||||
|
||||
typedef struct tagPOINTS {
|
||||
SHORT x;
|
||||
SHORT y;
|
||||
} POINTS,*PPOINTS,*LPPOINTS;
|
||||
|
||||
typedef struct _FILETIME {
|
||||
DWORD dwLowDateTime;
|
||||
DWORD dwHighDateTime;
|
||||
} FILETIME,*PFILETIME,*LPFILETIME;
|
||||
#define _FILETIME_
|
||||
|
||||
#define DM_UPDATE 1
|
||||
#define DM_COPY 2
|
||||
#define DM_PROMPT 4
|
||||
#define DM_MODIFY 8
|
||||
|
||||
#define DM_IN_BUFFER DM_MODIFY
|
||||
#define DM_IN_PROMPT DM_PROMPT
|
||||
#define DM_OUT_BUFFER DM_COPY
|
||||
#define DM_OUT_DEFAULT DM_UPDATE
|
||||
|
||||
#define DC_FIELDS 1
|
||||
#define DC_PAPERS 2
|
||||
#define DC_PAPERSIZE 3
|
||||
#define DC_MINEXTENT 4
|
||||
#define DC_MAXEXTENT 5
|
||||
#define DC_BINS 6
|
||||
#define DC_DUPLEX 7
|
||||
#define DC_SIZE 8
|
||||
#define DC_EXTRA 9
|
||||
#define DC_VERSION 10
|
||||
#define DC_DRIVER 11
|
||||
#define DC_BINNAMES 12
|
||||
#define DC_ENUMRESOLUTIONS 13
|
||||
#define DC_FILEDEPENDENCIES 14
|
||||
#define DC_TRUETYPE 15
|
||||
#define DC_PAPERNAMES 16
|
||||
#define DC_ORIENTATION 17
|
||||
#define DC_COPIES 18
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@ -1,136 +1,75 @@
|
||||
/*
|
||||
windows.h - main header file for the Win32 API
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINDOWS_
|
||||
#define _WINDOWS_
|
||||
|
||||
Written by Anders Norlander <anorland@hem2.passagen.se>
|
||||
|
||||
This file is part of a free library for the Win32 API.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
*/
|
||||
#ifndef _WINDOWS_H
|
||||
#define _WINDOWS_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
|
||||
/* translate GCC target defines to MS equivalents. Keep this synchronized
|
||||
with winnt.h. */
|
||||
#if defined(__i686__) && !defined(_M_IX86)
|
||||
#define _M_IX86 600
|
||||
#elif defined(__i586__) && !defined(_M_IX86)
|
||||
#define _M_IX86 500
|
||||
#elif defined(__i486__) && !defined(_M_IX86)
|
||||
#define _M_IX86 400
|
||||
#elif defined(__i386__) && !defined(_M_IX86)
|
||||
#define _M_IX86 300
|
||||
#endif
|
||||
#if defined(_M_IX86) && !defined(_X86_)
|
||||
#define _X86_
|
||||
#elif defined(_M_ALPHA) && !defined(_ALPHA_)
|
||||
#define _ALPHA_
|
||||
#elif defined(_M_PPC) && !defined(_PPC_)
|
||||
#define _PPC_
|
||||
#elif defined(_M_MRX000) && !defined(_MIPS_)
|
||||
#define _MIPS_
|
||||
#elif defined(_M_M68K) && !defined(_68K_)
|
||||
#define _68K_
|
||||
#endif
|
||||
#include <_mingw.h>
|
||||
|
||||
#ifndef _INC_WINDOWS
|
||||
#define _INC_WINDOWS
|
||||
|
||||
#if defined(RC_INVOKED) && !defined(NOWINRES)
|
||||
|
||||
#ifdef RC_INVOKED
|
||||
/* winresrc.h includes the necessary headers */
|
||||
#include <winresrc.h>
|
||||
#else
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifndef NONAMELESSUNION
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
#define _ANONYMOUS_UNION __extension__
|
||||
#define _ANONYMOUS_STRUCT __extension__
|
||||
#else
|
||||
#if defined(__cplusplus)
|
||||
#define _ANONYMOUS_UNION __extension__
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
|
||||
#endif /* NONAMELESSUNION */
|
||||
#elif defined(__WATCOMC__)
|
||||
#define _ANONYMOUS_UNION
|
||||
#define _ANONYMOUS_STRUCT
|
||||
#endif /* __GNUC__/__WATCOMC__ */
|
||||
|
||||
#ifndef _ANONYMOUS_UNION
|
||||
#define _ANONYMOUS_UNION
|
||||
#define _UNION_NAME(x) x
|
||||
#define DUMMYUNIONNAME u
|
||||
#define DUMMYUNIONNAME2 u2
|
||||
#define DUMMYUNIONNAME3 u3
|
||||
#define DUMMYUNIONNAME4 u4
|
||||
#define DUMMYUNIONNAME5 u5
|
||||
#define DUMMYUNIONNAME6 u6
|
||||
#define DUMMYUNIONNAME7 u7
|
||||
#define DUMMYUNIONNAME8 u8
|
||||
#else
|
||||
#define _UNION_NAME(x)
|
||||
#define DUMMYUNIONNAME
|
||||
#define DUMMYUNIONNAME2
|
||||
#define DUMMYUNIONNAME3
|
||||
#define DUMMYUNIONNAME4
|
||||
#define DUMMYUNIONNAME5
|
||||
#define DUMMYUNIONNAME6
|
||||
#define DUMMYUNIONNAME7
|
||||
#define DUMMYUNIONNAME8
|
||||
#endif
|
||||
#ifndef _ANONYMOUS_STRUCT
|
||||
#define _ANONYMOUS_STRUCT
|
||||
#define _STRUCT_NAME(x) x
|
||||
#define DUMMYSTRUCTNAME s
|
||||
#define DUMMYSTRUCTNAME2 s2
|
||||
#define DUMMYSTRUCTNAME3 s3
|
||||
#else
|
||||
#define _STRUCT_NAME(x)
|
||||
#define DUMMYSTRUCTNAME
|
||||
#define DUMMYSTRUCTNAME2
|
||||
#define DUMMYSTRUCTNAME3
|
||||
#ifdef RC_INVOKED
|
||||
#define NOATOM
|
||||
#define NOGDI
|
||||
#define NOGDICAPMASKS
|
||||
#define NOMETAFILE
|
||||
#define NOMINMAX
|
||||
#define NOMSG
|
||||
#define NOOPENFILE
|
||||
#define NORASTEROPS
|
||||
#define NOSCROLL
|
||||
#define NOSOUND
|
||||
#define NOSYSMETRICS
|
||||
#define NOTEXTMETRIC
|
||||
#define NOWH
|
||||
#define NOCOMM
|
||||
#define NOKANJI
|
||||
#define NOCRYPT
|
||||
#define NOMCX
|
||||
#endif
|
||||
|
||||
#ifndef NO_STRICT
|
||||
#ifndef STRICT
|
||||
#define STRICT 1
|
||||
#if !defined(I_X86_) && !defined(_IA64_) && !defined(_AMD64_) && (defined(_X86_) && !defined(__x86_64))
|
||||
#define I_X86_
|
||||
#endif
|
||||
|
||||
#if !defined(I_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(__x86_64)
|
||||
#define _AMD64_
|
||||
#endif
|
||||
|
||||
#if !defined(I_X86_) && !(defined(_X86_) && !defined(__x86_64)) && !defined(_AMD64_) && defined(__ia64__)
|
||||
#if !defined(_IA64_)
|
||||
#define _IA64_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <wincon.h>
|
||||
#include <basetyps.h>
|
||||
#ifndef RC_INVOKED
|
||||
#include <excpt.h>
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#ifndef _WINGDI_H
|
||||
#include <wingdi.h>
|
||||
#endif
|
||||
#ifndef _WINUSER_H
|
||||
#include <winuser.h>
|
||||
#endif
|
||||
#ifndef _WINNLS_H
|
||||
#include <winnls.h>
|
||||
#endif
|
||||
#ifndef _WINVER_H
|
||||
#include <wincon.h>
|
||||
#include <winver.h>
|
||||
#endif
|
||||
#ifndef _WINNETWK_H
|
||||
#include <winnetwk.h>
|
||||
#endif
|
||||
#ifndef _WINREG_H
|
||||
#include <winreg.h>
|
||||
#endif
|
||||
#ifndef _WINSVC_H
|
||||
#include <winsvc.h>
|
||||
#endif
|
||||
#include <winnetwk.h>
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#include <commdlg.h>
|
||||
#include <cderr.h>
|
||||
#include <dde.h>
|
||||
#include <ddeml.h>
|
||||
@ -141,36 +80,44 @@
|
||||
#include <rpc.h>
|
||||
#include <shellapi.h>
|
||||
#include <winperf.h>
|
||||
#include <winspool.h>
|
||||
#if defined(Win32_Winsock)
|
||||
#warning "The Win32_Winsock macro name is deprecated.\
|
||||
Please use __USE_W32_SOCKETS instead"
|
||||
#ifndef __USE_W32_SOCKETS
|
||||
#define __USE_W32_SOCKETS
|
||||
#endif
|
||||
#endif
|
||||
#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
|
||||
#if (_WIN32_WINNT >= 0x0400)
|
||||
#include <winsock2.h>
|
||||
/*
|
||||
* MS likes to include mswsock.h here as well,
|
||||
* but that can cause undefined symbols if
|
||||
* winsock2.h is included before windows.h
|
||||
*/
|
||||
#else
|
||||
#include <winsock.h>
|
||||
#endif /* (_WIN32_WINNT >= 0x0400) */
|
||||
#ifndef NOCRYPT
|
||||
#include <wincrypt.h>
|
||||
#include <winefs.h>
|
||||
#include <winscard.h>
|
||||
#endif
|
||||
#endif /* WIN32_LEAN_AND_MEAN */
|
||||
|
||||
#endif /* RC_INVOKED */
|
||||
#ifndef NOUSER
|
||||
#ifndef NOGDI
|
||||
#include <winspool.h>
|
||||
#ifdef INC_OLE1
|
||||
#include <ole.h>
|
||||
#else
|
||||
#include <ole2.h>
|
||||
#endif
|
||||
#include <commdlg.h>
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
|
||||
but undefining it causes trouble as well if a file is included after
|
||||
windows.h
|
||||
*/
|
||||
#undef BOOL
|
||||
#include <stralign.h>
|
||||
|
||||
#ifdef INC_OLE2
|
||||
#include <ole2.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOSERVICE
|
||||
#include <winsvc.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOMCX
|
||||
#include <mcx.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOIME
|
||||
#include <imm.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,108 +1,410 @@
|
||||
#ifndef _WINNETWK_H
|
||||
#define _WINNETWK_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINNETWK_
|
||||
#define _WINNETWK_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define WNNC_NET_MSNET 0x00010000
|
||||
#define WNNC_NET_LANMAN 0x00020000
|
||||
#define WNNC_NET_NETWARE 0x00030000
|
||||
#define WNNC_NET_VINES 0x00040000
|
||||
#define WNNC_NET_10NET 0x00050000
|
||||
#define WNNC_NET_LOCUS 0x00060000
|
||||
#define WNNC_NET_SUN_PC_NFS 0x00070000
|
||||
#define WNNC_NET_LANSTEP 0x00080000
|
||||
#define WNNC_NET_9TILES 0x00090000
|
||||
#define WNNC_NET_LANTASTIC 0x000A0000
|
||||
#define WNNC_NET_AS400 0x000B0000
|
||||
#define WNNC_NET_FTP_NFS 0x000C0000
|
||||
#define WNNC_NET_PATHWORKS 0x000D0000
|
||||
#define WNNC_NET_LIFENET 0x000E0000
|
||||
#define WNNC_NET_POWERLAN 0x000F0000
|
||||
#define WNNC_NET_BWNFS 0x00100000
|
||||
#define WNNC_NET_COGENT 0x00110000
|
||||
#define WNNC_NET_FARALLON 0x00120000
|
||||
#define WNNC_NET_APPLETALK 0x00130000
|
||||
#define WNNC_NET_INTERGRAPH 0x00140000
|
||||
#define WNNC_NET_SYMFONET 0x00150000
|
||||
#define WNNC_NET_CLEARCASE 0x00160000
|
||||
#define WNNC_NET_FRONTIER 0x00170000
|
||||
#define WNNC_NET_BMC 0x00180000
|
||||
#define WNNC_NET_DCE 0x00190000
|
||||
#define WNNC_NET_AVID 0x001A0000
|
||||
#define WNNC_NET_DOCUSPACE 0x001B0000
|
||||
#define WNNC_NET_MANGOSOFT 0x001C0000
|
||||
#define WNNC_NET_SERNET 0x001D0000
|
||||
#define WNNC_NET_DECORB 0x00200000
|
||||
#define WNNC_NET_PROTSTOR 0x00210000
|
||||
#define WNNC_NET_FJ_REDIR 0x00220000
|
||||
#define WNNC_NET_DISTINCT 0x00230000
|
||||
#define WNNC_NET_TWINS 0x00240000
|
||||
#define WNNC_NET_RDR2SAMPLE 0x00250000
|
||||
#define WNNC_NET_CSC 0x00260000
|
||||
#define WNNC_NET_3IN1 0x00270000
|
||||
#define WNNC_NET_EXTENDNET 0x00290000
|
||||
#define WNNC_NET_OBJECT_DIRE 0x00300000
|
||||
#define WNNC_NET_MASFAX 0x00310000
|
||||
#define WNNC_NET_HOB_NFS 0x00320000
|
||||
#define WNNC_NET_SHIVA 0x00330000
|
||||
#define WNNC_NET_IBMAL 0x00340000
|
||||
#define WNNC_CRED_MANAGER 0xFFFF0000
|
||||
|
||||
#define RESOURCE_CONNECTED 1
|
||||
#define RESOURCE_GLOBALNET 2
|
||||
#define RESOURCE_REMEMBERED 3
|
||||
#define RESOURCE_RECENT 4
|
||||
#define RESOURCE_CONTEXT 5
|
||||
#define RESOURCETYPE_ANY 0
|
||||
#define RESOURCETYPE_DISK 1
|
||||
#define RESOURCETYPE_PRINT 2
|
||||
#define RESOURCETYPE_RESERVED 8
|
||||
#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
|
||||
#define RESOURCEUSAGE_CONNECTABLE 0x00000001
|
||||
#define RESOURCEUSAGE_CONTAINER 0x00000002
|
||||
#define WNNC_NET_MSNET 0x00010000
|
||||
#define WNNC_NET_LANMAN 0x00020000
|
||||
#define WNNC_NET_NETWARE 0x00030000
|
||||
#define WNNC_NET_VINES 0x00040000
|
||||
#define WNNC_NET_10NET 0x00050000
|
||||
#define WNNC_NET_LOCUS 0x00060000
|
||||
#define WNNC_NET_SUN_PC_NFS 0x00070000
|
||||
#define WNNC_NET_LANSTEP 0x00080000
|
||||
#define WNNC_NET_9TILES 0x00090000
|
||||
#define WNNC_NET_LANTASTIC 0x000A0000
|
||||
#define WNNC_NET_AS400 0x000B0000
|
||||
#define WNNC_NET_FTP_NFS 0x000C0000
|
||||
#define WNNC_NET_PATHWORKS 0x000D0000
|
||||
#define WNNC_NET_LIFENET 0x000E0000
|
||||
#define WNNC_NET_POWERLAN 0x000F0000
|
||||
#define WNNC_NET_BWNFS 0x00100000
|
||||
#define WNNC_NET_COGENT 0x00110000
|
||||
#define WNNC_NET_FARALLON 0x00120000
|
||||
#define WNNC_NET_APPLETALK 0x00130000
|
||||
#define WNNC_NET_INTERGRAPH 0x00140000
|
||||
#define WNNC_NET_SYMFONET 0x00150000
|
||||
#define WNNC_NET_CLEARCASE 0x00160000
|
||||
#define WNNC_NET_FRONTIER 0x00170000
|
||||
#define WNNC_NET_BMC 0x00180000
|
||||
#define WNNC_NET_DCE 0x00190000
|
||||
#define WNNC_NET_AVID 0x001A0000
|
||||
#define WNNC_NET_DOCUSPACE 0x001B0000
|
||||
#define WNNC_NET_MANGOSOFT 0x001C0000
|
||||
#define WNNC_NET_SERNET 0x001D0000
|
||||
#define WNNC_NET_RIVERFRONT1 0X001E0000
|
||||
#define WNNC_NET_RIVERFRONT2 0x001F0000
|
||||
#define WNNC_NET_DECORB 0x00200000
|
||||
#define WNNC_NET_PROTSTOR 0x00210000
|
||||
#define WNNC_NET_FJ_REDIR 0x00220000
|
||||
#define WNNC_NET_DISTINCT 0x00230000
|
||||
#define WNNC_NET_TWINS 0x00240000
|
||||
#define WNNC_NET_RDR2SAMPLE 0x00250000
|
||||
#define WNNC_NET_CSC 0x00260000
|
||||
#define WNNC_NET_3IN1 0x00270000
|
||||
#define WNNC_NET_EXTENDNET 0x00290000
|
||||
#define WNNC_NET_STAC 0x002A0000
|
||||
#define WNNC_NET_FOXBAT 0x002B0000
|
||||
#define WNNC_NET_YAHOO 0x002C0000
|
||||
#define WNNC_NET_EXIFS 0x002D0000
|
||||
#define WNNC_NET_DAV 0x002E0000
|
||||
#define WNNC_NET_KNOWARE 0x002F0000
|
||||
#define WNNC_NET_OBJECT_DIRE 0x00300000
|
||||
#define WNNC_NET_MASFAX 0x00310000
|
||||
#define WNNC_NET_HOB_NFS 0x00320000
|
||||
#define WNNC_NET_SHIVA 0x00330000
|
||||
#define WNNC_NET_IBMAL 0x00340000
|
||||
#define WNNC_NET_LOCK 0x00350000
|
||||
#define WNNC_NET_TERMSRV 0x00360000
|
||||
#define WNNC_NET_SRT 0x00370000
|
||||
#define WNNC_NET_QUINCY 0x00380000
|
||||
|
||||
#define WNNC_CRED_MANAGER 0xFFFF0000
|
||||
|
||||
#define RESOURCE_CONNECTED 0x00000001
|
||||
#define RESOURCE_GLOBALNET 0x00000002
|
||||
#define RESOURCE_REMEMBERED 0x00000003
|
||||
#define RESOURCE_RECENT 0x00000004
|
||||
#define RESOURCE_CONTEXT 0x00000005
|
||||
|
||||
#define RESOURCETYPE_ANY 0x00000000
|
||||
#define RESOURCETYPE_DISK 0x00000001
|
||||
#define RESOURCETYPE_PRINT 0x00000002
|
||||
#define RESOURCETYPE_RESERVED 0x00000008
|
||||
#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
|
||||
|
||||
#define RESOURCEUSAGE_CONNECTABLE 0x00000001
|
||||
#define RESOURCEUSAGE_CONTAINER 0x00000002
|
||||
#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
|
||||
#define RESOURCEUSAGE_SIBLING 0x00000008
|
||||
#define RESOURCEUSAGE_ATTACHED 0x00000010
|
||||
#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
|
||||
#define RESOURCEUSAGE_RESERVED 0x80000000
|
||||
#define RESOURCEDISPLAYTYPE_GENERIC 0
|
||||
#define RESOURCEDISPLAYTYPE_DOMAIN 1
|
||||
#define RESOURCEDISPLAYTYPE_SERVER 2
|
||||
#define RESOURCEDISPLAYTYPE_SHARE 3
|
||||
#define RESOURCEDISPLAYTYPE_FILE 4
|
||||
#define RESOURCEDISPLAYTYPE_GROUP 5
|
||||
#define RESOURCEDISPLAYTYPE_NETWORK 6
|
||||
#define RESOURCEDISPLAYTYPE_ROOT 7
|
||||
#define RESOURCEDISPLAYTYPE_SHAREADMIN 8
|
||||
#define RESOURCEDISPLAYTYPE_DIRECTORY 9
|
||||
#define RESOURCEDISPLAYTYPE_TREE 10
|
||||
#define RESOURCEUSAGE_SIBLING 0x00000008
|
||||
#define RESOURCEUSAGE_ATTACHED 0x00000010
|
||||
#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
|
||||
#define RESOURCEUSAGE_RESERVED 0x80000000
|
||||
|
||||
#define RESOURCEDISPLAYTYPE_GENERIC 0x00000000
|
||||
#define RESOURCEDISPLAYTYPE_DOMAIN 0x00000001
|
||||
#define RESOURCEDISPLAYTYPE_SERVER 0x00000002
|
||||
#define RESOURCEDISPLAYTYPE_SHARE 0x00000003
|
||||
#define RESOURCEDISPLAYTYPE_FILE 0x00000004
|
||||
#define RESOURCEDISPLAYTYPE_GROUP 0x00000005
|
||||
#define RESOURCEDISPLAYTYPE_NETWORK 0x00000006
|
||||
#define RESOURCEDISPLAYTYPE_ROOT 0x00000007
|
||||
#define RESOURCEDISPLAYTYPE_SHAREADMIN 0x00000008
|
||||
#define RESOURCEDISPLAYTYPE_DIRECTORY 0x00000009
|
||||
#define RESOURCEDISPLAYTYPE_TREE 0x0000000A
|
||||
#define RESOURCEDISPLAYTYPE_NDSCONTAINER 0x0000000B
|
||||
|
||||
typedef struct _NETRESOURCEA {
|
||||
DWORD dwScope;
|
||||
DWORD dwType;
|
||||
DWORD dwDisplayType;
|
||||
DWORD dwUsage;
|
||||
LPSTR lpLocalName;
|
||||
LPSTR lpRemoteName;
|
||||
LPSTR lpComment;
|
||||
LPSTR lpProvider;
|
||||
}NETRESOURCEA,*LPNETRESOURCEA;
|
||||
typedef struct _NETRESOURCEW {
|
||||
DWORD dwScope;
|
||||
DWORD dwType;
|
||||
DWORD dwDisplayType;
|
||||
DWORD dwUsage;
|
||||
LPWSTR lpLocalName;
|
||||
LPWSTR lpRemoteName;
|
||||
LPWSTR lpComment;
|
||||
LPWSTR lpProvider;
|
||||
}NETRESOURCEW,*LPNETRESOURCEW;
|
||||
#ifdef UNICODE
|
||||
typedef NETRESOURCEW NETRESOURCE;
|
||||
typedef LPNETRESOURCEW LPNETRESOURCE;
|
||||
#else
|
||||
typedef NETRESOURCEA NETRESOURCE;
|
||||
typedef LPNETRESOURCEA LPNETRESOURCE;
|
||||
#endif
|
||||
|
||||
#define NETPROPERTY_PERSISTENT 1
|
||||
#define CONNECT_UPDATE_PROFILE 1
|
||||
#define CONNECT_UPDATE_RECENT 2
|
||||
#define CONNECT_TEMPORARY 4
|
||||
#define CONNECT_INTERACTIVE 8
|
||||
#define CONNECT_PROMPT 16
|
||||
#define CONNECT_NEED_DRIVE 32
|
||||
#define CONNECT_REFCOUNT 64
|
||||
#define CONNECT_REDIRECT 128
|
||||
#define CONNECT_LOCALDRIVE 256
|
||||
#define CONNECT_CURRENT_MEDIA 512
|
||||
#define CONNDLG_RO_PATH 1
|
||||
#define CONNDLG_CONN_POINT 2
|
||||
#define CONNDLG_USE_MRU 4
|
||||
#define CONNDLG_HIDE_BOX 8
|
||||
#define CONNDLG_PERSIST 16
|
||||
#define CONNDLG_NOT_PERSIST 32
|
||||
#define DISC_UPDATE_PROFILE 1
|
||||
#define DISC_NO_FORCE 64
|
||||
#define WNFMT_MULTILINE 1
|
||||
#define WNFMT_ABBREVIATED 2
|
||||
#define WNFMT_INENUM 16
|
||||
#define WNFMT_CONNECTION 32
|
||||
|
||||
#define CONNECT_UPDATE_PROFILE 0x00000001
|
||||
#define CONNECT_UPDATE_RECENT 0x00000002
|
||||
#define CONNECT_TEMPORARY 0x00000004
|
||||
#define CONNECT_INTERACTIVE 0x00000008
|
||||
#define CONNECT_PROMPT 0x00000010
|
||||
#define CONNECT_NEED_DRIVE 0x00000020
|
||||
#define CONNECT_REFCOUNT 0x00000040
|
||||
#define CONNECT_REDIRECT 0x00000080
|
||||
#define CONNECT_LOCALDRIVE 0x00000100
|
||||
#define CONNECT_CURRENT_MEDIA 0x00000200
|
||||
#define CONNECT_DEFERRED 0x00000400
|
||||
#define CONNECT_RESERVED 0xFF000000
|
||||
#define CONNECT_COMMANDLINE 0x00000800
|
||||
#define CONNECT_CMD_SAVECRED 0x00001000
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetAddConnection WNetAddConnectionW
|
||||
#define WNetAddConnection2 WNetAddConnection2W
|
||||
#define WNetAddConnection3 WNetAddConnection3W
|
||||
#define WNetCancelConnection WNetCancelConnectionW
|
||||
#define WNetCancelConnection2 WNetCancelConnection2W
|
||||
#define WNetGetConnection WNetGetConnectionW
|
||||
#define WNetRestoreConnection WNetRestoreConnectionW
|
||||
#define WNetUseConnection WNetUseConnectionW
|
||||
#else
|
||||
#define WNetAddConnection WNetAddConnectionA
|
||||
#define WNetAddConnection2 WNetAddConnection2A
|
||||
#define WNetAddConnection3 WNetAddConnection3A
|
||||
#define WNetCancelConnection WNetCancelConnectionA
|
||||
#define WNetCancelConnection2 WNetCancelConnection2A
|
||||
#define WNetGetConnection WNetGetConnectionA
|
||||
#define WNetRestoreConnection WNetRestoreConnectionA
|
||||
#define WNetUseConnection WNetUseConnectionA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetAddConnectionA(LPCSTR lpRemoteName,LPCSTR lpPassword,LPCSTR lpLocalName);
|
||||
DWORD WINAPI WNetAddConnectionW(LPCWSTR lpRemoteName,LPCWSTR lpPassword,LPCWSTR lpLocalName);
|
||||
DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
|
||||
DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
|
||||
DWORD WINAPI WNetAddConnection3A(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
|
||||
DWORD WINAPI WNetAddConnection3W(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
|
||||
DWORD WINAPI WNetCancelConnectionA(LPCSTR lpName,WINBOOL fForce);
|
||||
DWORD WINAPI WNetCancelConnectionW(LPCWSTR lpName,WINBOOL fForce);
|
||||
DWORD WINAPI WNetCancelConnection2A(LPCSTR lpName,DWORD dwFlags,WINBOOL fForce);
|
||||
DWORD WINAPI WNetCancelConnection2W(LPCWSTR lpName,DWORD dwFlags,WINBOOL fForce);
|
||||
DWORD WINAPI WNetGetConnectionA(LPCSTR lpLocalName,LPSTR lpRemoteName,LPDWORD lpnLength);
|
||||
DWORD WINAPI WNetGetConnectionW(LPCWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnLength);
|
||||
DWORD WINAPI WNetRestoreConnectionA(HWND hwndParent,LPCSTR lpDevice);
|
||||
DWORD WINAPI WNetRestoreConnectionW(HWND hwndParent,LPCWSTR lpDevice);
|
||||
DWORD WINAPI WNetUseConnectionA(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserID,DWORD dwFlags,LPSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
|
||||
DWORD WINAPI WNetUseConnectionW(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserID,DWORD dwFlags,LPWSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
|
||||
DWORD WINAPI WNetConnectionDialog(HWND hwnd,DWORD dwType);
|
||||
DWORD WINAPI WNetDisconnectDialog(HWND hwnd,DWORD dwType);
|
||||
|
||||
typedef struct _CONNECTDLGSTRUCTA {
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPNETRESOURCEA lpConnRes;
|
||||
DWORD dwFlags;
|
||||
DWORD dwDevNum;
|
||||
} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
|
||||
|
||||
typedef struct _CONNECTDLGSTRUCTW {
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPNETRESOURCEW lpConnRes;
|
||||
DWORD dwFlags;
|
||||
DWORD dwDevNum;
|
||||
} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
|
||||
#ifdef UNICODE
|
||||
typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT;
|
||||
typedef LPCONNECTDLGSTRUCTW LPCONNECTDLGSTRUCT;
|
||||
#else
|
||||
typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT;
|
||||
typedef LPCONNECTDLGSTRUCTA LPCONNECTDLGSTRUCT;
|
||||
#endif
|
||||
|
||||
#define CONNDLG_RO_PATH 0x00000001
|
||||
#define CONNDLG_CONN_POINT 0x00000002
|
||||
#define CONNDLG_USE_MRU 0x00000004
|
||||
#define CONNDLG_HIDE_BOX 0x00000008
|
||||
|
||||
#define CONNDLG_PERSIST 0x00000010
|
||||
#define CONNDLG_NOT_PERSIST 0x00000020
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetConnectionDialog1 WNetConnectionDialog1W
|
||||
#else
|
||||
#define WNetConnectionDialog1 WNetConnectionDialog1A
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA lpConnDlgStruct);
|
||||
DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct);
|
||||
|
||||
typedef struct _DISCDLGSTRUCTA {
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPSTR lpLocalName;
|
||||
LPSTR lpRemoteName;
|
||||
DWORD dwFlags;
|
||||
} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
|
||||
|
||||
typedef struct _DISCDLGSTRUCTW {
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPWSTR lpLocalName;
|
||||
LPWSTR lpRemoteName;
|
||||
DWORD dwFlags;
|
||||
} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef DISCDLGSTRUCTW DISCDLGSTRUCT;
|
||||
typedef LPDISCDLGSTRUCTW LPDISCDLGSTRUCT;
|
||||
#else
|
||||
typedef DISCDLGSTRUCTA DISCDLGSTRUCT;
|
||||
typedef LPDISCDLGSTRUCTA LPDISCDLGSTRUCT;
|
||||
#endif
|
||||
|
||||
#define DISC_UPDATE_PROFILE 0x00000001
|
||||
#define DISC_NO_FORCE 0x00000040
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetDisconnectDialog1 WNetDisconnectDialog1W
|
||||
#define WNetOpenEnum WNetOpenEnumW
|
||||
#define WNetEnumResource WNetEnumResourceW
|
||||
#define WNetGetResourceParent WNetGetResourceParentW
|
||||
#define WNetGetResourceInformation WNetGetResourceInformationW
|
||||
#else
|
||||
#define WNetDisconnectDialog1 WNetDisconnectDialog1A
|
||||
#define WNetOpenEnum WNetOpenEnumA
|
||||
#define WNetEnumResource WNetEnumResourceA
|
||||
#define WNetGetResourceParent WNetGetResourceParentA
|
||||
#define WNetGetResourceInformation WNetGetResourceInformationA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA lpConnDlgStruct);
|
||||
DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct);
|
||||
DWORD WINAPI WNetOpenEnumA(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEA lpNetResource,LPHANDLE lphEnum);
|
||||
DWORD WINAPI WNetOpenEnumW(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
|
||||
DWORD WINAPI WNetEnumResourceA(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
|
||||
DWORD WINAPI WNetEnumResourceW(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
|
||||
DWORD WINAPI WNetCloseEnum(HANDLE hEnum);
|
||||
DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
|
||||
DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
|
||||
DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPSTR *lplpSystem);
|
||||
DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPWSTR *lplpSystem);
|
||||
|
||||
#define UNIVERSAL_NAME_INFO_LEVEL 0x00000001
|
||||
#define REMOTE_NAME_INFO_LEVEL 0x00000002
|
||||
|
||||
typedef struct _UNIVERSAL_NAME_INFOA {
|
||||
LPSTR lpUniversalName;
|
||||
} UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
|
||||
|
||||
typedef struct _UNIVERSAL_NAME_INFOW {
|
||||
LPWSTR lpUniversalName;
|
||||
} UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO;
|
||||
typedef LPUNIVERSAL_NAME_INFOW LPUNIVERSAL_NAME_INFO;
|
||||
#else
|
||||
typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO;
|
||||
typedef LPUNIVERSAL_NAME_INFOA LPUNIVERSAL_NAME_INFO;
|
||||
#endif
|
||||
|
||||
typedef struct _REMOTE_NAME_INFOA {
|
||||
LPSTR lpUniversalName;
|
||||
LPSTR lpConnectionName;
|
||||
LPSTR lpRemainingPath;
|
||||
} REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
|
||||
|
||||
typedef struct _REMOTE_NAME_INFOW {
|
||||
LPWSTR lpUniversalName;
|
||||
LPWSTR lpConnectionName;
|
||||
LPWSTR lpRemainingPath;
|
||||
} REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO;
|
||||
typedef LPREMOTE_NAME_INFOW LPREMOTE_NAME_INFO;
|
||||
#else
|
||||
typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO;
|
||||
typedef LPREMOTE_NAME_INFOA LPREMOTE_NAME_INFO;
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetGetUniversalName WNetGetUniversalNameW
|
||||
#define WNetGetUser WNetGetUserW
|
||||
#define WNetGetProviderName WNetGetProviderNameW
|
||||
#else
|
||||
#define WNetGetUniversalName WNetGetUniversalNameA
|
||||
#define WNetGetUser WNetGetUserA
|
||||
#define WNetGetProviderName WNetGetProviderNameA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetGetUniversalNameA(LPCSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
|
||||
DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
|
||||
DWORD WINAPI WNetGetUserA(LPCSTR lpName,LPSTR lpUserName,LPDWORD lpnLength);
|
||||
DWORD WINAPI WNetGetUserW(LPCWSTR lpName,LPWSTR lpUserName,LPDWORD lpnLength);
|
||||
|
||||
#define WNFMT_MULTILINE 0x01
|
||||
#define WNFMT_ABBREVIATED 0x02
|
||||
#define WNFMT_INENUM 0x10
|
||||
#define WNFMT_CONNECTION 0x20
|
||||
|
||||
DWORD WINAPI WNetGetProviderNameA(DWORD dwNetType,LPSTR lpProviderName,LPDWORD lpBufferSize);
|
||||
DWORD WINAPI WNetGetProviderNameW(DWORD dwNetType,LPWSTR lpProviderName,LPDWORD lpBufferSize);
|
||||
|
||||
typedef struct _NETINFOSTRUCT {
|
||||
DWORD cbStructure;
|
||||
DWORD dwProviderVersion;
|
||||
DWORD dwStatus;
|
||||
DWORD dwCharacteristics;
|
||||
ULONG_PTR dwHandle;
|
||||
WORD wNetType;
|
||||
DWORD dwPrinters;
|
||||
DWORD dwDrives;
|
||||
} NETINFOSTRUCT,*LPNETINFOSTRUCT;
|
||||
|
||||
#define NETINFO_DLL16 0x00000001
|
||||
#define NETINFO_DISKRED 0x00000004
|
||||
#define NETINFO_PRINTERRED 0x00000008
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetGetNetworkInformation WNetGetNetworkInformationW
|
||||
#else
|
||||
#define WNetGetNetworkInformation WNetGetNetworkInformationA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetGetNetworkInformationA(LPCSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
|
||||
DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
|
||||
|
||||
typedef UINT (WINAPI *PFNGETPROFILEPATHA) (LPCSTR pszUsername,LPSTR pszBuffer,UINT cbBuffer);
|
||||
typedef UINT (WINAPI *PFNGETPROFILEPATHW) (LPCWSTR pszUsername,LPWSTR pszBuffer,UINT cbBuffer);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
|
||||
#else
|
||||
#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
|
||||
#endif
|
||||
|
||||
typedef UINT (WINAPI *PFNRECONCILEPROFILEA) (LPCSTR pszCentralFile,LPCSTR pszLocalFile,DWORD dwFlags);
|
||||
typedef UINT (WINAPI *PFNRECONCILEPROFILEW) (LPCWSTR pszCentralFile,LPCWSTR pszLocalFile,DWORD dwFlags);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
|
||||
#else
|
||||
#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
|
||||
#endif
|
||||
|
||||
#define RP_LOGON 0x01
|
||||
#define RP_INIFILE 0x02
|
||||
|
||||
typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESA) (HWND hwnd,LPCSTR pszPath,LPCSTR pszUsername,LPCSTR pszComputerName,DWORD dwFlags);
|
||||
typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESW) (HWND hwnd,LPCWSTR pszPath,LPCWSTR pszUsername,LPCWSTR pszComputerName,DWORD dwFlags);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
|
||||
#else
|
||||
#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
|
||||
#endif
|
||||
|
||||
#define PP_DISPLAYERRORS 0x01
|
||||
|
||||
#ifdef UNICODE
|
||||
#define WNetGetLastError WNetGetLastErrorW
|
||||
#else
|
||||
#define WNetGetLastError WNetGetLastErrorA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI WNetGetLastErrorA(LPDWORD lpError,LPSTR lpErrorBuf,DWORD nErrorBufSize,LPSTR lpNameBuf,DWORD nNameBufSize);
|
||||
DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError,LPWSTR lpErrorBuf,DWORD nErrorBufSize,LPWSTR lpNameBuf,DWORD nNameBufSize);
|
||||
|
||||
#define WN_SUCCESS NO_ERROR
|
||||
#define WN_NO_ERROR NO_ERROR
|
||||
#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
|
||||
@ -138,208 +440,36 @@ extern "C" {
|
||||
#define WN_BAD_PROFILE ERROR_BAD_PROFILE
|
||||
#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
|
||||
#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
|
||||
#define WN_CONNECTED_OTHER_PASSWORD ERROR_CONNECTED_OTHER_PASSWORD
|
||||
#define WN_CONNECTED_OTHER_PASSWORD_DEFAULT ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
|
||||
#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
|
||||
#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
|
||||
#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
|
||||
#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
|
||||
#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
|
||||
#define UNIVERSAL_NAME_INFO_LEVEL 1
|
||||
#define REMOTE_NAME_INFO_LEVEL 2
|
||||
#define NETINFO_DLL16 1
|
||||
#define NETINFO_DISKRED 4
|
||||
#define NETINFO_PRINTERRED 8
|
||||
#define RP_LOGON 1
|
||||
#define RP_INIFILE 2
|
||||
#define PP_DISPLAYERRORS 1
|
||||
#define WNCON_FORNETCARD 1
|
||||
#define WNCON_NOTROUTED 2
|
||||
#define WNCON_SLOWLINK 4
|
||||
#define WNCON_DYNAMIC 8
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
typedef struct _NETRESOURCEA {
|
||||
DWORD dwScope;
|
||||
DWORD dwType;
|
||||
DWORD dwDisplayType;
|
||||
DWORD dwUsage;
|
||||
LPSTR lpLocalName;
|
||||
LPSTR lpRemoteName;
|
||||
LPSTR lpComment ;
|
||||
LPSTR lpProvider;
|
||||
}NETRESOURCEA,*LPNETRESOURCEA;
|
||||
typedef struct _NETRESOURCEW {
|
||||
DWORD dwScope;
|
||||
DWORD dwType;
|
||||
DWORD dwDisplayType;
|
||||
DWORD dwUsage;
|
||||
LPWSTR lpLocalName;
|
||||
LPWSTR lpRemoteName;
|
||||
LPWSTR lpComment ;
|
||||
LPWSTR lpProvider;
|
||||
}NETRESOURCEW,*LPNETRESOURCEW;
|
||||
typedef struct _CONNECTDLGSTRUCTA{
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPNETRESOURCEA lpConnRes;
|
||||
DWORD dwFlags;
|
||||
DWORD dwDevNum;
|
||||
} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
|
||||
typedef struct _CONNECTDLGSTRUCTW{
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPNETRESOURCEW lpConnRes;
|
||||
DWORD dwFlags;
|
||||
DWORD dwDevNum;
|
||||
} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
|
||||
typedef struct _DISCDLGSTRUCTA{
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPSTR lpLocalName;
|
||||
LPSTR lpRemoteName;
|
||||
DWORD dwFlags;
|
||||
} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
|
||||
typedef struct _DISCDLGSTRUCTW{
|
||||
DWORD cbStructure;
|
||||
HWND hwndOwner;
|
||||
LPWSTR lpLocalName;
|
||||
LPWSTR lpRemoteName;
|
||||
DWORD dwFlags;
|
||||
} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
|
||||
typedef struct _UNIVERSAL_NAME_INFOA { LPSTR lpUniversalName; }UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
|
||||
typedef struct _UNIVERSAL_NAME_INFOW { LPWSTR lpUniversalName; }UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
|
||||
typedef struct _REMOTE_NAME_INFOA {
|
||||
LPSTR lpUniversalName;
|
||||
LPSTR lpConnectionName;
|
||||
LPSTR lpRemainingPath;
|
||||
}REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
|
||||
typedef struct _REMOTE_NAME_INFOW {
|
||||
LPWSTR lpUniversalName;
|
||||
LPWSTR lpConnectionName;
|
||||
LPWSTR lpRemainingPath;
|
||||
}REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
|
||||
typedef struct _NETINFOSTRUCT{
|
||||
DWORD cbStructure;
|
||||
DWORD dwProviderVersion;
|
||||
DWORD dwStatus;
|
||||
DWORD dwCharacteristics;
|
||||
DWORD dwHandle;
|
||||
WORD wNetType;
|
||||
DWORD dwPrinters;
|
||||
DWORD dwDrives;
|
||||
} NETINFOSTRUCT,*LPNETINFOSTRUCT;
|
||||
typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT);
|
||||
typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT);
|
||||
typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD);
|
||||
typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD);
|
||||
typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD);
|
||||
typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
|
||||
typedef struct _NETCONNECTINFOSTRUCT{
|
||||
DWORD cbStructure;
|
||||
DWORD dwFlags;
|
||||
DWORD dwSpeed;
|
||||
DWORD dwDelay;
|
||||
DWORD dwOptDataSize;
|
||||
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
|
||||
typedef struct _NETCONNECTINFOSTRUCT {
|
||||
DWORD cbStructure;
|
||||
DWORD dwFlags;
|
||||
DWORD dwSpeed;
|
||||
DWORD dwDelay;
|
||||
DWORD dwOptDataSize;
|
||||
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
|
||||
|
||||
#define WNCON_FORNETCARD 0x00000001
|
||||
#define WNCON_NOTROUTED 0x00000002
|
||||
#define WNCON_SLOWLINK 0x00000004
|
||||
#define WNCON_DYNAMIC 0x00000008
|
||||
|
||||
DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
|
||||
DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
|
||||
DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
|
||||
DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
|
||||
DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
|
||||
DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
|
||||
DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL);
|
||||
DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL);
|
||||
DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
|
||||
DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
|
||||
DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
|
||||
DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
|
||||
DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
|
||||
DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
|
||||
DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID);
|
||||
DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
|
||||
DWORD APIENTRY WNetConnectionDialog(HWND,DWORD);
|
||||
DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD);
|
||||
DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
|
||||
DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
|
||||
DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
|
||||
DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
|
||||
DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
|
||||
DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
|
||||
DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
|
||||
DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
|
||||
DWORD APIENTRY WNetCloseEnum(HANDLE);
|
||||
DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
|
||||
DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
|
||||
DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD);
|
||||
DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
|
||||
DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
|
||||
DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
|
||||
DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
|
||||
DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
|
||||
DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPCSTR*);
|
||||
DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPCWSTR*);
|
||||
DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
|
||||
DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
|
||||
DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
|
||||
DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
|
||||
#ifdef UNICODE
|
||||
#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
|
||||
#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
|
||||
#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
|
||||
typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE;
|
||||
typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
|
||||
typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
|
||||
typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
|
||||
typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
|
||||
#define WNetEnumResource WNetEnumResourceW
|
||||
#define WNetOpenEnum WNetOpenEnumW
|
||||
#define WNetGetResourceInformation WNetGetResourceInformationW
|
||||
#define WNetGetUniversalName WNetGetUniversalNameW
|
||||
#define WNetSetConnection WNetSetConnectionW
|
||||
#define WNetUseConnection WNetUseConnectionW
|
||||
#define WNetGetConnection WNetGetConnectionW
|
||||
#define WNetCancelConnection2 WNetCancelConnection2W
|
||||
#define WNetCancelConnection WNetCancelConnectionW
|
||||
#define WNetAddConnection3 WNetAddConnection3W
|
||||
#define WNetAddConnection2 WNetAddConnection2W
|
||||
#define WNetAddConnection WNetAddConnectionW
|
||||
#define WNetConnectionDialog1 WNetConnectionDialog1W
|
||||
#define WNetDisconnectDialog1 WNetDisconnectDialog1W
|
||||
#define WNetGetNetworkInformation WNetGetNetworkInformationW
|
||||
#define WNetGetProviderName WNetGetProviderNameW
|
||||
#define WNetGetUser WNetGetUserW
|
||||
#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
|
||||
#define WNetGetLastError WNetGetLastErrorW
|
||||
#else
|
||||
#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
|
||||
#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
|
||||
#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
|
||||
typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE;
|
||||
typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
|
||||
typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
|
||||
typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
|
||||
typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
|
||||
#define WNetOpenEnum WNetOpenEnumA
|
||||
#define WNetEnumResource WNetEnumResourceA
|
||||
#define WNetGetResourceInformation WNetGetResourceInformationA
|
||||
#define WNetGetUniversalName WNetGetUniversalNameA
|
||||
#define WNetConnectionDialog1 WNetConnectionDialog1A
|
||||
#define WNetDisconnectDialog1 WNetDisconnectDialog1A
|
||||
#define WNetAddConnection2 WNetAddConnection2A
|
||||
#define WNetAddConnection3 WNetAddConnection3A
|
||||
#define WNetCancelConnection WNetCancelConnectionA
|
||||
#define WNetCancelConnection2 WNetCancelConnection2A
|
||||
#define WNetGetConnection WNetGetConnectionA
|
||||
#define WNetUseConnection WNetUseConnectionA
|
||||
#define WNetSetConnection WNetSetConnectionA
|
||||
#define WNetAddConnection WNetAddConnectionA
|
||||
#define WNetGetUser WNetGetUserA
|
||||
#define WNetGetProviderName WNetGetProviderNameA
|
||||
#define WNetGetNetworkInformation WNetGetNetworkInformationA
|
||||
#define WNetGetLastError WNetGetLastErrorA
|
||||
#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
|
||||
DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,114 +1,129 @@
|
||||
#ifndef _WINREG_H
|
||||
#define _WINREG_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINREG_
|
||||
#define _WINREG_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
|
||||
#define HKEY_CURRENT_USER ((HKEY)0x80000001)
|
||||
#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
|
||||
#define HKEY_USERS ((HKEY)0x80000003)
|
||||
#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
|
||||
#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
|
||||
#define HKEY_DYN_DATA ((HKEY)0x80000006)
|
||||
#define REG_OPTION_VOLATILE 1
|
||||
#define REG_OPTION_NON_VOLATILE 0
|
||||
#define REG_CREATED_NEW_KEY 1
|
||||
#define REG_OPENED_EXISTING_KEY 2
|
||||
#define REG_NONE 0
|
||||
#define REG_SZ 1
|
||||
#define REG_EXPAND_SZ 2
|
||||
#define REG_BINARY 3
|
||||
#define REG_DWORD 4
|
||||
#define REG_DWORD_BIG_ENDIAN 5
|
||||
#define REG_DWORD_LITTLE_ENDIAN 4
|
||||
#define REG_LINK 6
|
||||
#define REG_MULTI_SZ 7
|
||||
#define REG_RESOURCE_LIST 8
|
||||
#define REG_FULL_RESOURCE_DESCRIPTOR 9
|
||||
#define REG_RESOURCE_REQUIREMENTS_LIST 10
|
||||
#define REG_NOTIFY_CHANGE_NAME 1
|
||||
#define REG_NOTIFY_CHANGE_ATTRIBUTES 2
|
||||
#define REG_NOTIFY_CHANGE_LAST_SET 4
|
||||
#define REG_NOTIFY_CHANGE_SECURITY 8
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
typedef ACCESS_MASK REGSAM;
|
||||
typedef struct value_entA {
|
||||
LPSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} VALENTA,*PVALENTA;
|
||||
typedef struct value_entW {
|
||||
LPWSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} VALENTW,*PVALENTW;
|
||||
BOOL WINAPI AbortSystemShutdownA(LPCSTR);
|
||||
BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
|
||||
BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
|
||||
BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
|
||||
LONG WINAPI RegCloseKey(HKEY);
|
||||
LONG WINAPI RegConnectRegistryA(LPSTR,HKEY,PHKEY);
|
||||
LONG WINAPI RegConnectRegistryW(LPWSTR,HKEY,PHKEY);
|
||||
LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
|
||||
LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
|
||||
LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
|
||||
LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
|
||||
LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
|
||||
LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
|
||||
LONG WINAPI RegDeleteValueA (HKEY,LPCSTR);
|
||||
LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
|
||||
LONG WINAPI RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD);
|
||||
LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
|
||||
LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
|
||||
LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
|
||||
LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
|
||||
LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
|
||||
LONG WINAPI RegFlushKey(HKEY);
|
||||
LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
|
||||
LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
|
||||
LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
|
||||
LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
|
||||
LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
|
||||
LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
|
||||
LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
|
||||
LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
|
||||
LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
|
||||
LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
|
||||
LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD);
|
||||
LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD);
|
||||
LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
|
||||
LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
|
||||
LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
|
||||
LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
|
||||
LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
|
||||
LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
|
||||
LONG WINAPI RegRestoreKeyA (HKEY,LPCSTR,DWORD);
|
||||
LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
|
||||
LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
|
||||
LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
|
||||
LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
|
||||
LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
|
||||
LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
|
||||
LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
|
||||
LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
|
||||
LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
|
||||
LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
|
||||
#define RRF_RT_REG_NONE 0x00000001
|
||||
#define RRF_RT_REG_SZ 0x00000002
|
||||
#define RRF_RT_REG_EXPAND_SZ 0x00000004
|
||||
#define RRF_RT_REG_BINARY 0x00000008
|
||||
#define RRF_RT_REG_DWORD 0x00000010
|
||||
#define RRF_RT_REG_MULTI_SZ 0x00000020
|
||||
#define RRF_RT_REG_QWORD 0x00000040
|
||||
|
||||
#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
|
||||
#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
|
||||
#define RRF_RT_ANY 0x0000ffff
|
||||
|
||||
#define RRF_NOEXPAND 0x10000000
|
||||
#define RRF_ZEROONFAILURE 0x20000000
|
||||
|
||||
typedef ACCESS_MASK REGSAM;
|
||||
|
||||
#define HKEY_CLASSES_ROOT ((HKEY) (ULONG_PTR)((LONG)0x80000000))
|
||||
#define HKEY_CURRENT_USER ((HKEY) (ULONG_PTR)((LONG)0x80000001))
|
||||
#define HKEY_LOCAL_MACHINE ((HKEY) (ULONG_PTR)((LONG)0x80000002))
|
||||
#define HKEY_USERS ((HKEY) (ULONG_PTR)((LONG)0x80000003))
|
||||
#define HKEY_PERFORMANCE_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000004))
|
||||
#define HKEY_PERFORMANCE_TEXT ((HKEY) (ULONG_PTR)((LONG)0x80000050))
|
||||
#define HKEY_PERFORMANCE_NLSTEXT ((HKEY) (ULONG_PTR)((LONG)0x80000060))
|
||||
#define HKEY_CURRENT_CONFIG ((HKEY) (ULONG_PTR)((LONG)0x80000005))
|
||||
#define HKEY_DYN_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000006))
|
||||
|
||||
#define REG_SECURE_CONNECTION 1
|
||||
|
||||
#ifndef _PROVIDER_STRUCTS_DEFINED
|
||||
#define _PROVIDER_STRUCTS_DEFINED
|
||||
|
||||
#define PROVIDER_KEEPS_VALUE_LENGTH 0x1
|
||||
struct val_context {
|
||||
int valuelen;
|
||||
LPVOID value_context;
|
||||
LPVOID val_buff_ptr;
|
||||
};
|
||||
|
||||
typedef struct val_context *PVALCONTEXT;
|
||||
|
||||
typedef struct pvalueA {
|
||||
LPSTR pv_valuename;
|
||||
int pv_valuelen;
|
||||
LPVOID pv_value_context;
|
||||
DWORD pv_type;
|
||||
}PVALUEA,*PPVALUEA;
|
||||
|
||||
typedef struct pvalueW {
|
||||
LPWSTR pv_valuename;
|
||||
int pv_valuelen;
|
||||
LPVOID pv_value_context;
|
||||
DWORD pv_type;
|
||||
}PVALUEW,*PPVALUEW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef PVALUEW PVALUE;
|
||||
typedef PPVALUEW PPVALUE;
|
||||
#else
|
||||
typedef PVALUEA PVALUE;
|
||||
typedef PPVALUEA PPVALUE;
|
||||
#endif
|
||||
|
||||
typedef DWORD __cdecl QUERYHANDLER(LPVOID keycontext,PVALCONTEXT val_list,DWORD num_vals,LPVOID outputbuffer,DWORD *total_outlen,DWORD input_blen);
|
||||
|
||||
typedef QUERYHANDLER *PQUERYHANDLER;
|
||||
|
||||
typedef struct provider_info {
|
||||
PQUERYHANDLER pi_R0_1val;
|
||||
PQUERYHANDLER pi_R0_allvals;
|
||||
PQUERYHANDLER pi_R3_1val;
|
||||
PQUERYHANDLER pi_R3_allvals;
|
||||
DWORD pi_flags;
|
||||
LPVOID pi_key_context;
|
||||
} REG_PROVIDER;
|
||||
|
||||
typedef struct provider_info *PPROVIDER;
|
||||
|
||||
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;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef VALENTW VALENT;
|
||||
typedef PVALENTW PVALENT;
|
||||
#else
|
||||
typedef VALENTA VALENT;
|
||||
typedef PVALENTA PVALENT;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define WIN31_CLASS NULL
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef VALENTW VALENT,*PVALENT;
|
||||
#define AbortSystemShutdown AbortSystemShutdownW
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownW
|
||||
#define RegConnectRegistry RegConnectRegistryW
|
||||
#define RegConnectRegistryEx RegConnectRegistryExW
|
||||
#define RegCreateKey RegCreateKeyW
|
||||
#define RegCreateKeyEx RegCreateKeyExW
|
||||
#define RegDeleteKey RegDeleteKeyW
|
||||
#define RegDeleteKeyEx RegDeleteKeyExW
|
||||
#define RegDeleteValue RegDeleteValueW
|
||||
#define RegEnumKey RegEnumKeyW
|
||||
#define RegEnumKeyEx RegEnumKeyExW
|
||||
@ -117,8 +132,8 @@ typedef VALENTW VALENT,*PVALENT;
|
||||
#define RegOpenKey RegOpenKeyW
|
||||
#define RegOpenKeyEx RegOpenKeyExW
|
||||
#define RegQueryInfoKey RegQueryInfoKeyW
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesW
|
||||
#define RegQueryValue RegQueryValueW
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesW
|
||||
#define RegQueryValueEx RegQueryValueExW
|
||||
#define RegReplaceKey RegReplaceKeyW
|
||||
#define RegRestoreKey RegRestoreKeyW
|
||||
@ -126,14 +141,16 @@ typedef VALENTW VALENT,*PVALENT;
|
||||
#define RegSetValue RegSetValueW
|
||||
#define RegSetValueEx RegSetValueExW
|
||||
#define RegUnLoadKey RegUnLoadKeyW
|
||||
#define RegGetValue RegGetValueW
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownW
|
||||
#define AbortSystemShutdown AbortSystemShutdownW
|
||||
#else
|
||||
typedef VALENTA VALENT,*PVALENT;
|
||||
#define AbortSystemShutdown AbortSystemShutdownA
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownA
|
||||
#define RegConnectRegistry RegConnectRegistryA
|
||||
#define RegConnectRegistryEx RegConnectRegistryExA
|
||||
#define RegCreateKey RegCreateKeyA
|
||||
#define RegCreateKeyEx RegCreateKeyExA
|
||||
#define RegDeleteKey RegDeleteKeyA
|
||||
#define RegDeleteKeyEx RegDeleteKeyExA
|
||||
#define RegDeleteValue RegDeleteValueA
|
||||
#define RegEnumKey RegEnumKeyA
|
||||
#define RegEnumKeyEx RegEnumKeyExA
|
||||
@ -142,8 +159,8 @@ typedef VALENTA VALENT,*PVALENT;
|
||||
#define RegOpenKey RegOpenKeyA
|
||||
#define RegOpenKeyEx RegOpenKeyExA
|
||||
#define RegQueryInfoKey RegQueryInfoKeyA
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesA
|
||||
#define RegQueryValue RegQueryValueA
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesA
|
||||
#define RegQueryValueEx RegQueryValueExA
|
||||
#define RegReplaceKey RegReplaceKeyA
|
||||
#define RegRestoreKey RegRestoreKeyA
|
||||
@ -151,8 +168,104 @@ typedef VALENTA VALENT,*PVALENT;
|
||||
#define RegSetValue RegSetValueA
|
||||
#define RegSetValueEx RegSetValueExA
|
||||
#define RegUnLoadKey RegUnLoadKeyA
|
||||
#define RegGetValue RegGetValueA
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownA
|
||||
#define AbortSystemShutdown AbortSystemShutdownA
|
||||
#endif
|
||||
|
||||
WINADVAPI LONG WINAPI RegCloseKey(HKEY hKey);
|
||||
WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY hKey,HKEY hNewHKey);
|
||||
WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegDisablePredefinedCache();
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR lpMachineName,HKEY hKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR lpMachineName,HKEY hKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryExA(LPCSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
|
||||
WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY hBase);
|
||||
WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY hBase);
|
||||
WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled);
|
||||
WINADVAPI LONG WINAPI RegDeleteValueA(HKEY hKey,LPCSTR lpValueName);
|
||||
WINADVAPI LONG WINAPI RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegFlushKey(HKEY hKey);
|
||||
WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor);
|
||||
WINADVAPI LONG WINAPI RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpFile);
|
||||
WINADVAPI LONG WINAPI RegLoadKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpFile);
|
||||
WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY hKey,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,HANDLE hEvent,WINBOOL fAsynchronous);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY hKey,LPSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY hKey,LPWSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpData,PLONG lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpData,PLONG lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY hKey,PVALENTA val_list,DWORD num_vals,LPSTR lpValueBuf,LPDWORD ldwTotsize);
|
||||
WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY hKey,PVALENTW val_list,DWORD num_vals,LPWSTR lpValueBuf,LPDWORD ldwTotsize);
|
||||
WINADVAPI LONG WINAPI RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpNewFile,LPCSTR lpOldFile);
|
||||
WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpNewFile,LPCWSTR lpOldFile);
|
||||
WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY hKey,LPCSTR lpFile,DWORD dwFlags);
|
||||
WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY hKey,LPCWSTR lpFile,DWORD dwFlags);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
|
||||
WINADVAPI LONG WINAPI RegSetValueA(HKEY hKey,LPCSTR lpSubKey,DWORD dwType,LPCSTR lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueW(HKEY hKey,LPCWSTR lpSubKey,DWORD dwType,LPCWSTR lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueExW(HKEY hKey,LPCWSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY hKey,LPCSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY hKey,LPCWSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegGetValueA(HKEY hkey,LPCSTR lpSubKey,LPCSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
|
||||
WINADVAPI LONG WINAPI RegGetValueW(HKEY hkey,LPCWSTR lpSubKey,LPCWSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
|
||||
WINADVAPI WINBOOL WINAPI AbortSystemShutdownA(LPSTR lpMachineName);
|
||||
WINADVAPI WINBOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
|
||||
|
||||
#include <reason.h>
|
||||
|
||||
#define REASON_SWINSTALL SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION
|
||||
#define REASON_HWINSTALL SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION
|
||||
#define REASON_SERVICEHANG SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG
|
||||
#define REASON_UNSTABLE SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE
|
||||
#define REASON_SWHWRECONF SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG
|
||||
#define REASON_OTHER SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER
|
||||
#define REASON_UNKNOWN SHTDN_REASON_UNKNOWN
|
||||
#define REASON_LEGACY_API SHTDN_REASON_LEGACY_API
|
||||
#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED
|
||||
|
||||
#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
|
||||
|
||||
#ifdef UNICODE
|
||||
#define InitiateSystemShutdownEx InitiateSystemShutdownExW
|
||||
#define RegSaveKeyEx RegSaveKeyExW
|
||||
#else
|
||||
#define InitiateSystemShutdownEx InitiateSystemShutdownExA
|
||||
#define RegSaveKeyEx RegSaveKeyExA
|
||||
#endif
|
||||
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
|
||||
WINADVAPI LONG WINAPI Wow64Win32ApiEntry (DWORD dwFuncNumber,DWORD dwFlag,DWORD dwRes);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1,266 +1,321 @@
|
||||
#ifndef _WINSVC_H
|
||||
#define _WINSVC_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINSVC_
|
||||
#define _WINSVC_
|
||||
|
||||
#ifndef WINADVAPI
|
||||
#define WINADVAPI DECLSPEC_IMPORT
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
|
||||
|
||||
#define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
|
||||
#define SERVICES_FAILED_DATABASEA "ServicesFailed"
|
||||
#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
|
||||
#define SC_GROUP_IDENTIFIERA '+'
|
||||
|
||||
#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
|
||||
#define SERVICES_FAILED_DATABASEA "ServicesFailed"
|
||||
|
||||
#define SC_GROUP_IDENTIFIERW L'+'
|
||||
#define SC_MANAGER_ALL_ACCESS 0xf003f
|
||||
#define SC_MANAGER_CONNECT 1
|
||||
#define SC_MANAGER_CREATE_SERVICE 2
|
||||
#define SC_MANAGER_ENUMERATE_SERVICE 4
|
||||
#define SC_MANAGER_LOCK 8
|
||||
#define SC_MANAGER_QUERY_LOCK_STATUS 16
|
||||
#define SC_MANAGER_MODIFY_BOOT_CONFIG 32
|
||||
#define SERVICE_NO_CHANGE (-1)
|
||||
#define SERVICE_STOPPED 1
|
||||
#define SERVICE_START_PENDING 2
|
||||
#define SERVICE_STOP_PENDING 3
|
||||
#define SERVICE_RUNNING 4
|
||||
#define SERVICE_CONTINUE_PENDING 5
|
||||
#define SERVICE_PAUSE_PENDING 6
|
||||
#define SERVICE_PAUSED 7
|
||||
#define SERVICE_ACCEPT_STOP 1
|
||||
#define SERVICE_ACCEPT_PAUSE_CONTINUE 2
|
||||
#define SERVICE_ACCEPT_SHUTDOWN 4
|
||||
#define SERVICE_ACCEPT_PARAMCHANGE 8
|
||||
#define SERVICE_ACCEPT_NETBINDCHANGE 16
|
||||
#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 32
|
||||
#define SERVICE_ACCEPT_POWEREVENT 64
|
||||
#define SERVICE_ACCEPT_SESSIONCHANGE 128
|
||||
#define SERVICE_CONTROL_STOP 1
|
||||
#define SERVICE_CONTROL_PAUSE 2
|
||||
#define SERVICE_CONTROL_CONTINUE 3
|
||||
#define SERVICE_CONTROL_INTERROGATE 4
|
||||
#define SERVICE_CONTROL_SHUTDOWN 5
|
||||
#define SERVICE_CONTROL_PARAMCHANGE 6
|
||||
#define SERVICE_CONTROL_NETBINDADD 7
|
||||
#define SERVICE_CONTROL_NETBINDREMOVE 8
|
||||
#define SERVICE_CONTROL_NETBINDENABLE 9
|
||||
#define SERVICE_CONTROL_NETBINDDISABLE 10
|
||||
#define SERVICE_CONTROL_DEVICEEVENT 11
|
||||
#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12
|
||||
#define SERVICE_CONTROL_POWEREVENT 13
|
||||
#define SERVICE_CONTROL_SESSIONCHANGE 14
|
||||
#define SERVICE_ACTIVE 1
|
||||
#define SERVICE_INACTIVE 2
|
||||
#define SERVICE_STATE_ALL 3
|
||||
#define SERVICE_QUERY_CONFIG 1
|
||||
#define SERVICE_CHANGE_CONFIG 2
|
||||
#define SERVICE_QUERY_STATUS 4
|
||||
#define SERVICE_ENUMERATE_DEPENDENTS 8
|
||||
#define SERVICE_START 16
|
||||
#define SERVICE_STOP 32
|
||||
#define SERVICE_PAUSE_CONTINUE 64
|
||||
#define SERVICE_INTERROGATE 128
|
||||
#define SERVICE_USER_DEFINED_CONTROL 256
|
||||
#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)
|
||||
#define SERVICE_RUNS_IN_SYSTEM_PROCESS 1
|
||||
#define SERVICE_CONFIG_DESCRIPTION 1
|
||||
#define SERVICE_CONFIG_FAILURE_ACTIONS 2
|
||||
|
||||
typedef struct _SERVICE_STATUS {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwCurrentState;
|
||||
DWORD dwControlsAccepted;
|
||||
DWORD dwWin32ExitCode;
|
||||
DWORD dwServiceSpecificExitCode;
|
||||
DWORD dwCheckPoint;
|
||||
DWORD dwWaitHint;
|
||||
} SERVICE_STATUS,*LPSERVICE_STATUS;
|
||||
typedef struct _SERVICE_STATUS_PROCESS {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwCurrentState;
|
||||
DWORD dwControlsAccepted;
|
||||
DWORD dwWin32ExitCode;
|
||||
DWORD dwServiceSpecificExitCode;
|
||||
DWORD dwCheckPoint;
|
||||
DWORD dwWaitHint;
|
||||
DWORD dwProcessId;
|
||||
DWORD dwServiceFlags;
|
||||
} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
|
||||
typedef enum _SC_STATUS_TYPE {
|
||||
SC_STATUS_PROCESS_INFO = 0
|
||||
} SC_STATUS_TYPE;
|
||||
typedef enum _SC_ENUM_TYPE {
|
||||
SC_ENUM_PROCESS_INFO = 0
|
||||
} SC_ENUM_TYPE;
|
||||
typedef struct _ENUM_SERVICE_STATUSA {
|
||||
LPSTR lpServiceName;
|
||||
LPSTR lpDisplayName;
|
||||
SERVICE_STATUS ServiceStatus;
|
||||
} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
|
||||
typedef struct _ENUM_SERVICE_STATUSW {
|
||||
LPWSTR lpServiceName;
|
||||
LPWSTR lpDisplayName;
|
||||
SERVICE_STATUS ServiceStatus;
|
||||
} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
|
||||
typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
|
||||
LPSTR lpServiceName;
|
||||
LPSTR lpDisplayName;
|
||||
SERVICE_STATUS_PROCESS ServiceStatusProcess;
|
||||
} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
|
||||
typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
|
||||
LPWSTR lpServiceName;
|
||||
LPWSTR lpDisplayName;
|
||||
SERVICE_STATUS_PROCESS ServiceStatusProcess;
|
||||
} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
|
||||
typedef struct _QUERY_SERVICE_CONFIGA {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwStartType;
|
||||
DWORD dwErrorControl;
|
||||
LPSTR lpBinaryPathName;
|
||||
LPSTR lpLoadOrderGroup;
|
||||
DWORD dwTagId;
|
||||
LPSTR lpDependencies;
|
||||
LPSTR lpServiceStartName;
|
||||
LPSTR lpDisplayName;
|
||||
} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
|
||||
typedef struct _QUERY_SERVICE_CONFIGW {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwStartType;
|
||||
DWORD dwErrorControl;
|
||||
LPWSTR lpBinaryPathName;
|
||||
LPWSTR lpLoadOrderGroup;
|
||||
DWORD dwTagId;
|
||||
LPWSTR lpDependencies;
|
||||
LPWSTR lpServiceStartName;
|
||||
LPWSTR lpDisplayName;
|
||||
} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
|
||||
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
|
||||
DWORD fIsLocked;
|
||||
LPSTR lpLockOwner;
|
||||
DWORD dwLockDuration;
|
||||
} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
|
||||
typedef struct _QUERY_SERVICE_LOCK_STATUSW {
|
||||
DWORD fIsLocked;
|
||||
LPWSTR lpLockOwner;
|
||||
DWORD dwLockDuration;
|
||||
} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
|
||||
typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
|
||||
typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
|
||||
typedef struct _SERVICE_TABLE_ENTRYA {
|
||||
LPSTR lpServiceName;
|
||||
LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
|
||||
} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA;
|
||||
typedef struct _SERVICE_TABLE_ENTRYW {
|
||||
LPWSTR lpServiceName;
|
||||
LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
|
||||
} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW;
|
||||
DECLARE_HANDLE(SC_HANDLE);
|
||||
typedef SC_HANDLE *LPSC_HANDLE;
|
||||
typedef PVOID SC_LOCK;
|
||||
typedef DWORD SERVICE_STATUS_HANDLE;
|
||||
typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD);
|
||||
typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
|
||||
typedef struct _SERVICE_DESCRIPTIONA {
|
||||
LPSTR lpDescription;
|
||||
} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
|
||||
typedef struct _SERVICE_DESCRIPTIONW {
|
||||
LPWSTR lpDescription;
|
||||
} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
|
||||
typedef enum _SC_ACTION_TYPE {
|
||||
SC_ACTION_NONE = 0,
|
||||
SC_ACTION_RESTART = 1,
|
||||
SC_ACTION_REBOOT = 2,
|
||||
SC_ACTION_RUN_COMMAND = 3
|
||||
} SC_ACTION_TYPE;
|
||||
typedef struct _SC_ACTION {
|
||||
SC_ACTION_TYPE Type;
|
||||
DWORD Delay;
|
||||
} SC_ACTION,*LPSC_ACTION;
|
||||
typedef struct _SERVICE_FAILURE_ACTIONSA {
|
||||
DWORD dwResetPeriod;
|
||||
LPSTR lpRebootMsg;
|
||||
LPSTR lpCommand;
|
||||
DWORD cActions;
|
||||
SC_ACTION * lpsaActions;
|
||||
} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
|
||||
typedef struct _SERVICE_FAILURE_ACTIONSW {
|
||||
DWORD dwResetPeriod;
|
||||
LPWSTR lpRebootMsg;
|
||||
LPWSTR lpCommand;
|
||||
DWORD cActions;
|
||||
SC_ACTION * lpsaActions;
|
||||
} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
|
||||
|
||||
BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
|
||||
BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
|
||||
BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
|
||||
BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
|
||||
BOOL WINAPI CloseServiceHandle(SC_HANDLE);
|
||||
BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
|
||||
SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
|
||||
SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
|
||||
BOOL WINAPI DeleteService(SC_HANDLE);
|
||||
BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD);
|
||||
BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD);
|
||||
BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD);
|
||||
BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD);
|
||||
BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
|
||||
BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
|
||||
BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
|
||||
BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
|
||||
BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
|
||||
BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
|
||||
SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE);
|
||||
BOOL WINAPI NotifyBootConfigStatus(BOOL);
|
||||
SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
|
||||
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
|
||||
SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
|
||||
SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
|
||||
BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
|
||||
BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
|
||||
BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
|
||||
BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
|
||||
BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
|
||||
BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
|
||||
BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
|
||||
BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
|
||||
BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
|
||||
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
|
||||
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
|
||||
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
|
||||
SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
|
||||
BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
|
||||
BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
|
||||
BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
|
||||
BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA);
|
||||
BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
|
||||
BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR);
|
||||
BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
|
||||
#define SC_GROUP_IDENTIFIERA '+'
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
|
||||
typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
|
||||
typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
|
||||
typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
|
||||
typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
|
||||
typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
|
||||
typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
|
||||
typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
|
||||
typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
|
||||
#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
|
||||
#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
|
||||
|
||||
#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
|
||||
#else
|
||||
#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
|
||||
#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
|
||||
|
||||
#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
|
||||
#endif
|
||||
|
||||
#define SERVICE_NO_CHANGE 0xffffffff
|
||||
|
||||
#define SERVICE_ACTIVE 0x00000001
|
||||
#define SERVICE_INACTIVE 0x00000002
|
||||
#define SERVICE_STATE_ALL (SERVICE_ACTIVE | SERVICE_INACTIVE)
|
||||
|
||||
#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
|
||||
#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E
|
||||
|
||||
#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
|
||||
|
||||
#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
|
||||
#define SERVICE_ACCEPT_SESSIONCHANGE 0x00000080
|
||||
|
||||
#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)
|
||||
|
||||
#define SERVICE_RUNS_IN_SYSTEM_PROCESS 0x00000001
|
||||
|
||||
#define SERVICE_CONFIG_DESCRIPTION 1
|
||||
#define SERVICE_CONFIG_FAILURE_ACTIONS 2
|
||||
|
||||
typedef struct _SERVICE_DESCRIPTIONA {
|
||||
LPSTR lpDescription;
|
||||
} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
|
||||
|
||||
typedef struct _SERVICE_DESCRIPTIONW {
|
||||
LPWSTR lpDescription;
|
||||
} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
|
||||
typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
|
||||
#else
|
||||
typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
|
||||
typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
|
||||
#endif
|
||||
|
||||
typedef enum _SC_ACTION_TYPE {
|
||||
SC_ACTION_NONE = 0,SC_ACTION_RESTART = 1,SC_ACTION_REBOOT = 2,SC_ACTION_RUN_COMMAND = 3
|
||||
} SC_ACTION_TYPE;
|
||||
|
||||
typedef struct _SC_ACTION {
|
||||
SC_ACTION_TYPE Type;
|
||||
DWORD Delay;
|
||||
} SC_ACTION,*LPSC_ACTION;
|
||||
|
||||
typedef struct _SERVICE_FAILURE_ACTIONSA {
|
||||
DWORD dwResetPeriod;
|
||||
LPSTR lpRebootMsg;
|
||||
LPSTR lpCommand;
|
||||
DWORD cActions;
|
||||
SC_ACTION *lpsaActions;
|
||||
} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
|
||||
|
||||
typedef struct _SERVICE_FAILURE_ACTIONSW {
|
||||
DWORD dwResetPeriod;
|
||||
LPWSTR lpRebootMsg;
|
||||
LPWSTR lpCommand;
|
||||
DWORD cActions;
|
||||
SC_ACTION *lpsaActions;
|
||||
} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
|
||||
typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
|
||||
#else
|
||||
typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
|
||||
typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
|
||||
#endif
|
||||
|
||||
DECLARE_HANDLE(SC_HANDLE);
|
||||
typedef SC_HANDLE *LPSC_HANDLE;
|
||||
|
||||
DECLARE_HANDLE(SERVICE_STATUS_HANDLE);
|
||||
|
||||
typedef enum _SC_STATUS_TYPE {
|
||||
SC_STATUS_PROCESS_INFO = 0
|
||||
} SC_STATUS_TYPE;
|
||||
|
||||
typedef enum _SC_ENUM_TYPE {
|
||||
SC_ENUM_PROCESS_INFO = 0
|
||||
} SC_ENUM_TYPE;
|
||||
|
||||
typedef struct _SERVICE_STATUS {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwCurrentState;
|
||||
DWORD dwControlsAccepted;
|
||||
DWORD dwWin32ExitCode;
|
||||
DWORD dwServiceSpecificExitCode;
|
||||
DWORD dwCheckPoint;
|
||||
DWORD dwWaitHint;
|
||||
} SERVICE_STATUS,*LPSERVICE_STATUS;
|
||||
|
||||
typedef struct _SERVICE_STATUS_PROCESS {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwCurrentState;
|
||||
DWORD dwControlsAccepted;
|
||||
DWORD dwWin32ExitCode;
|
||||
DWORD dwServiceSpecificExitCode;
|
||||
DWORD dwCheckPoint;
|
||||
DWORD dwWaitHint;
|
||||
DWORD dwProcessId;
|
||||
DWORD dwServiceFlags;
|
||||
} SERVICE_STATUS_PROCESS,*LPSERVICE_STATUS_PROCESS;
|
||||
|
||||
typedef struct _ENUM_SERVICE_STATUSA {
|
||||
LPSTR lpServiceName;
|
||||
LPSTR lpDisplayName;
|
||||
SERVICE_STATUS ServiceStatus;
|
||||
} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
|
||||
|
||||
typedef struct _ENUM_SERVICE_STATUSW {
|
||||
LPWSTR lpServiceName;
|
||||
LPWSTR lpDisplayName;
|
||||
SERVICE_STATUS ServiceStatus;
|
||||
} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS;
|
||||
typedef LPENUM_SERVICE_STATUSW LPENUM_SERVICE_STATUS;
|
||||
#else
|
||||
typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS;
|
||||
typedef LPENUM_SERVICE_STATUSA LPENUM_SERVICE_STATUS;
|
||||
#endif
|
||||
|
||||
typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
|
||||
LPSTR lpServiceName;
|
||||
LPSTR lpDisplayName;
|
||||
SERVICE_STATUS_PROCESS ServiceStatusProcess;
|
||||
} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
|
||||
|
||||
typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
|
||||
LPWSTR lpServiceName;
|
||||
LPWSTR lpDisplayName;
|
||||
SERVICE_STATUS_PROCESS ServiceStatusProcess;
|
||||
} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
|
||||
#else
|
||||
typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
|
||||
#endif
|
||||
|
||||
typedef LPVOID SC_LOCK;
|
||||
|
||||
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
|
||||
DWORD fIsLocked;
|
||||
LPSTR lpLockOwner;
|
||||
DWORD dwLockDuration;
|
||||
} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
|
||||
|
||||
typedef struct _QUERY_SERVICE_LOCK_STATUSW {
|
||||
DWORD fIsLocked;
|
||||
LPWSTR lpLockOwner;
|
||||
DWORD dwLockDuration;
|
||||
} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS;
|
||||
typedef LPQUERY_SERVICE_LOCK_STATUSW LPQUERY_SERVICE_LOCK_STATUS;
|
||||
#else
|
||||
typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS;
|
||||
typedef LPQUERY_SERVICE_LOCK_STATUSA LPQUERY_SERVICE_LOCK_STATUS;
|
||||
#endif
|
||||
|
||||
typedef struct _QUERY_SERVICE_CONFIGA {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwStartType;
|
||||
DWORD dwErrorControl;
|
||||
LPSTR lpBinaryPathName;
|
||||
LPSTR lpLoadOrderGroup;
|
||||
DWORD dwTagId;
|
||||
LPSTR lpDependencies;
|
||||
LPSTR lpServiceStartName;
|
||||
LPSTR lpDisplayName;
|
||||
} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
|
||||
|
||||
typedef struct _QUERY_SERVICE_CONFIGW {
|
||||
DWORD dwServiceType;
|
||||
DWORD dwStartType;
|
||||
DWORD dwErrorControl;
|
||||
LPWSTR lpBinaryPathName;
|
||||
LPWSTR lpLoadOrderGroup;
|
||||
DWORD dwTagId;
|
||||
LPWSTR lpDependencies;
|
||||
LPWSTR lpServiceStartName;
|
||||
LPWSTR lpDisplayName;
|
||||
} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG;
|
||||
typedef LPQUERY_SERVICE_CONFIGW LPQUERY_SERVICE_CONFIG;
|
||||
#else
|
||||
typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG;
|
||||
typedef LPQUERY_SERVICE_CONFIGA LPQUERY_SERVICE_CONFIG;
|
||||
#endif
|
||||
|
||||
typedef VOID (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD dwNumServicesArgs,LPWSTR *lpServiceArgVectors);
|
||||
typedef VOID (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD dwNumServicesArgs,LPSTR *lpServiceArgVectors);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONW
|
||||
#else
|
||||
#define LPSERVICE_MAIN_FUNCTION LPSERVICE_MAIN_FUNCTIONA
|
||||
#endif
|
||||
|
||||
typedef struct _SERVICE_TABLE_ENTRYA {
|
||||
LPSTR lpServiceName;
|
||||
LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
|
||||
} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA;
|
||||
|
||||
typedef struct _SERVICE_TABLE_ENTRYW {
|
||||
LPWSTR lpServiceName;
|
||||
LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
|
||||
} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY;
|
||||
typedef LPSERVICE_TABLE_ENTRYW LPSERVICE_TABLE_ENTRY;
|
||||
#else
|
||||
typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY;
|
||||
typedef LPSERVICE_TABLE_ENTRYA LPSERVICE_TABLE_ENTRY;
|
||||
#endif
|
||||
|
||||
typedef VOID (WINAPI *LPHANDLER_FUNCTION)(DWORD dwControl);
|
||||
typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD dwControl,DWORD dwEventType,LPVOID lpEventData,LPVOID lpContext);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define ChangeServiceConfig ChangeServiceConfigW
|
||||
#define ChangeServiceConfig2 ChangeServiceConfig2W
|
||||
#define CreateService CreateServiceW
|
||||
#define EnumDependentServices EnumDependentServicesW
|
||||
#define EnumServicesStatus EnumServicesStatusW
|
||||
#define EnumServicesStatusEx EnumServicesStatusExW
|
||||
#define GetServiceDisplayName GetServiceDisplayNameW
|
||||
#define EnumServicesStatusEx EnumServicesStatusExW
|
||||
#define GetServiceKeyName GetServiceKeyNameW
|
||||
#define GetServiceDisplayName GetServiceDisplayNameW
|
||||
#define OpenSCManager OpenSCManagerW
|
||||
#define OpenService OpenServiceW
|
||||
#define QueryServiceConfig QueryServiceConfigW
|
||||
@ -268,31 +323,17 @@ typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
|
||||
#define QueryServiceLockStatus QueryServiceLockStatusW
|
||||
#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
|
||||
#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
|
||||
#define StartService StartServiceW
|
||||
#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
|
||||
#define StartService StartServiceW
|
||||
#else
|
||||
typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
|
||||
typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
|
||||
typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
|
||||
typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
|
||||
typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
|
||||
typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
|
||||
typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
|
||||
typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
|
||||
typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
|
||||
typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
|
||||
#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
|
||||
#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
|
||||
#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
|
||||
#define ChangeServiceConfig ChangeServiceConfigA
|
||||
#define ChangeServiceConfig2 ChangeServiceConfig2A
|
||||
#define CreateService CreateServiceA
|
||||
#define EnumDependentServices EnumDependentServicesA
|
||||
#define EnumServicesStatus EnumServicesStatusA
|
||||
#define EnumServicesStatusEx EnumServicesStatusExA
|
||||
#define GetServiceDisplayName GetServiceDisplayNameA
|
||||
#define EnumServicesStatusEx EnumServicesStatusExA
|
||||
#define GetServiceKeyName GetServiceKeyNameA
|
||||
#define GetServiceDisplayName GetServiceDisplayNameA
|
||||
#define OpenSCManager OpenSCManagerA
|
||||
#define OpenService OpenServiceA
|
||||
#define QueryServiceConfig QueryServiceConfigA
|
||||
@ -300,10 +341,57 @@ typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
|
||||
#define QueryServiceLockStatus QueryServiceLockStatusA
|
||||
#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
|
||||
#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
|
||||
#define StartService StartServiceA
|
||||
#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
|
||||
#define StartService StartServiceA
|
||||
#endif
|
||||
|
||||
WINADVAPI WINBOOL WINAPI ChangeServiceConfigA(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword,LPCSTR lpDisplayName);
|
||||
WINADVAPI WINBOOL WINAPI ChangeServiceConfigW(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword,LPCWSTR lpDisplayName);
|
||||
WINADVAPI WINBOOL WINAPI ChangeServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo);
|
||||
WINADVAPI WINBOOL WINAPI ChangeServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo);
|
||||
WINADVAPI WINBOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject);
|
||||
WINADVAPI WINBOOL WINAPI ControlService(SC_HANDLE hService,DWORD dwControl,LPSERVICE_STATUS lpServiceStatus);
|
||||
WINADVAPI SC_HANDLE WINAPI CreateServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPCSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword);
|
||||
WINADVAPI SC_HANDLE WINAPI CreateServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPCWSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword);
|
||||
WINADVAPI WINBOOL WINAPI DeleteService(SC_HANDLE hService);
|
||||
WINADVAPI WINBOOL WINAPI EnumDependentServicesA(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned);
|
||||
WINADVAPI WINBOOL WINAPI EnumDependentServicesW(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned);
|
||||
WINADVAPI WINBOOL WINAPI EnumServicesStatusA(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle);
|
||||
WINADVAPI WINBOOL WINAPI EnumServicesStatusW(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle);
|
||||
WINADVAPI WINBOOL WINAPI EnumServicesStatusExA(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCSTR pszGroupName);
|
||||
WINADVAPI WINBOOL WINAPI EnumServicesStatusExW(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCWSTR pszGroupName);
|
||||
WINADVAPI WINBOOL WINAPI GetServiceKeyNameA(SC_HANDLE hSCManager,LPCSTR lpDisplayName,LPSTR lpServiceName,LPDWORD lpcchBuffer);
|
||||
WINADVAPI WINBOOL WINAPI GetServiceKeyNameW(SC_HANDLE hSCManager,LPCWSTR lpDisplayName,LPWSTR lpServiceName,LPDWORD lpcchBuffer);
|
||||
WINADVAPI WINBOOL WINAPI GetServiceDisplayNameA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPSTR lpDisplayName,LPDWORD lpcchBuffer);
|
||||
WINADVAPI WINBOOL WINAPI GetServiceDisplayNameW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPWSTR lpDisplayName,LPDWORD lpcchBuffer);
|
||||
WINADVAPI SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE hSCManager);
|
||||
WINADVAPI WINBOOL WINAPI NotifyBootConfigStatus(WINBOOL BootAcceptable);
|
||||
WINADVAPI SC_HANDLE WINAPI OpenSCManagerA(LPCSTR lpMachineName,LPCSTR lpDatabaseName,DWORD dwDesiredAccess);
|
||||
WINADVAPI SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName,LPCWSTR lpDatabaseName,DWORD dwDesiredAccess);
|
||||
WINADVAPI SC_HANDLE WINAPI OpenServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,DWORD dwDesiredAccess);
|
||||
WINADVAPI SC_HANDLE WINAPI OpenServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,DWORD dwDesiredAccess);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceConfigA(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGA lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceConfigW(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGW lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceLockStatusA(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceLockStatusW(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceStatus(SC_HANDLE hService,LPSERVICE_STATUS lpServiceStatus);
|
||||
WINADVAPI WINBOOL WINAPI QueryServiceStatusEx(SC_HANDLE hService,SC_STATUS_TYPE InfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
|
||||
WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc);
|
||||
WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc);
|
||||
WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext);
|
||||
WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext);
|
||||
WINADVAPI WINBOOL WINAPI SetServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor);
|
||||
WINADVAPI WINBOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus,LPSERVICE_STATUS lpServiceStatus);
|
||||
WINADVAPI WINBOOL WINAPI StartServiceCtrlDispatcherA(CONST SERVICE_TABLE_ENTRYA *lpServiceStartTable);
|
||||
WINADVAPI WINBOOL WINAPI StartServiceCtrlDispatcherW(CONST SERVICE_TABLE_ENTRYW *lpServiceStartTable);
|
||||
WINADVAPI WINBOOL WINAPI StartServiceA(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCSTR *lpServiceArgVectors);
|
||||
WINADVAPI WINBOOL WINAPI StartServiceW(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCWSTR *lpServiceArgVectors);
|
||||
WINADVAPI WINBOOL WINAPI UnlockServiceDatabase(SC_LOCK ScLock);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _WINSVC_H */
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,124 +1,137 @@
|
||||
#ifndef _WINVER_H
|
||||
#define _WINVER_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef VER_H
|
||||
#define VER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VS_FILE_INFO RT_VERSION
|
||||
#define VS_VERSION_INFO 1
|
||||
#define VS_USER_DEFINED 100
|
||||
#define VS_FFI_SIGNATURE 0xFEEF04BD
|
||||
#define VS_FFI_STRUCVERSION 0x10000
|
||||
#define VS_FFI_FILEFLAGSMASK 0x3F
|
||||
#define VS_FF_DEBUG 1
|
||||
#define VS_FF_PRERELEASE 2
|
||||
#define VS_FF_PATCHED 4
|
||||
#define VS_FF_PRIVATEBUILD 8
|
||||
#define VS_FF_INFOINFERRED 16
|
||||
#define VS_FF_SPECIALBUILD 32
|
||||
#define VOS_UNKNOWN 0
|
||||
#define VOS_DOS 0x10000
|
||||
#define VOS_OS216 0x20000
|
||||
#define VOS_OS232 0x30000
|
||||
#define VOS_NT 0x40000
|
||||
#define VOS__BASE 0
|
||||
#define VOS__WINDOWS16 1
|
||||
#define VOS__PM16 2
|
||||
#define VOS__PM32 3
|
||||
#define VOS__WINDOWS32 4
|
||||
#define VOS_DOS_WINDOWS16 0x10001
|
||||
#define VOS_DOS_WINDOWS32 0x10004
|
||||
#define VOS_OS216_PM16 0x20002
|
||||
#define VOS_OS232_PM32 0x30003
|
||||
#define VOS_NT_WINDOWS32 0x40004
|
||||
#define VFT_UNKNOWN 0
|
||||
#define VFT_APP 1
|
||||
#define VFT_DLL 2
|
||||
#define VFT_DRV 3
|
||||
#define VFT_FONT 4
|
||||
#define VFT_VXD 5
|
||||
#define VFT_STATIC_LIB 7
|
||||
#define VFT2_UNKNOWN 0
|
||||
#define VFT2_DRV_PRINTER 1
|
||||
#define VFT2_DRV_KEYBOARD 2
|
||||
#define VFT2_DRV_LANGUAGE 3
|
||||
#define VFT2_DRV_DISPLAY 4
|
||||
#define VFT2_DRV_MOUSE 5
|
||||
#define VFT2_DRV_NETWORK 6
|
||||
#define VFT2_DRV_SYSTEM 7
|
||||
#define VFT2_DRV_INSTALLABLE 8
|
||||
#define VFT2_DRV_SOUND 9
|
||||
#define VFT2_DRV_COMM 10
|
||||
#define VFT2_DRV_INPUTMETHOD 11
|
||||
#define VFT2_FONT_RASTER 1
|
||||
#define VFT2_FONT_VECTOR 2
|
||||
#define VFT2_FONT_TRUETYPE 3
|
||||
#define VFFF_ISSHAREDFILE 1
|
||||
#define VFF_CURNEDEST 1
|
||||
#define VFF_FILEINUSE 2
|
||||
#define VFF_BUFFTOOSMALL 4
|
||||
#define VIFF_FORCEINSTALL 1
|
||||
#define VIFF_DONTDELETEOLD 2
|
||||
#define VIF_TEMPFILE 1
|
||||
#define VIF_MISMATCH 2
|
||||
#define VIF_SRCOLD 4
|
||||
#define VIF_DIFFLANG 8
|
||||
#define VIF_DIFFCODEPG 16
|
||||
#define VIF_DIFFTYPE 32
|
||||
#define VIF_WRITEPROT 64
|
||||
#define VIF_FILEINUSE 128
|
||||
#define VIF_OUTOFSPACE 256
|
||||
#define VIF_ACCESSVIOLATION 512
|
||||
#define VIF_SHARINGVIOLATION 1024
|
||||
#define VIF_CANNOTCREATE 2048
|
||||
#define VIF_CANNOTDELETE 4096
|
||||
#define VIF_CANNOTRENAME 8192
|
||||
#define VIF_CANNOTDELETECUR 16384
|
||||
#define VIF_OUTOFMEMORY 32768
|
||||
#define VIF_CANNOTREADSRC 65536
|
||||
#define VIF_CANNOTREADDST 0x20000
|
||||
#define VIF_BUFFTOOSMALL 0x40000
|
||||
|
||||
#define VS_FFI_SIGNATURE 0xFEEF04BDL
|
||||
#define VS_FFI_STRUCVERSION 0x00010000L
|
||||
#define VS_FFI_FILEFLAGSMASK 0x0000003FL
|
||||
|
||||
#define VS_FF_DEBUG 0x00000001L
|
||||
#define VS_FF_PRERELEASE 0x00000002L
|
||||
#define VS_FF_PATCHED 0x00000004L
|
||||
#define VS_FF_PRIVATEBUILD 0x00000008L
|
||||
#define VS_FF_INFOINFERRED 0x00000010L
|
||||
#define VS_FF_SPECIALBUILD 0x00000020L
|
||||
|
||||
#define VOS_UNKNOWN 0x00000000L
|
||||
#define VOS_DOS 0x00010000L
|
||||
#define VOS_OS216 0x00020000L
|
||||
#define VOS_OS232 0x00030000L
|
||||
#define VOS_NT 0x00040000L
|
||||
#define VOS_WINCE 0x00050000L
|
||||
|
||||
#define VOS__BASE 0x00000000L
|
||||
#define VOS__WINDOWS16 0x00000001L
|
||||
#define VOS__PM16 0x00000002L
|
||||
#define VOS__PM32 0x00000003L
|
||||
#define VOS__WINDOWS32 0x00000004L
|
||||
|
||||
#define VOS_DOS_WINDOWS16 0x00010001L
|
||||
#define VOS_DOS_WINDOWS32 0x00010004L
|
||||
#define VOS_OS216_PM16 0x00020002L
|
||||
#define VOS_OS232_PM32 0x00030003L
|
||||
#define VOS_NT_WINDOWS32 0x00040004L
|
||||
|
||||
#define VFT_UNKNOWN 0x00000000L
|
||||
#define VFT_APP 0x00000001L
|
||||
#define VFT_DLL 0x00000002L
|
||||
#define VFT_DRV 0x00000003L
|
||||
#define VFT_FONT 0x00000004L
|
||||
#define VFT_VXD 0x00000005L
|
||||
#define VFT_STATIC_LIB 0x00000007L
|
||||
|
||||
#define VFT2_UNKNOWN 0x00000000L
|
||||
#define VFT2_DRV_PRINTER 0x00000001L
|
||||
#define VFT2_DRV_KEYBOARD 0x00000002L
|
||||
#define VFT2_DRV_LANGUAGE 0x00000003L
|
||||
#define VFT2_DRV_DISPLAY 0x00000004L
|
||||
#define VFT2_DRV_MOUSE 0x00000005L
|
||||
#define VFT2_DRV_NETWORK 0x00000006L
|
||||
#define VFT2_DRV_SYSTEM 0x00000007L
|
||||
#define VFT2_DRV_INSTALLABLE 0x00000008L
|
||||
#define VFT2_DRV_SOUND 0x00000009L
|
||||
#define VFT2_DRV_COMM 0x0000000AL
|
||||
#define VFT2_DRV_INPUTMETHOD 0x0000000BL
|
||||
#define VFT2_DRV_VERSIONED_PRINTER 0x0000000CL
|
||||
|
||||
#define VFT2_FONT_RASTER 0x00000001L
|
||||
#define VFT2_FONT_VECTOR 0x00000002L
|
||||
#define VFT2_FONT_TRUETYPE 0x00000003L
|
||||
|
||||
#define VFFF_ISSHAREDFILE 0x0001
|
||||
|
||||
#define VFF_CURNEDEST 0x0001
|
||||
#define VFF_FILEINUSE 0x0002
|
||||
#define VFF_BUFFTOOSMALL 0x0004
|
||||
|
||||
#define VIFF_FORCEINSTALL 0x0001
|
||||
#define VIFF_DONTDELETEOLD 0x0002
|
||||
|
||||
#define VIF_TEMPFILE 0x00000001L
|
||||
#define VIF_MISMATCH 0x00000002L
|
||||
#define VIF_SRCOLD 0x00000004L
|
||||
|
||||
#define VIF_DIFFLANG 0x00000008L
|
||||
#define VIF_DIFFCODEPG 0x00000010L
|
||||
#define VIF_DIFFTYPE 0x00000020L
|
||||
|
||||
#define VIF_WRITEPROT 0x00000040L
|
||||
#define VIF_FILEINUSE 0x00000080L
|
||||
#define VIF_OUTOFSPACE 0x00000100L
|
||||
#define VIF_ACCESSVIOLATION 0x00000200L
|
||||
#define VIF_SHARINGVIOLATION 0x00000400L
|
||||
#define VIF_CANNOTCREATE 0x00000800L
|
||||
#define VIF_CANNOTDELETE 0x00001000L
|
||||
#define VIF_CANNOTRENAME 0x00002000L
|
||||
#define VIF_CANNOTDELETECUR 0x00004000L
|
||||
#define VIF_OUTOFMEMORY 0x00008000L
|
||||
|
||||
#define VIF_CANNOTREADSRC 0x00010000L
|
||||
#define VIF_CANNOTREADDST 0x00020000L
|
||||
|
||||
#define VIF_BUFFTOOSMALL 0x00040000L
|
||||
#define VIF_CANNOTLOADLZ32 0x00080000L
|
||||
#define VIF_CANNOTLOADCABINET 0x00100000L
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
typedef struct tagVS_FIXEDFILEINFO {
|
||||
DWORD dwSignature;
|
||||
DWORD dwStrucVersion;
|
||||
DWORD dwFileVersionMS;
|
||||
DWORD dwFileVersionLS;
|
||||
DWORD dwProductVersionMS;
|
||||
DWORD dwProductVersionLS;
|
||||
DWORD dwFileFlagsMask;
|
||||
DWORD dwFileFlags;
|
||||
DWORD dwFileOS;
|
||||
DWORD dwFileType;
|
||||
DWORD dwFileSubtype;
|
||||
DWORD dwFileDateMS;
|
||||
DWORD dwFileDateLS;
|
||||
} VS_FIXEDFILEINFO;
|
||||
DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
|
||||
DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
|
||||
DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
|
||||
DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
|
||||
DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD);
|
||||
DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD);
|
||||
BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
|
||||
BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
|
||||
DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
|
||||
DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
|
||||
BOOL WINAPI VerQueryValueA(PCVOID,LPSTR,PVOID*,PUINT);
|
||||
BOOL WINAPI VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT);
|
||||
|
||||
typedef struct tagVS_FIXEDFILEINFO
|
||||
{
|
||||
DWORD dwSignature;
|
||||
DWORD dwStrucVersion;
|
||||
DWORD dwFileVersionMS;
|
||||
DWORD dwFileVersionLS;
|
||||
DWORD dwProductVersionMS;
|
||||
DWORD dwProductVersionLS;
|
||||
DWORD dwFileFlagsMask;
|
||||
DWORD dwFileFlags;
|
||||
DWORD dwFileOS;
|
||||
DWORD dwFileType;
|
||||
DWORD dwFileSubtype;
|
||||
DWORD dwFileDateMS;
|
||||
DWORD dwFileDateLS;
|
||||
} VS_FIXEDFILEINFO;
|
||||
|
||||
#ifdef UNICODE
|
||||
#define VerFindFile VerFindFileW
|
||||
#define VerQueryValue VerQueryValueW
|
||||
#define VerInstallFile VerInstallFileW
|
||||
#define GetFileVersionInfoSize GetFileVersionInfoSizeW
|
||||
#define GetFileVersionInfo GetFileVersionInfoW
|
||||
#define VerLanguageName VerLanguageNameW
|
||||
#define VerQueryValue VerQueryValueW
|
||||
#else
|
||||
#define VerQueryValue VerQueryValueA
|
||||
#define VerFindFile VerFindFileA
|
||||
#define VerInstallFile VerInstallFileA
|
||||
#define GetFileVersionInfoSize GetFileVersionInfoSizeA
|
||||
@ -126,7 +139,21 @@ BOOL WINAPI VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT);
|
||||
#define VerLanguageName VerLanguageNameA
|
||||
#define VerQueryValue VerQueryValueA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI VerFindFileA(DWORD uFlags,LPSTR szFileName,LPSTR szWinDir,LPSTR szAppDir,LPSTR szCurDir,PUINT lpuCurDirLen,LPSTR szDestDir,PUINT lpuDestDirLen);
|
||||
DWORD WINAPI VerFindFileW(DWORD uFlags,LPWSTR szFileName,LPWSTR szWinDir,LPWSTR szAppDir,LPWSTR szCurDir,PUINT lpuCurDirLen,LPWSTR szDestDir,PUINT lpuDestDirLen);
|
||||
DWORD WINAPI VerInstallFileA(DWORD uFlags,LPSTR szSrcFileName,LPSTR szDestFileName,LPSTR szSrcDir,LPSTR szDestDir,LPSTR szCurDir,LPSTR szTmpFile,PUINT lpuTmpFileLen);
|
||||
DWORD WINAPI VerInstallFileW(DWORD uFlags,LPWSTR szSrcFileName,LPWSTR szDestFileName,LPWSTR szSrcDir,LPWSTR szDestDir,LPWSTR szCurDir,LPWSTR szTmpFile,PUINT lpuTmpFileLen);
|
||||
DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR lptstrFilename,LPDWORD lpdwHandle);
|
||||
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR lptstrFilename,LPDWORD lpdwHandle);
|
||||
WINBOOL WINAPI GetFileVersionInfoA(LPCSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
|
||||
WINBOOL WINAPI GetFileVersionInfoW(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
|
||||
DWORD WINAPI VerLanguageNameA(DWORD wLang,LPSTR szLang,DWORD nSize);
|
||||
DWORD WINAPI VerLanguageNameW(DWORD wLang,LPWSTR szLang,DWORD nSize);
|
||||
WINBOOL WINAPI VerQueryValueA(const LPVOID pBlock,LPSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
|
||||
WINBOOL WINAPI VerQueryValueW(const LPVOID pBlock,LPWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user