[pkg-wine-party] [SCM] Debian Wine Gecko packaging branch, master, updated. debian/1.4+dfsg1-3-16-ge5c6115

Stephen Kitt steve at sk2.org
Thu Jun 27 07:39:30 UTC 2013


The following commit has been merged in the master branch:
commit a31f98af0261c55e75b848f006f13f9f22b01b82
Author: Stephen Kitt <steve at sk2.org>
Date:   Thu Jun 27 08:12:19 2013 +0200

    Drop header overrides.

diff --git a/debian/changelog b/debian/changelog
index b45c75b..b9f2a01 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ wine-gecko-1.6 (1.6+dfsg-1) unstable; urgency=low
 
   * New upstream version, used for Wine versions up to 1.5.9.
   * Require trunk versions of mingw-w64.
+  * As a result, header overrides are no longer necessary.
 
  -- Stephen Kitt <skitt at debian.org>  Wed, 05 Jun 2013 01:04:24 +0200
 
diff --git a/debian/include/_mingw.h b/debian/include/_mingw.h
deleted file mode 100644
index 5ced9ec..0000000
--- a/debian/include/_mingw.h
+++ /dev/null
@@ -1,691 +0,0 @@
-/**
- * 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.PD within this package.
- */
-
-#ifndef _INC__MINGW_H
-#define _INC__MINGW_H
-
-#include "_mingw_mac.h"
-
-/* C/C++ specific language defines.  */
-#ifdef _WIN64
-#ifdef __stdcall
-#undef __stdcall
-#endif
-#define __stdcall
-#endif
-
-#ifndef __GNUC__
-# ifndef __MINGW_IMPORT
-#  define __MINGW_IMPORT  __declspec(dllimport)
-# endif
-# ifndef _CRTIMP
-#  define _CRTIMP  __declspec(dllimport)
-# endif
-# define __DECLSPEC_SUPPORTED
-# define __attribute__(x) /* nothing */
-#else /* __GNUC__ */
-# ifdef __declspec
-#  ifndef __MINGW_IMPORT
-/* Note the extern. This is needed to work around GCC's
-limitations in handling dllimport attribute.  */
-#   define __MINGW_IMPORT  extern __attribute__ ((__dllimport__))
-#  endif
-#  ifndef _CRTIMP
-#    undef __USE_CRTIMP
-#    if !defined (_CRTBLD) && !defined (_SYSCRT)
-#      define __USE_CRTIMP 1
-#    endif
-#    ifdef __USE_CRTIMP
-#      define _CRTIMP  __attribute__ ((__dllimport__))
-#    else
-#      define _CRTIMP
-#    endif
-#  endif
-#  define __DECLSPEC_SUPPORTED
-# else /* __declspec */
-#  undef __DECLSPEC_SUPPORTED
-#  undef __MINGW_IMPORT
-#  ifndef _CRTIMP
-#   define _CRTIMP
-#  endif
-# endif /* __declspec */
-#endif /* __GNUC__ */
-
-#if __GNUC__
-#define __MINGW_GCC_VERSION	(__GNUC__	* 10000	+ \
-				 __GNUC_MINOR__	* 100	+ \
-				 __GNUC_PATCHLEVEL__)
-#else
-#define __MINGW_GCC_VERSION				0
-#endif
-
-#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-#define __MINGW_GNUC_PREREQ(major, minor) \
-  (__GNUC__ > (major) \
-   || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
-#else
-#define __MINGW_GNUC_PREREQ(major, minor)  0
-#endif
-
-#if defined (_MSC_VER)
-#define __MINGW_MSC_PREREQ(major, minor) \
-  (_MSC_VER >= (major * 100 + minor * 10))
-#else
-#define __MINGW_MSC_PREREQ(major, minor)   0
-#endif
-
-#ifdef _MSC_VER
-#define USE___UUIDOF	1
-#else
-#define USE___UUIDOF	0
-#endif
-
-#ifdef __cplusplus
-# define __CRT_INLINE inline
-#elif defined(_MSC_VER)
-# define __CRT_INLINE __inline
-#else
-# if ( __MINGW_GNUC_PREREQ(4, 3)  &&  __STDC_VERSION__ >= 199901L) \
-     || (defined (__clang__))
-#  define __CRT_INLINE extern inline __attribute__((__gnu_inline__))
-# else
-#  define __CRT_INLINE extern __inline__
-# endif
-#endif
-
-#if !defined(__MINGW_INTRIN_INLINE) && defined(__GNUC__)
-#define __MINGW_INTRIN_INLINE extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
-#endif
-
-#ifdef __NO_INLINE__
-#undef __CRT__NO_INLINE
-#define __CRT__NO_INLINE 1
-#endif
-
-#ifdef __cplusplus
-# define __UNUSED_PARAM(x)
-#else
-# ifdef __GNUC__
-#  define __UNUSED_PARAM(x) x __attribute__ ((__unused__))
-# else
-#  define __UNUSED_PARAM(x) x
-# endif
-#endif
-
-#ifndef __GNUC__
-# ifdef _MSC_VER
-#  define __restrict__  __restrict
-# else
-#  define __restrict__	/* nothing */
-# endif
-#endif /* !__GNUC__ */
-
-#if __MINGW_GNUC_PREREQ (3,1) && !defined __GNUG__
-# define __restrict_arr __restrict
-#elif defined(_MSC_VER)
-# define __restrict_arr __restrict
-#else
-# ifdef __GNUC__
-#  define __restrict_arr        /* Not supported in old GCC.  */
-# else
-#  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-#   define __restrict_arr       restrict
-#  else
-#   define __restrict_arr       /* Not supported.  */
-#  endif
-# endif
-#endif
-
-#ifdef __GNUC__
-#define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__))
-#define __MINGW_ATTRIB_CONST __attribute__ ((__const__))
-#elif __MINGW_MSC_PREREQ(12, 0)
-#define __MINGW_ATTRIB_NORETURN __declspec(noreturn)
-#define __MINGW_ATTRIB_CONST
-#else
-#define __MINGW_ATTRIB_NORETURN
-#define __MINGW_ATTRIB_CONST
-#endif
-
-#if __MINGW_GNUC_PREREQ (3, 0)
-#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__))
-#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__))
-#elif __MINGW_MSC_PREREQ(14, 0)
-#define __MINGW_ATTRIB_MALLOC __declspec(noalias) __declspec(restrict)
-#define __MINGW_ATTRIB_PURE
-#else
-#define __MINGW_ATTRIB_MALLOC
-#define __MINGW_ATTRIB_PURE
-#endif
-
-/* Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
-   variadiac macro facility, because variadic macros cause syntax
-   errors with  --traditional-cpp.  */
-#if  __MINGW_GNUC_PREREQ (3, 3)
-#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg)))
-#else
-#define __MINGW_ATTRIB_NONNULL(arg)
-#endif /* GNUC >= 3.3 */
-
-#ifdef __GNUC__
-#define __MINGW_ATTRIB_UNUSED __attribute__ ((__unused__))
-#else
-#define __MINGW_ATTRIB_UNUSED
-#endif /* ATTRIBUTE_UNUSED */
-
-#if  __MINGW_GNUC_PREREQ (3, 1)
-#define __MINGW_ATTRIB_USED __attribute__ ((__used__))
-#define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__))
-#elif __MINGW_MSC_PREREQ(12, 0)
-#define __MINGW_ATTRIB_USED
-#define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated)
-#else
-#define __MINGW_ATTRIB_USED __MINGW_ATTRIB_UNUSED
-#define __MINGW_ATTRIB_DEPRECATED
-#endif /* GNUC >= 3.1 */
-
-#if  __MINGW_GNUC_PREREQ (3, 3)
-#define __MINGW_NOTHROW __attribute__ ((__nothrow__))
-#elif __MINGW_MSC_PREREQ(12, 0) && defined (__cplusplus)
-#define __MINGW_NOTHROW __declspec(nothrow)
-#else
-#define __MINGW_NOTHROW
-#endif
-
-#if __MINGW_GNUC_PREREQ (4, 4)
-#define __MINGW_ATTRIB_NO_OPTIMIZE __attribute__((__optimize__ ("0")))
-#else
-#define __MINGW_ATTRIB_NO_OPTIMIZE
-#endif
-
-#if __MINGW_GNUC_PREREQ (4, 4)
-#define __MINGW_PRAGMA_PARAM(x) _Pragma (#x)
-#elif __MINGW_MSC_PREREQ (13, 1)
-#define __MINGW_PRAGMA_PARAM(x) __pragma (x)
-#else
-#define __MINGW_PRAGMA_PARAM(x)
-#endif
-
-#define __MINGW_BROKEN_INTERFACE(x) \
-  __MINGW_PRAGMA_PARAM(message ("Interface " _CRT_STRINGIZE(x) \
-  " has unverified layout."))
-
-#ifdef __MINGW_MSVC_COMPAT_WARNINGS
-# if __MINGW_GNUC_PREREQ (4, 5)
-#  define __MINGW_ATTRIB_DEPRECATED_STR(X) __attribute__ ((__deprecated__ (X)))
-# else
-#  define __MINGW_ATTRIB_DEPRECATED_STR(X) __MINGW_ATTRIB_DEPRECATED
-# endif
-#else
-# define __MINGW_ATTRIB_DEPRECATED_STR(X)
-#endif
-
-#define __MINGW_SEC_WARN_STR "This function or variable may be unsafe, use _CRT_SECURE_NO_WARNINGS to disable deprecation"
-#define __MINGW_MSVC2005_DEPREC_STR "This POSIX function is deprecated beginning in Visual C++ 2005, use _CRT_NONSTDC_NO_DEPRECATE to disable deprecation"
-
-#if !defined (_CRT_NONSTDC_NO_DEPRECATE)
-# define __MINGW_ATTRIB_DEPRECATED_MSVC2005 __MINGW_ATTRIB_DEPRECATED_STR (__MINGW_MSVC2005_DEPREC_STR)
-#else
-# define __MINGW_ATTRIB_DEPRECATED_MSVC2005
-#endif
-
-#if !defined (_CRT_SECURE_NO_WARNINGS)
-# define __MINGW_ATTRIB_DEPRECATED_SEC_WARN __MINGW_ATTRIB_DEPRECATED_STR (__MINGW_SEC_WARN_STR)
-#else
-# define __MINGW_ATTRIB_DEPRECATED_SEC_WARN
-#endif
-
-#ifndef __MSVCRT_VERSION__
-/*  High byte is the major version, low byte is the minor. */
-# define __MSVCRT_VERSION__ 0x0700
-#endif
-
-
-#ifndef WINVER
-#define WINVER 0x0502
-#endif
-
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x502
-#endif
-
-#ifndef _INT128_DEFINED
-#define _INT128_DEFINED
-#ifdef __GNUC__
-#define __int8 char
-#define __int16 short
-#define __int32 int
-#define __int64 long long
-#ifdef _WIN64
-#if (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 1)) && \
-    !defined(__SIZEOF_INT128__) /* clang >= 3.1 has __int128 but no size macro */
-#define __SIZEOF_INT128__ 16
-#endif
-#ifndef __SIZEOF_INT128__
-typedef int __int128 __attribute__ ((__mode__ (TI)));
-#endif
-#endif
-#endif /* __GNUC__ */
-#endif /* _INT128_DEFINED */
-
-#ifdef __GNUC__
-#define __ptr32
-#define __ptr64
-#ifndef __unaligned
-#define __unaligned
-#endif
-#ifndef __w64
-#define __w64
-#endif
-#ifdef __cplusplus
-#define __forceinline inline __attribute__((__always_inline__))
-#else
-#define __forceinline extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
-#endif /* __cplusplus */
-#endif /* __GNUC__ */
-
-#ifndef _WIN32
-#error Only Win32 target is supported!
-#endif
-
-#ifndef __nothrow
-#ifdef __cplusplus
-#define __nothrow __declspec(nothrow)
-#else
-#define __nothrow
-#endif
-#endif /* __nothrow */
-
-#undef _CRT_PACKING
-#define _CRT_PACKING 8
-
-#include <vadefs.h>	/* other headers depend on this include */
-
-#pragma pack(push,_CRT_PACKING)
-
-#ifndef _CRT_STRINGIZE
-#define __CRT_STRINGIZE(_Value) #_Value
-#define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
-#endif /* _CRT_STRINGIZE */
-
-#ifndef _CRT_WIDE
-#define __CRT_WIDE(_String) L ## _String
-#define _CRT_WIDE(_String) __CRT_WIDE(_String)
-#endif /* _CRT_WIDE */
-
-#ifndef _W64
-#define _W64
-#endif
-
-#ifndef _CRTIMP_NOIA64
-#ifdef __ia64__
-#define _CRTIMP_NOIA64
-#else
-#define _CRTIMP_NOIA64 _CRTIMP
-#endif
-#endif /* _CRTIMP_NOIA64 */
-
-#ifndef _CRTIMP2
-#define _CRTIMP2 _CRTIMP
-#endif
-
-#ifndef _CRTIMP_ALTERNATIVE
-#define _CRTIMP_ALTERNATIVE _CRTIMP
-#define _CRT_ALTERNATIVE_IMPORTED
-#endif /* _CRTIMP_ALTERNATIVE */
-
-#ifndef _MRTIMP2
-#define _MRTIMP2  _CRTIMP
-#endif
-
-/* We have to define _DLL for gcc based mingw version. This define is set
-   by VC, when DLL-based runtime is used. So, gcc based runtime just have
-   DLL-base runtime, therefore this define has to be set.
-   As our headers are possibly used by windows compiler having a static
-   C-runtime, we make this definition gnu compiler specific here.  */
-#if !defined (_DLL) && defined (__GNUC__)
-#define _DLL
-#endif
-
-#ifndef _MT
-#define _MT
-#endif
-
-#ifndef _MCRTIMP
-#define _MCRTIMP _CRTIMP
-#endif
-
-#ifndef _CRTIMP_PURE
-#define _CRTIMP_PURE _CRTIMP
-#endif
-
-#ifndef _PGLOBAL
-#define _PGLOBAL
-#endif
-
-#ifndef _AGLOBAL
-#define _AGLOBAL
-#endif
-
-#define _SECURECRT_FILL_BUFFER_PATTERN 0xFD
-#define _CRT_DEPRECATE_TEXT(_Text) __declspec(deprecated)
-
-#ifndef _CRT_INSECURE_DEPRECATE_MEMORY
-#define _CRT_INSECURE_DEPRECATE_MEMORY(_Replacement)
-#endif
-
-#ifndef _CRT_INSECURE_DEPRECATE_GLOBALS
-#define _CRT_INSECURE_DEPRECATE_GLOBALS(_Replacement)
-#endif
-
-#ifndef _CRT_MANAGED_HEAP_DEPRECATE
-#define _CRT_MANAGED_HEAP_DEPRECATE
-#endif
-
-#ifndef _CRT_OBSOLETE
-#define _CRT_OBSOLETE(_NewItem)
-#endif
-
-#ifndef _SIZE_T_DEFINED
-#define _SIZE_T_DEFINED
-#undef size_t
-#ifdef _WIN64
-__MINGW_EXTENSION typedef unsigned __int64 size_t;
-#else
-typedef unsigned int size_t;
-#endif /* _WIN64 */
-#endif /* _SIZE_T_DEFINED */
-
-#ifndef _SSIZE_T_DEFINED
-#define _SSIZE_T_DEFINED
-#undef ssize_t
-#ifdef _WIN64
-__MINGW_EXTENSION typedef __int64 ssize_t;
-#else
-typedef int ssize_t;
-#endif /* _WIN64 */
-#endif /* _SSIZE_T_DEFINED */
-
-#ifndef _INTPTR_T_DEFINED
-#define _INTPTR_T_DEFINED
-#ifndef __intptr_t_defined
-#define __intptr_t_defined
-#undef intptr_t
-#ifdef _WIN64
-__MINGW_EXTENSION typedef __int64 intptr_t;
-#else
-typedef int intptr_t;
-#endif /* _WIN64 */
-#endif /* __intptr_t_defined */
-#endif /* _INTPTR_T_DEFINED */
-
-#ifndef _UINTPTR_T_DEFINED
-#define _UINTPTR_T_DEFINED
-#ifndef __uintptr_t_defined
-#define __uintptr_t_defined
-#undef uintptr_t
-#ifdef _WIN64
-__MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
-#else
-typedef unsigned int uintptr_t;
-#endif /* _WIN64 */
-#endif /* __uintptr_t_defined */
-#endif /* _UINTPTR_T_DEFINED */
-
-#ifndef _PTRDIFF_T_DEFINED
-#define _PTRDIFF_T_DEFINED
-#ifndef _PTRDIFF_T_
-#define _PTRDIFF_T_
-#undef ptrdiff_t
-#ifdef _WIN64
-__MINGW_EXTENSION typedef __int64 ptrdiff_t;
-#else
-typedef int ptrdiff_t;
-#endif /* _WIN64 */
-#endif /* _PTRDIFF_T_ */
-#endif /* _PTRDIFF_T_DEFINED */
-
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED
-#ifndef __cplusplus
-typedef unsigned short wchar_t;
-#endif /* C++ */
-#endif /* _WCHAR_T_DEFINED */
-
-#ifndef _WCTYPE_T_DEFINED
-#define _WCTYPE_T_DEFINED
-#ifndef _WINT_T
-#define _WINT_T
-typedef unsigned short wint_t;
-typedef unsigned short wctype_t;
-#endif /* _WINT_T */
-#endif /* _WCTYPE_T_DEFINED */
-
-#if defined (_WIN32) && !defined (_WIN64) && !defined (__MINGW_USE_VC2005_COMPAT)/* && !(defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64)*/
-#ifndef _USE_32BIT_TIME_T
-#define _USE_32BIT_TIME_T
-#endif
-#endif
-
-#ifdef _USE_32BIT_TIME_T
-#ifdef _WIN64
-#error You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64
-#undef _USE_32BIT_TIME_T
-#endif
-#endif /* _USE_32BIT_TIME_T */
-
-#ifndef _ERRCODE_DEFINED
-#define _ERRCODE_DEFINED
-typedef int errno_t;
-#endif
-
-#ifndef _TIME32_T_DEFINED
-#define _TIME32_T_DEFINED
-typedef long __time32_t;
-#endif
-
-#ifndef _TIME64_T_DEFINED
-#define _TIME64_T_DEFINED
-__MINGW_EXTENSION typedef __int64 __time64_t;
-#endif /* _TIME64_T_DEFINED */
-
-#ifndef _TIME_T_DEFINED
-#define _TIME_T_DEFINED
-#ifdef _USE_32BIT_TIME_T
-typedef __time32_t time_t;
-#else
-typedef __time64_t time_t;
-#endif
-#endif /* _TIME_T_DEFINED */
-
-#ifndef _CONST_RETURN
-#define _CONST_RETURN
-#endif
-
-#ifndef UNALIGNED
-#if defined(_M_IA64) || defined(_M_AMD64)
-#define UNALIGNED __unaligned
-#else
-#define UNALIGNED
-#endif
-#endif /* UNALIGNED */
-
-#ifndef _CRT_ALIGN
-#ifdef  _MSC_VER
-#define _CRT_ALIGN(x) __declspec(align(x))
-#else /* __GNUC__ */
-#define _CRT_ALIGN(x) __attribute__ ((__aligned__ (x)))
-#endif
-#endif /* _CRT_ALIGN */
-
-#ifndef __CRTDECL
-#define __CRTDECL __cdecl
-#endif
-
-#define _ARGMAX 100
-
-#ifndef _TRUNCATE
-#define _TRUNCATE ((size_t)-1)
-#endif
-
-#ifndef _CRT_UNUSED
-#define _CRT_UNUSED(x) (void)x
-#endif
-
-#if defined(_POSIX) && !defined(__USE_MINGW_ANSI_STDIO)
-/* Enable __USE_MINGW_ANSI_STDIO if _POSIX defined
- * and If user did _not_ specify it explicitly... */
-#  define __USE_MINGW_ANSI_STDIO			1
-#endif
-
-/* _dowildcard is an int that controls the globbing of the command line.
- * The MinGW32 (mingw.org) runtime calls it _CRT_glob, so we are adding
- * a compatibility definition here:  you can use either of _CRT_glob or
- * _dowildcard .
- * If _dowildcard is non-zero, the command line will be globbed:  *.*
- * will be expanded to be all files in the startup directory.
- * In the mingw-w64 library a _dowildcard variable is defined as being
- * 0, therefore command line globbing is DISABLED by default. To turn it
- * on and to leave wildcard command line processing MS's globbing code,
- * include a line in one of your source modules defining _dowildcard and
- * setting it to -1, like so:
- * int _dowildcard = -1;
- */
-#undef  _CRT_glob
-#define _CRT_glob _dowildcard
-
-
-#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
-#define NONAMELESSUNION		1
-#endif
-#if defined(NONAMELESSSTRUCT) && \
-   !defined(NONAMELESSUNION)
-#define NONAMELESSUNION		1
-#endif
-#if defined(NONAMELESSUNION)  && \
-   !defined(NONAMELESSSTRUCT)
-#define NONAMELESSSTRUCT	1
-#endif
-
-#ifndef __ANONYMOUS_DEFINED
-#define __ANONYMOUS_DEFINED
-#define _ANONYMOUS_UNION  __MINGW_EXTENSION
-#define _ANONYMOUS_STRUCT __MINGW_EXTENSION
-#ifndef NONAMELESSUNION
-#define _UNION_NAME(x)
-#define _STRUCT_NAME(x)
-#else /* NONAMELESSUNION */
-#define _UNION_NAME(x)  x
-#define _STRUCT_NAME(x) x
-#endif
-#endif	/* __ANONYMOUS_DEFINED */
-
-#ifndef DUMMYUNIONNAME
-# ifdef NONAMELESSUNION
-#  define DUMMYUNIONNAME  u
-#  define DUMMYUNIONNAME1 u1	/* Wine uses this variant */
-#  define DUMMYUNIONNAME2 u2
-#  define DUMMYUNIONNAME3 u3
-#  define DUMMYUNIONNAME4 u4
-#  define DUMMYUNIONNAME5 u5
-#  define DUMMYUNIONNAME6 u6
-#  define DUMMYUNIONNAME7 u7
-#  define DUMMYUNIONNAME8 u8
-#  define DUMMYUNIONNAME9 u9
-# else /* NONAMELESSUNION */
-#  define DUMMYUNIONNAME
-#  define DUMMYUNIONNAME1	/* Wine uses this variant */
-#  define DUMMYUNIONNAME2
-#  define DUMMYUNIONNAME3
-#  define DUMMYUNIONNAME4
-#  define DUMMYUNIONNAME5
-#  define DUMMYUNIONNAME6
-#  define DUMMYUNIONNAME7
-#  define DUMMYUNIONNAME8
-#  define DUMMYUNIONNAME9
-# endif
-#endif	/* DUMMYUNIONNAME */
-
-#ifndef DUMMYSTRUCTNAME
-# ifdef NONAMELESSUNION
-#  define DUMMYSTRUCTNAME  s
-#  define DUMMYSTRUCTNAME1 s1	/* Wine uses this variant */
-#  define DUMMYSTRUCTNAME2 s2
-#  define DUMMYSTRUCTNAME3 s3
-#  define DUMMYSTRUCTNAME4 s4
-#  define DUMMYSTRUCTNAME5 s5
-# else
-#  define DUMMYSTRUCTNAME
-#  define DUMMYSTRUCTNAME1	/* Wine uses this variant */
-#  define DUMMYSTRUCTNAME2
-#  define DUMMYSTRUCTNAME3
-#  define DUMMYSTRUCTNAME4
-#  define DUMMYSTRUCTNAME5
-# endif
-#endif /* DUMMYSTRUCTNAME */
-
-
-/* Macros for __uuidof template-based emulation */
-#if defined(__cplusplus) && (USE___UUIDOF == 0)
-
-#define __CRT_UUID_DECL(type,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)           \
-    extern "C++" {                                                      \
-    template<> inline const GUID &__mingw_uuidof<type>() {              \
-        static const IID __uuid_inst = {l,w1,w2, {b1,b2,b3,b4,b5,b6,b7,b8}}; \
-        return __uuid_inst;                                             \
-    }                                                                   \
-    template<> inline const GUID &__mingw_uuidof<type*>() {             \
-        return __mingw_uuidof<type>();                                  \
-    }                                                                   \
-    }
-
-#define __uuidof(type) __mingw_uuidof<typeof(type)>()
-
-#else
-
-#define __CRT_UUID_DECL(type,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __MINGW_INTRIN_INLINE
-#if !defined (__clang__)
-void __cdecl __debugbreak(void);
-__MINGW_INTRIN_INLINE void __cdecl __debugbreak(void)
-{
-  __asm__ __volatile__("int $3");
-}
-#endif
-#endif
-
-/* mingw-w64 specific functions: */
-const char *__mingw_get_crt_info (void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#pragma pack(pop)
-
-#endif /* _INC__MINGW_H */
-
-#ifndef MINGW_SDK_INIT
-#define MINGW_SDK_INIT
-
-#define MINGW_HAS_SECURE_API 1
-
-#ifdef MINGW_HAS_SECURE_API
-#define __STDC_SECURE_LIB__ 200411L
-#define __GOT_SECURE_LIB__ __STDC_SECURE_LIB__
-#endif
-
-#include "sdks/_mingw_directx.h"
-#include "sdks/_mingw_ddk.h"
-
-#endif /* MINGW_SDK_INIT */
diff --git a/debian/include/_mingw_mac.h b/debian/include/_mingw_mac.h
deleted file mode 100644
index 7242bc1..0000000
--- a/debian/include/_mingw_mac.h
+++ /dev/null
@@ -1,254 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-
-#ifndef _INC_CRTDEFS_MACRO
-#define _INC_CRTDEFS_MACRO
-
-#define __STRINGIFY(x) #x
-#define __MINGW64_STRINGIFY(x) __STRINGIFY(x)
-
-#define __MINGW64_VERSION_MAJOR	3
-#define __MINGW64_VERSION_MINOR	0
-
-/* This macro holds an monotonic increasing value, which indicates
-   a specific fix/patch is present on trunk.  This value isn't related to
-   minor/major version-macros.  It is increased on demand, if a big
-   fix was applied to trunk.  This macro gets just increased on trunk.  For
-   other branches its value won't be modified.  */
-
-#define __MINGW64_VERSION_RC    1
-
-#define __MINGW64_VERSION_STR	__MINGW64_STRINGIFY(__MINGW64_VERSION_MAJOR) "." __MINGW64_STRINGIFY(__MINGW64_VERSION_MINOR)
-#define __MINGW64_VERSION_STATE	"alpha"
-
-/* mingw.org's version macros: these make gcc to define
-   MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
-   and the __mingwthr_key_dtor() function from the MinGW
-   CRT in its private gthr-win32.h header. */
-#define __MINGW32_MAJOR_VERSION 3
-#define __MINGW32_MINOR_VERSION 11
-
-#ifdef _WIN64
-/* MS does not prefix symbols by underscores for 64-bit.  */
-#ifndef __MINGW_USE_UNDERSCORE_PREFIX
-/* As we have to support older gcc version, which are using underscores
-   as symbol prefix for x64, we have to check here for the user label
-   prefix defined by gcc.  */
-#ifdef __USER_LABEL_PREFIX__
-#pragma push_macro ("_")
-#undef _
-#define _ 1
-#if (__USER_LABEL_PREFIX__ + 0) != 0
-#define __MINGW_USE_UNDERSCORE_PREFIX 1
-#else
-#define __MINGW_USE_UNDERSCORE_PREFIX 0
-#endif
-#undef _
-#pragma pop_macro ("_")
-#else
-#define __MINGW_USE_UNDERSCORE_PREFIX 0
-#endif
-#endif
-#else
-/* For 32-bits we have always to prefix by underscore.  */
-#undef __MINGW_USE_UNDERSCORE_PREFIX
-#define __MINGW_USE_UNDERSCORE_PREFIX 1
-#endif
-
-#if __MINGW_USE_UNDERSCORE_PREFIX == 0
-#define __MINGW_IMP_SYMBOL(sym)	__imp_##sym
-#define __MINGW_IMP_LSYMBOL(sym) __imp_##sym
-#define __MINGW_USYMBOL(sym) sym
-#define __MINGW_LSYMBOL(sym) _##sym
-#else
-#define __MINGW_IMP_SYMBOL(sym)	_imp__##sym
-#define __MINGW_IMP_LSYMBOL(sym) __imp__##sym
-#define __MINGW_USYMBOL(sym) _##sym
-#define __MINGW_LSYMBOL(sym) sym
-#endif
-
-/* Use alias for msvcr80 export of get/set_output_format.  */
-#ifndef __USE_MINGW_OUTPUT_FORMAT_EMU
-#define __USE_MINGW_OUTPUT_FORMAT_EMU 1
-#endif
-
-/* Set VC specific compiler target macros.  */
-#if defined(__x86_64) && defined(_X86_)
-#undef _X86_	/* _X86_ is not for __x86_64 */
-#endif
-
-#if defined(_X86_) && !defined(_M_IX86) && !defined(_M_IA64) \
-   && !defined(_M_AMD64) && !defined(__x86_64)
-#if defined(__i486__)
-#define _M_IX86 400
-#elif defined(__i586__)
-#define _M_IX86 500
-#else
-/* This gives wrong (600 instead of 300) value if -march=i386 is specified
-   but we cannot check for__i386__ as it is defined for all 32-bit CPUs. */
-#define _M_IX86 600
-#endif
-#endif
-
-#if defined(__x86_64) && !defined(_M_IX86) && !defined(_M_IA64) \
-   && !defined(_M_AMD64)
-#define _M_AMD64 100
-#define _M_X64 100
-#endif
-
-#if defined(__ia64__) && !defined(_M_IX86) && !defined(_M_IA64) \
-   && !defined(_M_AMD64) && !defined(_X86_) && !defined(__x86_64)
-#define _M_IA64 100
-#endif
-
-#if defined(__arm__) && !defined(_M_ARM)
-#define _M_ARM 100
-#ifndef _ARM_
-#define _ARM_ 1
-#endif
-#endif
-
-#ifndef __PTRDIFF_TYPE__
-#ifdef _WIN64
-#define __PTRDIFF_TYPE__ long long int
-#else
-#define __PTRDIFF_TYPE__ long int
-#endif
-#endif
-
-#ifndef __SIZE_TYPE__
-#ifdef _WIN64
-#define __SIZE_TYPE__ long long unsigned int
-#else
-#define __SIZE_TYPE__ long unsigned int
-#endif
-#endif
-
-#ifndef __WCHAR_TYPE__
-#define __WCHAR_TYPE__ unsigned short
-#endif
-#ifndef __WINT_TYPE__
-#define __WINT_TYPE__  unsigned short
-#endif
-
-#undef __MINGW_EXTENSION
-#if defined(__GNUC__) || defined(__GNUG__)
-#define __MINGW_EXTENSION	__extension__
-#else
-#define __MINGW_EXTENSION
-#endif
-
-/* Special case nameless struct/union.  */
-#ifndef __C89_NAMELESS
-#define __C89_NAMELESS __MINGW_EXTENSION
-
-#define __C89_NAMELESSSTRUCTNAME
-#define __C89_NAMELESSSTRUCTNAME1
-#define __C89_NAMELESSSTRUCTNAME2
-#define __C89_NAMELESSSTRUCTNAME3
-#define __C89_NAMELESSSTRUCTNAME4
-#define __C89_NAMELESSSTRUCTNAME5
-#define __C89_NAMELESSUNIONNAME
-#define __C89_NAMELESSUNIONNAME1
-#define __C89_NAMELESSUNIONNAME2
-#define __C89_NAMELESSUNIONNAME3
-#define __C89_NAMELESSUNIONNAME4
-#define __C89_NAMELESSUNIONNAME5
-#define __C89_NAMELESSUNIONNAME6
-#define __C89_NAMELESSUNIONNAME7
-#define __C89_NAMELESSUNIONNAME8
-#endif
-
-#ifndef __GNU_EXTENSION
-#define __GNU_EXTENSION		__MINGW_EXTENSION
-#endif
-
-/* MinGW-w64 has some additional C99 printf/scanf feature support.
-   So we add some helper macros to ease recognition of them.  */
-#define __MINGW_HAVE_ANSI_C99_PRINTF 1
-#define __MINGW_HAVE_WIDE_C99_PRINTF 1
-#define __MINGW_HAVE_ANSI_C99_SCANF 1
-#define __MINGW_HAVE_WIDE_C99_SCANF 1
-
-#ifdef __MINGW_USE_BROKEN_INTERFACE
-#define __MINGW_POISON_NAME(__IFACE) __IFACE
-#else
-#define __MINGW_POISON_NAME(__IFACE)\
-  __IFACE##_layout_has_not_been_verified_and_its_declaration_is_most_likely_incorrect
-#endif
-
-#ifndef __MSABI_LONG
-#ifndef __LP64__
-#define __MSABI_LONG(x)  x ## l
-#else
-#define __MSABI_LONG(x)  x
-#endif
-#endif
-
-#if __GNUC__
-#define __MINGW_GCC_VERSION	(__GNUC__	* 10000	+ \
-				 __GNUC_MINOR__	* 100	+ \
-				 __GNUC_PATCHLEVEL__)
-#else
-#define __MINGW_GCC_VERSION				0
-#endif
-
-#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-#define __MINGW_GNUC_PREREQ(major, minor) \
-  (__GNUC__ > (major) \
-   || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
-#else
-#define __MINGW_GNUC_PREREQ(major, minor)  0
-#endif
-
-#if defined (_MSC_VER)
-#define __MINGW_MSC_PREREQ(major, minor) \
-  (_MSC_VER >= (major * 100 + minor * 10))
-#else
-#define __MINGW_MSC_PREREQ(major, minor)   0
-#endif
-
-#ifdef __MINGW_MSVC_COMPAT_WARNINGS
-# if __MINGW_GNUC_PREREQ (4, 5)
-#  define __MINGW_ATTRIB_DEPRECATED_STR(X) __attribute__ ((__deprecated__ (X)))
-# else
-#  define __MINGW_ATTRIB_DEPRECATED_STR(X) __MINGW_ATTRIB_DEPRECATED
-# endif
-#else
-# define __MINGW_ATTRIB_DEPRECATED_STR(X)
-#endif
-
-#define __MINGW_SEC_WARN_STR "This function or variable may be unsafe, use _CRT_SECURE_NO_WARNINGS to disable deprecation"
-#define __MINGW_MSVC2005_DEPREC_STR "This POSIX function is deprecated beginning in Visual C++ 2005, use _CRT_NONSTDC_NO_DEPRECATE to disable deprecation"
-
-#if !defined (_CRT_NONSTDC_NO_DEPRECATE)
-# define __MINGW_ATTRIB_DEPRECATED_MSVC2005 __MINGW_ATTRIB_DEPRECATED_STR (__MINGW_MSVC2005_DEPREC_STR)
-#else
-# define __MINGW_ATTRIB_DEPRECATED_MSVC2005
-#endif
-
-#if !defined (_CRT_SECURE_NO_WARNINGS) || (_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES == 0)
-# define __MINGW_ATTRIB_DEPRECATED_SEC_WARN __MINGW_ATTRIB_DEPRECATED_STR (__MINGW_SEC_WARN_STR)
-#else
-# define __MINGW_ATTRIB_DEPRECATED_SEC_WARN
-#endif
-
-#define __MINGW_MS_PRINTF(__format,__args)  __attribute__((__format__(ms_printf, __format,__args)))
-#define __MINGW_MS_SCANF(__format,__args)   __attribute__((__format__(ms_scanf,  __format,__args)))
-#define __MINGW_GNU_PRINTF(__format,__args) __attribute__((__format__(gnu_printf,__format,__args)))
-#define __MINGW_GNU_SCANF(__format,__args)  __attribute__((__format__(gnu_scanf, __format,__args)))
-
-#undef __mingw_ovr
-#ifdef __cplusplus
-#define __mingw_ovr  inline __cdecl
-#elif defined (__GNUC__)
-#define __mingw_ovr static __attribute__ ((__unused__)) __inline__ __cdecl
-#else
-#define __mingw_ovr static __cdecl
-#endif
-
-#endif	/* _INC_CRTDEFS_MACRO */
-
diff --git a/debian/include/apisetcconv.h b/debian/include/apisetcconv.h
deleted file mode 100644
index bf0045d..0000000
--- a/debian/include/apisetcconv.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
-
-#ifndef _APISETCCONV_
-#define _APISETCCONV_
-
-#ifndef CMAPI
-#ifndef _CFGMGR32_
-#define CMAPI DECLSPEC_IMPORT
-#else
-#define CMAPI
-#endif
-#endif
-
-#ifndef CREDUIAPI
-#ifndef _CREDUI_
-#define CREDUIAPI DECLSPEC_IMPORT
-#else
-#define CREDUIAPI
-#endif
-#endif
-
-#ifndef WINABLEAPI
-#ifndef _USER32_
-#define WINABLEAPI DECLSPEC_IMPORT
-#else
-#define WINABLEAPI
-#endif
-#endif
-
-#ifndef WINADVAPI
-#ifndef _ADVAPI32_
-#define WINADVAPI DECLSPEC_IMPORT
-#else
-#define WINADVAPI
-#endif
-#endif
-
-#ifndef WINBASEAPI
-#ifndef _KERNEL32_
-#define WINBASEAPI DECLSPEC_IMPORT
-#else
-#define WINBASEAPI
-#endif
-#endif
-
-#ifndef WINUSERAPI
-#ifndef _USER32_
-#define WINUSERAPI DECLSPEC_IMPORT
-#else
-#define WINUSERAPI
-#endif
-#endif
-
-#ifndef ZAWPROXYAPI
-#ifndef _ZAWPROXY_
-#define ZAWPROXYAPI DECLSPEC_IMPORT
-#else
-#define ZAWPROXYAPI
-#endif
-#endif
-
-#ifndef WINCFGMGR32API
-#ifndef _SETUPAPI_
-#define WINCFGMGR32API DECLSPEC_IMPORT
-#else
-#define WINCFGMGR32API
-#endif
-#endif
-
-#ifndef WINDEVQUERYAPI
-#ifndef _CFGMGR32_
-#define WINDEVQUERYAPI DECLSPEC_IMPORT
-#else
-#define WINDEVQUERYAPI
-#endif
-#endif
-
-#ifndef WINSWDEVICEAPI
-#ifndef _CFGMGR32_
-#define WINSWDEVICEAPI DECLSPEC_IMPORT
-#else
-#define WINSWDEVICEAPI
-#endif
-#endif
-
-#ifndef WINPATHCCHAPI
-#ifndef STATIC_PATHCCH
-#define WINPATHCCHAPI WINBASEAPI 
-#else  
-#define WINPATHCCHAPI
-#endif  
-#endif
-
-#endif
diff --git a/debian/include/knownfolders.h b/debian/include/knownfolders.h
deleted file mode 100644
index bf1466e..0000000
--- a/debian/include/knownfolders.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2010 Hans Leidekker for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * 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.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifdef DEFINE_KNOWN_FOLDER
-#undef DEFINE_KNOWN_FOLDER
-#endif
-
-#ifdef INITGUID
-#ifdef __cplusplus
-#define DEFINE_KNOWN_FOLDER(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
-        EXTERN_C const GUID name ; \
-        EXTERN_C const GUID name = \
-    { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
-#else
-#define DEFINE_KNOWN_FOLDER(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
-        const GUID name ; \
-        const GUID name = \
-    { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
-#endif
-#else
-#define DEFINE_KNOWN_FOLDER(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
-    EXTERN_C const GUID name 
-#endif
-
-DEFINE_KNOWN_FOLDER(FOLDERID_AddNewPrograms,        0xde61d971, 0x5ebc, 0x4f02, 0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04);
-DEFINE_KNOWN_FOLDER(FOLDERID_AdminTools,            0x724ef170, 0xa42d, 0x4fef, 0x9f, 0x26, 0xb6, 0x0e, 0x84, 0x6f, 0xba, 0x4f);
-DEFINE_KNOWN_FOLDER(FOLDERID_AppUpdates,            0xa305ce99, 0xf527, 0x492b, 0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4);
-DEFINE_KNOWN_FOLDER(FOLDERID_CDBurning,             0x9e52ab10, 0xf80d, 0x49df, 0xac, 0xb8, 0x43, 0x30, 0xf5, 0x68, 0x78, 0x55);
-DEFINE_KNOWN_FOLDER(FOLDERID_ChangeRemovePrograms,  0xdf7266ac, 0x9274, 0x4867, 0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonAdminTools,      0xd0384e7d, 0xbac3, 0x4797, 0x8f, 0x14, 0xcb, 0xa2, 0x29, 0xb3, 0x92, 0xb5);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonOEMLinks,        0xc1bae2d0, 0x10df, 0x4334, 0xbe, 0xdd, 0x7a, 0xa2, 0x0b, 0x22, 0x7a, 0x9d);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonPrograms,        0x0139d44e, 0x6afe, 0x49f2, 0x86, 0x90, 0x3d, 0xaf, 0xca, 0xe6, 0xff, 0xb8);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonStartMenu,       0xa4115719, 0xd62e, 0x491d, 0xaa, 0x7c, 0xe7, 0x4b, 0x8b, 0xe3, 0xb0, 0x67);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonStartup,         0x82a5ea35, 0xd9cd, 0x47c5, 0x96, 0x29, 0xe1, 0x5d, 0x2f, 0x71, 0x4e, 0x6e);
-DEFINE_KNOWN_FOLDER(FOLDERID_CommonTemplates,       0xb94237e7, 0x57ac, 0x4347, 0x91, 0x51, 0xb0, 0x8c, 0x6c, 0x32, 0xd1, 0xf7);
-DEFINE_KNOWN_FOLDER(FOLDERID_ComputerFolder,        0x0ac0837c, 0xbbf8, 0x452a, 0x85, 0x0d, 0x79, 0xd0, 0x8e, 0x66, 0x7c, 0xa7);
-DEFINE_KNOWN_FOLDER(FOLDERID_ConflictFolder,        0x4bfefb45, 0x347d, 0x4006, 0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92);
-DEFINE_KNOWN_FOLDER(FOLDERID_ConnectionsFolder,     0x6f0cd92b, 0x2e97, 0x45d1, 0x88, 0xff, 0xb0, 0xd1, 0x86, 0xb8, 0xde, 0xdd);
-DEFINE_KNOWN_FOLDER(FOLDERID_Contacts,              0x56784854, 0xc6cb, 0x462b, 0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82);
-DEFINE_KNOWN_FOLDER(FOLDERID_ControlPanelFolder,    0x82a74aeb, 0xaeb4, 0x465c, 0xa0, 0x14, 0xd0, 0x97, 0xee, 0x34, 0x6d, 0x63);
-DEFINE_KNOWN_FOLDER(FOLDERID_Cookies,               0x2b0f765d, 0xc0e9, 0x4171, 0x90, 0x8e, 0x08, 0xa6, 0x11, 0xb8, 0x4f, 0xf6);
-DEFINE_KNOWN_FOLDER(FOLDERID_Desktop,               0xb4bfcc3a, 0xdb2c, 0x424c, 0xb0, 0x29, 0x7f, 0xe9, 0x9a, 0x87, 0xc6, 0x41);
-DEFINE_KNOWN_FOLDER(FOLDERID_DeviceMetadataStore,   0x5ce4a5e9, 0xe4eb, 0x479d, 0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55);
-DEFINE_KNOWN_FOLDER(FOLDERID_Documents,             0xfdd39ad0, 0x238f, 0x46af, 0xad, 0xb4, 0x6c, 0x85, 0x48, 0x03, 0x69, 0xc7);
-DEFINE_KNOWN_FOLDER(FOLDERID_DocumentsLibrary,      0x7b0db17d, 0x9cd2, 0x4a93, 0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c);
-DEFINE_KNOWN_FOLDER(FOLDERID_Downloads,             0x374de290, 0x123f, 0x4565, 0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b);
-DEFINE_KNOWN_FOLDER(FOLDERID_Favorites,             0x1777f761, 0x68ad, 0x4d8a, 0x87, 0xbd, 0x30, 0xb7, 0x59, 0xfa, 0x33, 0xdd);
-DEFINE_KNOWN_FOLDER(FOLDERID_Fonts,                 0xfd228cb7, 0xae11, 0x4ae3, 0x86, 0x4c, 0x16, 0xf3, 0x91, 0x0a, 0xb8, 0xfe);
-DEFINE_KNOWN_FOLDER(FOLDERID_Games,                 0xcac52c1a, 0xb53d, 0x4edc, 0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34);
-DEFINE_KNOWN_FOLDER(FOLDERID_GameTasks,             0x054fae61, 0x4dd8, 0x4787, 0x80, 0xb6, 0x09, 0x02, 0x20, 0xc4, 0xb7, 0x00);
-DEFINE_KNOWN_FOLDER(FOLDERID_History,               0xd9dc8a3b, 0xb784, 0x432e, 0xa7, 0x81, 0x5a, 0x11, 0x30, 0xa7, 0x59, 0x63);
-DEFINE_KNOWN_FOLDER(FOLDERID_HomeGroup,             0x52528a6b, 0xb9e3, 0x4add, 0xb6, 0x0d, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d);
-DEFINE_KNOWN_FOLDER(FOLDERID_ImplicitAppShortcuts,  0xbcb5256f, 0x79f6, 0x4cee, 0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x02, 0xfd, 0x46);
-DEFINE_KNOWN_FOLDER(FOLDERID_InternetCache,         0x352481e8, 0x33be, 0x4251, 0xba, 0x85, 0x60, 0x07, 0xca, 0xed, 0xcf, 0x9d);
-DEFINE_KNOWN_FOLDER(FOLDERID_InternetFolder,        0x4d9f7874, 0x4e0c, 0x4904, 0x96, 0x7b, 0x40, 0xb0, 0xd2, 0x0c, 0x3e, 0x4b);
-DEFINE_KNOWN_FOLDER(FOLDERID_Libraries,             0x1b3ea5dc, 0xb587, 0x4786, 0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae);
-DEFINE_KNOWN_FOLDER(FOLDERID_Links,                 0xbfb9d5e0, 0xc6a9, 0x404c, 0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68);
-DEFINE_KNOWN_FOLDER(FOLDERID_LocalAppData,          0xf1b32785, 0x6fba, 0x4fcf, 0x9d, 0x55, 0x7b, 0x8e, 0x7f, 0x15, 0x70, 0x91);
-DEFINE_KNOWN_FOLDER(FOLDERID_LocalAppDataLow,       0xa520a1a4, 0x1780, 0x4ff6, 0xbd, 0x18, 0x16, 0x73, 0x43, 0xc5, 0xaf, 0x16);
-DEFINE_KNOWN_FOLDER(FOLDERID_LocalizedResourcesDir, 0x2a00375e, 0x224c, 0x49de, 0xb8, 0xd1, 0x44, 0x0d, 0xf7, 0xef, 0x3d, 0xdc);
-DEFINE_KNOWN_FOLDER(FOLDERID_Music,                 0x4bd8d571, 0x6d19, 0x48d3, 0xbe, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0e, 0x43);
-DEFINE_KNOWN_FOLDER(FOLDERID_MusicLibrary,          0x2112ab0a, 0xc86a, 0x4ffe, 0xa3, 0x68, 0x0d, 0xe9, 0x6e, 0x47, 0x01, 0x2e);
-DEFINE_KNOWN_FOLDER(FOLDERID_NetHood,               0xc5abbf53, 0xe17f, 0x4121, 0x89, 0x00, 0x86, 0x62, 0x6f, 0xc2, 0xc9, 0x73);
-DEFINE_KNOWN_FOLDER(FOLDERID_NetworkFolder,         0xd20beec4, 0x5ca8, 0x4905, 0xae, 0x3b, 0xbf, 0x25, 0x1e, 0xa0, 0x9b, 0x53);
-DEFINE_KNOWN_FOLDER(FOLDERID_OriginalImages,        0x2c36c0aa, 0x5812, 0x4b87, 0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39);
-DEFINE_KNOWN_FOLDER(FOLDERID_PhotoAlbums,           0x69d2cf90, 0xfc33, 0x4fb7, 0x9a, 0x0c, 0xeb, 0xb0, 0xf0, 0xfc, 0xb4, 0x3c);
-DEFINE_KNOWN_FOLDER(FOLDERID_Pictures,              0x33e28130, 0x4e1e, 0x4676, 0x83, 0x5a, 0x98, 0x39, 0x5c, 0x3b, 0xc3, 0xbb);
-DEFINE_KNOWN_FOLDER(FOLDERID_PicturesLibrary,       0xa990ae9f, 0xa03b, 0x4e80, 0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x04);
-DEFINE_KNOWN_FOLDER(FOLDERID_Playlists,             0xde92c1c7, 0x837f, 0x4f69, 0xa3, 0xbb, 0x86, 0xe6, 0x31, 0x20, 0x4a, 0x23);
-DEFINE_KNOWN_FOLDER(FOLDERID_PrintersFolder,        0x76fc4e2d, 0xd6ad, 0x4519, 0xa6, 0x63, 0x37, 0xbd, 0x56, 0x06, 0x81, 0x85);
-DEFINE_KNOWN_FOLDER(FOLDERID_PrintHood,             0x9274bd8d, 0xcfd1, 0x41c3, 0xb3, 0x5e, 0xb1, 0x3f, 0x55, 0xa7, 0x58, 0xf4);
-DEFINE_KNOWN_FOLDER(FOLDERID_Profile,               0x5e6c858f, 0x0e22, 0x4760, 0x9a, 0xfe, 0xea, 0x33, 0x17, 0xb6, 0x71, 0x73);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramData,           0x62ab5d82, 0xfdc1, 0x4dc3, 0xa9, 0xdd, 0x07, 0x0d, 0x1d, 0x49, 0x5d, 0x97);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFiles,          0x905e63b6, 0xc1bf, 0x494e, 0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFilesCommon,    0xf7f1ed05, 0x9f6d, 0x47a2, 0xaa, 0xae, 0x29, 0xd3, 0x17, 0xc6, 0xf0, 0x66);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFilesCommonX64, 0x6365d5a7, 0x0f0d, 0x45e5, 0x87, 0xf6, 0x0d, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFilesCommonX86, 0xde974d24, 0xd9c6, 0x4d3e, 0xbf, 0x91, 0xf4, 0x45, 0x51, 0x20, 0xb9, 0x17);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFilesX64,       0x6d809377, 0x6af0, 0x444b, 0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e);
-DEFINE_KNOWN_FOLDER(FOLDERID_ProgramFilesX86,       0x7c5a40ef, 0xa0fb, 0x4bfc, 0x87, 0x4a, 0xc0, 0xf2, 0xe0, 0xb9, 0xfa, 0x8e);
-DEFINE_KNOWN_FOLDER(FOLDERID_Programs,              0xa77f5d77, 0x2e2b, 0x44c3, 0xa6, 0xa2, 0xab, 0xa6, 0x01, 0x05, 0x4a, 0x51);
-DEFINE_KNOWN_FOLDER(FOLDERID_Public,                0xdfdf76a2, 0xc82a, 0x4d63, 0x90, 0x6a, 0x56, 0x44, 0xac, 0x45, 0x73, 0x85);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicDesktop,         0xc4aa340d, 0xf20f, 0x4863, 0xaf, 0xef, 0xf8, 0x7e, 0xf2, 0xe6, 0xba, 0x25);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicDocuments,       0xed4824af, 0xdce4, 0x45a8, 0x81, 0xe2, 0xfc, 0x79, 0x65, 0x08, 0x36, 0x34);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicDownloads,       0x3d644c9b, 0x1fb8, 0x4f30, 0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicGameTasks,       0xdebf2536, 0xe1a8, 0x4c59, 0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicLibraries,       0x48daf80b, 0xe6cf, 0x4f4e, 0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicMusic,           0x3214fab5, 0x9757, 0x4298, 0xbb, 0x61, 0x92, 0xa9, 0xde, 0xaa, 0x44, 0xff);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicPictures,        0xb6ebfb86, 0x6907, 0x413c, 0x9a, 0xf7, 0x4f, 0xc2, 0xab, 0xf0, 0x7c, 0xc5);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicRingtones,       0xe555ab60, 0x153b, 0x4d17, 0x9f, 0x04, 0xa5, 0xfe, 0x99, 0xfc, 0x15, 0xec);
-DEFINE_KNOWN_FOLDER(FOLDERID_PublicVideos,          0x2400183a, 0x6185, 0x49fb, 0xa2, 0xd8, 0x4a, 0x39, 0x2a, 0x60, 0x2b, 0xa3);
-DEFINE_KNOWN_FOLDER(FOLDERID_QuickLaunch,           0x52a4f021, 0x7b75, 0x48a9, 0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f);
-DEFINE_KNOWN_FOLDER(FOLDERID_Recent,                0xae50c081, 0xebd2, 0x438a, 0x86, 0x55, 0x8a, 0x09, 0x2e, 0x34, 0x98, 0x7a);
-DEFINE_KNOWN_FOLDER(FOLDERID_RecordedTV,            0xbd85e001, 0x112e, 0x431e, 0x98, 0x3b, 0x7b, 0x15, 0xac, 0x09, 0xff, 0xf1);
-DEFINE_KNOWN_FOLDER(FOLDERID_RecordedTVLibrary,     0x1a6fdba2, 0xf42d, 0x4358, 0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5);
-DEFINE_KNOWN_FOLDER(FOLDERID_RecycleBinFolder,      0xb7534046, 0x3ecb, 0x4c18, 0xbe, 0x4e, 0x64, 0xcd, 0x4c, 0xb7, 0xd6, 0xac);
-DEFINE_KNOWN_FOLDER(FOLDERID_ResourceDir,           0x8ad10c31, 0x2adb, 0x4296, 0xa8, 0xf7, 0xe4, 0x70, 0x12, 0x32, 0xc9, 0x72);
-DEFINE_KNOWN_FOLDER(FOLDERID_Ringtones,             0xc870044b, 0xf49e, 0x4126, 0xa9, 0xc3, 0xb5, 0x2a, 0x1f, 0xf4, 0x11, 0xe8);
-DEFINE_KNOWN_FOLDER(FOLDERID_RoamingAppData,        0x3eb685db, 0x65f9, 0x4cf6, 0xa0, 0x3a, 0xe3, 0xef, 0x65, 0x72, 0x9f, 0x3d);
-DEFINE_KNOWN_FOLDER(FOLDERID_SampleMusic,           0xb250c668, 0xf57d, 0x4ee1, 0xa6, 0x3c, 0x29, 0x0e, 0xe7, 0xd1, 0xaa, 0x1f);
-DEFINE_KNOWN_FOLDER(FOLDERID_SamplePictures,        0xc4900540, 0x2379, 0x4c75, 0x84, 0x4b, 0x64, 0xe6, 0xfa, 0xf8, 0x71, 0x6b);
-DEFINE_KNOWN_FOLDER(FOLDERID_SamplePlaylists,       0x15ca69b3, 0x30ee, 0x49c1, 0xac, 0xe1, 0x6b, 0x5e, 0xc3, 0x72, 0xaf, 0xb5);
-DEFINE_KNOWN_FOLDER(FOLDERID_SampleVideos,          0x859ead94, 0x2e85, 0x48ad, 0xa7, 0x1a, 0x09, 0x69, 0xcb, 0x56, 0xa6, 0xcd);
-DEFINE_KNOWN_FOLDER(FOLDERID_SavedGames,            0x4c5c32ff, 0xbb9d, 0x43b0, 0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4);
-DEFINE_KNOWN_FOLDER(FOLDERID_SavedSearches,         0x7d1d3a04, 0xdebb, 0x4115, 0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda);
-DEFINE_KNOWN_FOLDER(FOLDERID_SEARCH_CSC,            0xee32e446, 0x31ca, 0x4aba, 0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e);
-DEFINE_KNOWN_FOLDER(FOLDERID_SearchHome,            0x190337d1, 0xb8ca, 0x4121, 0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a);
-DEFINE_KNOWN_FOLDER(FOLDERID_SEARCH_MAPI,           0x98ec0e18, 0x2098, 0x4d44, 0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81);
-DEFINE_KNOWN_FOLDER(FOLDERID_SendTo,                0x8983036c, 0x27c0, 0x404b, 0x8f, 0x08, 0x10, 0x2d, 0x10, 0xdc, 0xfd, 0x74);
-DEFINE_KNOWN_FOLDER(FOLDERID_SidebarDefaultParts,   0x7b396e54, 0x9ec5, 0x4300, 0xbe, 0x0a, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26);
-DEFINE_KNOWN_FOLDER(FOLDERID_SidebarParts,          0xa75d362e, 0x50fc, 0x4fb7, 0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93);
-DEFINE_KNOWN_FOLDER(FOLDERID_StartMenu,             0x625b53c3, 0xab48, 0x4ec1, 0xba, 0x1f, 0xa1, 0xef, 0x41, 0x46, 0xfc, 0x19);
-DEFINE_KNOWN_FOLDER(FOLDERID_Startup,               0xb97d20bb, 0xf46a, 0x4c97, 0xba, 0x10, 0x5e, 0x36, 0x08, 0x43, 0x08, 0x54);
-DEFINE_KNOWN_FOLDER(FOLDERID_SyncManagerFolder,     0x43668bf8, 0xc14e, 0x49b2, 0x97, 0xc9, 0x74, 0x77, 0x84, 0xd7, 0x84, 0xb7);
-DEFINE_KNOWN_FOLDER(FOLDERID_SyncResultsFolder,     0x289a9a43, 0xbe44, 0x4057, 0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9);
-DEFINE_KNOWN_FOLDER(FOLDERID_SyncSetupFolder,       0x0f214138, 0xb1d3, 0x4a90, 0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a);
-DEFINE_KNOWN_FOLDER(FOLDERID_System,                0x1ac14e77, 0x02e7, 0x4e5d, 0xb7, 0x44, 0x2e, 0xb1, 0xae, 0x51, 0x98, 0xb7);
-DEFINE_KNOWN_FOLDER(FOLDERID_SystemX86,             0xd65231b0, 0xb2f1, 0x4857, 0xa4, 0xce, 0xa8, 0xe7, 0xc6, 0xea, 0x7d, 0x27);
-DEFINE_KNOWN_FOLDER(FOLDERID_Templates,             0xa63293e8, 0x664e, 0x48db, 0xa0, 0x79, 0xdf, 0x75, 0x9e, 0x05, 0x09, 0xf7);
-DEFINE_KNOWN_FOLDER(FOLDERID_UserPinned,            0x9e3995ab, 0x1f9c, 0x4f13, 0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74);
-DEFINE_KNOWN_FOLDER(FOLDERID_UserProfiles,          0x0762d272, 0xc50a, 0x4bb0, 0xa3, 0x82, 0x69, 0x7d, 0xcd, 0x72, 0x9b, 0x80);
-DEFINE_KNOWN_FOLDER(FOLDERID_UserProgramFiles,      0x5cd7aee2, 0x2219, 0x4a67, 0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb);
-DEFINE_KNOWN_FOLDER(FOLDERID_UserProgramFilesCommon, 0xbcbd3057, 0xca5c, 0x4622, 0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16);
-DEFINE_KNOWN_FOLDER(FOLDERID_UsersFiles,            0xf3ce0f7c, 0x4901, 0x4acc, 0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f);
-DEFINE_KNOWN_FOLDER(FOLDERID_UsersLibraries,        0xa302545d, 0xdeff, 0x464b, 0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b);
-DEFINE_KNOWN_FOLDER(FOLDERID_Videos,                0x18989b1d, 0x99b5, 0x455b, 0x84, 0x1c, 0xab, 0x7c, 0x74, 0xe4, 0xdd, 0xfc);
-DEFINE_KNOWN_FOLDER(FOLDERID_VideosLibrary,         0x491e922f, 0x5643, 0x4af4, 0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74);
-DEFINE_KNOWN_FOLDER(FOLDERID_Windows,               0xf38bf404, 0x1d43, 0x42f2, 0x93, 0x05, 0x67, 0xde, 0x0b, 0x28, 0xfc, 0x23);
diff --git a/debian/include/shlguid.h b/debian/include/shlguid.h
deleted file mode 100644
index bf38f45..0000000
--- a/debian/include/shlguid.h
+++ /dev/null
@@ -1,354 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-#ifndef _SHLGUID_H_
-#define _SHLGUID_H_
-
-#include <_mingw_unicode.h>
-
-#ifndef _WIN32_IE
-#define _WIN32_IE 0x0501
-#endif
-
-#include <knownfolders.h>
-
-#define DEFINE_SHLGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-
-DEFINE_SHLGUID(CLSID_ShellDesktop,0x00021400,0,0);
-DEFINE_GUID(CLSID_NetworkPlaces,0x208D2C60,0x3AEA,0x1069,0xA2,0xD7,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_NetworkDomain,0x46e06680,0x4bf0,0x11d1,0x83,0xee,0x00,0xa0,0xc9,0x0d,0xc8,0x49);
-DEFINE_GUID(CLSID_NetworkServer,0xc0542a90,0x4bf0,0x11d1,0x83,0xee,0x00,0xa0,0xc9,0x0d,0xc8,0x49);
-DEFINE_GUID(CLSID_NetworkShare,0x54a754c0,0x4bf0,0x11d1,0x83,0xee,0x00,0xa0,0xc9,0x0d,0xc8,0x49);
-DEFINE_GUID(CLSID_MyComputer,0x20D04FE0,0x3AEA,0x1069,0xA2,0xD8,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_Internet,0x871C5380,0x42A0,0x1069,0xA2,0xEA,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_ShellFSFolder,0xF3364BA0,0x65B9,0x11CE,0xA9,0xBA,0x00,0xAA,0x00,0x4A,0xE8,0x37);
-DEFINE_GUID(CLSID_RecycleBin,0x645FF040,0x5081,0x101B,0x9F,0x08,0x00,0xAA,0x00,0x2F,0x95,0x4E);
-DEFINE_GUID(CLSID_ControlPanel,0x21EC2020,0x3AEA,0x1069,0xA2,0xDD,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_Printers,0x2227A280,0x3AEA,0x1069,0xA2,0xDE,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_MyDocuments,0x450d8fba,0xad25,0x11d0,0x98,0xa8,0x08,0x00,0x36,0x1b,0x11,0x03);
-
-#define STR_MYDOCS_CLSID "{450D8FBA-AD25-11D0-98A8-0800361B1103}"
-
-DEFINE_SHLGUID(CATID_BrowsableShellExt,0x00021490,0,0);
-DEFINE_SHLGUID(CATID_BrowseInPlace,0x00021491,0,0);
-DEFINE_SHLGUID(CATID_DeskBand,0x00021492,0,0);
-DEFINE_SHLGUID(CATID_InfoBand,0x00021493,0,0);
-DEFINE_SHLGUID(CATID_CommBand,0x00021494,0,0);
-
-#define PSGUID_INTERNETSHORTCUT {0x000214A0,0,0,0xC0,0,0,0,0,0,0,0x46}
-DEFINE_SHLGUID(FMTID_Intshcut,0x000214A0,0,0);
-
-#define PSGUID_INTERNETSITE {0x000214A1,0,0,0xC0,0,0,0,0,0,0,0x46}
-DEFINE_SHLGUID(FMTID_InternetSite,0x000214A1,0,0);
-DEFINE_SHLGUID(CGID_Explorer,0x000214D0,0,0);
-DEFINE_SHLGUID(CGID_ShellDocView,0x000214D1,0,0);
-DEFINE_SHLGUID(CGID_ShellServiceObject,0x000214D2,0,0);
-DEFINE_SHLGUID(CGID_ExplorerBarDoc,0x000214D3,0,0);
-DEFINE_SHLGUID(IID_INewShortcutHookA,0x000214E1,0,0);
-DEFINE_SHLGUID(IID_IShellBrowser,0x000214E2,0,0);
-DEFINE_SHLGUID(IID_IShellView,0x000214E3,0,0);
-DEFINE_SHLGUID(IID_IContextMenu,0x000214E4,0,0);
-DEFINE_SHLGUID(IID_IShellIcon,0x000214E5,0,0);
-DEFINE_SHLGUID(IID_IShellFolder,0x000214E6,0,0);
-DEFINE_SHLGUID(IID_IShellExtInit,0x000214E8,0,0);
-DEFINE_SHLGUID(IID_IShellPropSheetExt,0x000214E9,0,0);
-DEFINE_SHLGUID(IID_IPersistFolder,0x000214EA,0,0);
-DEFINE_SHLGUID(IID_IExtractIconA,0x000214EB,0,0);
-DEFINE_SHLGUID(IID_IShellDetails,0x000214EC,0,0);
-DEFINE_SHLGUID(IID_IDelayedRelease,0x000214ED,0,0);
-DEFINE_SHLGUID(IID_IShellLinkA,0x000214EE,0,0);
-DEFINE_SHLGUID(IID_IShellCopyHookA,0x000214EF,0,0);
-DEFINE_SHLGUID(IID_IFileViewerA,0x000214F0,0,0);
-DEFINE_SHLGUID(IID_ICommDlgBrowser,0x000214F1,0,0);
-DEFINE_SHLGUID(IID_IEnumIDList,0x000214F2,0,0);
-DEFINE_SHLGUID(IID_IFileViewerSite,0x000214F3,0,0);
-DEFINE_SHLGUID(IID_IContextMenu2,0x000214F4,0,0);
-DEFINE_SHLGUID(IID_IShellExecuteHookA,0x000214F5,0,0);
-DEFINE_SHLGUID(IID_IPropSheetPage,0x000214F6,0,0);
-DEFINE_SHLGUID(IID_INewShortcutHookW,0x000214F7,0,0);
-DEFINE_SHLGUID(IID_IFileViewerW,0x000214F8,0,0);
-DEFINE_SHLGUID(IID_IShellLinkW,0x000214F9,0,0);
-DEFINE_SHLGUID(IID_IExtractIconW,0x000214FA,0,0);
-DEFINE_SHLGUID(IID_IShellExecuteHookW,0x000214FB,0,0);
-DEFINE_SHLGUID(IID_IShellCopyHookW,0x000214FC,0,0);
-DEFINE_SHLGUID(IID_IRemoteComputer,0x000214FE,0,0);
-
-#define IID_ICopyHookA IID_IShellCopyHookA
-#define IID_ICopyHookW IID_IShellCopyHookW
-
-#define SID_LinkSite IID_IShellLinkW
-
-DEFINE_SHLGUID(IID_IQueryInfo,0x00021500,0,0);
-DEFINE_GUID(IID_IBriefcaseStg,0x8BCE1FA1,0x0921,0x101B,0xB1,0xFF,0x00,0xDD,0x01,0x0C,0xCC,0x48);
-DEFINE_GUID(IID_IShellView2,0x88E39E80,0x3578,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(IID_IShellLinkDataList,0x45e2b4ae,0xb1c3,0x11d0,0xb9,0x2f,0x0,0xa0,0xc9,0x3,0x12,0xe1);
-DEFINE_GUID(IID_IResolveShellLink,0x5cd52983,0x9449,0x11d2,0x96,0x3a,0x00,0xc0,0x4f,0x79,0xad,0xf0);
-DEFINE_GUID(IID_IURLSearchHook,0xAC60F6A0,0x0FD9,0x11D0,0x99,0xCB,0x00,0xC0,0x4F,0xD6,0x44,0x97);
-DEFINE_GUID(IID_ISearchContext,0x09F656A2,0x41AF,0x480C,0x88,0xF7,0x16,0xCC,0x0D,0x16,0x46,0x15);
-DEFINE_GUID(IID_IURLSearchHook2,0x5ee44da4,0x6d32,0x46e3,0x86,0xbc,0x07,0x54,0x0d,0xed,0xd0,0xe0);
-DEFINE_GUID(IID_IDefViewID,0x985F64F0,0xD410,0x4E02,0xBE,0x22,0xDA,0x07,0xF2,0xB5,0xC5,0xE1);
-DEFINE_GUID(CLSID_ShellTaskScheduler,0x603d3800,0xbd81,0x11d0,0xa3,0xa5,0x00,0xc0,0x4f,0xd7,0x06,0xec);
-DEFINE_GUID(IID_IShellTaskScheduler,0x6ccb7be0,0x6807,0x11d0,0xb8,0x10,0x00,0xc0,0x4f,0xd7,0x06,0xec);
-#define IDefViewID IUnknown
-DEFINE_GUID(CLSID_FolderShortcut,0x0AFACED1,0xE828,0x11D1,0x91,0x87,0xB5,0x32,0xF1,0xE9,0x57,0x5D);
-DEFINE_GUID(CLSID_StgFolder,0xE773F1AF,0x3A65,0x4866,0x85,0x7D,0x84,0x6F,0xC9,0xC4,0x59,0x8A);
-DEFINE_GUID(IID_IInputObject,0x68284faa,0x6a48,0x11d0,0x8c,0x78,0x0,0xc0,0x4f,0xd9,0x18,0xb4);
-DEFINE_GUID(IID_IInputObjectSite,0xf1db8392,0x7331,0x11d0,0x8c,0x99,0x0,0xa0,0xc9,0x2d,0xbf,0xe8);
-DEFINE_GUID(IID_IDockingWindowSite,0x2a342fc2,0x7b26,0x11d0,0x8c,0xa9,0x0,0xa0,0xc9,0x2d,0xbf,0xe8);
-DEFINE_GUID(IID_IDockingWindowFrame,0x47d2657a,0x7b27,0x11d0,0x8c,0xa9,0x0,0xa0,0xc9,0x2d,0xbf,0xe8);
-DEFINE_GUID(IID_IShellIconOverlay,0x7D688A70,0xC613,0x11D0,0x99,0x9B,0x00,0xC0,0x4F,0xD6,0x55,0xE1);
-DEFINE_GUID(IID_IShellIconOverlayIdentifier,0x0C6C4200,0xC589,0x11D0,0x99,0x9A,0x00,0xC0,0x4F,0xD6,0x55,0xE1);
-DEFINE_GUID(IID_ICommDlgBrowser2,0x10339516,0x2894,0x11d2,0x90,0x39,0x0,0xc0,0x4f,0x8e,0xeb,0x3e);
-DEFINE_GUID(IID_IShellFolderViewCB,0x2047E320,0xF2A9,0x11CE,0xAE,0x65,0x08,0x00,0x2B,0x2E,0x12,0x62);
-#define SID_ShellFolderViewCB IID_IShellFolderViewCB
-DEFINE_GUID(IID_IPersistFolder3,0xcef04fdf,0xfe72,0x11d2,0x87,0xa5,0x0,0xc0,0x4f,0x68,0x37,0xcf);
-DEFINE_GUID(CLSID_CFSIconOverlayManager,0x63B51F81,0xC868,0x11D0,0x99,0x9C,0x00,0xC0,0x4F,0xD6,0x55,0xE1);
-DEFINE_GUID(IID_IShellIconOverlayManager,0xf10b5e34,0xdd3b,0x42a7,0xaa,0x7d,0x2f,0x4e,0xc5,0x4b,0xb0,0x9b);
-DEFINE_GUID(IID_IRunnableTask,0x85788d00,0x6807,0x11d0,0xb8,0x10,0x0,0xc0,0x4f,0xd7,0x6,0xec);
-DEFINE_GUID(IID_IThumbnailCapture,0x4ea39266,0x7211,0x409f,0xb6,0x22,0xf6,0x3d,0xbd,0x16,0xc5,0x33);
-DEFINE_GUID(IID_IShellImageStore,0x48c8118c,0xb924,0x11d1,0x98,0xd5,0x0,0xc0,0x4f,0xb6,0x87,0xda);
-DEFINE_GUID(IID_IEnumShellImageStore,0x6dfd582b,0x92e3,0x11d1,0x98,0xa3,0x0,0xc0,0x4f,0xb6,0x87,0xda);
-DEFINE_GUID(CLSID_ShellThumbnailDiskCache,0x1ebdcf80,0xa200,0x11d0,0xa3,0xa4,0x0,0xc0,0x4f,0xd7,0x6,0xec);
-DEFINE_GUID(IID_IContextMenu3,0xbcfce0a0,0xec17,0x11d0,0x8d,0x10,0x0,0xa0,0xc9,0xf,0x27,0x19);
-DEFINE_GUID(SID_DefView,0x6D12FE80,0x7911,0x11CF,0x95,0x34,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(CGID_DefView,0x4af07f10,0xd231,0x11d0,0xb9,0x42,0x0,0xa0,0xc9,0x3,0x12,0xe1);
-DEFINE_GUID(CLSID_MenuBand,0x5b4dae26,0xb807,0x11d0,0x98,0x15,0x0,0xc0,0x4f,0xd9,0x19,0x72);
-DEFINE_GUID(IID_IShellFolderBand,0x7fe80cc8,0xc247,0x11d0,0xb9,0x3a,0x0,0xa0,0xc9,0x3,0x12,0xe1);
-DEFINE_GUID(IID_IDefViewFrame,0x710EB7A0,0x45ED,0x11D0,0x92,0x4A,0x00,0x20,0xAF,0xC7,0xAC,0x4D);
-DEFINE_GUID(VID_LargeIcons,0x0057D0E0,0x3573,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(VID_SmallIcons,0x089000C0,0x3573,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(VID_List ,0x0E1FA5E0,0x3573,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(VID_Details ,0x137E7700,0x3573,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(VID_Tile ,0x65f125e5,0x7be1,0x4810,0xba,0x9d,0xd2,0x71,0xc8,0x43,0x2c,0xe3);
-DEFINE_GUID(VID_Thumbnails,0x8bebb290,0x52d0,0x11d0,0xb7,0xf4,0x0,0xc0,0x4f,0xd7,0x6,0xec);
-DEFINE_GUID(VID_ThumbStrip,0x8EEFA624,0xD1E9,0x445B,0x94,0xB7,0x74,0xFB,0xCE,0x2E,0xA1,0x1A);
-
-#define SID_SShellBrowser IID_IShellBrowser
-#define SID_SShellDesktop CLSID_ShellDesktop
-
-DEFINE_GUID(IID_IDiscardableBrowserProperty,0x49c3de7c,0xd329,0x11d0,0xab,0x73,0x00,0xc0,0x4f,0xc3,0x3e,0x80);
-DEFINE_GUID(IID_IShellChangeNotify,0xD82BE2B1,0x5764,0x11D0,0xA9,0x6E,0x00,0xC0,0x4F,0xD7,0x05,0xA2);
-
-#define IID_IFileViewer __MINGW_NAME_AW(IID_IFileViewer)
-#define IID_IShellLink __MINGW_NAME_AW(IID_IShellLink)
-#define IID_IExtractIcon __MINGW_NAME_AW(IID_IExtractIcon)
-#define IID_IShellCopyHook __MINGW_NAME_AW(IID_IShellCopyHook)
-#define IID_IShellExecuteHook __MINGW_NAME_AW(IID_IShellExecuteHook)
-#define IID_INewShortcutHook __MINGW_NAME_AW(IID_INewShortcutHook)
-
-#ifndef NO_INTSHCUT_GUIDS
-#include <isguids.h>
-#endif
-
-#ifndef NO_SHDOCVW_GUIDS
-
-#ifndef GUID_DEFS_ONLY
-#include <exdisp.h>
-#include <shldisp.h>
-#endif
-
-DEFINE_GUID(CLSID_CUrlHistory,0x3C374A40,0xBAE4,0x11CF,0xBF,0x7D,0x00,0xAA,0x00,0x69,0x46,0xEE);
-#define SID_SUrlHistory CLSID_CUrlHistory
-
-DEFINE_GUID(CLSID_CURLSearchHook,0xCFBFAE00,0x17A6,0x11D0,0x99,0xCB,0x00,0xC0,0x4F,0xD6,0x44,0x97);
-
-#define SID_SInternetExplorer IID_IWebBrowserApp
-#define SID_SWebBrowserApp IID_IWebBrowserApp
-
-DEFINE_GUID(IID_IAutoCompList,0x00BB2760,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
-DEFINE_GUID(IID_IObjMgr,0x00BB2761,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
-DEFINE_GUID(IID_IACList,0x77A130B0,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0xD7,0xd0,0x62);
-DEFINE_GUID(IID_IACList2,0x470141a0,0x5186,0x11d2,0xbb,0xb6,0x00,0x60,0x97,0x7b,0x46,0x4c);
-DEFINE_GUID(IID_ICurrentWorkingDirectory,0x91956d21,0x9276,0x11d1,0x92,0x1a,0x00,0x60,0x97,0xdf,0x5b,0xd4);
-DEFINE_GUID(CLSID_AutoComplete,0x00BB2763,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
-DEFINE_GUID(CLSID_ACLHistory,0x00BB2764,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
-DEFINE_GUID(CLSID_ACListISF,0x03C036F1,0xA186,0x11D0,0x82,0x4A,0x00,0xAA,0x00,0x5B,0x43,0x83);
-DEFINE_GUID(CLSID_ACLMRU,0x6756a641,0xde71,0x11d0,0x83,0x1b,0x0,0xaa,0x0,0x5b,0x43,0x83);
-DEFINE_GUID(CLSID_ACLMulti,0x00BB2765,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62);
-#if (_WIN32_IE >= 0x0600)
-DEFINE_GUID(CLSID_ACLCustomMRU,0x6935db93,0x21e8,0x4ccc,0xbe,0xb9,0x9f,0xe3,0xc7,0x7a,0x29,0x7a);
-#endif
-
-DEFINE_GUID(CLSID_ProgressDialog,0xf8383852,0xfcd3,0x11d1,0xa6,0xb9,0x0,0x60,0x97,0xdf,0x5b,0xd4);
-DEFINE_GUID(IID_IProgressDialog,0xebbc7c04,0x315e,0x11d2,0xb6,0x2f,0x0,0x60,0x97,0xdf,0x5b,0xd4);
-
-#define SID_SProgressUI CLSID_ProgressDialog
-
-DEFINE_GUID(SID_STopLevelBrowser,0x4C96BE40,0x915C,0x11CF,0x99,0xD3,0x00,0xAA,0x00,0x4A,0xE8,0x37);
-#endif
-
-DEFINE_GUID(CLSID_FileTypes,0xB091E540,0x83E3,0x11CF,0xA7,0x13,0x00,0x20,0xAF,0xD7,0x97,0x62);
-DEFINE_GUID(CLSID_ActiveDesktop,0x75048700,0xEF1F,0x11D0,0x98,0x88,0x00,0x60,0x97,0xDE,0xAC,0xF9);
-DEFINE_GUID(IID_IActiveDesktop,0xF490EB00,0x1240,0x11D1,0x98,0x88,0x00,0x60,0x97,0xDE,0xAC,0xF9);
-DEFINE_GUID(IID_IActiveDesktopP,0x52502EE0,0xEC80,0x11D0,0x89,0xAB,0x00,0xC0,0x4F,0xC2,0x97,0x2D);
-DEFINE_GUID(IID_IADesktopP2,0xb22754e2,0x4574,0x11d1,0x98,0x88,0x0,0x60,0x97,0xde,0xac,0xf9);
-DEFINE_GUID(IID_ISynchronizedCallBack,0x74c26041,0x70d1,0x11d1,0xb7,0x5a,0x0,0xa0,0xc9,0x5,0x64,0xfe);
-DEFINE_GUID(IID_IShellDetails3,0xd2a105c0,0x87d5,0x11d1,0x83,0x91,0x0,0x0,0xf8,0x4,0x61,0xcf);
-DEFINE_GUID(IID_IQueryAssociations,0xc46ca590,0x3c3f,0x11d2,0xbe,0xe6,0x00,0x00,0xf8,0x05,0xca,0x57);
-DEFINE_GUID(CLSID_QueryAssociations,0xa07034fd,0x6caa,0x4954,0xac,0x3f,0x97,0xa2,0x72,0x16,0xf9,0x8a);
-DEFINE_GUID(IID_IColumnProvider,0xe8025004,0x1c42,0x11d2,0xbe,0x2c,0x0,0xa0,0xc9,0xa8,0x3d,0xa1);
-DEFINE_GUID(CLSID_DocFileColumnProvider,0x24f14f01,0x7b1c,0x11d1,0x83,0x8f,0x0,0x0,0xf8,0x4,0x61,0xcf);
-DEFINE_GUID(CLSID_LinkColumnProvider,0x24f14f02,0x7b1c,0x11d1,0x83,0x8f,0x0,0x0,0xf8,0x4,0x61,0xcf);
-DEFINE_GUID(CLSID_FileSysColumnProvider,0xd2e74c4,0x3c34,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71);
-DEFINE_GUID(CGID_ShortCut,0x93a68750,0x951a,0x11d1,0x94,0x6f,0x0,0x0,0x0,0x0,0x0,0x0);
-DEFINE_GUID(IID_INamedPropertyBag,0xfb700430,0x952c,0x11d1,0x94,0x6f,0x0,0x0,0x0,0x0,0x0,0x0);
-DEFINE_GUID(CLSID_InternetButtons,0x1E796980,0x9CC5,0x11D1,0xA8,0x3F,0x00,0xC0,0x4F,0xC9,0x9D,0x61);
-DEFINE_GUID(CLSID_MSOButtons,0x178f34b8,0xa282,0x11d2,0x86,0xc5,0x0,0xc0,0x4f,0x8e,0xea,0x99);
-DEFINE_GUID(CLSID_ToolbarExtButtons,0x2ce4b5d8,0xa28f,0x11d2,0x86,0xc5,0x0,0xc0,0x4f,0x8e,0xea,0x99);
-DEFINE_GUID(CLSID_DarwinAppPublisher,0xCFCCC7A0,0xA282,0x11D1,0x90,0x82,0x00,0x60,0x08,0x05,0x93,0x82);
-DEFINE_GUID(CLSID_DocHostUIHandler,0x7057e952,0xbd1b,0x11d1,0x89,0x19,0x0,0xc0,0x4f,0xc2,0xc8,0x36);
-DEFINE_GUID(IID_IShellFolder2,0x93f2f68c,0x1d1b,0x11d3,0xa3,0xe,0x0,0xc0,0x4f,0x79,0xab,0xd1);
-DEFINE_GUID(IID_IFolderView,0xCDE725B0,0xCCC9,0x4519,0x91,0x7E,0x32,0x5D,0x72,0xFA,0xB4,0xCE);
-
-#define PSGUID_SHELLDETAILS {0x28636aa6,0x953d,0x11d2,0xb5,0xd6,0x0,0xc0,0x4f,0xd9,0x18,0xd0}
-DEFINE_GUID(FMTID_ShellDetails,0x28636aa6,0x953d,0x11d2,0xb5,0xd6,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-#define PID_FINDDATA 0
-#define PID_NETRESOURCE 1
-#define PID_DESCRIPTIONID 2
-#define PID_WHICHFOLDER 3
-#define PID_NETWORKLOCATION 4
-#define PID_COMPUTERNAME 5
-
-DEFINE_GUID(FMTID_Storage,0xb725f130,0x47ef,0x101a,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac);
-
-#define PSGUID_IMAGEPROPERTIES {0x14b81da1,0x0135,0x4d31,0x96,0xd9,0x6c,0xbf,0xc9,0x67,0x1a,0x99}
-DEFINE_GUID(FMTID_ImageProperties,0x14b81da1,0x0135,0x4d31,0x96,0xd9,0x6c,0xbf,0xc9,0x67,0x1a,0x99);
-
-#define PSGUID_DISPLACED {0x9b174b33,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71}
-DEFINE_GUID(FMTID_Displaced,0x9b174b33,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71);
-#define PID_DISPLACED_FROM 2
-#define PID_DISPLACED_DATE 3
-
-#define PSGUID_BRIEFCASE {0x328d8b21,0x7729,0x4bfc,0x95,0x4c,0x90,0x2b,0x32,0x9d,0x56,0xb0}
-DEFINE_GUID(FMTID_Briefcase,0x328d8b21,0x7729,0x4bfc,0x95,0x4c,0x90,0x2b,0x32,0x9d,0x56,0xb0);
-#define PID_SYNC_COPY_IN 2
-
-#define PSGUID_MISC {0x9b174b34,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71}
-DEFINE_GUID(FMTID_Misc,0x9b174b34,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71);
-#define PID_MISC_STATUS 2
-#define PID_MISC_ACCESSCOUNT 3
-#define PID_MISC_OWNER 4
-#define PID_HTMLINFOTIPFILE 5
-#define PID_MISC_PICS 6
-
-#define PSGUID_WEBVIEW {0xf2275480,0xf782,0x4291,0xbd,0x94,0xf1,0x36,0x93,0x51,0x3a,0xec}
-DEFINE_GUID(FMTID_WebView,0xf2275480,0xf782,0x4291,0xbd,0x94,0xf1,0x36,0x93,0x51,0x3a,0xec);
-#define PID_DISPLAY_PROPERTIES 0
-#define PID_INTROTEXT 1
-
-#define PSGUID_MUSIC {0x56a3372e,0xce9c,0x11d2,0x9f,0xe,0x0,0x60,0x97,0xc6,0x86,0xf6}
-DEFINE_GUID(FMTID_MUSIC,0x56a3372e,0xce9c,0x11d2,0x9f,0xe,0x0,0x60,0x97,0xc6,0x86,0xf6);
-#define PIDSI_ARTIST 2
-#define PIDSI_SONGTITLE 3
-#define PIDSI_ALBUM 4
-#define PIDSI_YEAR 5
-#define PIDSI_COMMENT 6
-#define PIDSI_TRACK 7
-#define PIDSI_GENRE 11
-#define PIDSI_LYRICS 12
-
-#define PSGUID_DRM {0xaeac19e4,0x89ae,0x4508,0xb9,0xb7,0xbb,0x86,0x7a,0xbe,0xe2,0xed}
-DEFINE_GUID(FMTID_DRM,0xaeac19e4,0x89ae,0x4508,0xb9,0xb7,0xbb,0x86,0x7a,0xbe,0xe2,0xed);
-#define PIDDRSI_PROTECTED 2
-#define PIDDRSI_DESCRIPTION 3
-#define PIDDRSI_PLAYCOUNT 4
-#define PIDDRSI_PLAYSTARTS 5
-#define PIDDRSI_PLAYEXPIRES 6
-
-#define PSGUID_VIDEO {0x64440491,0x4c8b,0x11d1,0x8b,0x70,0x8,0x0,0x36,0xb1,0x1a,0x3}
-
-#define PIDVSI_STREAM_NAME 0x00000002
-#define PIDVSI_FRAME_WIDTH 0x00000003
-#define PIDVSI_FRAME_HEIGHT 0x00000004
-#define PIDVSI_TIMELENGTH 0x00000007
-#define PIDVSI_FRAME_COUNT 0x00000005
-#define PIDVSI_FRAME_RATE 0x00000006
-#define PIDVSI_DATA_RATE 0x00000008
-#define PIDVSI_SAMPLE_SIZE 0x00000009
-#define PIDVSI_COMPRESSION 0x0000000A
-#define PIDVSI_STREAM_NUMBER 0x0000000B
-
-#define PSGUID_AUDIO {0x64440490,0x4c8b,0x11d1,0x8b,0x70,0x8,0x0,0x36,0xb1,0x1a,0x3}
-
-#define PIDASI_FORMAT 0x00000002
-#define PIDASI_TIMELENGTH 0x00000003
-#define PIDASI_AVG_DATA_RATE 0x00000004
-#define PIDASI_SAMPLE_RATE 0x00000005
-#define PIDASI_SAMPLE_SIZE 0x00000006
-#define PIDASI_CHANNEL_COUNT 0x00000007
-#define PIDASI_STREAM_NUMBER 0x00000008
-#define PIDASI_STREAM_NAME 0x00000009
-#define PIDASI_COMPRESSION 0x0000000A
-
-#define PSGUID_CONTROLPANEL {0x305ca226,0xd286,0x468e,0xb8,0x48,0x2b,0x2e,0x8e,0x69,0x7b,0x74}
-#define PID_CONTROLPANEL_CATEGORY 2
-
-#define PSGUID_VOLUME {0x9b174b35,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71}
-DEFINE_GUID(FMTID_Volume,0x9b174b35,0x40ff,0x11d2,0xa2,0x7e,0x0,0xc0,0x4f,0xc3,0x8,0x71);
-#define PID_VOLUME_FREE 2
-#define PID_VOLUME_CAPACITY 3
-#define PID_VOLUME_FILESYSTEM 4
-
-#define PSGUID_SHARE {0xd8c3986f,0x813b,0x449c,0x84,0x5d,0x87,0xb9,0x5d,0x67,0x4a,0xde}
-#define PID_SHARE_CSC_STATUS 2
-
-#define PSGUID_LINK {0xb9b4b3fc,0x2b51,0x4a42,0xb5,0xd8,0x32,0x41,0x46,0xaf,0xcf,0x25}
-#define PID_LINK_TARGET 2
-
-#define PSGUID_QUERY_D {0x49691c90,0x7e17,0x101a,0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9}
-DEFINE_GUID(FMTID_Query,0x49691c90,0x7e17,0x101a,0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9);
-#define PID_QUERY_RANK 2
-
-#define PSGUID_SUMMARYINFORMATION {0xf29f85e0,0x4ff9,0x1068,0xab,0x91,0x08,0x00,0x2b,0x27,0xb3,0xd9}
-#define PSGUID_DOCUMENTSUMMARYINFORMATION {0xd5cdd502,0x2e9c,0x101b,0x93,0x97,0x08,0x00,0x2b,0x2c,0xf9,0xae}
-#define PSGUID_MEDIAFILESUMMARYINFORMATION {0x64440492,0x4c8b,0x11d1,0x8b,0x70,0x08,0x00,0x36,0xb1,0x1a,0x03}
-#define PSGUID_IMAGESUMMARYINFORMATION {0x6444048f,0x4c8b,0x11d1,0x8b,0x70,0x8,0x00,0x36,0xb1,0x1a,0x03}
-
-DEFINE_GUID(IID_IEnumExtraSearch,0xe700be1,0x9db6,0x11d1,0xa1,0xce,0x0,0xc0,0x4f,0xd7,0x5d,0x13);
-DEFINE_GUID(CLSID_MountedVolume,0x12518493,0x00B2,0x11d2,0x9F,0xA5,0x9E,0x34,0x20,0x52,0x41,0x53);
-DEFINE_GUID(CLSID_HWShellExecute,0xffb8655f,0x81b9,0x4fce,0xb8,0x9c,0x9a,0x6b,0xa7,0x6d,0x13,0xe7);
-DEFINE_GUID(IID_IMountedVolume,0x12518492,0x00B2,0x11d2,0x9F,0xA5,0x9E,0x34,0x20,0x52,0x41,0x53);
-DEFINE_GUID(CLSID_DragDropHelper,0x4657278a,0x411b,0x11d2,0x83,0x9a,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(IID_IDropTargetHelper,0x4657278b,0x411b,0x11d2,0x83,0x9a,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(IID_IDragSourceHelper,0xde5bf786,0x477a,0x11d2,0x83,0x9d,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(CLSID_CAnchorBrowsePropertyPage,0x3050f3BB,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
-DEFINE_GUID(CLSID_CImageBrowsePropertyPage,0x3050f3B3,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
-DEFINE_GUID(CLSID_CDocBrowsePropertyPage,0x3050f3B4,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IFileSystemBindData,0x1e18d10,0x4d8b,0x11d2,0x85,0x5d,0x0,0x60,0x8,0x5,0x93,0x67);
-DEFINE_GUID(SID_STopWindow,0x49e1b500,0x4636,0x11d3,0x97,0xf7,0x0,0xc0,0x4f,0x45,0xd0,0xb3);
-DEFINE_GUID(SID_SGetViewFromViewDual,0x889A935D,0x971E,0x4B12,0xB9,0x0C,0x24,0xDF,0xC9,0xE1,0xE5,0xE8);
-DEFINE_GUID(CLSID_FolderItem,0xfef10fa2,0x355e,0x4e06,0x93,0x81,0x9b,0x24,0xd7,0xf7,0xcc,0x88);
-DEFINE_GUID(CLSID_FolderItemsFDF,0x53c74826,0xab99,0x4d33,0xac,0xa4,0x31,0x17,0xf5,0x1d,0x37,0x88);
-DEFINE_GUID(CLSID_NewMenu,0xd969a300,0xe7ff,0x11d0,0xa9,0x3b,0x0,0xa0,0xc9,0xf,0x27,0x19);
-#define BHID_LocalCopyHelper CLSID_LocalCopyHelper
-DEFINE_GUID(BHID_SFObject,0x3981e224,0xf559,0x11d3,0x8e,0x3a,0x00,0xc0,0x4f,0x68,0x37,0xd5);
-DEFINE_GUID(BHID_SFUIObject,0x3981e225,0xf559,0x11d3,0x8e,0x3a,0x00,0xc0,0x4f,0x68,0x37,0xd5);
-DEFINE_GUID(BHID_SFViewObject,0x3981e226,0xf559,0x11d3,0x8e,0x3a,0x00,0xc0,0x4f,0x68,0x37,0xd5);
-DEFINE_GUID(BHID_Storage,0x3981e227,0xf559,0x11d3,0x8e,0x3a,0x00,0xc0,0x4f,0x68,0x37,0xd5);
-DEFINE_GUID(BHID_Stream,0x1cebb3ab,0x7c10,0x499a,0xa4,0x17,0x92,0xca,0x16,0xc4,0xcb,0x83);
-DEFINE_GUID(BHID_LinkTargetItem,0x3981e228,0xf559,0x11d3,0x8e,0x3a,0x00,0xc0,0x4f,0x68,0x37,0xd5);
-DEFINE_GUID(BHID_StorageEnum,0x4621a4e3,0xf0d6,0x4773,0x8a,0x9c,0x46,0xe7,0x7b,0x17,0x48,0x40);
-
-#if _WIN32_IE >= 0x0600
-DEFINE_GUID(SID_CtxQueryAssociations,0xfaadfc40,0xb777,0x4b69,0xaa,0x81,0x77,0x03,0x5e,0xf0,0xe6,0xe8);
-#endif
-DEFINE_GUID(IID_IDocViewSite,0x87D605E0,0xC511,0x11CF,0x89,0xA9,0x00,0xA0,0xC9,0x05,0x41,0x29);
-DEFINE_GUID(CLSID_QuickLinks,0xe5cbf21,0xd15f,0x11d0,0x83,0x1,0x0,0xaa,0x0,0x5b,0x43,0x83);
-DEFINE_GUID(CLSID_ISFBand,0xD82BE2B0,0x5764,0x11D0,0xA9,0x6E,0x00,0xC0,0x4F,0xD7,0x05,0xA2);
-DEFINE_GUID(IID_CDefView,0x4434FF80,0xEF4C,0x11CE,0xAE,0x65,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(CLSID_ShellFldSetExt,0x6D5313C0,0x8C62,0x11D1,0xB2,0xCD,0x00,0x60,0x97,0xDF,0x8C,0x11);
-DEFINE_GUID(SID_SMenuBandChild,0xed9cc020,0x8b9,0x11d1,0x98,0x23,0x0,0xc0,0x4f,0xd9,0x19,0x72);
-DEFINE_GUID(SID_SMenuBandParent,0x8c278eec,0x3eab,0x11d1,0x8c,0xb0,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(SID_SMenuPopup,0xD1E7AFEB,0x6A2E,0x11d0,0x8C,0x78,0x0,0xC0,0x4F,0xD9,0x18,0xB4);
-DEFINE_GUID(SID_SMenuBandBottomSelected,0x165ebaf4,0x6d51,0x11d2,0x83,0xad,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(SID_SMenuBandBottom,0x743ca664,0xdeb,0x11d1,0x98,0x25,0x0,0xc0,0x4f,0xd9,0x19,0x72);
-DEFINE_GUID(SID_MenuShellFolder,0xa6c17eb4,0x2d65,0x11d2,0x83,0x8f,0x0,0xc0,0x4f,0xd9,0x18,0xd0);
-DEFINE_GUID(CGID_MENUDESKBAR,0x5c9f0a12,0x959e,0x11d0,0xa3,0xa4,0x0,0xa0,0xc9,0x8,0x26,0x36);
-DEFINE_GUID(SID_SMenuBandTop,0x9493a810,0xec38,0x11d0,0xbc,0x46,0x0,0xaa,0x0,0x6c,0xe2,0xf5);
-DEFINE_GUID(CLSID_MenuToolbarBase,0x40b96610,0xb522,0x11d1,0xb3,0xb4,0x0,0xaa,0x0,0x6e,0xfd,0xe7);
-DEFINE_GUID(IID_IBanneredBar,0x596a9a94,0x13e,0x11d1,0x8d,0x34,0x0,0xa0,0xc9,0xf,0x27,0x19);
-DEFINE_GUID(CLSID_MenuBandSite,0xe13ef4e4,0xd2f2,0x11d0,0x98,0x16,0x0,0xc0,0x4f,0xd9,0x19,0x72);
-DEFINE_GUID(SID_SCommDlgBrowser,0x80f30233,0xb7df,0x11d2,0xa3,0x3b,0x0,0x60,0x97,0xdf,0x5b,0xd4);
-#endif
diff --git a/debian/include/shlobj.h b/debian/include/shlobj.h
deleted file mode 100644
index f788548..0000000
--- a/debian/include/shlobj.h
+++ /dev/null
@@ -1,2684 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-#ifndef _SHLOBJ_H_
-#define _SHLOBJ_H_
-
-#include <winapifamily.h>
-#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
-
-#include <_mingw_unicode.h>
-
-#ifndef _WINRESRC_
-#ifndef _WIN32_IE
-#define _WIN32_IE 0x0501
-#endif
-#endif
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif
-
-#ifndef WINSHELLAPI
-#if defined(_SHELL32_)
-#define WINSHELLAPI
-#else
-#define WINSHELLAPI DECLSPEC_IMPORT
-#endif
-#endif
-
-#ifndef SHSTDAPI
-#if defined(_SHELL32_)
-#define SHSTDAPI STDAPI
-#define SHSTDAPI_(type) STDAPI_(type)
-#else
-#define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
-#define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
-#endif
-#endif
-
-#ifndef SHDOCAPI
-#if defined(_SHDOCVW_)
-#define SHDOCAPI STDAPI
-#define SHDOCAPI_(type) STDAPI_(type)
-#else
-#define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
-#define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
-#endif
-#endif
-
-#ifndef SHSTDDOCAPI
-#if defined(_SHDOCVW_) || defined(_SHELL32_)
-#define SHSTDDOCAPI STDAPI
-#define SHSTDDOCAPI_(type) STDAPI_(type)
-#else
-#define SHSTDDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
-#define SHSTDDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
-#endif
-#endif
-
-#ifndef BROWSEUIAPI
-#if defined(_BROWSEUI_)
-#define BROWSEUIAPI STDAPI
-#define BROWSEUIAPI_(type) STDAPI_(type)
-#else
-#define BROWSEUIAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
-#define BROWSEUIAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
-#endif
-#endif
-
-#ifndef SHFOLDERAPI
-#if defined(_SHFOLDER_) || defined(_SHELL32_)
-#define SHFOLDERAPI STDAPI
-#else
-#define SHFOLDERAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
-#endif
-#endif
-
-#include <ole2.h>
-#include <prsht.h>
-#include <commctrl.h>
-
-#ifndef INITGUID
-#include <shlguid.h>
-#endif
-
-#include <pshpack1.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <shtypes.h>
-#include <shobjidl.h>
-
-  SHSTDAPI SHGetMalloc(LPMALLOC *ppMalloc);
-  SHSTDAPI_(void *) SHAlloc(SIZE_T cb);
-  SHSTDAPI_(void) SHFree(void *pv);
-
-#define CMF_NORMAL 0x00000000
-#define CMF_DEFAULTONLY 0x00000001
-#define CMF_VERBSONLY 0x00000002
-#define CMF_EXPLORE 0x00000004
-#define CMF_NOVERBS 0x00000008
-#define CMF_CANRENAME 0x00000010
-#define CMF_NODEFAULT 0x00000020
-#define CMF_INCLUDESTATIC 0x00000040
-#define CMF_EXTENDEDVERBS 0x00000100
-#define CMF_RESERVED 0xffff0000
-
-#define GCS_VERBA 0x00000000
-#define GCS_HELPTEXTA 0x00000001
-#define GCS_VALIDATEA 0x00000002
-#define GCS_VERBW 0x00000004
-#define GCS_HELPTEXTW 0x00000005
-#define GCS_VALIDATEW 0x00000006
-#define GCS_UNICODE 0x00000004
-
-#define GCS_VERB __MINGW_NAME_AW(GCS_VERB)
-#define GCS_HELPTEXT __MINGW_NAME_AW(GCS_HELPTEXT)
-#define GCS_VALIDATE __MINGW_NAME_AW(GCS_VALIDATE)
-
-#define CMDSTR_NEWFOLDERA "NewFolder"
-#define CMDSTR_VIEWLISTA "ViewList"
-#define CMDSTR_VIEWDETAILSA "ViewDetails"
-#define CMDSTR_NEWFOLDERW L"NewFolder"
-#define CMDSTR_VIEWLISTW L"ViewList"
-#define CMDSTR_VIEWDETAILSW L"ViewDetails"
-
-#define CMDSTR_NEWFOLDER __MINGW_NAME_AW(CMDSTR_NEWFOLDER)
-#define CMDSTR_VIEWLIST __MINGW_NAME_AW(CMDSTR_VIEWLIST)
-#define CMDSTR_VIEWDETAILS __MINGW_NAME_AW(CMDSTR_VIEWDETAILS)
-
-#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
-#define CMIC_MASK_ICON SEE_MASK_ICON
-#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
-#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
-#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
-#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
-#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
-#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
-#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
-#if (_WIN32_IE >= 0x0603)
-#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
-#endif
-
-#define CMIC_MASK_SHIFT_DOWN 0x10000000
-#define CMIC_MASK_CONTROL_DOWN 0x40000000
-#if (_WIN32_IE >= 0x0560)
-#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
-#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
-#endif
-#define CMIC_MASK_PTINVOKE 0x20000000
-
-#include <pshpack8.h>
-
-  typedef struct _CMINVOKECOMMANDINFO {
-    DWORD cbSize;
-    DWORD fMask;
-    HWND hwnd;
-    LPCSTR lpVerb;
-    LPCSTR lpParameters;
-    LPCSTR lpDirectory;
-    int nShow;
-
-    DWORD dwHotKey;
-    HANDLE hIcon;
-  } CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO;
-
-  typedef struct _CMInvokeCommandInfoEx {
-    DWORD cbSize;
-    DWORD fMask;
-    HWND hwnd;
-    LPCSTR lpVerb;
-    LPCSTR lpParameters;
-    LPCSTR lpDirectory;
-    int nShow;
-    DWORD dwHotKey;
-    HANDLE hIcon;
-    LPCSTR lpTitle;
-    LPCWSTR lpVerbW;
-    LPCWSTR lpParametersW;
-    LPCWSTR lpDirectoryW;
-    LPCWSTR lpTitleW;
-    POINT ptInvoke;
-  } CMINVOKECOMMANDINFOEX,*LPCMINVOKECOMMANDINFOEX;
-
-#include <poppack.h>
-
-#undef INTERFACE
-#define INTERFACE IContextMenu
-
-  DECLARE_INTERFACE_(IContextMenu,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE;
-    STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE;
-    STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE;
-  };
-
-  typedef IContextMenu *LPCONTEXTMENU;
-
-#undef INTERFACE
-#define INTERFACE IContextMenu2
-  DECLARE_INTERFACE_(IContextMenu2,IContextMenu) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE;
-    STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE;
-    STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE;
-    STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE;
-  };
-
-  typedef IContextMenu2 *LPCONTEXTMENU2;
-
-#undef INTERFACE
-#define INTERFACE IContextMenu3
-  DECLARE_INTERFACE_(IContextMenu3,IContextMenu2) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(QueryContextMenu)(THIS_ HMENU hmenu,UINT indexMenu,UINT idCmdFirst,UINT idCmdLast,UINT uFlags) PURE;
-    STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE;
-    STDMETHOD(GetCommandString)(THIS_ UINT_PTR idCmd,UINT uType,UINT *pwReserved,LPSTR pszName,UINT cchMax) PURE;
-    STDMETHOD(HandleMenuMsg)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE;
-    STDMETHOD(HandleMenuMsg2)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *plResult) PURE;
-  };
-
-  typedef IContextMenu3 *LPCONTEXTMENU3;
-
-#undef INTERFACE
-#define INTERFACE IPersistFolder3
-#define CSIDL_FLAG_PFTI_TRACKTARGET CSIDL_FLAG_DONT_VERIFY
-
-#include <pshpack8.h>
-
-  typedef struct {
-    LPITEMIDLIST pidlTargetFolder;
-    WCHAR szTargetParsingName[MAX_PATH];
-    WCHAR szNetworkProvider[MAX_PATH];
-    DWORD dwAttributes;
-    int csidl;
-  } PERSIST_FOLDER_TARGET_INFO;
-
-#include <poppack.h>
-
-  DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2) {
-    STDMETHOD(QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD(GetClassID)(THIS_ LPCLSID lpClassID) PURE;
-    STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
-    STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST *ppidl) PURE;
-    STDMETHOD(InitializeEx)(THIS_ IBindCtx *pbc,LPCITEMIDLIST pidlRoot,const PERSIST_FOLDER_TARGET_INFO *ppfti) PURE;
-    STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO *ppfti) PURE;
-  };
-
-#define GIL_OPENICON 0x0001
-#define GIL_FORSHELL 0x0002
-#define GIL_ASYNC 0x0020
-#define GIL_DEFAULTICON 0x0040
-#define GIL_FORSHORTCUT 0x0080
-
-#define GIL_SIMULATEDOC 0x0001
-#define GIL_PERINSTANCE 0x0002
-#define GIL_PERCLASS 0x0004
-#define GIL_NOTFILENAME 0x0008
-#define GIL_DONTCACHE 0x0010
-
-#undef INTERFACE
-#define INTERFACE IExtractIconA
-  DECLARE_INTERFACE_(IExtractIconA,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetIconLocation)(THIS_ UINT uFlags,LPSTR szIconFile,UINT cchMax,int *piIndex,UINT *pwFlags) PURE;
-    STDMETHOD(Extract)(THIS_ LPCSTR pszFile,UINT nIconIndex,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize) PURE;
-  };
-
-  typedef IExtractIconA *LPEXTRACTICONA;
-
-#undef INTERFACE
-#define INTERFACE IExtractIconW
-  DECLARE_INTERFACE_(IExtractIconW,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetIconLocation)(THIS_ UINT uFlags,LPWSTR szIconFile,UINT cchMax,int *piIndex,UINT *pwFlags) PURE;
-    STDMETHOD(Extract)(THIS_ LPCWSTR pszFile,UINT nIconIndex,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize) PURE;
-  };
-
-  typedef IExtractIconW *LPEXTRACTICONW;
-
-#define IExtractIcon __MINGW_NAME_AW(IExtractIcon)
-#define LPEXTRACTICON __MINGW_NAME_AW(LPEXTRACTICON)
-
-#define IExtractIconVtbl __MINGW_NAME_AW_EXT(IExtractIcon,Vtbl)
-
-#undef INTERFACE
-#define INTERFACE IShellIcon
-  DECLARE_INTERFACE_(IShellIcon,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl,UINT flags,LPINT lpIconIndex) PURE;
-  };
-
-  typedef IShellIcon *LPSHELLICON;
-
-#undef INTERFACE
-#define INTERFACE IShellIconOverlayIdentifier
-  DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (IsMemberOf)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib) PURE;
-    STDMETHOD (GetOverlayInfo)(THIS_ LPWSTR pwszIconFile,int cchMax,int *pIndex,DWORD *pdwFlags) PURE;
-    STDMETHOD (GetPriority)(THIS_ int *pIPriority) PURE;
-  };
-
-#define ISIOI_ICONFILE 0x00000001
-#define ISIOI_ICONINDEX 0x00000002
-#if (_WIN32_IE >= 0x0601)
-#undef INTERFACE
-#define INTERFACE IShellIconOverlayManager
-  DECLARE_INTERFACE_(IShellIconOverlayManager,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetFileOverlayInfo)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib,int *pIndex,DWORD dwflags) PURE;
-    STDMETHOD(GetReservedOverlayInfo)(THIS_ LPCWSTR pwszPath,DWORD dwAttrib,int *pIndex,DWORD dwflags,int iReservedID) PURE;
-    STDMETHOD(RefreshOverlayImages)(THIS_ DWORD dwFlags) PURE;
-    STDMETHOD(LoadNonloadedOverlayIdentifiers)(THIS) PURE;
-    STDMETHOD(OverlayIndexFromImageIndex)(THIS_ int iImage,int *piIndex,WINBOOL fAdd) PURE;
-  };
-#define SIOM_OVERLAYINDEX 1
-#define SIOM_ICONINDEX 2
-
-#define SIOM_RESERVED_SHARED 0
-#define SIOM_RESERVED_LINK 1
-#define SIOM_RESERVED_SLOWFILE 2
-#endif
-
-#undef INTERFACE
-#define INTERFACE IShellIconOverlay
-  DECLARE_INTERFACE_(IShellIconOverlay,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetOverlayIndex)(THIS_ LPCITEMIDLIST pidl,int *pIndex) PURE;
-    STDMETHOD(GetOverlayIconIndex)(THIS_ LPCITEMIDLIST pidl,int *pIconIndex) PURE;
-  };
-
-#define OI_ASYNC 0xFFFFEEEE
-
-#define IDO_SHGIOI_SHARE 0x0FFFFFFF
-#define IDO_SHGIOI_LINK 0x0FFFFFFE
-#define IDO_SHGIOI_SLOWFILE 0x0FFFFFFFD
-#define IDO_SHGIOI_DEFAULT 0x0FFFFFFC
-  SHSTDAPI_(int) SHGetIconOverlayIndexA(LPCSTR pszIconPath,int iIconIndex);
-  SHSTDAPI_(int) SHGetIconOverlayIndexW(LPCWSTR pszIconPath,int iIconIndex);
-
-#define SHGetIconOverlayIndex __MINGW_NAME_AW(SHGetIconOverlayIndex)
-
-  typedef enum {
-    SLDF_HAS_ID_LIST = 0x00000001,SLDF_HAS_LINK_INFO = 0x00000002,SLDF_HAS_NAME = 0x00000004,SLDF_HAS_RELPATH = 0x00000008,
-    SLDF_HAS_WORKINGDIR = 0x00000010,SLDF_HAS_ARGS = 0x00000020,SLDF_HAS_ICONLOCATION = 0x00000040,SLDF_UNICODE = 0x00000080,
-    SLDF_FORCE_NO_LINKINFO = 0x00000100,SLDF_HAS_EXP_SZ = 0x00000200,SLDF_RUN_IN_SEPARATE = 0x00000400,SLDF_HAS_LOGO3ID = 0x00000800,
-    SLDF_HAS_DARWINID = 0x00001000,SLDF_RUNAS_USER = 0x00002000,SLDF_HAS_EXP_ICON_SZ = 0x00004000,SLDF_NO_PIDL_ALIAS = 0x00008000,
-    SLDF_FORCE_UNCNAME = 0x00010000,SLDF_RUN_WITH_SHIMLAYER = 0x00020000,SLDF_RESERVED = 0x80000000
-  } SHELL_LINK_DATA_FLAGS;
-
-  typedef struct tagDATABLOCKHEADER {
-    DWORD cbSize;
-    DWORD dwSignature;
-  } DATABLOCK_HEADER,*LPDATABLOCK_HEADER,*LPDBLIST;
-
-  typedef struct {
-#ifdef __cplusplus
-    DATABLOCK_HEADER dbh;
-#else
-/*  DATABLOCK_HEADER; */
-    __C89_NAMELESS struct {
-      DWORD cbSize;
-      DWORD dwSignature;
-    };
-#endif
-    WORD wFillAttribute;
-    WORD wPopupFillAttribute;
-    COORD dwScreenBufferSize;
-    COORD dwWindowSize;
-    COORD dwWindowOrigin;
-    DWORD nFont;
-    DWORD nInputBufferSize;
-    COORD dwFontSize;
-    UINT uFontFamily;
-    UINT uFontWeight;
-    WCHAR FaceName[LF_FACESIZE];
-    UINT uCursorSize;
-    WINBOOL bFullScreen;
-    WINBOOL bQuickEdit;
-    WINBOOL bInsertMode;
-    WINBOOL bAutoPosition;
-    UINT uHistoryBufferSize;
-    UINT uNumberOfHistoryBuffers;
-    WINBOOL bHistoryNoDup;
-    COLORREF ColorTable[16 ];
-  } NT_CONSOLE_PROPS,*LPNT_CONSOLE_PROPS;
-#define NT_CONSOLE_PROPS_SIG 0xA0000002
-
-  typedef struct {
-#ifdef __cplusplus
-    DATABLOCK_HEADER dbh;
-#else
-/*  DATABLOCK_HEADER; */
-    __C89_NAMELESS struct {
-      DWORD cbSize;
-      DWORD dwSignature;
-    };
-#endif
-    UINT uCodePage;
-  } NT_FE_CONSOLE_PROPS,*LPNT_FE_CONSOLE_PROPS;
-#define NT_FE_CONSOLE_PROPS_SIG 0xA0000004
-
-  typedef struct {
-#ifdef __cplusplus
-    DATABLOCK_HEADER dbh;
-#else
-/*  DATABLOCK_HEADER; */
-    __C89_NAMELESS struct {
-      DWORD cbSize;
-      DWORD dwSignature;
-    };
-#endif
-    CHAR szDarwinID[MAX_PATH];
-    WCHAR szwDarwinID[MAX_PATH];
-  } EXP_DARWIN_LINK,*LPEXP_DARWIN_LINK;
-#define EXP_DARWIN_ID_SIG 0xA0000006
-#define EXP_LOGO3_ID_SIG 0xA0000007
-
-#define EXP_SPECIAL_FOLDER_SIG 0xA0000005
-
-  typedef struct {
-    DWORD cbSize;
-    DWORD dwSignature;
-    DWORD idSpecialFolder;
-    DWORD cbOffset;
-  } EXP_SPECIAL_FOLDER,*LPEXP_SPECIAL_FOLDER;
-
-  typedef struct {
-    DWORD cbSize;
-    DWORD dwSignature;
-    CHAR szTarget[MAX_PATH ];
-    WCHAR swzTarget[MAX_PATH ];
-  } EXP_SZ_LINK,*LPEXP_SZ_LINK;
-#define EXP_SZ_LINK_SIG 0xA0000001
-#define EXP_SZ_ICON_SIG 0xA0000007
-
-#undef INTERFACE
-#define INTERFACE IShellLinkDataList
-  DECLARE_INTERFACE_(IShellLinkDataList,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(AddDataBlock)(THIS_ void *pDataBlock) PURE;
-    STDMETHOD(CopyDataBlock)(THIS_ DWORD dwSig,void **ppDataBlock) PURE;
-    STDMETHOD(RemoveDataBlock)(THIS_ DWORD dwSig) PURE;
-    STDMETHOD(GetFlags)(THIS_ DWORD *pdwFlags) PURE;
-    STDMETHOD(SetFlags)(THIS_ DWORD dwFlags) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IResolveShellLink
-  DECLARE_INTERFACE_(IResolveShellLink,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(ResolveShellLink)(THIS_ IUnknown *punk,HWND hwnd,DWORD fFlags) PURE;
-  };
-
-#ifdef _INC_SHELLAPI
-
-#undef INTERFACE
-#define INTERFACE IShellExecuteHookA
-  DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA pei) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IShellExecuteHookW
-  DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW pei) PURE;
-  };
-
-#define IShellExecuteHook __MINGW_NAME_AW(IShellExecuteHook)
-
-#define IShellExecuteHookVtbl __MINGW_NAME_AW_EXT(IShellExecuteHook,Vtbl)
-
-#endif
-
-#undef INTERFACE
-#define INTERFACE IURLSearchHook
-  DECLARE_INTERFACE_(IURLSearchHook,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Translate)(THIS_ LPWSTR lpwszSearchURL,DWORD cchBufferSize) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE ISearchContext
-  DECLARE_INTERFACE_(ISearchContext,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetSearchUrl)(THIS_ BSTR *pbstrSearchUrl) PURE;
-    STDMETHOD(GetSearchText)(THIS_ BSTR *pbstrSearchText) PURE;
-    STDMETHOD(GetSearchStyle)(THIS_ DWORD *pdwSearchStyle) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IURLSearchHook2
-  DECLARE_INTERFACE_(IURLSearchHook2,IURLSearchHook) {
-    STDMETHOD(TranslateWithSearchContext)(THIS_ LPWSTR lpwszSearchURL,DWORD cchBufferSize,ISearchContext *pSearchContext) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE INewShortcutHookA
-
-  DECLARE_INTERFACE_(INewShortcutHookA,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(SetReferent)(THIS_ LPCSTR pcszReferent,HWND hwnd) PURE;
-    STDMETHOD(GetReferent)(THIS_ LPSTR pszReferent,int cchReferent) PURE;
-    STDMETHOD(SetFolder)(THIS_ LPCSTR pcszFolder) PURE;
-    STDMETHOD(GetFolder)(THIS_ LPSTR pszFolder,int cchFolder) PURE;
-    STDMETHOD(GetName)(THIS_ LPSTR pszName,int cchName) PURE;
-    STDMETHOD(GetExtension)(THIS_ LPSTR pszExtension,int cchExtension) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE INewShortcutHookW
-  DECLARE_INTERFACE_(INewShortcutHookW,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(SetReferent)(THIS_ LPCWSTR pcszReferent,HWND hwnd) PURE;
-    STDMETHOD(GetReferent)(THIS_ LPWSTR pszReferent,int cchReferent) PURE;
-    STDMETHOD(SetFolder)(THIS_ LPCWSTR pcszFolder) PURE;
-    STDMETHOD(GetFolder)(THIS_ LPWSTR pszFolder,int cchFolder) PURE;
-    STDMETHOD(GetName)(THIS_ LPWSTR pszName,int cchName) PURE;
-    STDMETHOD(GetExtension)(THIS_ LPWSTR pszExtension,int cchExtension) PURE;
-  };
-
-#define INewShortcutHook __MINGW_NAME_AW(INewShortcutHook)
-
-#define INewShortcutHookVtbl __MINGW_NAME_AW_EXT(INewShortcutHook,Vtbl)
-
-#ifndef FO_MOVE
-
-#define FO_MOVE 0x0001
-#define FO_COPY 0x0002
-#define FO_DELETE 0x0003
-#define FO_RENAME 0x0004
-
-#define FOF_MULTIDESTFILES 0x0001
-#define FOF_CONFIRMMOUSE 0x0002
-#define FOF_SILENT 0x0004
-#define FOF_RENAMEONCOLLISION 0x0008
-#define FOF_NOCONFIRMATION 0x0010
-#define FOF_WANTMAPPINGHANDLE 0x0020
-
-#define FOF_ALLOWUNDO 0x0040
-#define FOF_FILESONLY 0x0080
-#define FOF_SIMPLEPROGRESS 0x0100
-#define FOF_NOCONFIRMMKDIR 0x0200
-#define FOF_NOERRORUI 0x0400
-#define FOF_NOCOPYSECURITYATTRIBS 0x0800
-#define FOF_NORECURSION 0x1000
-#define FOF_NO_CONNECTED_ELEMENTS 0x2000
-#define FOF_WANTNUKEWARNING 0x4000
-#define FOF_NORECURSEREPARSE 0x8000
-
-  typedef WORD FILEOP_FLAGS;
-
-#define PO_DELETE 0x0013
-#define PO_RENAME 0x0014
-#define PO_PORTCHANGE 0x0020
-
-#define PO_REN_PORT 0x0034
-
-  typedef UINT PRINTEROP_FLAGS;
-#endif
-
-#undef INTERFACE
-#define INTERFACE ICopyHookA
-  DECLARE_INTERFACE_(ICopyHookA,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD_(UINT,CopyCallback) (THIS_ HWND hwnd,UINT wFunc,UINT wFlags,LPCSTR pszSrcFile,DWORD dwSrcAttribs,LPCSTR pszDestFile,DWORD dwDestAttribs) PURE;
-  };
-
-  typedef ICopyHookA *LPCOPYHOOKA;
-
-#undef INTERFACE
-#define INTERFACE ICopyHookW
-  DECLARE_INTERFACE_(ICopyHookW,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD_(UINT,CopyCallback) (THIS_ HWND hwnd,UINT wFunc,UINT wFlags,LPCWSTR pszSrcFile,DWORD dwSrcAttribs,LPCWSTR pszDestFile,DWORD dwDestAttribs) PURE;
-  };
-
-  typedef ICopyHookW *LPCOPYHOOKW;
-
-#define ICopyHook __MINGW_NAME_AW(ICopyHook)
-#define LPCOPYHOOK __MINGW_NAME_AW(LPCOPYHOOK)
-
-#define ICopyHookVtbl __MINGW_NAME_AW_EXT(ICopyHook,Vtbl)
-
-#undef INTERFACE
-#define INTERFACE IFileViewerSite
-  DECLARE_INTERFACE_(IFileViewerSite,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(SetPinnedWindow) (THIS_ HWND hwnd) PURE;
-    STDMETHOD(GetPinnedWindow) (THIS_ HWND *phwnd) PURE;
-  };
-
-  typedef IFileViewerSite *LPFILEVIEWERSITE;
-
-#include <pshpack8.h>
-
-  typedef struct {
-    DWORD cbSize;
-    HWND hwndOwner;
-    int iShow;
-    DWORD dwFlags;
-    RECT rect;
-    IUnknown *punkRel;
-    OLECHAR strNewFile[MAX_PATH];
-  } FVSHOWINFO,*LPFVSHOWINFO;
-
-#include <poppack.h>
-
-#define FVSIF_RECT 0x00000001
-#define FVSIF_PINNED 0x00000002
-
-#define FVSIF_NEWFAILED 0x08000000
-
-#define FVSIF_NEWFILE 0x80000000
-#define FVSIF_CANVIEWIT 0x40000000
-
-#undef INTERFACE
-#define INTERFACE IFileViewerA
-  DECLARE_INTERFACE(IFileViewerA) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(ShowInitialize) (THIS_ LPFILEVIEWERSITE lpfsi) PURE;
-    STDMETHOD(Show) (THIS_ LPFVSHOWINFO pvsi) PURE;
-    STDMETHOD(PrintTo) (THIS_ LPSTR pszDriver,WINBOOL fSuppressUI) PURE;
-  };
-
-  typedef IFileViewerA *LPFILEVIEWERA;
-
-#undef INTERFACE
-#define INTERFACE IFileViewerW
-  DECLARE_INTERFACE(IFileViewerW) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(ShowInitialize) (THIS_ LPFILEVIEWERSITE lpfsi) PURE;
-    STDMETHOD(Show) (THIS_ LPFVSHOWINFO pvsi) PURE;
-    STDMETHOD(PrintTo) (THIS_ LPWSTR pszDriver,WINBOOL fSuppressUI) PURE;
-  };
-
-  typedef IFileViewerW *LPFILEVIEWERW;
-
-#define IFileViewer __MINGW_NAME_AW(IFileViewer)
-#define LPFILEVIEWER __MINGW_NAME_AW(LPFILEVIEWER)
-
-#define FCIDM_SHVIEWFIRST 0x0000
-#define FCIDM_SHVIEWLAST 0x7fff
-#define FCIDM_BROWSERFIRST 0xa000
-#define FCIDM_BROWSERLAST 0xbf00
-#define FCIDM_GLOBALFIRST 0x8000
-#define FCIDM_GLOBALLAST 0x9fff
-
-#define FCIDM_MENU_FILE (FCIDM_GLOBALFIRST+0x0000)
-#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
-#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
-#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
-#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
-#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
-#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
-#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
-#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
-#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
-
-#define FCIDM_TOOLBAR (FCIDM_BROWSERFIRST + 0)
-#define FCIDM_STATUS (FCIDM_BROWSERFIRST + 1)
-
-#define IDC_OFFLINE_HAND 103
-
-#define PANE_NONE -1
-#define PANE_ZONE 1
-#define PANE_OFFLINE 2
-#define PANE_PRINTER 3
-#define PANE_SSL 4
-#define PANE_NAVIGATION 5
-#define PANE_PROGRESS 6
-#define PANE_PRIVACY 7
-
-#define CDBOSC_SETFOCUS 0x00000000
-#define CDBOSC_KILLFOCUS 0x00000001
-#define CDBOSC_SELCHANGE 0x00000002
-#define CDBOSC_RENAME 0x00000003
-#define CDBOSC_STATECHANGE 0x00000004
-
-#undef INTERFACE
-#define INTERFACE ICommDlgBrowser
-  DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(OnDefaultCommand) (THIS_ struct IShellView *ppshv) PURE;
-    STDMETHOD(OnStateChange) (THIS_ struct IShellView *ppshv,ULONG uChange) PURE;
-    STDMETHOD(IncludeObject) (THIS_ struct IShellView *ppshv,LPCITEMIDLIST pidl) PURE;
-  };
-
-  typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
-
-#define CDB2N_CONTEXTMENU_DONE 0x00000001
-#define CDB2N_CONTEXTMENU_START 0x00000002
-
-#define CDB2GVF_SHOWALLFILES 0x00000001
-
-#undef INTERFACE
-#define INTERFACE ICommDlgBrowser2
-  DECLARE_INTERFACE_(ICommDlgBrowser2,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(OnDefaultCommand) (THIS_ struct IShellView *ppshv) PURE;
-    STDMETHOD(OnStateChange) (THIS_ struct IShellView *ppshv,ULONG uChange) PURE;
-    STDMETHOD(IncludeObject) (THIS_ struct IShellView *ppshv,LPCITEMIDLIST pidl) PURE;
-    STDMETHOD(Notify) (THIS_ struct IShellView *ppshv,DWORD dwNotifyType) PURE;
-    STDMETHOD(GetDefaultMenuText) (THIS_ struct IShellView *ppshv,WCHAR *pszText,INT cchMax) PURE;
-    STDMETHOD(GetViewFlags)(THIS_ DWORD *pdwFlags) PURE;
-  };
-
-  typedef ICommDlgBrowser2 *LPCOMMDLGBROWSER2;
-
-#define SHGetPathFromIDList __MINGW_NAME_AW(SHGetPathFromIDList)
-#define SHCreateDirectoryEx __MINGW_NAME_AW(SHCreateDirectoryEx)
-
-  SHSTDAPI_(WINBOOL) SHGetPathFromIDListA(LPCITEMIDLIST pidl,LPSTR pszPath);
-  SHSTDAPI_(WINBOOL) SHGetPathFromIDListW(LPCITEMIDLIST pidl,LPWSTR pszPath);
-  SHSTDAPI_(int) SHCreateDirectory(HWND hwnd,LPCWSTR pszPath);
-  SHSTDAPI_(int) SHCreateDirectoryExA(HWND hwnd,LPCSTR pszPath,SECURITY_ATTRIBUTES *psa);
-  SHSTDAPI_(int) SHCreateDirectoryExW(HWND hwnd,LPCWSTR pszPath,SECURITY_ATTRIBUTES *psa);
-  SHSTDAPI SHOpenFolderAndSelectItems(LPCITEMIDLIST pidlFolder,UINT cidl,LPCITEMIDLIST *apidl,DWORD dwFlags);
-  SHSTDAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,IShellFolder *psfParent,LPCITEMIDLIST pidl,IShellItem **ppsi);
-
-#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")
-
-#define CSIDL_DESKTOP 0x0000
-#define CSIDL_INTERNET 0x0001
-#define CSIDL_PROGRAMS 0x0002
-#define CSIDL_CONTROLS 0x0003
-#define CSIDL_PRINTERS 0x0004
-#define CSIDL_PERSONAL 0x0005
-#define CSIDL_FAVORITES 0x0006
-#define CSIDL_STARTUP 0x0007
-#define CSIDL_RECENT 0x0008
-#define CSIDL_SENDTO 0x0009
-#define CSIDL_BITBUCKET 0x000a
-#define CSIDL_STARTMENU 0x000b
-#define CSIDL_MYDOCUMENTS 0x000c
-#define CSIDL_MYMUSIC 0x000d
-#define CSIDL_MYVIDEO 0x000e
-#define CSIDL_DESKTOPDIRECTORY 0x0010
-#define CSIDL_DRIVES 0x0011
-#define CSIDL_NETWORK 0x0012
-#define CSIDL_NETHOOD 0x0013
-#define CSIDL_FONTS 0x0014
-#define CSIDL_TEMPLATES 0x0015
-#define CSIDL_COMMON_STARTMENU 0x0016
-#define CSIDL_COMMON_PROGRAMS 0X0017
-#define CSIDL_COMMON_STARTUP 0x0018
-#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
-#define CSIDL_APPDATA 0x001a
-#define CSIDL_PRINTHOOD 0x001b
-
-#ifndef CSIDL_LOCAL_APPDATA
-#define CSIDL_LOCAL_APPDATA 0x001c
-#endif
-
-#define CSIDL_ALTSTARTUP 0x001d
-#define CSIDL_COMMON_ALTSTARTUP 0x001e
-#define CSIDL_COMMON_FAVORITES 0x001f
-
-#ifndef _SHFOLDER_H_
-#define CSIDL_INTERNET_CACHE 0x0020
-#define CSIDL_COOKIES 0x0021
-#define CSIDL_HISTORY 0x0022
-#define CSIDL_COMMON_APPDATA 0x0023
-#define CSIDL_WINDOWS 0x0024
-#define CSIDL_SYSTEM 0x0025
-#define CSIDL_PROGRAM_FILES 0x0026
-#define CSIDL_MYPICTURES 0x0027
-#endif
-
-#define CSIDL_PROFILE 0x0028
-#define CSIDL_SYSTEMX86 0x0029
-#define CSIDL_PROGRAM_FILESX86 0x002a
-
-#ifndef _SHFOLDER_H_
-#define CSIDL_PROGRAM_FILES_COMMON 0x002b
-#endif
-
-#define CSIDL_PROGRAM_FILES_COMMONX86 0x002c
-#define CSIDL_COMMON_TEMPLATES 0x002d
-
-#ifndef _SHFOLDER_H_
-#define CSIDL_COMMON_DOCUMENTS 0x002e
-#define CSIDL_COMMON_ADMINTOOLS 0x002f
-#define CSIDL_ADMINTOOLS 0x0030
-#endif
-
-#define CSIDL_CONNECTIONS 0x0031
-#define CSIDL_COMMON_MUSIC 0x0035
-#define CSIDL_COMMON_PICTURES 0x0036
-#define CSIDL_COMMON_VIDEO 0x0037
-#define CSIDL_RESOURCES 0x0038
-
-#ifndef _SHFOLDER_H_
-#define CSIDL_RESOURCES_LOCALIZED 0x0039
-#endif
-
-#define CSIDL_COMMON_OEM_LINKS 0x003a
-#define CSIDL_CDBURN_AREA 0x003b
-
-#define CSIDL_COMPUTERSNEARME 0x003d
-
-#ifndef _SHFOLDER_H_
-#define CSIDL_FLAG_CREATE 0x8000
-#endif
-
-#define CSIDL_FLAG_DONT_VERIFY 0x4000
-#define CSIDL_FLAG_NO_ALIAS 0x1000
-#define CSIDL_FLAG_PER_USER_INIT 0x0800
-#define CSIDL_FLAG_MASK 0xFF00
-
-#define SHGetSpecialFolderPath __MINGW_NAME_AW(SHGetSpecialFolderPath)
-#define SHGetFolderPath __MINGW_NAME_AW(SHGetFolderPath)
-#define SHGetFolderPathAndSubDir __MINGW_NAME_AW(SHGetFolderPathAndSubDir)
-
-  SHSTDAPI SHGetSpecialFolderLocation(HWND hwnd,int csidl,LPITEMIDLIST *ppidl);
-  SHSTDAPI_(void) SHFlushSFCache(void);
-  SHSTDAPI_(LPITEMIDLIST) SHCloneSpecialIDList(HWND hwnd,int csidl,WINBOOL fCreate);
-  SHSTDAPI_(WINBOOL) SHGetSpecialFolderPathA(HWND hwnd,LPSTR pszPath,int csidl,WINBOOL fCreate);
-  SHSTDAPI_(WINBOOL) SHGetSpecialFolderPathW(HWND hwnd,LPWSTR pszPath,int csidl,WINBOOL fCreate);
-
-  typedef enum {
-    SHGFP_TYPE_CURRENT = 0,SHGFP_TYPE_DEFAULT = 1
-  } SHGFP_TYPE;
-
-  SHFOLDERAPI SHGetFolderPathA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPSTR pszPath);
-  SHFOLDERAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath);
-  SHSTDAPI SHGetFolderLocation(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPITEMIDLIST *ppidl);
-  SHFOLDERAPI SHGetFolderPathAndSubDirA(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPCSTR pszSubDir,LPSTR pszPath);
-  SHFOLDERAPI SHGetFolderPathAndSubDirW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPCWSTR pszSubDir,LPWSTR pszPath);
-
-#define FCS_READ 0x00000001
-#define FCS_FORCEWRITE 0x00000002
-#define FCS_WRITE (FCS_READ | FCS_FORCEWRITE)
-#define FCS_FLAG_DRAGDROP 2
-
-#define FCSM_VIEWID 0x00000001
-#define FCSM_WEBVIEWTEMPLATE 0x00000002
-#define FCSM_INFOTIP 0x00000004
-#define FCSM_CLSID 0x00000008
-#define FCSM_ICONFILE 0x00000010
-#define FCSM_LOGO 0x00000020
-#define FCSM_FLAGS 0x00000040
-
-#include <pshpack8.h>
-
-  typedef struct {
-    DWORD dwSize;
-    DWORD dwMask;
-    SHELLVIEWID *pvid;
-    LPSTR pszWebViewTemplate;
-    DWORD cchWebViewTemplate;
-    LPSTR pszWebViewTemplateVersion;
-    LPSTR pszInfoTip;
-    DWORD cchInfoTip;
-    CLSID *pclsid;
-    DWORD dwFlags;
-    LPSTR pszIconFile;
-    DWORD cchIconFile;
-    int iIconIndex;
-    LPSTR pszLogo;
-    DWORD cchLogo;
-  } SHFOLDERCUSTOMSETTINGSA,*LPSHFOLDERCUSTOMSETTINGSA;
-
-  typedef struct {
-    DWORD dwSize;
-    DWORD dwMask;
-    SHELLVIEWID *pvid;
-    LPWSTR pszWebViewTemplate;
-    DWORD cchWebViewTemplate;
-    LPWSTR pszWebViewTemplateVersion;
-    LPWSTR pszInfoTip;
-    DWORD cchInfoTip;
-    CLSID *pclsid;
-    DWORD dwFlags;
-    LPWSTR pszIconFile;
-    DWORD cchIconFile;
-    int iIconIndex;
-    LPWSTR pszLogo;
-    DWORD cchLogo;
-  } SHFOLDERCUSTOMSETTINGSW,*LPSHFOLDERCUSTOMSETTINGSW;
-
-#include <poppack.h>
-
-#define SHFOLDERCUSTOMSETTINGS __MINGW_NAME_AW(SHFOLDERCUSTOMSETTINGS)
-#define SHGetSetFolderCustomSettings __MINGW_NAME_AW(SHGetSetFolderCustomSettings)
-#define LPSHFOLDERCUSTOMSETTINGS __MINGW_NAME_AW(LPSHFOLDERCUSTOMSETTINGS)
-
-  SHSTDAPI SHGetSetFolderCustomSettingsA(LPSHFOLDERCUSTOMSETTINGSA pfcs,LPCSTR pszPath,DWORD dwReadWrite);
-  SHSTDAPI SHGetSetFolderCustomSettingsW(LPSHFOLDERCUSTOMSETTINGSW pfcs,LPCWSTR pszPath,DWORD dwReadWrite);
-
-  typedef int (CALLBACK *BFFCALLBACK)(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData);
-
-#include <pshpack8.h>
-
-  typedef struct _browseinfoA {
-    HWND hwndOwner;
-    LPCITEMIDLIST pidlRoot;
-    LPSTR pszDisplayName;
-    LPCSTR lpszTitle;
-    UINT ulFlags;
-    BFFCALLBACK lpfn;
-    LPARAM lParam;
-    int iImage;
-  } BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA;
-
-  typedef struct _browseinfoW {
-    HWND hwndOwner;
-    LPCITEMIDLIST pidlRoot;
-    LPWSTR pszDisplayName;
-    LPCWSTR lpszTitle;
-    UINT ulFlags;
-    BFFCALLBACK lpfn;
-    LPARAM lParam;
-    int iImage;
-  } BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW;
-
-#include <poppack.h>
-
-#define BROWSEINFO __MINGW_NAME_AW(BROWSEINFO)
-#define PBROWSEINFO __MINGW_NAME_AW(PBROWSEINFO)
-#define LPBROWSEINFO __MINGW_NAME_AW(LPBROWSEINFO)
-
-#define BIF_RETURNONLYFSDIRS 0x0001
-#define BIF_DONTGOBELOWDOMAIN 0x0002
-#define BIF_STATUSTEXT 0x0004
-
-#define BIF_RETURNFSANCESTORS 0x0008
-#define BIF_EDITBOX 0x0010
-#define BIF_VALIDATE 0x0020
-
-#define BIF_NEWDIALOGSTYLE 0x0040
-
-#define BIF_USENEWUI (BIF_NEWDIALOGSTYLE | BIF_EDITBOX)
-
-#define BIF_BROWSEINCLUDEURLS 0x0080
-#define BIF_UAHINT 0x0100
-#define BIF_NONEWFOLDERBUTTON 0x0200
-#define BIF_NOTRANSLATETARGETS 0x0400
-
-#define BIF_BROWSEFORCOMPUTER 0x1000
-#define BIF_BROWSEFORPRINTER 0x2000
-#define BIF_BROWSEINCLUDEFILES 0x4000
-#define BIF_SHAREABLE 0x8000
-
-#define BFFM_INITIALIZED 1
-#define BFFM_SELCHANGED 2
-#define BFFM_VALIDATEFAILEDA 3
-#define BFFM_VALIDATEFAILEDW 4
-#define BFFM_IUNKNOWN 5
-
-#define BFFM_SETSTATUSTEXTA (WM_USER + 100)
-#define BFFM_ENABLEOK (WM_USER + 101)
-#define BFFM_SETSELECTIONA (WM_USER + 102)
-#define BFFM_SETSELECTIONW (WM_USER + 103)
-#define BFFM_SETSTATUSTEXTW (WM_USER + 104)
-#define BFFM_SETOKTEXT (WM_USER + 105)
-#define BFFM_SETEXPANDED (WM_USER + 106)
-
-  SHSTDAPI_(LPITEMIDLIST) SHBrowseForFolderA(LPBROWSEINFOA lpbi);
-  SHSTDAPI_(LPITEMIDLIST) SHBrowseForFolderW(LPBROWSEINFOW lpbi);
-
-#define SHBrowseForFolder __MINGW_NAME_AW(SHBrowseForFolder)
-#define BFFM_SETSTATUSTEXT __MINGW_NAME_AW(BFFM_SETSTATUSTEXT)
-#define BFFM_SETSELECTION __MINGW_NAME_AW(BFFM_SETSELECTION)
-#define BFFM_VALIDATEFAILED __MINGW_NAME_AW(BFFM_VALIDATEFAILED)
-
-  SHSTDAPI SHLoadInProc(REFCLSID rclsid);
-
-  SHSTDAPI SHEnableServiceObject(REFCLSID rclsid,WINBOOL fEnable);
-
-  enum {
-    ISHCUTCMDID_DOWNLOADICON = 0,ISHCUTCMDID_INTSHORTCUTCREATE = 1
-  };
-#define CMDID_INTSHORTCUTCREATE ISHCUTCMDID_INTSHORTCUTCREATE
-
-  SHSTDAPI SHGetDesktopFolder(IShellFolder **ppshf);
-
-#define STR_FILE_SYS_BIND_DATA L"File System Bind Data"
-
-#undef INTERFACE
-#define INTERFACE IFileSystemBindData
-  DECLARE_INTERFACE_(IFileSystemBindData,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW *pfd) PURE;
-    STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW *pfd) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IShellDetails
-  DECLARE_INTERFACE_(IShellDetails,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST pidl,UINT iColumn,SHELLDETAILS *pDetails) PURE;
-    STDMETHOD(ColumnClick)(THIS_ UINT iColumn) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IObjMgr
-
-  DECLARE_INTERFACE_(IObjMgr,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Append) (THIS_ IUnknown *punk) PURE;
-    STDMETHOD(Remove) (THIS_ IUnknown *punk) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE ICurrentWorkingDirectory
-  DECLARE_INTERFACE_(ICurrentWorkingDirectory,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetDirectory) (THIS_ LPWSTR pwzPath,DWORD cchSize) PURE;
-    STDMETHOD(SetDirectory) (THIS_ LPCWSTR pwzPath) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IACList
-  DECLARE_INTERFACE_(IACList,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Expand) (THIS_ LPCOLESTR pszExpand) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IACList2
-  typedef enum _tagAUTOCOMPLETELISTOPTIONS {
-    ACLO_NONE = 0,ACLO_CURRENTDIR = 1,ACLO_MYCOMPUTER = 2,ACLO_DESKTOP = 4,ACLO_FAVORITES = 8,ACLO_FILESYSONLY = 16,ACLO_FILESYSDIRS = 32
-  } AUTOCOMPLETELISTOPTIONS;
-
-  DECLARE_INTERFACE_(IACList2,IACList) {
-    STDMETHOD(SetOptions)(THIS_ DWORD dwFlag) PURE;
-    STDMETHOD(GetOptions)(THIS_ DWORD *pdwFlag) PURE;
-  };
-
-#define PROGDLG_NORMAL 0x00000000
-#define PROGDLG_MODAL 0x00000001
-#define PROGDLG_AUTOTIME 0x00000002
-#define PROGDLG_NOTIME 0x00000004
-#define PROGDLG_NOMINIMIZE 0x00000008
-#define PROGDLG_NOPROGRESSBAR 0x00000010
-
-#define PDTIMER_RESET 0x00000001
-
-#undef INTERFACE
-#define INTERFACE IProgressDialog
-  DECLARE_INTERFACE_(IProgressDialog,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(StartProgressDialog)(THIS_ HWND hwndParent,IUnknown *punkEnableModless,DWORD dwFlags,LPCVOID pvResevered) PURE;
-    STDMETHOD(StopProgressDialog)(THIS) PURE;
-    STDMETHOD(SetTitle)(THIS_ LPCWSTR pwzTitle) PURE;
-    STDMETHOD(SetAnimation)(THIS_ HINSTANCE hInstAnimation,UINT idAnimation) PURE;
-    STDMETHOD_(WINBOOL,HasUserCancelled) (THIS) PURE;
-    STDMETHOD(SetProgress)(THIS_ DWORD dwCompleted,DWORD dwTotal) PURE;
-    STDMETHOD(SetProgress64)(THIS_ ULONGLONG ullCompleted,ULONGLONG ullTotal) PURE;
-    STDMETHOD(SetLine)(THIS_ DWORD dwLineNum,LPCWSTR pwzString,WINBOOL fCompactPath,LPCVOID pvResevered) PURE;
-    STDMETHOD(SetCancelMsg)(THIS_ LPCWSTR pwzCancelMsg,LPCVOID pvResevered) PURE;
-    STDMETHOD(Timer)(THIS_ DWORD dwTimerAction,LPCVOID pvResevered) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IInputObjectSite
-  DECLARE_INTERFACE_(IInputObjectSite,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(OnFocusChangeIS)(THIS_ IUnknown *punkObj,WINBOOL fSetFocus) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IInputObject
-  DECLARE_INTERFACE_(IInputObject,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(UIActivateIO)(THIS_ WINBOOL fActivate,LPMSG lpMsg) PURE;
-    STDMETHOD(HasFocusIO)(THIS) PURE;
-    STDMETHOD(TranslateAcceleratorIO)(THIS_ LPMSG lpMsg) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IDockingWindowSite
-  DECLARE_INTERFACE_(IDockingWindowSite,IOleWindow) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE;
-    STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE;
-    STDMETHOD(GetBorderDW) (THIS_ IUnknown *punkObj,LPRECT prcBorder) PURE;
-    STDMETHOD(RequestBorderSpaceDW) (THIS_ IUnknown *punkObj,LPCBORDERWIDTHS pbw) PURE;
-    STDMETHOD(SetBorderSpaceDW) (THIS_ IUnknown *punkObj,LPCBORDERWIDTHS pbw) PURE;
-  };
-
-#define DWFRF_NORMAL 0x0000
-#define DWFRF_DELETECONFIGDATA 0x0001
-
-#define DWFAF_HIDDEN 0x0001
-
-#undef INTERFACE
-#define INTERFACE IDockingWindowFrame
-  DECLARE_INTERFACE_(IDockingWindowFrame,IOleWindow) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE;
-    STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE;
-    STDMETHOD(AddToolbar) (THIS_ IUnknown *punkSrc,LPCWSTR pwszItem,DWORD dwAddFlags) PURE;
-    STDMETHOD(RemoveToolbar) (THIS_ IUnknown *punkSrc,DWORD dwRemoveFlags) PURE;
-    STDMETHOD(FindToolbar) (THIS_ LPCWSTR pwszItem,REFIID riid,void **ppv) PURE;
-  };
-
-#define IRTIR_TASK_NOT_RUNNING 0
-#define IRTIR_TASK_RUNNING 1
-#define IRTIR_TASK_SUSPENDED 2
-#define IRTIR_TASK_PENDING 3
-#define IRTIR_TASK_FINISHED 4
-
-#undef INTERFACE
-#define INTERFACE IRunnableTask
-
-  DECLARE_INTERFACE_(IRunnableTask,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD (Run)(THIS) PURE;
-    STDMETHOD (Kill)(THIS_ WINBOOL fWait) PURE;
-    STDMETHOD (Suspend)(THIS) PURE;
-    STDMETHOD (Resume)(THIS) PURE;
-    STDMETHOD_(ULONG,IsRunning)(THIS) PURE;
-  };
-
-  typedef IRunnableTask *LPRUNNABLETASK;
-
-#define TASKOWNERID GUID
-#define REFTASKOWNERID REFGUID
-
-#define ITSSFLAG_COMPLETE_ON_DESTROY 0x0000
-#define ITSSFLAG_KILL_ON_DESTROY 0x0001
-#define ITSSFLAG_SUPPORTS_TERMINATE 0x0002
-#define ITSSFLAG_FLAGS_MASK 0x0003
-#define ITSSFLAG_THREAD_TERMINATE_TIMEOUT 0x0010
-#define ITSSFLAG_THREAD_POOL_TIMEOUT 0x0020
-#define ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT (60*1000)
-#define ITSS_THREAD_TERMINATE_TIMEOUT (INFINITE)
-#define ITSS_THREAD_TIMEOUT_NO_CHANGE (INFINITE - 1)
-
-#define ITSAT_DEFAULT_LPARAM 0xffffffff
-#define ITSAT_DEFAULT_PRIORITY 0x10000000
-#define ITSAT_MAX_PRIORITY 0x7fffffff
-#define ITSAT_MIN_PRIORITY 0x00000000
-
-#define TOID_NULL CLSID_NULL
-
-#undef INTERFACE
-#define INTERFACE IShellTaskScheduler
-  DECLARE_INTERFACE_(IShellTaskScheduler,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD (AddTask)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) PURE;
-    STDMETHOD (RemoveTasks)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL fWaitIfRunning) PURE;
-    STDMETHOD_(UINT,CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE;
-    STDMETHOD (Status)(THIS_ DWORD dwReleaseStatus,DWORD dwThreadTimeout) PURE;
-  };
-
-  typedef IShellTaskScheduler *LPSHELLTASKSCHEDULER;
-
-#define ITSSFLAG_TASK_PLACEINFRONT 0x00000001
-#define ITSSFLAG_TASK_PLACEINBACK 0x00000002
-
-#undef INTERFACE
-#define INTERFACE IShellTaskScheduler2
-  DECLARE_INTERFACE_(IShellTaskScheduler2,IShellTaskScheduler) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD (AddTask)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority) PURE;
-    STDMETHOD (RemoveTasks)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,WINBOOL fWaitIfRunning) PURE;
-    STDMETHOD_(UINT,CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE;
-    STDMETHOD (Status)(THIS_ DWORD dwReleaseStatus,DWORD dwThreadTimeout) PURE;
-    STDMETHOD (AddTask2)(THIS_ IRunnableTask *pTask,REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority,DWORD grfFlags) PURE;
-    STDMETHOD (MoveTask)(THIS_ REFTASKOWNERID rtoid,DWORD_PTR lParam,DWORD dwPriority,DWORD grfFlags) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IThumbnailCapture
-  DECLARE_INTERFACE_ (IThumbnailCapture,IUnknown) {
-    STDMETHOD (CaptureThumbnail) (THIS_ const SIZE *pMaxSize,IUnknown *pHTMLDoc2,HBITMAP *phbmThumbnail) PURE;
-  };
-  typedef IThumbnailCapture *LPTHUMBNAILCAPTURE;
-
-#include <pshpack8.h>
-  typedef struct _EnumImageStoreDATAtag {
-    WCHAR szPath[MAX_PATH];
-    FILETIME ftTimeStamp;
-  } ENUMSHELLIMAGESTOREDATA,*PENUMSHELLIMAGESTOREDATA;
-
-#include <poppack.h>
-
-#undef INTERFACE
-#define INTERFACE IEnumShellImageStore
-  DECLARE_INTERFACE_(IEnumShellImageStore,IUnknown) {
-    STDMETHOD (QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (Reset) (THIS) PURE;
-    STDMETHOD (Next) (THIS_ ULONG celt,PENUMSHELLIMAGESTOREDATA *prgElt,ULONG *pceltFetched) PURE;
-    STDMETHOD (Skip) (THIS_ ULONG celt) PURE;
-    STDMETHOD (Clone) (THIS_ IEnumShellImageStore **ppEnum) PURE;
-  };
-
-  typedef IEnumShellImageStore *LPENUMSHELLIMAGESTORE;
-
-#define SHIMSTCAPFLAG_LOCKABLE 0x0001
-#define SHIMSTCAPFLAG_PURGEABLE 0x0002
-
-#undef INTERFACE
-#define INTERFACE IShellImageStore
-  DECLARE_INTERFACE_(IShellImageStore,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (Open) (THIS_ DWORD dwMode,DWORD *pdwLock) PURE;
-    STDMETHOD (Create) (THIS_ DWORD dwMode,DWORD *pdwLock) PURE;
-    STDMETHOD (ReleaseLock) (THIS_ DWORD const *pdwLock) PURE;
-    STDMETHOD (Close) (THIS_ DWORD const *pdwLock) PURE;
-    STDMETHOD (Commit) (THIS_ DWORD const *pdwLock) PURE;
-    STDMETHOD (IsLocked) (THIS) PURE;
-    STDMETHOD (GetMode) (THIS_ DWORD *pdwMode) PURE;
-    STDMETHOD (GetCapabilities) (THIS_ DWORD *pdwCapMask) PURE;
-    STDMETHOD (AddEntry) (THIS_ LPCWSTR pszName,const FILETIME *pftTimeStamp,DWORD dwMode,HBITMAP hImage) PURE;
-    STDMETHOD (GetEntry) (THIS_ LPCWSTR pszName,DWORD dwMode,HBITMAP *phImage) PURE;
-    STDMETHOD (DeleteEntry) (THIS_ LPCWSTR pszName) PURE;
-    STDMETHOD (IsEntryInStore) (THIS_ LPCWSTR pszName,FILETIME *pftTimeStamp) PURE;
-    STDMETHOD (Enum) (THIS_ LPENUMSHELLIMAGESTORE *ppEnum) PURE;
-  };
-
-  typedef IShellImageStore *LPSHELLIMAGESTORE;
-
-#define ISFB_MASK_STATE 0x00000001
-#define ISFB_MASK_BKCOLOR 0x00000002
-#define ISFB_MASK_VIEWMODE 0x00000004
-#define ISFB_MASK_SHELLFOLDER 0x00000008
-#define ISFB_MASK_IDLIST 0x00000010
-#define ISFB_MASK_COLORS 0x00000020
-
-#define ISFB_STATE_DEFAULT 0x00000000
-#define ISFB_STATE_DEBOSSED 0x00000001
-#define ISFB_STATE_ALLOWRENAME 0x00000002
-#define ISFB_STATE_NOSHOWTEXT 0x00000004
-#define ISFB_STATE_CHANNELBAR 0x00000010
-#define ISFB_STATE_QLINKSMODE 0x00000020
-#define ISFB_STATE_FULLOPEN 0x00000040
-#define ISFB_STATE_NONAMESORT 0x00000080
-#define ISFB_STATE_BTNMINSIZE 0x00000100
-
-#define ISFBVIEWMODE_SMALLICONS 0x0001
-#define ISFBVIEWMODE_LARGEICONS 0x0002
-#define ISFBVIEWMODE_LOGOS 0x0003
-
-#include <pshpack8.h>
-
-  typedef struct {
-    DWORD dwMask;
-    DWORD dwStateMask;
-    DWORD dwState;
-    COLORREF crBkgnd;
-    COLORREF crBtnLt;
-    COLORREF crBtnDk;
-    WORD wViewMode;
-    WORD wAlign;
-    IShellFolder *psf;
-    LPITEMIDLIST pidl;
-  } BANDINFOSFB,*PBANDINFOSFB;
-
-#include <poppack.h>
-
-#undef INTERFACE
-#define INTERFACE IShellFolderBand
-  DECLARE_INTERFACE_(IShellFolderBand,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(InitializeSFB)(THIS_ IShellFolder *psf,LPCITEMIDLIST pidl) PURE;
-    STDMETHOD(SetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE;
-    STDMETHOD(GetBandInfoSFB)(THIS_ PBANDINFOSFB pbi) PURE;
-  };
-
-  enum {
-    SFBID_PIDLCHANGED,
-  };
-
-#undef INTERFACE
-#define INTERFACE IDeskBarClient
-  DECLARE_INTERFACE_(IDeskBarClient,IOleWindow) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetWindow) (THIS_ HWND *lphwnd) PURE;
-    STDMETHOD(ContextSensitiveHelp) (THIS_ WINBOOL fEnterMode) PURE;
-    STDMETHOD(SetDeskBarSite) (THIS_ IUnknown *punkSite) PURE;
-    STDMETHOD(SetModeDBC) (THIS_ DWORD dwMode) PURE;
-    STDMETHOD(UIActivateDBC) (THIS_ DWORD dwState) PURE;
-    STDMETHOD(GetSize) (THIS_ DWORD dwWhich,LPRECT prc) PURE;
-  };
-
-#define DBC_GS_IDEAL 0
-#define DBC_GS_SIZEDOWN 1
-
-#define DBC_HIDE 0
-#define DBC_SHOW 1
-#define DBC_SHOWOBSCURE 2
-
-  enum {
-    DBCID_EMPTY = 0,DBCID_ONDRAG = 1,DBCID_CLSIDOFBAR = 2,DBCID_RESIZE = 3,DBCID_GETBAR = 4
-  };
-
-#ifdef _WININET_
-  typedef struct _tagWALLPAPEROPT {
-    DWORD dwSize;
-    DWORD dwStyle;
-  } WALLPAPEROPT;
-
-  typedef WALLPAPEROPT *LPWALLPAPEROPT;
-  typedef const WALLPAPEROPT *LPCWALLPAPEROPT;
-
-  typedef struct _tagCOMPONENTSOPT {
-    DWORD dwSize;
-    WINBOOL fEnableComponents;
-    WINBOOL fActiveDesktop;
-  } COMPONENTSOPT;
-
-  typedef COMPONENTSOPT *LPCOMPONENTSOPT;
-  typedef const COMPONENTSOPT *LPCCOMPONENTSOPT;
-
-  typedef struct _tagCOMPPOS {
-    DWORD dwSize;
-    int iLeft;
-    int iTop;
-    DWORD dwWidth;
-    DWORD dwHeight;
-    int izIndex;
-    WINBOOL fCanResize;
-    WINBOOL fCanResizeX;
-    WINBOOL fCanResizeY;
-    int iPreferredLeftPercent;
-    int iPreferredTopPercent;
-  } COMPPOS;
-
-  typedef COMPPOS *LPCOMPPOS;
-  typedef const COMPPOS *LPCCOMPPOS;
-
-  typedef struct _tagCOMPSTATEINFO {
-    DWORD dwSize;
-    int iLeft;
-    int iTop;
-    DWORD dwWidth;
-    DWORD dwHeight;
-    DWORD dwItemState;
-  } COMPSTATEINFO;
-
-  typedef COMPSTATEINFO *LPCOMPSTATEINFO;
-  typedef const COMPSTATEINFO *LPCCOMPSTATEINFO;
-
-#define COMPONENT_TOP (0x3fffffff)
-
-#define COMP_TYPE_HTMLDOC 0
-#define COMP_TYPE_PICTURE 1
-#define COMP_TYPE_WEBSITE 2
-#define COMP_TYPE_CONTROL 3
-#define COMP_TYPE_CFHTML 4
-#define COMP_TYPE_MAX 4
-
-  typedef struct _tagIE4COMPONENT {
-    DWORD dwSize;
-    DWORD dwID;
-    int iComponentType;
-    WINBOOL fChecked;
-    WINBOOL fDirty;
-    WINBOOL fNoScroll;
-    COMPPOS cpPos;
-    WCHAR wszFriendlyName[MAX_PATH];
-    WCHAR wszSource[INTERNET_MAX_URL_LENGTH];
-    WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH];
-  } IE4COMPONENT;
-
-  typedef IE4COMPONENT *LPIE4COMPONENT;
-  typedef const IE4COMPONENT *LPCIE4COMPONENT;
-
-  typedef struct _tagCOMPONENT {
-    DWORD dwSize;
-    DWORD dwID;
-    int iComponentType;
-    WINBOOL fChecked;
-    WINBOOL fDirty;
-    WINBOOL fNoScroll;
-    COMPPOS cpPos;
-    WCHAR wszFriendlyName[MAX_PATH];
-    WCHAR wszSource[INTERNET_MAX_URL_LENGTH];
-    WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH];
-    DWORD dwCurItemState;
-    COMPSTATEINFO csiOriginal;
-    COMPSTATEINFO csiRestored;
-  } COMPONENT;
-
-  typedef COMPONENT *LPCOMPONENT;
-  typedef const COMPONENT *LPCCOMPONENT;
-
-#define IS_NORMAL 0x00000001
-#define IS_FULLSCREEN 0x00000002
-#define IS_SPLIT 0x00000004
-#define IS_VALIDSIZESTATEBITS (IS_NORMAL | IS_SPLIT | IS_FULLSCREEN)
-#define IS_VALIDSTATEBITS (IS_NORMAL | IS_SPLIT | IS_FULLSCREEN | 0x80000000 | 0x40000000)
-
-#define AD_APPLY_SAVE 0x00000001
-#define AD_APPLY_HTMLGEN 0x00000002
-#define AD_APPLY_REFRESH 0x00000004
-#define AD_APPLY_ALL (AD_APPLY_SAVE | AD_APPLY_HTMLGEN | AD_APPLY_REFRESH)
-#define AD_APPLY_FORCE 0x00000008
-#define AD_APPLY_BUFFERED_REFRESH 0x00000010
-#define AD_APPLY_DYNAMICREFRESH 0x00000020
-
-#define WPSTYLE_CENTER 0
-#define WPSTYLE_TILE 1
-#define WPSTYLE_STRETCH 2
-#define WPSTYLE_MAX 3
-
-#define COMP_ELEM_TYPE 0x00000001
-#define COMP_ELEM_CHECKED 0x00000002
-#define COMP_ELEM_DIRTY 0x00000004
-#define COMP_ELEM_NOSCROLL 0x00000008
-#define COMP_ELEM_POS_LEFT 0x00000010
-#define COMP_ELEM_POS_TOP 0x00000020
-#define COMP_ELEM_SIZE_WIDTH 0x00000040
-#define COMP_ELEM_SIZE_HEIGHT 0x00000080
-#define COMP_ELEM_POS_ZINDEX 0x00000100
-#define COMP_ELEM_SOURCE 0x00000200
-#define COMP_ELEM_FRIENDLYNAME 0x00000400
-#define COMP_ELEM_SUBSCRIBEDURL 0x00000800
-#define COMP_ELEM_ORIGINAL_CSI 0x00001000
-#define COMP_ELEM_RESTORED_CSI 0x00002000
-#define COMP_ELEM_CURITEMSTATE 0x00004000
-
-#define COMP_ELEM_ALL (COMP_ELEM_TYPE | COMP_ELEM_CHECKED | COMP_ELEM_DIRTY | COMP_ELEM_NOSCROLL | COMP_ELEM_POS_LEFT | COMP_ELEM_SIZE_WIDTH | COMP_ELEM_SIZE_HEIGHT | COMP_ELEM_POS_ZINDEX | COMP_ELEM_SOURCE | COMP_ELEM_FRIENDLYNAME | COMP_ELEM_POS_TOP | COMP_ELEM_SUBSCRIBEDURL | COMP_ELEM_ORIGINAL_CSI | COMP_ELEM_RESTORED_CSI | COMP_ELEM_CURITEMSTATE)
-
-  typedef enum tagDTI_ADTIWUI {
-    DTI_ADDUI_DEFAULT = 0x00000000,DTI_ADDUI_DISPSUBWIZARD = 0x00000001,DTI_ADDUI_POSITIONITEM = 0x00000002
-  };
-
-#define ADDURL_SILENT 0X0001
-
-#define COMPONENT_DEFAULT_LEFT (0xFFFF)
-#define COMPONENT_DEFAULT_TOP (0xFFFF)
-
-#undef INTERFACE
-#define INTERFACE IActiveDesktop
-  DECLARE_INTERFACE_(IActiveDesktop,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (ApplyChanges)(THIS_ DWORD dwFlags) PURE;
-    STDMETHOD (GetWallpaper)(THIS_ LPWSTR pwszWallpaper,UINT cchWallpaper,DWORD dwReserved) PURE;
-    STDMETHOD (SetWallpaper)(THIS_ LPCWSTR pwszWallpaper,DWORD dwReserved) PURE;
-    STDMETHOD (GetWallpaperOptions)(THIS_ LPWALLPAPEROPT pwpo,DWORD dwReserved) PURE;
-    STDMETHOD (SetWallpaperOptions)(THIS_ LPCWALLPAPEROPT pwpo,DWORD dwReserved) PURE;
-    STDMETHOD (GetPattern)(THIS_ LPWSTR pwszPattern,UINT cchPattern,DWORD dwReserved) PURE;
-    STDMETHOD (SetPattern)(THIS_ LPCWSTR pwszPattern,DWORD dwReserved) PURE;
-    STDMETHOD (GetDesktopItemOptions)(THIS_ LPCOMPONENTSOPT pco,DWORD dwReserved) PURE;
-    STDMETHOD (SetDesktopItemOptions)(THIS_ LPCCOMPONENTSOPT pco,DWORD dwReserved) PURE;
-    STDMETHOD (AddDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (AddDesktopItemWithUI)(THIS_ HWND hwnd,LPCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (ModifyDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwFlags) PURE;
-    STDMETHOD (RemoveDesktopItem)(THIS_ LPCCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (GetDesktopItemCount)(THIS_ LPINT lpiCount,DWORD dwReserved) PURE;
-    STDMETHOD (GetDesktopItem)(THIS_ int nComponent,LPCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (GetDesktopItemByID)(THIS_ ULONG_PTR dwID,LPCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (GenerateDesktopItemHtml)(THIS_ LPCWSTR pwszFileName,LPCOMPONENT pcomp,DWORD dwReserved) PURE;
-    STDMETHOD (AddUrl)(THIS_ HWND hwnd,LPCWSTR pszSource,LPCOMPONENT pcomp,DWORD dwFlags) PURE;
-    STDMETHOD (GetDesktopItemBySource)(THIS_ LPCWSTR pwszSource,LPCOMPONENT pcomp,DWORD dwReserved) PURE;
-  };
-
-  typedef IActiveDesktop *LPACTIVEDESKTOP;
-
-#define SSM_CLEAR 0x0000
-#define SSM_SET 0x0001
-#define SSM_REFRESH 0x0002
-#define SSM_UPDATE 0x0004
-
-#define SCHEME_DISPLAY 0x0001
-#define SCHEME_EDIT 0x0002
-#define SCHEME_LOCAL 0x0004
-#define SCHEME_GLOBAL 0x0008
-#define SCHEME_REFRESH 0x0010
-#define SCHEME_UPDATE 0x0020
-#define SCHEME_DONOTUSE 0x0040
-#define SCHEME_CREATE 0x0080
-
-#undef INTERFACE
-#define INTERFACE IActiveDesktopP
-
-  DECLARE_INTERFACE_(IActiveDesktopP,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (SetSafeMode)(THIS_ DWORD dwFlags) PURE;
-    STDMETHOD (EnsureUpdateHTML)(THIS) PURE;
-    STDMETHOD (SetScheme)(THIS_ LPCWSTR pwszSchemeName,DWORD dwFlags) PURE;
-    STDMETHOD (GetScheme)(THIS_ LPWSTR pwszSchemeName,DWORD *lpdwcchBuffer,DWORD dwFlags) PURE;
-  };
-
-  typedef IActiveDesktopP *LPACTIVEDESKTOPP;
-
-#define GADOF_DIRTY 0x00000001
-
-#undef INTERFACE
-#define INTERFACE IADesktopP2
-
-  DECLARE_INTERFACE_(IADesktopP2,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (ReReadWallpaper)(THIS) PURE;
-    STDMETHOD (GetADObjectFlags)(THIS_ DWORD *lpdwFlags,DWORD dwMask) PURE;
-    STDMETHOD (UpdateAllDesktopSubscriptions)(THIS) PURE;
-    STDMETHOD (MakeDynamicChanges)(THIS_ IOleObject *pOleObj) PURE;
-  };
-
-  typedef IADesktopP2 *LPADESKTOPP2;
-#endif
-
-#define MAX_COLUMN_NAME_LEN 80
-#define MAX_COLUMN_DESC_LEN 128
-
-#include <pshpack1.h>
-
-  typedef struct {
-    SHCOLUMNID scid;
-    VARTYPE vt;
-    DWORD fmt;
-    UINT cChars;
-    DWORD csFlags;
-    WCHAR wszTitle[MAX_COLUMN_NAME_LEN];
-    WCHAR wszDescription[MAX_COLUMN_DESC_LEN];
-  } SHCOLUMNINFO,*LPSHCOLUMNINFO;
-  typedef const SHCOLUMNINFO *LPCSHCOLUMNINFO;
-
-#include <poppack.h>
-
-#include <pshpack8.h>
-
-  typedef struct {
-    ULONG dwFlags;
-    ULONG dwReserved;
-    WCHAR wszFolder[MAX_PATH];
-  } SHCOLUMNINIT,*LPSHCOLUMNINIT;
-  typedef const SHCOLUMNINIT *LPCSHCOLUMNINIT;
-
-#define SHCDF_UPDATEITEM 0x00000001
-
-  typedef struct {
-    ULONG dwFlags;
-    DWORD dwFileAttributes;
-    ULONG dwReserved;
-    WCHAR *pwszExt;
-    WCHAR wszFile[MAX_PATH];
-  } SHCOLUMNDATA,*LPSHCOLUMNDATA;
-  typedef const SHCOLUMNDATA *LPCSHCOLUMNDATA;
-
-#include <poppack.h>
-
-#undef INTERFACE
-#define INTERFACE IColumnProvider
-
-  DECLARE_INTERFACE_(IColumnProvider,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD (Initialize)(THIS_ LPCSHCOLUMNINIT psci) PURE;
-    STDMETHOD (GetColumnInfo)(THIS_ DWORD dwIndex,SHCOLUMNINFO *psci) PURE;
-    STDMETHOD (GetItemData)(THIS_ LPCSHCOLUMNID pscid,LPCSHCOLUMNDATA pscd,VARIANT *pvarData) PURE;
-  };
-
-#include <pshpack8.h>
-
-  typedef struct {
-    SIZE sizeDragImage;
-    POINT ptOffset;
-    HBITMAP hbmpDragImage;
-    COLORREF crColorKey;
-  } SHDRAGIMAGE,*LPSHDRAGIMAGE;
-
-#include <poppack.h>
-
-#define DI_GETDRAGIMAGE TEXT("ShellGetDragImage")
-
-#undef INTERFACE
-#define INTERFACE IDropTargetHelper
-  DECLARE_INTERFACE_(IDropTargetHelper,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (DragEnter)(THIS_ HWND hwndTarget,IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) PURE;
-    STDMETHOD (DragLeave)(THIS) PURE;
-    STDMETHOD (DragOver)(THIS_ POINT *ppt,DWORD dwEffect) PURE;
-    STDMETHOD (Drop)(THIS_ IDataObject *pDataObject,POINT *ppt,DWORD dwEffect) PURE;
-    STDMETHOD (Show)(THIS_ WINBOOL fShow) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IDragSourceHelper
-  DECLARE_INTERFACE_(IDragSourceHelper,IUnknown) {
-    STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi,IDataObject *pDataObject) PURE;
-    STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd,POINT *ppt,IDataObject *pDataObject) PURE;
-  };
-
-#define CFSTR_SHELLIDLIST TEXT("Shell IDList Array")
-#define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets")
-#define CFSTR_NETRESOURCES TEXT("Net Resource")
-#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor")
-#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW")
-#define CFSTR_FILECONTENTS TEXT("FileContents")
-#define CFSTR_FILENAMEA TEXT("FileName")
-#define CFSTR_FILENAMEW TEXT("FileNameW")
-#define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName")
-#define CFSTR_FILENAMEMAPA TEXT("FileNameMap")
-#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW")
-#define CFSTR_SHELLURL TEXT("UniformResourceLocator")
-#define CFSTR_INETURLA CFSTR_SHELLURL
-#define CFSTR_INETURLW TEXT("UniformResourceLocatorW")
-#define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect")
-#define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect")
-#define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded")
-#define CFSTR_INDRAGLOOP TEXT("InShellDragLoop")
-#define CFSTR_DRAGCONTEXT TEXT("DragContext")
-#define CFSTR_MOUNTEDVOLUME TEXT("MountedVolume")
-#define CFSTR_PERSISTEDDATAOBJECT TEXT("PersistedDataObject")
-#define CFSTR_TARGETCLSID TEXT("TargetCLSID")
-#define CFSTR_LOGICALPERFORMEDDROPEFFECT TEXT("Logical Performed DropEffect")
-#define CFSTR_AUTOPLAY_SHELLIDLISTS TEXT("Autoplay Enumerated IDList Array")
-#define CFSTR_UNTRUSTEDDRAGDROP TEXT("UntrustedDragDrop")
-
-#define CFSTR_FILEDESCRIPTOR __MINGW_NAME_AW(CFSTR_FILEDESCRIPTOR)
-#define CFSTR_FILENAME __MINGW_NAME_AW(CFSTR_FILENAME)
-#define CFSTR_FILENAMEMAP __MINGW_NAME_AW(CFSTR_FILENAMEMAP)
-#define CFSTR_INETURL __MINGW_NAME_AW(CFSTR_INETURL)
-
-#define DVASPECT_SHORTNAME 2
-#define DVASPECT_COPY 3
-#define DVASPECT_LINK 4
-
-#include <pshpack8.h>
-
-  typedef struct _NRESARRAY {
-    UINT cItems;
-    NETRESOURCE nr[1];
-  } NRESARRAY,*LPNRESARRAY;
-#include <poppack.h>
-
-  typedef struct _IDA {
-    UINT cidl;
-    UINT aoffset[1];
-  } CIDA,*LPIDA;
-
-  typedef enum {
-    FD_CLSID = 0x0001,FD_SIZEPOINT = 0x0002,FD_ATTRIBUTES = 0x0004,FD_CREATETIME = 0x0008,FD_ACCESSTIME = 0x0010,FD_WRITESTIME = 0x0020,
-    FD_FILESIZE = 0x0040,FD_PROGRESSUI = 0x4000,FD_LINKUI = 0x8000
-  } FD_FLAGS;
-
-  typedef struct _FILEDESCRIPTORA {
-    DWORD dwFlags;
-
-    CLSID clsid;
-    SIZEL sizel;
-    POINTL pointl;
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    CHAR cFileName[MAX_PATH ];
-  } FILEDESCRIPTORA,*LPFILEDESCRIPTORA;
-
-  typedef struct _FILEDESCRIPTORW {
-    DWORD dwFlags;
-    CLSID clsid;
-    SIZEL sizel;
-    POINTL pointl;
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    WCHAR cFileName[MAX_PATH ];
-  } FILEDESCRIPTORW,*LPFILEDESCRIPTORW;
-
-#define FILEDESCRIPTOR __MINGW_NAME_AW(FILEDESCRIPTOR)
-#define LPFILEDESCRIPTOR __MINGW_NAME_AW(LPFILEDESCRIPTOR)
-
-  typedef struct _FILEGROUPDESCRIPTORA {
-    UINT cItems;
-    FILEDESCRIPTORA fgd[1];
-  } FILEGROUPDESCRIPTORA,*LPFILEGROUPDESCRIPTORA;
-
-  typedef struct _FILEGROUPDESCRIPTORW {
-    UINT cItems;
-    FILEDESCRIPTORW fgd[1];
-  } FILEGROUPDESCRIPTORW,*LPFILEGROUPDESCRIPTORW;
-
-#define FILEGROUPDESCRIPTOR __MINGW_NAME_AW(FILEGROUPDESCRIPTOR)
-#define LPFILEGROUPDESCRIPTOR __MINGW_NAME_AW(LPFILEGROUPDESCRIPTOR)
-
-  typedef struct _DROPFILES {
-    DWORD pFiles;
-    POINT pt;
-    WINBOOL fNC;
-    WINBOOL fWide;
-  } DROPFILES,*LPDROPFILES;
-
-  typedef struct _SHChangeNotifyEntry {
-    LPCITEMIDLIST pidl;
-    WINBOOL fRecursive;
-  } SHChangeNotifyEntry;
-
-#define SHCNE_RENAMEITEM __MSABI_LONG(0x00000001)
-#define SHCNE_CREATE __MSABI_LONG(0x00000002)
-#define SHCNE_DELETE __MSABI_LONG(0x00000004)
-#define SHCNE_MKDIR __MSABI_LONG(0x00000008)
-#define SHCNE_RMDIR __MSABI_LONG(0x00000010)
-#define SHCNE_MEDIAINSERTED __MSABI_LONG(0x00000020)
-#define SHCNE_MEDIAREMOVED __MSABI_LONG(0x00000040)
-#define SHCNE_DRIVEREMOVED __MSABI_LONG(0x00000080)
-#define SHCNE_DRIVEADD __MSABI_LONG(0x00000100)
-#define SHCNE_NETSHARE __MSABI_LONG(0x00000200)
-#define SHCNE_NETUNSHARE __MSABI_LONG(0x00000400)
-#define SHCNE_ATTRIBUTES __MSABI_LONG(0x00000800)
-#define SHCNE_UPDATEDIR __MSABI_LONG(0x00001000)
-#define SHCNE_UPDATEITEM __MSABI_LONG(0x00002000)
-#define SHCNE_SERVERDISCONNECT __MSABI_LONG(0x00004000)
-#define SHCNE_UPDATEIMAGE __MSABI_LONG(0x00008000)
-#define SHCNE_DRIVEADDGUI __MSABI_LONG(0x00010000)
-#define SHCNE_RENAMEFOLDER __MSABI_LONG(0x00020000)
-#define SHCNE_FREESPACE __MSABI_LONG(0x00040000)
-#define SHCNE_EXTENDED_EVENT __MSABI_LONG(0x04000000)
-
-#define SHCNE_ASSOCCHANGED __MSABI_LONG(0x08000000)
-
-#define SHCNE_DISKEVENTS __MSABI_LONG(0x0002381F)
-#define SHCNE_GLOBALEVENTS __MSABI_LONG(0x0C0581E0)
-#define SHCNE_ALLEVENTS __MSABI_LONG(0x7FFFFFFF)
-#define SHCNE_INTERRUPT __MSABI_LONG(0x80000000)
-
-#define SHCNEE_ORDERCHANGED __MSABI_LONG(2)
-#define SHCNEE_MSI_CHANGE __MSABI_LONG(4)
-#define SHCNEE_MSI_UNINSTALL __MSABI_LONG(5)
-
-#define SHCNF_IDLIST 0x0000
-#define SHCNF_PATHA 0x0001
-#define SHCNF_PRINTERA 0x0002
-#define SHCNF_DWORD 0x0003
-#define SHCNF_PATHW 0x0005
-#define SHCNF_PRINTERW 0x0006
-#define SHCNF_TYPE 0x00FF
-#define SHCNF_FLUSH 0x1000
-#define SHCNF_FLUSHNOWAIT 0x2000
-
-#define SHCNF_PATH __MINGW_NAME_AW(SHCNF_PATH)
-#define SHCNF_PRINTER __MINGW_NAME_AW(SHCNF_PRINTER)
-
-  SHSTDAPI_(void) SHChangeNotify(LONG wEventId,UINT uFlags,LPCVOID dwItem1,LPCVOID dwItem2);
-
-#undef INTERFACE
-#define INTERFACE IShellChangeNotify
-  DECLARE_INTERFACE_(IShellChangeNotify,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(OnChange) (THIS_ LONG lEvent,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2) PURE;
-  };
-
-#undef INTERFACE
-#define INTERFACE IQueryInfo
-  DECLARE_INTERFACE_(IQueryInfo,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetInfoTip)(THIS_ DWORD dwFlags,WCHAR **ppwszTip) PURE;
-    STDMETHOD(GetInfoFlags)(THIS_ DWORD *pdwFlags) PURE;
-  };
-
-#define QITIPF_DEFAULT 0x00000000
-#define QITIPF_USENAME 0x00000001
-#define QITIPF_LINKNOTARGET 0x00000002
-#define QITIPF_LINKUSETARGET 0x00000004
-#define QITIPF_USESLOWTIP 0x00000008
-
-#define QIF_CACHED 0x00000001
-#define QIF_DONTEXPANDFOLDER 0x00000002
-
-  typedef enum enum_SHARD{
-    SHARD_PIDL = 0x00000001,
-    SHARD_PATHA = 0x00000002,
-    SHARD_PATHW = 0x00000003,
-    SHARD_APPIDINFO = 0x00000004,
-    SHARD_APPIDINFOIDLIST = 0x00000005,
-    SHARD_LINK = 0x00000006,
-    SHARD_APPIDINFOLINK = 0x00000007,
-    SHARD_SHELLITEM = 0x00000008
-  } SHARD;
-
-#define SHARD_PATH __MINGW_NAME_AW(SHARD_PATH)
-
-  SHSTDAPI_(void) SHAddToRecentDocs(UINT uFlags,LPCVOID pv);
-
-  typedef struct _SHChangeDWORDAsIDList {
-    USHORT cb;
-    DWORD dwItem1;
-    DWORD dwItem2;
-    USHORT cbZero;
-  } SHChangeDWORDAsIDList,*LPSHChangeDWORDAsIDList;
-
-  typedef struct _SHChangeUpdateImageIDList {
-    USHORT cb;
-    int iIconIndex;
-    int iCurIndex;
-    UINT uFlags;
-    DWORD dwProcessID;
-    WCHAR szName[MAX_PATH];
-    USHORT cbZero;
-  } SHChangeUpdateImageIDList,*LPSHChangeUpdateImageIDList;
-
-  SHSTDAPI_(int) SHHandleUpdateImage(LPCITEMIDLIST pidlExtra);
-
-  typedef struct _SHChangeProductKeyAsIDList {
-    USHORT cb;
-    WCHAR wszProductKey[39];
-    USHORT cbZero;
-  } SHChangeProductKeyAsIDList,*LPSHChangeProductKeyAsIDList;
-
-#define SHUpdateImage __MINGW_NAME_AW(SHUpdateImage)
-
-  SHSTDAPI_(void) SHUpdateImageA(LPCSTR pszHashItem,int iIndex,UINT uFlags,int iImageIndex);
-  SHSTDAPI_(void) SHUpdateImageW(LPCWSTR pszHashItem,int iIndex,UINT uFlags,int iImageIndex);
-  SHSTDAPI_(ULONG) SHChangeNotifyRegister(HWND hwnd,int fSources,LONG fEvents,UINT wMsg,int cEntries,SHChangeNotifyEntry *pshcne);
-  SHSTDAPI_(WINBOOL) SHChangeNotifyDeregister(unsigned long ulID);
-  SHSTDAPI_(HANDLE) SHChangeNotification_Lock(HANDLE hChangeNotification,DWORD dwProcessId,LPITEMIDLIST **pppidl,LONG *plEvent);
-  SHSTDAPI_(WINBOOL) SHChangeNotification_Unlock(HANDLE hLock);
-  SHSTDAPI SHGetRealIDL(IShellFolder *psf,LPCITEMIDLIST pidlSimple,LPITEMIDLIST *ppidlReal);
-  SHSTDAPI SHGetInstanceExplorer(IUnknown **ppunk);
-
-#define SHGDFIL_FINDDATA 1
-#define SHGDFIL_NETRESOURCE 2
-#define SHGDFIL_DESCRIPTIONID 3
-
-#define SHDID_ROOT_REGITEM 1
-#define SHDID_FS_FILE 2
-#define SHDID_FS_DIRECTORY 3
-#define SHDID_FS_OTHER 4
-#define SHDID_COMPUTER_DRIVE35 5
-#define SHDID_COMPUTER_DRIVE525 6
-#define SHDID_COMPUTER_REMOVABLE 7
-#define SHDID_COMPUTER_FIXED 8
-#define SHDID_COMPUTER_NETDRIVE 9
-#define SHDID_COMPUTER_CDROM 10
-#define SHDID_COMPUTER_RAMDISK 11
-#define SHDID_COMPUTER_OTHER 12
-#define SHDID_NET_DOMAIN 13
-#define SHDID_NET_SERVER 14
-#define SHDID_NET_SHARE 15
-#define SHDID_NET_RESTOFNET 16
-#define SHDID_NET_OTHER 17
-#define SHDID_COMPUTER_IMAGING 18
-#define SHDID_COMPUTER_AUDIO 19
-#define SHDID_COMPUTER_SHAREDDOCS 20
-
-#include <pshpack8.h>
-
-  typedef struct _SHDESCRIPTIONID {
-    DWORD dwDescriptionId;
-    CLSID clsid;
-  } SHDESCRIPTIONID,*LPSHDESCRIPTIONID;
-
-#include <poppack.h>
-
-#define SHGetDataFromIDList __MINGW_NAME_AW(SHGetDataFromIDList)
-
-  SHSTDAPI SHGetDataFromIDListA(IShellFolder *psf,LPCITEMIDLIST pidl,int nFormat,void *pv,int cb);
-  SHSTDAPI SHGetDataFromIDListW(IShellFolder *psf,LPCITEMIDLIST pidl,int nFormat,void *pv,int cb);
-
-#define PRF_VERIFYEXISTS 0x0001
-#define PRF_TRYPROGRAMEXTENSIONS (0x0002 | PRF_VERIFYEXISTS)
-#define PRF_FIRSTDIRDEF 0x0004
-#define PRF_DONTFINDLNK 0x0008
-  SHSTDAPI_(int) RestartDialog(HWND hwnd,LPCWSTR lpPrompt,DWORD dwReturn);
-  SHSTDAPI_(int) RestartDialogEx(HWND hwnd,LPCWSTR lpPrompt,DWORD dwReturn,DWORD dwReasonCode);
-  SHSTDAPI SHCoCreateInstance(LPCWSTR pszCLSID,const CLSID *pclsid,IUnknown *pUnkOuter,REFIID riid,void **ppv);
-  DECLARE_HANDLE(FARPROC16);
-  SHSTDAPI_(LRESULT) CallCPLEntry16(HINSTANCE hinst,FARPROC16 lpfnEntry,HWND hwndCPL,UINT msg,LPARAM lParam1,LPARAM lParam2);
-  SHSTDAPI SHCreateStdEnumFmtEtc(UINT cfmt,const FORMATETC afmt[],IEnumFORMATETC **ppenumFormatEtc);
-  SHSTDAPI SHDoDragDrop(HWND hwnd,IDataObject *pdata,IDropSource *pdsrc,DWORD dwEffect,DWORD *pdwEffect);
-
-#define NUM_POINTS 3
-  typedef struct {
-    int iNextSample;
-    DWORD dwLastScroll;
-    WINBOOL bFull;
-    POINT pts[NUM_POINTS];
-    DWORD dwTimes[NUM_POINTS];
-  } AUTO_SCROLL_DATA;
-
-  SHSTDAPI_(WINBOOL) DAD_SetDragImage(HIMAGELIST him,POINT *pptOffset);
-  SHSTDAPI_(WINBOOL) DAD_DragEnterEx(HWND hwndTarget,const POINT ptStart);
-  SHSTDAPI_(WINBOOL) DAD_DragEnterEx2(HWND hwndTarget,const POINT ptStart,IDataObject *pdtObject);
-  SHSTDAPI_(WINBOOL) DAD_ShowDragImage(WINBOOL fShow);
-  SHSTDAPI_(WINBOOL) DAD_DragMove(POINT pt);
-  SHSTDAPI_(WINBOOL) DAD_DragLeave(void);
-  SHSTDAPI_(WINBOOL) DAD_AutoScroll(HWND hwnd,AUTO_SCROLL_DATA *pad,const POINT *pptNow);
-
-  typedef struct {
-    WORD cLength;
-    WORD nVersion;
-    WINBOOL fFullPathTitle : 1;
-    WINBOOL fSaveLocalView : 1;
-    WINBOOL fNotShell : 1;
-    WINBOOL fSimpleDefault : 1;
-    WINBOOL fDontShowDescBar : 1;
-    WINBOOL fNewWindowMode : 1;
-    WINBOOL fShowCompColor : 1;
-    WINBOOL fDontPrettyNames : 1;
-    WINBOOL fAdminsCreateCommonGroups : 1;
-    UINT fUnusedFlags : 7;
-    UINT fMenuEnumFilter;
-  } CABINETSTATE,*LPCABINETSTATE;
-
-#define CABINETSTATE_VERSION 2
-
-#define PathIsSlow __MINGW_NAME_AW(PathIsSlow)
-
-  SHSTDAPI_(WINBOOL) ReadCabinetState(LPCABINETSTATE lpState,int iSize);
-  SHSTDAPI_(WINBOOL) WriteCabinetState(LPCABINETSTATE lpState);
-  SHSTDAPI_(WINBOOL) PathMakeUniqueName(LPWSTR pszUniqueName,UINT cchMax,LPCWSTR pszTemplate,LPCWSTR pszLongPlate,LPCWSTR pszDir);
-  SHSTDAPI_(void) PathQualify(LPWSTR psz);
-  SHSTDAPI_(WINBOOL) PathIsExe(LPCWSTR pszPath);
-  SHSTDAPI_(WINBOOL) PathIsSlowA(LPCSTR pszFile,DWORD dwAttr);
-  SHSTDAPI_(WINBOOL) PathIsSlowW(LPCWSTR pszFile,DWORD dwAttr);
-
-#define PCS_FATAL 0x80000000
-#define PCS_REPLACEDCHAR 0x00000001
-#define PCS_REMOVEDCHAR 0x00000002
-#define PCS_TRUNCATED 0x00000004
-#define PCS_PATHTOOLONG 0x00000008
-
-  SHSTDAPI_(int) PathCleanupSpec(LPCWSTR pszDir,LPWSTR pszSpec);
-  SHSTDAPI_(int) PathResolve(LPWSTR pszPath,LPCWSTR dirs[],UINT fFlags);
-  SHSTDAPI_(WINBOOL) GetFileNameFromBrowse(HWND hwnd,LPWSTR pszFilePath,UINT cbFilePath,LPCWSTR pszWorkingDir,LPCWSTR pszDefExt,LPCWSTR pszFilters,LPCWSTR pszTitle);
-  SHSTDAPI_(int) DriveType(int iDrive);
-  SHSTDAPI_(int) RealDriveType(int iDrive,WINBOOL fOKToHitNet);
-  SHSTDAPI_(int) IsNetDrive(int iDrive);
-
-#define MM_ADDSEPARATOR __MSABI_LONG(0x00000001)
-#define MM_SUBMENUSHAVEIDS __MSABI_LONG(0x00000002)
-#define MM_DONTREMOVESEPS __MSABI_LONG(0x00000004)
-
-  SHSTDAPI_(UINT) Shell_MergeMenus(HMENU hmDst,HMENU hmSrc,UINT uInsert,UINT uIDAdjust,UINT uIDAdjustMax,ULONG uFlags);
-  SHSTDAPI_(WINBOOL) SHObjectProperties(HWND hwnd,DWORD dwType,LPCWSTR lpObject,LPCWSTR lpPage);
-
-#define SHOP_PRINTERNAME 0x00000001
-#define SHOP_FILEPATH 0x00000002
-#define SHOP_VOLUMEGUID 0x00000004
-
-  SHSTDAPI_(DWORD) SHFormatDrive(HWND hwnd,UINT drive,UINT fmtID,UINT options);
-
-#define SHFMT_ID_DEFAULT 0xFFFF
-
-#define SHFMT_OPT_FULL 0x0001
-#define SHFMT_OPT_SYSONLY 0x0002
-
-#define SHFMT_ERROR __MSABI_LONG(0xFFFFFFFF)
-#define SHFMT_CANCEL __MSABI_LONG(0xFFFFFFFE)
-#define SHFMT_NOFORMAT __MSABI_LONG(0xFFFFFFFD)
-
-#ifndef HPSXA_DEFINED
-#define HPSXA_DEFINED
-  DECLARE_HANDLE(HPSXA);
-#endif
-  WINSHELLAPI HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey,LPCWSTR pszSubKey,UINT max_iface);
-  WINSHELLAPI void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa);
-  WINSHELLAPI UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa,LPFNADDPROPSHEETPAGE lpfnAddPage,LPARAM lParam);
-  WINSHELLAPI UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa,UINT uPageID,LPFNADDPROPSHEETPAGE lpfnReplaceWith,LPARAM lParam);
-  SHSTDAPI_(LPITEMIDLIST) ILClone(LPCITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) ILGetNext(LPCITEMIDLIST pidl);
-  SHSTDAPI_(UINT) ILGetSize(LPCITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) ILFindLastID(LPCITEMIDLIST pidl);
-  SHSTDAPI_(WINBOOL) ILRemoveLastID(LPITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) ILAppendID(LPITEMIDLIST pidl,LPCSHITEMID pmkid,WINBOOL fAppend);
-  SHSTDAPI_(void) ILFree(LPITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) ILCloneFirst(LPCITEMIDLIST pidl);
-  SHSTDAPI_(WINBOOL) ILIsEqual(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
-  SHSTDAPI_(WINBOOL) ILIsParent(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2,WINBOOL fImmediate);
-  SHSTDAPI_(LPITEMIDLIST) ILFindChild(LPCITEMIDLIST pidlParent,LPCITEMIDLIST pidlChild);
-  SHSTDAPI_(LPITEMIDLIST) ILCombine(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
-  SHSTDAPI ILLoadFromStream(IStream *pstm,LPITEMIDLIST *pidl);
-  SHSTDAPI ILSaveToStream(IStream *pstm,LPCITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) ILCreateFromPathA(LPCSTR pszPath);
-  SHSTDAPI_(LPITEMIDLIST) ILCreateFromPathW(LPCWSTR pszPath);
-
-#ifdef NO_WRAPPERS_FOR_ILCREATEFROMPATH
-  SHSTDAPI_(LPITEMIDLIST) ILCreateFromPath(LPCTSTR pszPath);
-#else
-#define ILCreateFromPath __MINGW_NAME_AW(ILCreateFromPath)
-#endif
-  SHSTDAPI SHILCreateFromPath(LPCWSTR szPath,LPITEMIDLIST *ppidl,DWORD *rgfInOut);
-
-#undef INTERFACE
-#define INTERFACE IDefViewFrame
-  DECLARE_INTERFACE_(IDefViewFrame,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(GetWindowLV) (THIS_ HWND *phwnd) PURE;
-    STDMETHOD(ReleaseWindowLV) (THIS) PURE;
-    STDMETHOD(GetShellFolder)(THIS_ IShellFolder **ppsf) PURE;
-  };
-
-  typedef enum RESTRICTIONS {
-    REST_NONE = 0x00000000,REST_NORUN = 0x00000001,REST_NOCLOSE = 0x00000002,REST_NOSAVESET = 0x00000004,REST_NOFILEMENU = 0x00000008,
-    REST_NOSETFOLDERS = 0x00000010,REST_NOSETTASKBAR = 0x00000020,REST_NODESKTOP = 0x00000040,REST_NOFIND = 0x00000080,
-    REST_NODRIVES = 0x00000100,REST_NODRIVEAUTORUN = 0x00000200,REST_NODRIVETYPEAUTORUN = 0x00000400,REST_NONETHOOD = 0x00000800,
-    REST_STARTBANNER = 0x00001000,REST_RESTRICTRUN = 0x00002000,REST_NOPRINTERTABS = 0x00004000,REST_NOPRINTERDELETE = 0x00008000,
-    REST_NOPRINTERADD = 0x00010000,REST_NOSTARTMENUSUBFOLDERS = 0x00020000,REST_MYDOCSONNET = 0x00040000,REST_NOEXITTODOS = 0x00080000,
-    REST_ENFORCESHELLEXTSECURITY = 0x00100000,REST_LINKRESOLVEIGNORELINKINFO = 0x00200000,REST_NOCOMMONGROUPS = 0x00400000,
-    REST_SEPARATEDESKTOPPROCESS = 0x00800000,REST_NOWEB = 0x01000000,REST_NOTRAYCONTEXTMENU = 0x02000000,REST_NOVIEWCONTEXTMENU = 0x04000000,
-    REST_NONETCONNECTDISCONNECT = 0x08000000,REST_STARTMENULOGOFF = 0x10000000,REST_NOSETTINGSASSIST = 0x20000000,REST_NOINTERNETICON = 0x40000001,
-    REST_NORECENTDOCSHISTORY = 0x40000002,REST_NORECENTDOCSMENU = 0x40000003,REST_NOACTIVEDESKTOP = 0x40000004,REST_NOACTIVEDESKTOPCHANGES = 0x40000005,
-    REST_NOFAVORITESMENU = 0x40000006,REST_CLEARRECENTDOCSONEXIT = 0x40000007,REST_CLASSICSHELL = 0x40000008,REST_NOCUSTOMIZEWEBVIEW = 0x40000009,
-    REST_NOHTMLWALLPAPER = 0x40000010,REST_NOCHANGINGWALLPAPER = 0x40000011,REST_NODESKCOMP = 0x40000012,REST_NOADDDESKCOMP = 0x40000013,
-    REST_NODELDESKCOMP = 0x40000014,REST_NOCLOSEDESKCOMP = 0x40000015,REST_NOCLOSE_DRAGDROPBAND = 0x40000016,REST_NOMOVINGBAND = 0x40000017,
-    REST_NOEDITDESKCOMP = 0x40000018,REST_NORESOLVESEARCH = 0x40000019,REST_NORESOLVETRACK = 0x4000001A,REST_FORCECOPYACLWITHFILE = 0X4000001B,
-    REST_NOLOGO3CHANNELNOTIFY = 0x4000001C,REST_NOFORGETSOFTWAREUPDATE = 0x4000001D,REST_NOSETACTIVEDESKTOP = 0x4000001E,
-    REST_NOUPDATEWINDOWS = 0x4000001F,REST_NOCHANGESTARMENU = 0x40000020,REST_NOFOLDEROPTIONS = 0x40000021,REST_HASFINDCOMPUTERS = 0x40000022,
-    REST_INTELLIMENUS = 0x40000023,REST_RUNDLGMEMCHECKBOX = 0x40000024,REST_ARP_ShowPostSetup = 0x40000025,REST_NOCSC = 0x40000026,
-    REST_NOCONTROLPANEL = 0x40000027,REST_ENUMWORKGROUP = 0x40000028,REST_ARP_NOARP = 0x40000029,REST_ARP_NOREMOVEPAGE = 0x4000002A,
-    REST_ARP_NOADDPAGE = 0x4000002B,REST_ARP_NOWINSETUPPAGE = 0x4000002C,REST_GREYMSIADS = 0x4000002D,REST_NOCHANGEMAPPEDDRIVELABEL = 0x4000002E,
-    REST_NOCHANGEMAPPEDDRIVECOMMENT = 0x4000002F,REST_MaxRecentDocs = 0x40000030,REST_NONETWORKCONNECTIONS = 0x40000031,
-    REST_FORCESTARTMENULOGOFF = 0x40000032,REST_NOWEBVIEW = 0x40000033,REST_NOCUSTOMIZETHISFOLDER = 0x40000034,REST_NOENCRYPTION = 0x40000035,
-    REST_DONTSHOWSUPERHIDDEN = 0x40000037,REST_NOSHELLSEARCHBUTTON = 0x40000038,REST_NOHARDWARETAB = 0x40000039,REST_NORUNASINSTALLPROMPT = 0x4000003A,
-    REST_PROMPTRUNASINSTALLNETPATH = 0x4000003B,REST_NOMANAGEMYCOMPUTERVERB = 0x4000003C,REST_NORECENTDOCSNETHOOD = 0x4000003D,
-    REST_DISALLOWRUN = 0x4000003E,REST_NOWELCOMESCREEN = 0x4000003F,REST_RESTRICTCPL = 0x40000040,REST_DISALLOWCPL = 0x40000041,
-    REST_NOSMBALLOONTIP = 0x40000042,REST_NOSMHELP = 0x40000043,REST_NOWINKEYS = 0x40000044,REST_NOENCRYPTONMOVE = 0x40000045,
-    REST_NOLOCALMACHINERUN = 0x40000046,REST_NOCURRENTUSERRUN = 0x40000047,REST_NOLOCALMACHINERUNONCE = 0x40000048,
-    REST_NOCURRENTUSERRUNONCE = 0x40000049,REST_FORCEACTIVEDESKTOPON = 0x4000004A,REST_NOCOMPUTERSNEARME = 0x4000004B,REST_NOVIEWONDRIVE = 0x4000004C,
-    REST_NONETCRAWL = 0x4000004D,REST_NOSHAREDDOCUMENTS = 0x4000004E,REST_NOSMMYDOCS = 0x4000004F,REST_NOSMMYPICS = 0x40000050,
-    REST_ALLOWBITBUCKDRIVES = 0x40000051,REST_NONLEGACYSHELLMODE = 0x40000052,REST_NOCONTROLPANELBARRICADE = 0x40000053,REST_NOSTARTPAGE = 0x40000054,
-    REST_NOAUTOTRAYNOTIFY = 0x40000055,REST_NOTASKGROUPING = 0x40000056,REST_NOCDBURNING = 0x40000057,REST_MYCOMPNOPROP = 0x40000058,
-    REST_MYDOCSNOPROP = 0x40000059,REST_NOSTARTPANEL = 0x4000005A,REST_NODISPLAYAPPEARANCEPAGE = 0x4000005B,REST_NOTHEMESTAB = 0x4000005C,
-    REST_NOVISUALSTYLECHOICE = 0x4000005D,REST_NOSIZECHOICE = 0x4000005E,REST_NOCOLORCHOICE = 0x4000005F,REST_SETVISUALSTYLE = 0x40000060,
-    REST_STARTRUNNOHOMEPATH = 0x40000061,REST_NOUSERNAMEINSTARTPANEL = 0x40000062,REST_NOMYCOMPUTERICON = 0x40000063,REST_NOSMNETWORKPLACES = 0x40000064,
-    REST_NOSMPINNEDLIST = 0x40000065,REST_NOSMMYMUSIC = 0x40000066,REST_NOSMEJECTPC = 0x40000067,REST_NOSMMOREPROGRAMS = 0x40000068,
-    REST_NOSMMFUPROGRAMS = 0x40000069,REST_NOTRAYITEMSDISPLAY = 0x4000006A,REST_NOTOOLBARSONTASKBAR = 0x4000006B,REST_NOSMCONFIGUREPROGRAMS = 0x4000006F,
-    REST_HIDECLOCK = 0x40000070,REST_NOLOWDISKSPACECHECKS = 0x40000071,REST_NOENTIRENETWORK = 0x40000072,REST_NODESKTOPCLEANUP = 0x40000073,
-    REST_BITBUCKNUKEONDELETE = 0x40000074,REST_BITBUCKCONFIRMDELETE = 0x40000075,REST_BITBUCKNOPROP = 0x40000076,REST_NODISPBACKGROUND = 0x40000077,
-    REST_NODISPSCREENSAVEPG = 0x40000078,REST_NODISPSETTINGSPG = 0x40000079,REST_NODISPSCREENSAVEPREVIEW = 0x4000007A,REST_NODISPLAYCPL = 0x4000007B,
-    REST_HIDERUNASVERB = 0x4000007C,REST_NOTHUMBNAILCACHE = 0x4000007D,REST_NOSTRCMPLOGICAL = 0x4000007E,REST_NOPUBLISHWIZARD = 0x4000007F,
-    REST_NOONLINEPRINTSWIZARD = 0x40000080,REST_NOWEBSERVICES = 0x40000081,REST_ALLOWUNHASHEDWEBVIEW = 0x40000082,REST_ALLOWLEGACYWEBVIEW = 0x40000083,
-    REST_REVERTWEBVIEWSECURITY = 0x40000084,REST_INHERITCONSOLEHANDLES = 0x40000086,REST_SORTMAXITEMCOUNT = 0x40000087,
-    REST_NOREMOTERECURSIVEEVENTS = 0x40000089,REST_NOREMOTECHANGENOTIFY = 0x40000091,REST_NOSIMPLENETIDLIST = 0x40000092,
-    REST_NOENUMENTIRENETWORK = 0x40000093,REST_NODETAILSTHUMBNAILONNETWORK= 0x40000094,REST_NOINTERNETOPENWITH = 0x40000095,
-    REST_ALLOWLEGACYLMZBEHAVIOR = 0x4000009A,REST_DONTRETRYBADNETNAME = 0x4000009B,REST_ALLOWFILECLSIDJUNCTIONS = 0x4000009C,
-    REST_NOUPNPINSTALL = 0x4000009D,REST_NODISCONNECT = 0x41000001,REST_NOSECURITY = 0x41000002,REST_NOFILEASSOCIATE = 0x41000003,
-    REST_ALLOWCOMMENTTOGGLE = 0x41000004,REST_USEDESKTOPINICACHE = 0x41000005
-  } RESTRICTIONS;
-
-  SHSTDAPI_(IStream *) OpenRegStream(HKEY hkey,LPCWSTR pszSubkey,LPCWSTR pszValue,DWORD grfMode);
-  SHSTDAPI_(WINBOOL) SHFindFiles(LPCITEMIDLIST pidlFolder,LPCITEMIDLIST pidlSaveFile);
-  SHSTDAPI_(void) PathGetShortPath(LPWSTR pszLongPath);
-  SHSTDAPI_(WINBOOL) PathYetAnotherMakeUniqueName(LPWSTR pszUniqueName,LPCWSTR pszPath,LPCWSTR pszShort,LPCWSTR pszFileSpec);
-  SHSTDAPI_(WINBOOL) Win32DeleteFile(LPCWSTR pszPath);
-
-#define PPCF_ADDQUOTES 0x00000001
-#define PPCF_ADDARGUMENTS 0x00000003
-#define PPCF_NODIRECTORIES 0x00000010
-#define PPCF_FORCEQUALIFY 0x00000040
-#define PPCF_LONGESTPOSSIBLE 0x00000080
-
-#define SHStartNetConnectionDialog __MINGW_NAME_AW(SHStartNetConnectionDialog)
-#define SHDefExtractIcon __MINGW_NAME_AW(SHDefExtractIcon)
-
-  SHSTDAPI_(LONG) PathProcessCommand(LPCWSTR lpSrc,LPWSTR lpDest,int iMax,DWORD dwFlags);
-  SHSTDAPI_(DWORD) SHRestricted(RESTRICTIONS rest);
-  SHSTDAPI_(WINBOOL) SignalFileOpen(LPCITEMIDLIST pidl);
-  SHSTDAPI_(LPITEMIDLIST) SHSimpleIDListFromPath(LPCWSTR pszPath);
-  SHSTDAPI SHLoadOLE(LPARAM lParam);
-  SHSTDAPI SHStartNetConnectionDialogA(HWND hwnd,LPCSTR pszRemoteName,DWORD dwType);
-  SHSTDAPI SHStartNetConnectionDialogW(HWND hwnd,LPCWSTR pszRemoteName,DWORD dwType);
-  SHSTDAPI SHDefExtractIconA(LPCSTR pszIconFile,int iIndex,UINT uFlags,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize);
-  SHSTDAPI SHDefExtractIconW(LPCWSTR pszIconFile,int iIndex,UINT uFlags,HICON *phiconLarge,HICON *phiconSmall,UINT nIconSize);
-  SHSTDAPI_(WINBOOL) Shell_GetImageLists(HIMAGELIST *phiml,HIMAGELIST *phimlSmall);
-  SHSTDAPI_(int) Shell_GetCachedImageIndex(LPCWSTR pszIconPath,int iIconIndex,UINT uIconFlags);
-
-    enum tagOPEN_AS_INFO_FLAGS {
-        OAIF_ALLOW_REGISTRATION = 0x0001,
-        OAIF_REGISTER_EXT       = 0x0002,
-        OAIF_EXEC               = 0x0004,
-        OAIF_FORCE_REGISTRATION = 0x0008,
-        OAIF_HIDE_REGISTRATION  = 0x0020,
-        OAIF_URL_PROTOCOL       = 0x0040
-    };
-    typedef int OPEN_AS_INFO_FLAGS;
-
-#include <pshpack8.h>
-    typedef struct _openasinfo {
-        LPCWSTR pcszFile;
-        LPCWSTR pcszClass;
-        OPEN_AS_INFO_FLAGS oaifInFlags;
-    } OPENASINFO, *POPENASINFO;
-#include <poppack.h>
-
-#undef INTERFACE
-#define INTERFACE IDocViewSite
-  DECLARE_INTERFACE_(IDocViewSite,IUnknown) {
-    STDMETHOD(QueryInterface)(THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
-    STDMETHOD_(ULONG,Release)(THIS) PURE;
-    STDMETHOD(OnSetTitle) (THIS_ VARIANTARG *pvTitle) PURE;
-  };
-#define VALIDATEUNC_NOUI 0x0002
-#define VALIDATEUNC_CONNECT 0x0001
-#define VALIDATEUNC_PRINT 0x0004
-#define VALIDATEUNC_VALID 0x0007
-
-  SHSTDAPI_(WINBOOL) SHValidateUNC(HWND hwndOwner,LPWSTR pszFile,UINT fConnect);
-#define OPENPROPS_NONE 0x0000
-#define OPENPROPS_INHIBITPIF 0x8000
-#define GETPROPS_NONE 0x0000
-#define SETPROPS_NONE 0x0000
-#define CLOSEPROPS_NONE 0x0000
-#define CLOSEPROPS_DISCARD 0x0001
-
-#define PIFNAMESIZE 30
-#define PIFSTARTLOCSIZE 63
-#define PIFDEFPATHSIZE 64
-#define PIFPARAMSSIZE 64
-#define PIFSHPROGSIZE 64
-#define PIFSHDATASIZE 64
-#define PIFDEFFILESIZE 80
-#define PIFMAXFILEPATH 260
-
-  typedef struct PROPPRG {
-    WORD flPrg;
-    WORD flPrgInit;
-    CHAR achTitle[PIFNAMESIZE];
-    CHAR achCmdLine[PIFSTARTLOCSIZE+PIFPARAMSSIZE+1];
-    CHAR achWorkDir[PIFDEFPATHSIZE];
-    WORD wHotKey;
-    CHAR achIconFile[PIFDEFFILESIZE];
-    WORD wIconIndex;
-    DWORD dwEnhModeFlags;
-    DWORD dwRealModeFlags;
-    CHAR achOtherFile[PIFDEFFILESIZE];
-    CHAR achPIFFile[PIFMAXFILEPATH];
-  } PROPPRG;
-  typedef UNALIGNED PROPPRG *PPROPPRG;
-  typedef UNALIGNED PROPPRG *LPPROPPRG;
-  typedef const UNALIGNED PROPPRG *LPCPROPPRG;
-
-  SHSTDAPI_(HANDLE) PifMgr_OpenProperties(LPCWSTR pszApp,LPCWSTR pszPIF,UINT hInf,UINT flOpt);
-  SHSTDAPI_(int) PifMgr_GetProperties(HANDLE hProps,LPCSTR pszGroup,void *lpProps,int cbProps,UINT flOpt);
-  SHSTDAPI_(int) PifMgr_SetProperties(HANDLE hProps,LPCSTR pszGroup,const VOID *lpProps,int cbProps,UINT flOpt);
-  SHSTDAPI_(HANDLE) PifMgr_CloseProperties(HANDLE hProps,UINT flOpt);
-  SHSTDAPI_(void) SHSetInstanceExplorer(IUnknown *punk);
-  SHSTDAPI_(WINBOOL) IsUserAnAdmin(void);
-
-#undef INTERFACE
-#define INTERFACE IInitializeObject
-  DECLARE_INTERFACE_(IInitializeObject,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(Initialize)(THIS) PURE;
-  };
-
-  enum {
-    BMICON_LARGE = 0,BMICON_SMALL
-  };
-
-#undef INTERFACE
-#define INTERFACE IBanneredBar
-  DECLARE_INTERFACE_(IBanneredBar,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(SetIconSize)(THIS_ DWORD iIcon) PURE;
-    STDMETHOD(GetIconSize)(THIS_ DWORD *piIcon) PURE;
-    STDMETHOD(SetBitmap)(THIS_ HBITMAP hBitmap) PURE;
-    STDMETHOD(GetBitmap)(THIS_ HBITMAP *phBitmap) PURE;
-  };
-
-  SHSTDAPI_(LRESULT) SHShellFolderView_Message(HWND hwndMain,UINT uMsg,LPARAM lParam);
-
-#undef INTERFACE
-#define INTERFACE IShellFolderViewCB
-  DECLARE_INTERFACE_(IShellFolderViewCB,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(MessageSFVCB)(THIS_ UINT uMsg,WPARAM wParam,LPARAM lParam) PURE;
-  };
-
-#include <pshpack8.h>
-
-#undef UNSIZED_ARRAY2
-#undef EMPTY_SIZE2
-#define UNSIZED_ARRAY2
-#define EMPTY_SIZE2 UNSIZED_ARRAY2
-
-#define QCMINFO_PLACE_BEFORE 0
-#define QCMINFO_PLACE_AFTER 1
-  typedef struct _QCMINFO_IDMAP_PLACEMENT {
-    UINT id;
-    UINT fFlags;
-  } QCMINFO_IDMAP_PLACEMENT;
-
-  typedef struct _QCMINFO_IDMAP {
-    UINT nMaxIds;
-    QCMINFO_IDMAP_PLACEMENT pIdList[1];
-  } QCMINFO_IDMAP;
-
-  typedef struct _QCMINFO {
-    HMENU hmenu;
-    UINT indexMenu;
-    UINT idCmdFirst;
-    UINT idCmdLast;
-    QCMINFO_IDMAP const *pIdMap;
-  } QCMINFO;
-
-  typedef QCMINFO *LPQCMINFO;
-
-#define TBIF_APPEND 0
-#define TBIF_PREPEND 1
-#define TBIF_REPLACE 2
-#define TBIF_DEFAULT 0x00000000
-#define TBIF_INTERNETBAR 0x00010000
-#define TBIF_STANDARDTOOLBAR 0x00020000
-#define TBIF_NOTOOLBAR 0x00030000
-
-  typedef struct _TBINFO {
-    UINT cbuttons;
-    UINT uFlags;
-  } TBINFO;
-
-  typedef struct _DETAILSINFO {
-    LPCITEMIDLIST pidl;
-    int fmt;
-    int cxChar;
-    STRRET str;
-    int iImage;
-  } DETAILSINFO;
-
-  typedef struct _SFVM_PROPPAGE_DATA {
-    DWORD dwReserved;
-    LPFNADDPROPSHEETPAGE pfn;
-    LPARAM lParam;
-  } SFVM_PROPPAGE_DATA;
-
-  typedef struct _SFVM_HELPTOPIC_DATA {
-    WCHAR wszHelpFile[MAX_PATH];
-    WCHAR wszHelpTopic[MAX_PATH];
-  } SFVM_HELPTOPIC_DATA;
-
-#define SFVM_MERGEMENU 1
-#define SFVM_INVOKECOMMAND 2
-#define SFVM_GETHELPTEXT 3
-#define SFVM_GETTOOLTIPTEXT 4
-#define SFVM_GETBUTTONINFO 5
-#define SFVM_GETBUTTONS 6
-#define SFVM_INITMENUPOPUP 7
-#define SFVM_FSNOTIFY 14
-#define SFVM_WINDOWCREATED 15
-#define SFVM_GETDETAILSOF 23
-#define SFVM_COLUMNCLICK 24
-#define SFVM_QUERYFSNOTIFY 25
-#define SFVM_DEFITEMCOUNT 26
-#define SFVM_DEFVIEWMODE 27
-#define SFVM_UNMERGEMENU 28
-#define SFVM_UPDATESTATUSBAR 31
-#define SFVM_BACKGROUNDENUM 32
-#define SFVM_DIDDRAGDROP 36
-#define SFVM_SETISFV 39
-#define SFVM_THISIDLIST 41
-#define SFVM_ADDPROPERTYPAGES 47
-#define SFVM_BACKGROUNDENUMDONE 48
-#define SFVM_GETNOTIFY 49
-#define SFVM_GETSORTDEFAULTS 53
-#define SFVM_SIZE 57
-#define SFVM_GETZONE 58
-#define SFVM_GETPANE 59
-#define SFVM_GETHELPTOPIC 63
-#define SFVM_GETANIMATION 68
-
-  typedef struct _SFV_CREATE {
-    UINT cbSize;
-    IShellFolder *pshf;
-    IShellView *psvOuter;
-    IShellFolderViewCB *psfvcb;
-  } SFV_CREATE;
-
-  SHSTDAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv,IShellView **ppsv);
-
-  typedef HRESULT (CALLBACK *LPFNDFMCALLBACK)(IShellFolder *psf,HWND hwnd,IDataObject *pdtobj,UINT uMsg,WPARAM wParam,LPARAM lParam);
-
-#define SHOpenPropSheet __MINGW_NAME_AW(SHOpenPropSheet)
-
-  SHSTDAPI CDefFolderMenu_Create2(LPCITEMIDLIST pidlFolder,HWND hwnd,UINT cidl,LPCITEMIDLIST *apidl,IShellFolder *psf,LPFNDFMCALLBACK lpfn,UINT nKeys,const HKEY *ahkeyClsKeys,IContextMenu **ppcm);
-  SHSTDAPI_(WINBOOL) SHOpenPropSheetA(LPCSTR pszCaption,HKEY ahkeys[],UINT cikeys,const CLSID *pclsidDefault,IDataObject *pdtobj,IShellBrowser *psb,LPCSTR pStartPage);
-  SHSTDAPI_(WINBOOL) SHOpenPropSheetW(LPCWSTR pszCaption,HKEY ahkeys[],UINT cikeys,const CLSID *pclsidDefault,IDataObject *pdtobj,IShellBrowser *psb,LPCWSTR pStartPage);
-
-#define DFM_MERGECONTEXTMENU 1
-#define DFM_INVOKECOMMAND 2
-#define DFM_GETDEFSTATICID 14
-
-#define DFM_CMD_PROPERTIES ((UINT)-5)
-  typedef TBINFO *LPTBINFO;
-  typedef DETAILSINFO *PDETAILSINFO;
-  typedef HRESULT (CALLBACK *LPFNVIEWCALLBACK)(IShellView *psvOuter,IShellFolder *psf,HWND hwndMain,UINT uMsg,WPARAM wParam,LPARAM lParam);
-
-  typedef struct _CSFV {
-    UINT cbSize;
-    IShellFolder *pshf;
-    IShellView *psvOuter;
-    LPCITEMIDLIST pidl;
-    LONG lEvents;
-    LPFNVIEWCALLBACK pfnCallback;
-    FOLDERVIEWMODE fvm;
-  } CSFV,*LPCSFV;
-
-#define SFVM_REARRANGE 0x00000001
-#define ShellFolderView_ReArrange(_hwnd,_lparam) (WINBOOL)SHShellFolderView_Message(_hwnd,SFVM_REARRANGE,_lparam)
-
-#define SFVM_ADDOBJECT 0x00000003
-#define ShellFolderView_AddObject(_hwnd,_pidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_ADDOBJECT,(LPARAM)_pidl)
-
-#define SFVM_REMOVEOBJECT 0x00000006
-#define ShellFolderView_RemoveObject(_hwnd,_pidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_REMOVEOBJECT,(LPARAM)_pidl)
-
-#define SFVM_UPDATEOBJECT 0x00000007
-#define ShellFolderView_UpdateObject(_hwnd,_ppidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_UPDATEOBJECT,(LPARAM)_ppidl)
-
-#define SFVM_GETSELECTEDOBJECTS 0x00000009
-#define ShellFolderView_GetSelectedObjects(_hwnd,ppidl) (LPARAM)SHShellFolderView_Message(_hwnd,SFVM_GETSELECTEDOBJECTS,(LPARAM)ppidl)
-  typedef struct _SFV_SETITEMPOS {
-    LPCITEMIDLIST pidl;
-    POINT pt;
-  } SFV_SETITEMPOS,*LPSFV_SETITEMPOS;
-
-#define SFVM_SETITEMPOS 0x0000000e
-#define ShellFolderView_SetItemPos(_hwnd,_pidl,_x,_y) { SFV_SETITEMPOS _sip = {_pidl,{_x,_y}}; SHShellFolderView_Message(_hwnd,SFVM_SETITEMPOS,(LPARAM)(LPSFV_SETITEMPOS)&_sip);}
-
-#define SFVM_SETCLIPBOARD 0x00000010
-#define ShellFolderView_SetClipboard(_hwnd,_dwEffect) (void)SHShellFolderView_Message(_hwnd,SFVM_SETCLIPBOARD,(LPARAM)(DWORD)(_dwEffect))
-#define SFVM_SETPOINTS 0x00000017
-#define ShellFolderView_SetPoints(_hwnd,_pdtobj) (void)SHShellFolderView_Message(_hwnd,SFVM_SETPOINTS,(LPARAM)_pdtobj)
-#include <poppack.h>
-  SHSTDAPI_(IContextMenu *) SHFind_InitMenuPopup(HMENU hmenu,HWND hwndOwner,UINT idCmdFirst,UINT idCmdLast);
-  SHSTDAPI SHCreateShellFolderViewEx(LPCSFV pcsfv,IShellView **ppsv);
-
-#define PID_IS_URL 2
-#define PID_IS_NAME 4
-#define PID_IS_WORKINGDIR 5
-#define PID_IS_HOTKEY 6
-#define PID_IS_SHOWCMD 7
-#define PID_IS_ICONINDEX 8
-#define PID_IS_ICONFILE 9
-#define PID_IS_WHATSNEW 10
-#define PID_IS_AUTHOR 11
-#define PID_IS_DESCRIPTION 12
-#define PID_IS_COMMENT 13
-
-#define PID_INTSITE_WHATSNEW 2
-#define PID_INTSITE_AUTHOR 3
-#define PID_INTSITE_LASTVISIT 4
-#define PID_INTSITE_LASTMOD 5
-#define PID_INTSITE_VISITCOUNT 6
-#define PID_INTSITE_DESCRIPTION 7
-#define PID_INTSITE_COMMENT 8
-#define PID_INTSITE_FLAGS 9
-#define PID_INTSITE_CONTENTLEN 10
-#define PID_INTSITE_CONTENTCODE 11
-#define PID_INTSITE_RECURSE 12
-#define PID_INTSITE_WATCH 13
-#define PID_INTSITE_SUBSCRIPTION 14
-#define PID_INTSITE_URL 15
-#define PID_INTSITE_TITLE 16
-#define PID_INTSITE_CODEPAGE 18
-#define PID_INTSITE_TRACKING 19
-#define PID_INTSITE_ICONINDEX 20
-#define PID_INTSITE_ICONFILE 21
-
-#define PIDISF_RECENTLYCHANGED 0x00000001
-#define PIDISF_CACHEDSTICKY 0x00000002
-#define PIDISF_CACHEIMAGES 0x00000010
-#define PIDISF_FOLLOWALLLINKS 0x00000020
-
-#define PIDISM_GLOBAL 0
-#define PIDISM_WATCH 1
-#define PIDISM_DONTWATCH 2
-
-  typedef struct {
-    WINBOOL fShowAllObjects : 1;
-    WINBOOL fShowExtensions : 1;
-    WINBOOL fNoConfirmRecycle : 1;
-    WINBOOL fShowSysFiles : 1;
-    WINBOOL fShowCompColor : 1;
-    WINBOOL fDoubleClickInWebView : 1;
-    WINBOOL fDesktopHTML : 1;
-    WINBOOL fWin95Classic : 1;
-    WINBOOL fDontPrettyPath : 1;
-    WINBOOL fShowAttribCol : 1;
-    WINBOOL fMapNetDrvBtn : 1;
-    WINBOOL fShowInfoTip : 1;
-    WINBOOL fHideIcons : 1;
-    WINBOOL fWebView : 1;
-    WINBOOL fFilter : 1;
-    WINBOOL fShowSuperHidden : 1;
-    WINBOOL fNoNetCrawling : 1;
-    DWORD dwWin95Unused;
-    UINT uWin95Unused;
-    LONG lParamSort;
-    int iSortDirection;
-    UINT version;
-    UINT uNotUsed;
-    WINBOOL fSepProcess: 1;
-    WINBOOL fStartPanelOn: 1;
-    WINBOOL fShowStartPage: 1;
-    UINT fSpareFlags : 13;
-  } SHELLSTATEA,*LPSHELLSTATEA;
-
-  typedef struct {
-    WINBOOL fShowAllObjects : 1;
-    WINBOOL fShowExtensions : 1;
-    WINBOOL fNoConfirmRecycle : 1;
-    WINBOOL fShowSysFiles : 1;
-    WINBOOL fShowCompColor : 1;
-    WINBOOL fDoubleClickInWebView : 1;
-    WINBOOL fDesktopHTML : 1;
-    WINBOOL fWin95Classic : 1;
-    WINBOOL fDontPrettyPath : 1;
-    WINBOOL fShowAttribCol : 1;
-    WINBOOL fMapNetDrvBtn : 1;
-    WINBOOL fShowInfoTip : 1;
-    WINBOOL fHideIcons : 1;
-    WINBOOL fWebView : 1;
-    WINBOOL fFilter : 1;
-    WINBOOL fShowSuperHidden : 1;
-    WINBOOL fNoNetCrawling : 1;
-    DWORD dwWin95Unused;
-    UINT uWin95Unused;
-    LONG lParamSort;
-    int iSortDirection;
-    UINT version;
-    UINT uNotUsed;
-    WINBOOL fSepProcess: 1;
-    WINBOOL fStartPanelOn: 1;
-    WINBOOL fShowStartPage: 1;
-    UINT fSpareFlags : 13;
-  } SHELLSTATEW,*LPSHELLSTATEW;
-
-#define SHELLSTATEVERSION_IE4 9
-#define SHELLSTATEVERSION_WIN2K 10
-
-#define SHELLSTATE __MINGW_NAME_AW(SHELLSTATE)
-#define LPSHELLSTATE __MINGW_NAME_AW(LPSHELLSTATE)
-
-#define SHELLSTATE_SIZE_WIN95 FIELD_OFFSET(SHELLSTATE,lParamSort)
-#define SHELLSTATE_SIZE_NT4 FIELD_OFFSET(SHELLSTATE,version)
-#define SHELLSTATE_SIZE_IE4 FIELD_OFFSET(SHELLSTATE,uNotUsed)
-#define SHELLSTATE_SIZE_WIN2K sizeof(SHELLSTATE)
-
-  SHSTDAPI_(void) SHGetSetSettings(LPSHELLSTATE lpss,DWORD dwMask,WINBOOL bSet);
-
-  typedef struct {
-    WINBOOL fShowAllObjects : 1;
-    WINBOOL fShowExtensions : 1;
-    WINBOOL fNoConfirmRecycle : 1;
-    WINBOOL fShowSysFiles : 1;
-    WINBOOL fShowCompColor : 1;
-    WINBOOL fDoubleClickInWebView : 1;
-    WINBOOL fDesktopHTML : 1;
-    WINBOOL fWin95Classic : 1;
-    WINBOOL fDontPrettyPath : 1;
-    WINBOOL fShowAttribCol : 1;
-    WINBOOL fMapNetDrvBtn : 1;
-    WINBOOL fShowInfoTip : 1;
-    WINBOOL fHideIcons : 1;
-    UINT fRestFlags : 3;
-  } SHELLFLAGSTATE,*LPSHELLFLAGSTATE;
-
-#define SSF_SHOWALLOBJECTS 0x00000001
-#define SSF_SHOWEXTENSIONS 0x00000002
-#define SSF_HIDDENFILEEXTS 0x00000004
-#define SSF_SERVERADMINUI 0x00000004
-#define SSF_SHOWCOMPCOLOR 0x00000008
-#define SSF_SORTCOLUMNS 0x00000010
-#define SSF_SHOWSYSFILES 0x00000020
-#define SSF_DOUBLECLICKINWEBVIEW 0x00000080
-#define SSF_SHOWATTRIBCOL 0x00000100
-#define SSF_DESKTOPHTML 0x00000200
-#define SSF_WIN95CLASSIC 0x00000400
-#define SSF_DONTPRETTYPATH 0x00000800
-#define SSF_SHOWINFOTIP 0x00002000
-#define SSF_MAPNETDRVBUTTON 0x00001000
-#define SSF_NOCONFIRMRECYCLE 0x00008000
-#define SSF_HIDEICONS 0x00004000
-#define SSF_FILTER 0x00010000
-#define SSF_WEBVIEW 0x00020000
-#define SSF_SHOWSUPERHIDDEN 0x00040000
-#define SSF_SEPPROCESS 0x00080000
-#define SSF_NONETCRAWLING 0x00100000
-#define SSF_STARTPANELON 0x00200000
-#define SSF_SHOWSTARTPAGE 0x00400000
-
-  SHSTDAPI_(void) SHGetSettings(LPSHELLFLAGSTATE lpsfs,DWORD dwMask);
-  SHSTDAPI SHBindToParent(LPCITEMIDLIST pidl,REFIID riid,void **ppv,LPCITEMIDLIST *ppidlLast);
-  SHSTDAPI SHParseDisplayName(LPCWSTR pszName,IBindCtx *pbc,LPITEMIDLIST *ppidl,SFGAOF sfgaoIn,SFGAOF *psfgaoOut);
-
-#define SHPPFW_NONE 0x00000000
-#define SHPPFW_DEFAULT SHPPFW_DIRCREATE
-#define SHPPFW_DIRCREATE 0x00000001
-#define SHPPFW_ASKDIRCREATE 0x00000002
-#define SHPPFW_IGNOREFILENAME 0x00000004
-#define SHPPFW_NOWRITECHECK 0x00000008
-#define SHPPFW_MEDIACHECKONLY 0x00000010
-
-#define SHPathPrepareForWrite __MINGW_NAME_AW(SHPathPrepareForWrite)
-
-  SHSTDAPI SHPathPrepareForWriteA(HWND hwnd,IUnknown *punkEnableModless,LPCSTR pszPath,DWORD dwFlags);
-  SHSTDAPI SHPathPrepareForWriteW(HWND hwnd,IUnknown *punkEnableModless,LPCWSTR pszPath,DWORD dwFlags);
-
-
-#undef INTERFACE
-#define INTERFACE INamedPropertyBag
-  DECLARE_INTERFACE_(INamedPropertyBag,IUnknown) {
-    STDMETHOD(QueryInterface) (THIS_ REFIID riid,void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
-    STDMETHOD_(ULONG,Release) (THIS) PURE;
-    STDMETHOD(ReadPropertyNPB) (THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName,PROPVARIANT *pVar) PURE;
-    STDMETHOD(WritePropertyNPB)(THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName,PROPVARIANT *pVar) PURE;
-    STDMETHOD(RemovePropertyNPB)(THIS_ LPCOLESTR pszBagname,LPCOLESTR pszPropName) PURE;
-  };
-
-#ifdef __urlmon_h__
-  SHDOCAPI_(DWORD) SoftwareUpdateMessageBox(HWND hWnd,LPCWSTR szDistUnit,DWORD dwFlags,LPSOFTDISTINFO psdi);
-#endif
-
-#define SHCreateFileExtractIcon __MINGW_NAME_AW(SHCreateFileExtractIcon)
-
-  SHSTDAPI SHPropStgCreate(IPropertySetStorage *psstg,REFFMTID fmtid,CLSID *pclsid,DWORD grfFlags,DWORD grfMode,DWORD dwDisposition,IPropertyStorage**ppstg,UINT *puCodePage);
-  SHSTDAPI SHPropStgReadMultiple(IPropertyStorage *pps,UINT uCodePage,ULONG cpspec,PROPSPEC const rgpspec[],PROPVARIANT rgvar[]);
-  SHSTDAPI SHPropStgWriteMultiple(IPropertyStorage *pps,UINT *puCodePage,ULONG cpspec,PROPSPEC const rgpspec[],PROPVARIANT rgvar[],PROPID propidNameFirst);
-  SHSTDAPI SHCreateFileExtractIconA(LPCSTR pszFile,DWORD dwFileAttributes,REFIID riid,void **ppv);
-  SHSTDAPI SHCreateFileExtractIconW(LPCWSTR pszFile,DWORD dwFileAttributes,REFIID riid,void **ppv);
-
-#include <pshpack8.h>
-  SHSTDAPI SHLimitInputEdit(HWND hwndEdit,IShellFolder *psf);
-  SHSTDAPI SHMultiFileProperties(IDataObject *pdtobj,DWORD dwFlags);
-
-#if (_WIN32_IE >= 0x0600)
-  typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl,LPVOID pvData,LPVOID pvHint,INT iIconIndex,INT iOpenIconIndex);
-  SHSTDAPI SHMapIDListToImageListIndexAsync(IShellTaskScheduler *pts,IShellFolder *psf,LPCITEMIDLIST pidl,UINT flags,PFNASYNCICONTASKBALLBACK pfn,LPVOID pvData,LPVOID pvHint,int *piIndex,int *piIndexSel);
-#endif
-
-  SHSTDAPI_(int) SHMapPIDLToSystemImageListIndex(IShellFolder *pshf,LPCITEMIDLIST pidl,int *piIndexSel);
-  STDAPI SHCLSIDFromString(PCWSTR lpsz,CLSID *pclsid);
-  STDAPI SHFlushClipboard(void);
-  STDAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker**ppmoniker);
-  HINSTANCE WINAPI SHGetShellStyleHInstance(void);
-  STDAPI_(void) PerUserInit(void);
-  WINSHELLAPI WINBOOL WINAPI SHRunControlPanel(LPCWSTR lpcszCmdLine,HWND hwndMsgParent);
-  WINSHELLAPI int WINAPI PickIconDlg(HWND hwnd,LPWSTR pszIconPath,UINT cbIconPath,int *piIconIndex);
-
-  typedef struct tagAAMENUFILENAME {
-    SHORT cbTotal;
-    BYTE rgbReserved[12];
-    WCHAR szFileName[1];
-  } AASHELLMENUFILENAME,*LPAASHELLMENUFILENAME;
-
-  typedef struct tagAASHELLMENUITEM {
-    void *lpReserved1;
-    int iReserved;
-    UINT uiReserved;
-    LPAASHELLMENUFILENAME lpName;
-    LPWSTR psz;
-  } AASHELLMENUITEM,*LPAASHELLMENUITEM;
-
-  STDAPI SHGetAttributesFromDataObject(IDataObject *pdo,DWORD dwAttributeMask,DWORD *pdwAttributes,UINT *pcItems);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <poppack.h>
-
-SHDOCAPI_(WINBOOL) ImportPrivacySettings(LPCWSTR szFilename,WINBOOL *pfParsePrivacyPreferences,WINBOOL *pfParsePerSiteRules);
-#ifndef IEnumPrivacyRecords
-typedef struct IEnumPrivacyRecords IEnumPrivacyRecords;
-#endif
-SHDOCAPI DoPrivacyDlg(HWND hwndParent,LPOLESTR pszUrl,IEnumPrivacyRecords *pPrivacyEnum,WINBOOL fReportAllSites);
-
-#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
-
-#endif
diff --git a/debian/include/shobjidl.h b/debian/include/shobjidl.h
deleted file mode 100644
index 981ba5e..0000000
--- a/debian/include/shobjidl.h
+++ /dev/null
@@ -1,7290 +0,0 @@
-/*** Autogenerated by WIDL 1.5.25 from include/shobjidl.idl - Do not edit ***/
-
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifndef __shobjidl_h__
-#define __shobjidl_h__
-
-/* Forward declarations */
-
-#ifndef __IShellItem_FWD_DEFINED__
-#define __IShellItem_FWD_DEFINED__
-typedef interface IShellItem IShellItem;
-#endif
-
-#ifndef __IShellLibrary_FWD_DEFINED__
-#define __IShellLibrary_FWD_DEFINED__
-typedef interface IShellLibrary IShellLibrary;
-#endif
-
-#ifndef __ShellLibrary_FWD_DEFINED__
-#define __ShellLibrary_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class ShellLibrary ShellLibrary;
-#else
-typedef struct ShellLibrary ShellLibrary;
-#endif /* defined __cplusplus */
-#endif /* defined __ShellLibrary_FWD_DEFINED__ */
-
-/* Headers for imported files */
-
-#include <objidl.h>
-#include <oaidl.h>
-#include <shtypes.h>
-#include <oleidl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <_mingw_unicode.h>
-#ifndef __IPersistFolder_FWD_DEFINED__
-#define __IPersistFolder_FWD_DEFINED__
-typedef struct IPersistFolder IPersistFolder;
-#endif
-
-#ifndef __IPersistFolder2_FWD_DEFINED__
-#define __IPersistFolder2_FWD_DEFINED__
-typedef struct IPersistFolder2 IPersistFolder2;
-#endif
-
-#ifndef __IPersistIDList_FWD_DEFINED__
-#define __IPersistIDList_FWD_DEFINED__
-typedef struct IPersistIDList IPersistIDList;
-#endif
-
-#ifndef __IEnumIDList_FWD_DEFINED__
-#define __IEnumIDList_FWD_DEFINED__
-typedef struct IEnumIDList IEnumIDList;
-#endif
-
-#ifndef __IShellFolder_FWD_DEFINED__
-#define __IShellFolder_FWD_DEFINED__
-typedef struct IShellFolder IShellFolder;
-#endif
-
-#ifndef __IEnumExtraSearch_FWD_DEFINED__
-#define __IEnumExtraSearch_FWD_DEFINED__
-typedef struct IEnumExtraSearch IEnumExtraSearch;
-#endif
-
-#ifndef __IShellFolder2_FWD_DEFINED__
-#define __IShellFolder2_FWD_DEFINED__
-typedef struct IShellFolder2 IShellFolder2;
-#endif
-
-#ifndef __IShellView_FWD_DEFINED__
-#define __IShellView_FWD_DEFINED__
-typedef struct IShellView IShellView;
-#endif
-
-#ifndef __IShellView2_FWD_DEFINED__
-#define __IShellView2_FWD_DEFINED__
-typedef struct IShellView2 IShellView2;
-#endif
-
-#ifndef __IFolderView_FWD_DEFINED__
-#define __IFolderView_FWD_DEFINED__
-typedef struct IFolderView IFolderView;
-#endif
-
-#ifndef __IFolderFilterSite_FWD_DEFINED__
-#define __IFolderFilterSite_FWD_DEFINED__
-typedef struct IFolderFilterSite IFolderFilterSite;
-#endif
-
-#ifndef __IFolderFilter_FWD_DEFINED__
-#define __IFolderFilter_FWD_DEFINED__
-typedef struct IFolderFilter IFolderFilter;
-#endif
-
-#ifndef __IShellBrowser_FWD_DEFINED__
-#define __IShellBrowser_FWD_DEFINED__
-typedef struct IShellBrowser IShellBrowser;
-#endif
-
-#ifndef __IProfferService_FWD_DEFINED__
-#define __IProfferService_FWD_DEFINED__
-typedef struct IProfferService IProfferService;
-#endif
-
-#ifndef __IPropertyUI_FWD_DEFINED__
-#define __IPropertyUI_FWD_DEFINED__
-typedef struct IPropertyUI IPropertyUI;
-#endif
-
-#ifndef __ICategoryProvider_FWD_DEFINED__
-#define __ICategoryProvider_FWD_DEFINED__
-typedef struct ICategoryProvider ICategoryProvider;
-#endif
-
-#ifndef __ICategorizer_FWD_DEFINED__
-#define __ICategorizer_FWD_DEFINED__
-typedef struct ICategorizer ICategorizer;
-#endif
-
-#ifndef __IShellLinkA_FWD_DEFINED__
-#define __IShellLinkA_FWD_DEFINED__
-typedef struct IShellLinkA IShellLinkA;
-#endif
-
-#ifndef __IShellLinkW_FWD_DEFINED__
-#define __IShellLinkW_FWD_DEFINED__
-typedef struct IShellLinkW IShellLinkW;
-#endif
-
-#ifndef __IActionProgressDialog_FWD_DEFINED__
-#define __IActionProgressDialog_FWD_DEFINED__
-typedef struct IActionProgressDialog IActionProgressDialog;
-#endif
-
-#ifndef __IHWEventHandler_FWD_DEFINED__
-#define __IHWEventHandler_FWD_DEFINED__
-typedef struct IHWEventHandler IHWEventHandler;
-#endif
-
-#ifndef __IQueryCancelAutoPlay_FWD_DEFINED__
-#define __IQueryCancelAutoPlay_FWD_DEFINED__
-typedef struct IQueryCancelAutoPlay IQueryCancelAutoPlay;
-#endif
-
-#ifndef __IActionProgress_FWD_DEFINED__
-#define __IActionProgress_FWD_DEFINED__
-typedef struct IActionProgress IActionProgress;
-#endif
-
-#ifndef __IShellExtInit_FWD_DEFINED__
-#define __IShellExtInit_FWD_DEFINED__
-typedef struct IShellExtInit IShellExtInit;
-#endif
-
-#ifndef __IShellPropSheetExt_FWD_DEFINED__
-#define __IShellPropSheetExt_FWD_DEFINED__
-typedef struct IShellPropSheetExt IShellPropSheetExt;
-#endif
-
-#ifndef __IRemoteComputer_FWD_DEFINED__
-#define __IRemoteComputer_FWD_DEFINED__
-typedef struct IRemoteComputer IRemoteComputer;
-#endif
-
-#ifndef __IQueryContinue_FWD_DEFINED__
-#define __IQueryContinue_FWD_DEFINED__
-typedef struct IQueryContinue IQueryContinue;
-#endif
-
-#ifndef __IUserNotification_FWD_DEFINED__
-#define __IUserNotification_FWD_DEFINED__
-typedef struct IUserNotification IUserNotification;
-#endif
-
-#ifndef __IItemNameLimits_FWD_DEFINED__
-#define __IItemNameLimits_FWD_DEFINED__
-typedef struct IItemNameLimits IItemNameLimits;
-#endif
-
-#ifndef __INetCrawler_FWD_DEFINED__
-#define __INetCrawler_FWD_DEFINED__
-typedef struct INetCrawler INetCrawler;
-#endif
-
-#ifndef __IExtractImage_FWD_DEFINED__
-#define __IExtractImage_FWD_DEFINED__
-typedef struct IExtractImage IExtractImage;
-#endif
-
-#ifndef __IExtractImage2_FWD_DEFINED__
-#define __IExtractImage2_FWD_DEFINED__
-typedef struct IExtractImage2 IExtractImage2;
-#endif
-
-#ifndef __IUserEventTimerCallback_FWD_DEFINED__
-#define __IUserEventTimerCallback_FWD_DEFINED__
-typedef struct IUserEventTimerCallback IUserEventTimerCallback;
-#endif
-
-#ifndef __IUserEventTimer_FWD_DEFINED__
-#define __IUserEventTimer_FWD_DEFINED__
-typedef struct IUserEventTimer IUserEventTimer;
-#endif
-
-#ifndef __IDockingWindow_FWD_DEFINED__
-#define __IDockingWindow_FWD_DEFINED__
-typedef struct IDockingWindow IDockingWindow;
-#endif
-
-#ifndef __IDeskBand_FWD_DEFINED__
-#define __IDeskBand_FWD_DEFINED__
-typedef struct IDeskBand IDeskBand;
-#endif
-
-#ifndef __ITaskbarList_FWD_DEFINED__
-#define __ITaskbarList_FWD_DEFINED__
-typedef struct ITaskbarList ITaskbarList;
-#endif
-
-#ifndef __ITaskbarList2_FWD_DEFINED__
-#define __ITaskbarList2_FWD_DEFINED__
-typedef struct ITaskbarList2 ITaskbarList2;
-#endif
-
-#ifndef __ITaskbarList3_FWD_DEFINED__
-#define __ITaskbarList3_FWD_DEFINED__
-typedef interface ITaskbarList3 ITaskbarList3;
-#endif
-
-#ifndef __ITaskbarList4_FWD_DEFINED__
-#define __ITaskbarList4_FWD_DEFINED__
-typedef interface ITaskbarList4 ITaskbarList4;
-#endif
-
-#ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__
-#define __IApplicationAssociationRegistrationUI_FWD_DEFINED__
-typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI;
-#endif
-
-#ifndef __ICDBurn_FWD_DEFINED__
-#define __ICDBurn_FWD_DEFINED__
-typedef struct ICDBurn ICDBurn;
-#endif
-
-#ifndef __IWizardSite_FWD_DEFINED__
-#define __IWizardSite_FWD_DEFINED__
-typedef struct IWizardSite IWizardSite;
-#endif
-
-#ifndef __IWizardExtension_FWD_DEFINED__
-#define __IWizardExtension_FWD_DEFINED__
-typedef struct IWizardExtension IWizardExtension;
-#endif
-
-#ifndef __IWebWizardExtension_FWD_DEFINED__
-#define __IWebWizardExtension_FWD_DEFINED__
-typedef struct IWebWizardExtension IWebWizardExtension;
-#endif
-
-#ifndef __IPublishingWizard_FWD_DEFINED__
-#define __IPublishingWizard_FWD_DEFINED__
-typedef struct IPublishingWizard IPublishingWizard;
-#endif
-
-#ifndef __IFolderViewHost_FWD_DEFINED__
-#define __IFolderViewHost_FWD_DEFINED__
-typedef struct IFolderViewHost IFolderViewHost;
-#endif
-
-#ifndef __IAutoCompleteDropDown_FWD_DEFINED__
-#define __IAutoCompleteDropDown_FWD_DEFINED__
-typedef struct IAutoCompleteDropDown IAutoCompleteDropDown;
-#endif
-
-#ifndef __IModalWindow_FWD_DEFINED__
-#define __IModalWindow_FWD_DEFINED__
-typedef struct IModalWindow IModalWindow;
-#endif
-
-#ifndef __IPassportWizard_FWD_DEFINED__
-#define __IPassportWizard_FWD_DEFINED__
-typedef struct IPassportWizard IPassportWizard;
-#endif
-
-#ifndef __ICDBurnExt_FWD_DEFINED__
-#define __ICDBurnExt_FWD_DEFINED__
-typedef struct ICDBurnExt ICDBurnExt;
-#endif
-
-#ifndef __IDVGetEnum_FWD_DEFINED__
-#define __IDVGetEnum_FWD_DEFINED__
-typedef struct IDVGetEnum IDVGetEnum;
-#endif
-
-#ifndef __IInsertItem_FWD_DEFINED__
-#define __IInsertItem_FWD_DEFINED__
-typedef struct IInsertItem IInsertItem;
-#endif
-
-#ifndef __IDeskBar_FWD_DEFINED__
-#define __IDeskBar_FWD_DEFINED__
-typedef struct IDeskBar IDeskBar;
-#endif
-
-#ifndef __IMenuBand_FWD_DEFINED__
-#define __IMenuBand_FWD_DEFINED__
-typedef struct IMenuBand IMenuBand;
-#endif
-
-#ifndef __IFolderBandPriv_FWD_DEFINED__
-#define __IFolderBandPriv_FWD_DEFINED__
-typedef struct IFolderBandPriv IFolderBandPriv;
-#endif
-
-#ifndef __IBandSite_FWD_DEFINED__
-#define __IBandSite_FWD_DEFINED__
-typedef struct IBandSite IBandSite;
-#endif
-
-#ifndef __INamespaceWalkCB_FWD_DEFINED__
-#define __INamespaceWalkCB_FWD_DEFINED__
-typedef struct INamespaceWalkCB INamespaceWalkCB;
-#endif
-
-#ifndef __INamespaceWalk_FWD_DEFINED__
-#define __INamespaceWalk_FWD_DEFINED__
-typedef struct INamespaceWalk INamespaceWalk;
-#endif
-
-#ifndef __IRegTreeItem_FWD_DEFINED__
-#define __IRegTreeItem_FWD_DEFINED__
-typedef struct IRegTreeItem IRegTreeItem;
-#endif
-
-#ifndef __IMenuPopup_FWD_DEFINED__
-#define __IMenuPopup_FWD_DEFINED__
-typedef struct IMenuPopup IMenuPopup;
-#endif
-
-#ifndef __IShellItem2_FWD_DEFINED__
-#define __IShellItem2_FWD_DEFINED__
-typedef interface IShellItem2 IShellItem2;
-#endif
-
-#ifndef __IImageRecompress_FWD_DEFINED__
-#define __IImageRecompress_FWD_DEFINED__
-typedef struct IImageRecompress IImageRecompress;
-#endif
-
-#ifndef __IDefViewSafety_FWD_DEFINED__
-#define __IDefViewSafety_FWD_DEFINED__
-typedef struct IDefViewSafety IDefViewSafety;
-#endif
-
-#ifndef __IContextMenuSite_FWD_DEFINED__
-#define __IContextMenuSite_FWD_DEFINED__
-typedef struct IContextMenuSite IContextMenuSite;
-#endif
-
-#ifndef __IDelegateFolder_FWD_DEFINED__
-#define __IDelegateFolder_FWD_DEFINED__
-typedef struct IDelegateFolder IDelegateFolder;
-#endif
-
-#ifndef __IBrowserFrameOptions_FWD_DEFINED__
-#define __IBrowserFrameOptions_FWD_DEFINED__
-typedef struct IBrowserFrameOptions IBrowserFrameOptions;
-#endif
-
-#ifndef __INewWindowManager_FWD_DEFINED__
-#define __INewWindowManager_FWD_DEFINED__
-typedef struct INewWindowManager INewWindowManager;
-#endif
-
-#ifndef __IShellMenuCallback_FWD_DEFINED__
-#define __IShellMenuCallback_FWD_DEFINED__
-typedef struct IShellMenuCallback IShellMenuCallback;
-#endif
-
-#ifndef __IAttachmentExecute_FWD_DEFINED__
-#define __IAttachmentExecute_FWD_DEFINED__
-typedef struct IAttachmentExecute IAttachmentExecute;
-#endif
-
-#ifndef __IShellMenu_FWD_DEFINED__
-#define __IShellMenu_FWD_DEFINED__
-typedef struct IShellMenu IShellMenu;
-#endif
-
-#ifndef __IApplicationAssociationRegistration_FWD_DEFINED__
-#define __IApplicationAssociationRegistration_FWD_DEFINED__
-typedef interface IApplicationAssociationRegistration IApplicationAssociationRegistration;
-#endif
-
-#ifndef __ICustomDestinationList_FWD_DEFINED__
-#define __ICustomDestinationList_FWD_DEFINED__
-typedef interface ICustomDestinationList ICustomDestinationList;
-#endif
-
-#ifndef __QueryCancelAutoPlay_FWD_DEFINED__
-#define __QueryCancelAutoPlay_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class QueryCancelAutoPlay QueryCancelAutoPlay;
-#else
-typedef struct QueryCancelAutoPlay QueryCancelAutoPlay;
-#endif
-#endif
-
-#ifndef __DriveSizeCategorizer_FWD_DEFINED__
-#define __DriveSizeCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class DriveSizeCategorizer DriveSizeCategorizer;
-#else
-typedef struct DriveSizeCategorizer DriveSizeCategorizer;
-#endif
-#endif
-
-#ifndef __DriveTypeCategorizer_FWD_DEFINED__
-#define __DriveTypeCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class DriveTypeCategorizer DriveTypeCategorizer;
-#else
-typedef struct DriveTypeCategorizer DriveTypeCategorizer;
-#endif
-#endif
-
-#ifndef __FreeSpaceCategorizer_FWD_DEFINED__
-#define __FreeSpaceCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class FreeSpaceCategorizer FreeSpaceCategorizer;
-#else
-typedef struct FreeSpaceCategorizer FreeSpaceCategorizer;
-#endif
-#endif
-
-#ifndef __TimeCategorizer_FWD_DEFINED__
-#define __TimeCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class TimeCategorizer TimeCategorizer;
-#else
-typedef struct TimeCategorizer TimeCategorizer;
-#endif
-#endif
-
-#ifndef __SizeCategorizer_FWD_DEFINED__
-#define __SizeCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class SizeCategorizer SizeCategorizer;
-#else
-typedef struct SizeCategorizer SizeCategorizer;
-#endif
-#endif
-
-#ifndef __AlphabeticalCategorizer_FWD_DEFINED__
-#define __AlphabeticalCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class AlphabeticalCategorizer AlphabeticalCategorizer;
-#else
-typedef struct AlphabeticalCategorizer AlphabeticalCategorizer;
-#endif
-#endif
-
-#ifndef __MergedCategorizer_FWD_DEFINED__
-#define __MergedCategorizer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class MergedCategorizer MergedCategorizer;
-#else
-typedef struct MergedCategorizer MergedCategorizer;
-#endif
-#endif
-
-#ifndef __ImageProperties_FWD_DEFINED__
-#define __ImageProperties_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class ImageProperties ImageProperties;
-#else
-typedef struct ImageProperties ImageProperties;
-#endif
-#endif
-
-#ifndef __PropertiesUI_FWD_DEFINED__
-#define __PropertiesUI_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class PropertiesUI PropertiesUI;
-#else
-typedef struct PropertiesUI PropertiesUI;
-#endif
-#endif
-
-#ifndef __UserNotification_FWD_DEFINED__
-#define __UserNotification_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class UserNotification UserNotification;
-#else
-typedef struct UserNotification UserNotification;
-#endif
-#endif
-
-#ifndef __UserEventTimerCallback_FWD_DEFINED__
-#define __UserEventTimerCallback_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class UserEventTimerCallback UserEventTimerCallback;
-#else
-typedef struct UserEventTimerCallback UserEventTimerCallback;
-#endif
-#endif
-
-#ifndef __UserEventTimer_FWD_DEFINED__
-#define __UserEventTimer_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class UserEventTimer UserEventTimer;
-#else
-typedef struct UserEventTimer UserEventTimer;
-#endif
-#endif
-
-#ifndef __NetCrawler_FWD_DEFINED__
-#define __NetCrawler_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class NetCrawler NetCrawler;
-#else
-typedef struct NetCrawler NetCrawler;
-#endif
-#endif
-
-#ifndef __CDBurn_FWD_DEFINED__
-#define __CDBurn_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class CDBurn CDBurn;
-#else
-typedef struct CDBurn CDBurn;
-#endif
-#endif
-
-#ifndef __TaskbarList_FWD_DEFINED__
-#define __TaskbarList_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class TaskbarList TaskbarList;
-#else
-typedef struct TaskbarList TaskbarList;
-#endif
-#endif
-
-#ifndef __WebWizardHost_FWD_DEFINED__
-#define __WebWizardHost_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class WebWizardHost WebWizardHost;
-#else
-typedef struct WebWizardHost WebWizardHost;
-#endif
-#endif
-
-#ifndef __PublishDropTarget_FWD_DEFINED__
-#define __PublishDropTarget_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class PublishDropTarget PublishDropTarget;
-#else
-typedef struct PublishDropTarget PublishDropTarget;
-#endif
-#endif
-
-#ifndef __PublishingWizard_FWD_DEFINED__
-#define __PublishingWizard_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class PublishingWizard PublishingWizard;
-#else
-typedef struct PublishingWizard PublishingWizard;
-#endif
-#endif
-
-#ifndef __InternetPrintOrdering_FWD_DEFINED__
-#define __InternetPrintOrdering_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class InternetPrintOrdering InternetPrintOrdering;
-#else
-typedef struct InternetPrintOrdering InternetPrintOrdering;
-#endif
-#endif
-
-#ifndef __FolderViewHost_FWD_DEFINED__
-#define __FolderViewHost_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class FolderViewHost FolderViewHost;
-#else
-typedef struct FolderViewHost FolderViewHost;
-#endif
-#endif
-
-#ifndef __NamespaceWalker_FWD_DEFINED__
-#define __NamespaceWalker_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class NamespaceWalker NamespaceWalker;
-#else
-typedef struct NamespaceWalker NamespaceWalker;
-#endif
-#endif
-
-#ifndef __ImageRecompress_FWD_DEFINED__
-#define __ImageRecompress_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class ImageRecompress ImageRecompress;
-#else
-typedef struct ImageRecompress ImageRecompress;
-#endif
-#endif
-
-#ifndef __TrayBandSiteService_FWD_DEFINED__
-#define __TrayBandSiteService_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class TrayBandSiteService TrayBandSiteService;
-#else
-typedef struct TrayBandSiteService TrayBandSiteService;
-#endif
-#endif
-
-#ifndef __PassportWizard_FWD_DEFINED__
-#define __PassportWizard_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class PassportWizard PassportWizard;
-#else
-typedef struct PassportWizard PassportWizard;
-#endif
-#endif
-
-#ifndef __AttachmentServices_FWD_DEFINED__
-#define __AttachmentServices_FWD_DEFINED__
-#ifdef __cplusplus
-typedef class AttachmentServices AttachmentServices;
-#else
-typedef struct AttachmentServices AttachmentServices;
-#endif
-#endif
-
-#ifndef __IFileDialogEvents_FWD_DEFINED__
-#define __IFileDialogEvents_FWD_DEFINED__
-typedef interface IFileDialogEvents IFileDialogEvents;
-#endif
-
-#ifndef __IEnumShellItems_FWD_DEFINED__
-#define __IEnumShellItems_FWD_DEFINED__
-typedef interface IEnumShellItems IEnumShellItems;
-#endif
-
-#ifndef __IShellItemArray_FWD_DEFINED__
-#define __IShellItemArray_FWD_DEFINED__
-typedef interface IShellItemArray IShellItemArray;
-#endif
-
-#ifndef __IShellItemFilter_FWD_DEFINED__
-#define __IShellItemFilter_FWD_DEFINED__
-typedef interface IShellItemFilter IShellItemFilter;
-#endif
-
-#ifndef __IFileOperationProgressSink_FWD_DEFINED__
-#define __IFileOperationProgressSink_FWD_DEFINED__
-typedef interface IFileOperationProgressSink IFileOperationProgressSink;
-#endif
-
-#ifndef __IFileDialog_FWD_DEFINED__
-#define __IFileDialog_FWD_DEFINED__
-typedef interface IFileDialog IFileDialog;
-#endif
-
-#ifndef __IFileSaveDialog_FWD_DEFINED__
-#define __IFileSaveDialog_FWD_DEFINED__
-typedef interface IFileSaveDialog IFileSaveDialog;
-#endif
-
-#ifndef __IFileOpenDialog_FWD_DEFINED__
-#define __IFileOpenDialog_FWD_DEFINED__
-typedef interface IFileOpenDialog IFileOpenDialog;
-#endif
-
-#include "servprov.h"
-#include "comcat.h"
-#include "propidl.h"
-#include "prsht.h"
-#include "msxml.h"
-#include "propsys.h"
-#include "objectarray.h"
-
-#ifndef _WINRESRC_
-#ifndef _WIN32_IE
-#define _WIN32_IE 0x0501
-#endif
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_s_ifspec;
-
-#ifndef __IPersistFolder_INTERFACE_DEFINED__
-#define __IPersistFolder_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IPersistFolder;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPersistFolder : public IPersist {
-  public:
-    virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl) = 0;
-  };
-#else
-  typedef struct IPersistFolderVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPersistFolder *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPersistFolder *This);
-      ULONG (WINAPI *Release)(IPersistFolder *This);
-      HRESULT (WINAPI *GetClassID)(IPersistFolder *This,CLSID *pClassID);
-      HRESULT (WINAPI *Initialize)(IPersistFolder *This,LPCITEMIDLIST pidl);
-    END_INTERFACE
-  } IPersistFolderVtbl;
-  struct IPersistFolder {
-    CONST_VTBL struct IPersistFolderVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPersistFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistFolder_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistFolder_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistFolder_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
-#endif
-#endif
-  HRESULT WINAPI IPersistFolder_Initialize_Proxy(IPersistFolder *This,LPCITEMIDLIST pidl);
-  void __RPC_STUB IPersistFolder_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-  typedef IPersistFolder *LPPERSISTFOLDER;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_s_ifspec;
-#ifndef __IPersistFolder2_INTERFACE_DEFINED__
-#define __IPersistFolder2_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IPersistFolder2;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPersistFolder2 : public IPersistFolder {
-  public:
-    virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST *ppidl) = 0;
-  };
-#else
-  typedef struct IPersistFolder2Vtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPersistFolder2 *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPersistFolder2 *This);
-      ULONG (WINAPI *Release)(IPersistFolder2 *This);
-      HRESULT (WINAPI *GetClassID)(IPersistFolder2 *This,CLSID *pClassID);
-      HRESULT (WINAPI *Initialize)(IPersistFolder2 *This,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *GetCurFolder)(IPersistFolder2 *This,LPITEMIDLIST *ppidl);
-    END_INTERFACE
-  } IPersistFolder2Vtbl;
-  struct IPersistFolder2 {
-    CONST_VTBL struct IPersistFolder2Vtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPersistFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistFolder2_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistFolder2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistFolder2_Initialize(This,pidl) (This)->lpVtbl->Initialize(This,pidl)
-#define IPersistFolder2_GetCurFolder(This,ppidl) (This)->lpVtbl->GetCurFolder(This,ppidl)
-#endif
-#endif
-  HRESULT WINAPI IPersistFolder2_GetCurFolder_Proxy(IPersistFolder2 *This,LPITEMIDLIST *ppidl);
-  void __RPC_STUB IPersistFolder2_GetCurFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-  typedef IPersistFolder2 *LPPERSISTFOLDER2;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_s_ifspec;
-
-#ifndef __IPersistIDList_INTERFACE_DEFINED__
-#define __IPersistIDList_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IPersistIDList;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPersistIDList : public IPersist {
-  public:
-    virtual HRESULT WINAPI SetIDList(LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI GetIDList(LPITEMIDLIST *ppidl) = 0;
-  };
-#else
-  typedef struct IPersistIDListVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPersistIDList *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPersistIDList *This);
-      ULONG (WINAPI *Release)(IPersistIDList *This);
-      HRESULT (WINAPI *GetClassID)(IPersistIDList *This,CLSID *pClassID);
-      HRESULT (WINAPI *SetIDList)(IPersistIDList *This,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *GetIDList)(IPersistIDList *This,LPITEMIDLIST *ppidl);
-    END_INTERFACE
-  } IPersistIDListVtbl;
-  struct IPersistIDList {
-    CONST_VTBL struct IPersistIDListVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPersistIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistIDList_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistIDList_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistIDList_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
-#define IPersistIDList_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
-#endif
-#endif
-  HRESULT WINAPI IPersistIDList_SetIDList_Proxy(IPersistIDList *This,LPCITEMIDLIST pidl);
-  void __RPC_STUB IPersistIDList_SetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPersistIDList_GetIDList_Proxy(IPersistIDList *This,LPITEMIDLIST *ppidl);
-  void __RPC_STUB IPersistIDList_GetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IEnumIDList_INTERFACE_DEFINED__
-#define __IEnumIDList_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IEnumIDList;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IEnumIDList : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Next(ULONG celt,LPITEMIDLIST *rgelt,ULONG *pceltFetched) = 0;
-    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
-    virtual HRESULT WINAPI Reset(void) = 0;
-    virtual HRESULT WINAPI Clone(IEnumIDList **ppenum) = 0;
-  };
-#else
-  typedef struct IEnumIDListVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IEnumIDList *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IEnumIDList *This);
-      ULONG (WINAPI *Release)(IEnumIDList *This);
-      HRESULT (WINAPI *Next)(IEnumIDList *This,ULONG celt,LPITEMIDLIST *rgelt,ULONG *pceltFetched);
-      HRESULT (WINAPI *Skip)(IEnumIDList *This,ULONG celt);
-      HRESULT (WINAPI *Reset)(IEnumIDList *This);
-      HRESULT (WINAPI *Clone)(IEnumIDList *This,IEnumIDList **ppenum);
-    END_INTERFACE
-  } IEnumIDListVtbl;
-  struct IEnumIDList {
-    CONST_VTBL struct IEnumIDListVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IEnumIDList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumIDList_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumIDList_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumIDList_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumIDList_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumIDList_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumIDList_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#endif
-#endif
-  HRESULT WINAPI IEnumIDList_Next_Proxy(IEnumIDList *This,ULONG celt,LPITEMIDLIST *rgelt,ULONG *pceltFetched);
-  void __RPC_STUB IEnumIDList_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumIDList_Skip_Proxy(IEnumIDList *This,ULONG celt);
-  void __RPC_STUB IEnumIDList_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumIDList_Reset_Proxy(IEnumIDList *This);
-  void __RPC_STUB IEnumIDList_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumIDList_Clone_Proxy(IEnumIDList *This,IEnumIDList **ppenum);
-  void __RPC_STUB IEnumIDList_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IEnumIDList *LPENUMIDLIST;
-
-  enum _SHGDNF {
-    SHGDN_NORMAL = 0x0000,SHGDN_INFOLDER = 0x0001,SHGDN_FOREDITING = 0x1000,SHGDN_FORADDRESSBAR = 0x4000,SHGDN_FORPARSING = 0x8000
-  };
-  typedef DWORD SHGDNF;
-
-  enum _SHCONTF {
-    SHCONTF_FOLDERS = 0x0020,SHCONTF_NONFOLDERS = 0x0040,SHCONTF_INCLUDEHIDDEN = 0x0080,SHCONTF_INIT_ON_FIRST_NEXT = 0x0100,
-    SHCONTF_NETPRINTERSRCH = 0x0200,SHCONTF_SHAREABLE = 0x0400,SHCONTF_STORAGE = 0x0800
-  };
-  typedef DWORD SHCONTF;
-
-#define SHCIDS_ALLFIELDS 0x80000000L
-#define SHCIDS_CANONICALONLY 0x10000000L
-#define SHCIDS_BITMASK 0xFFFF0000L
-#define SHCIDS_COLUMNMASK 0x0000FFFFL
-#define SFGAO_CANCOPY DROPEFFECT_COPY
-#define SFGAO_CANMOVE DROPEFFECT_MOVE
-#define SFGAO_CANLINK DROPEFFECT_LINK
-#define SFGAO_STORAGE 0x00000008L
-#define SFGAO_CANRENAME 0x00000010L
-#define SFGAO_CANDELETE 0x00000020L
-#define SFGAO_HASPROPSHEET 0x00000040L
-#define SFGAO_DROPTARGET 0x00000100L
-#define SFGAO_CAPABILITYMASK 0x00000177L
-#define SFGAO_ENCRYPTED 0x00002000L
-#define SFGAO_ISSLOW 0x00004000L
-#define SFGAO_GHOSTED 0x00008000L
-#define SFGAO_LINK 0x00010000L
-#define SFGAO_SHARE 0x00020000L
-#define SFGAO_READONLY 0x00040000L
-#define SFGAO_HIDDEN 0x00080000L
-#define SFGAO_DISPLAYATTRMASK 0x000FC000L
-#define SFGAO_FILESYSANCESTOR 0x10000000L
-#define SFGAO_FOLDER 0x20000000L
-#define SFGAO_FILESYSTEM 0x40000000L
-#define SFGAO_HASSUBFOLDER 0x80000000L
-#define SFGAO_CONTENTSMASK 0x80000000L
-#define SFGAO_VALIDATE 0x01000000L
-#define SFGAO_REMOVABLE 0x02000000L
-#define SFGAO_COMPRESSED 0x04000000L
-#define SFGAO_BROWSABLE 0x08000000L
-#define SFGAO_NONENUMERATED 0x00100000L
-#define SFGAO_NEWCONTENT 0x00200000L
-#define SFGAO_CANMONIKER 0x00400000L
-#define SFGAO_HASSTORAGE 0x00400000L
-#define SFGAO_STREAM 0x00400000L
-#define SFGAO_STORAGEANCESTOR 0x00800000L
-#define SFGAO_STORAGECAPMASK 0x70C50008L
-typedef ULONG SFGAOF;
-#define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID"
-#define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing"
-#define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative"
-#define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases"
-#define STR_PARSE_SHELL_PROTOCOL_TO_FILE_OBJECTS L"Parse Shell Protocol To File Objects"
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0199_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0199_v0_0_s_ifspec;
-#ifndef __IShellFolder_INTERFACE_DEFINED__
-#define __IShellFolder_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellFolder;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellFolder : public IUnknown {
-  public:
-    virtual HRESULT WINAPI ParseDisplayName(HWND hwnd,LPBC pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,LPITEMIDLIST *ppidl,ULONG *pdwAttributes) = 0;
-    virtual HRESULT WINAPI EnumObjects(HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList) = 0;
-    virtual HRESULT WINAPI BindToObject(LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI BindToStorage(LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI CompareIDs(LPARAM lParam,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2) = 0;
-    virtual HRESULT WINAPI CreateViewObject(HWND hwndOwner,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI GetAttributesOf(UINT cidl,LPCITEMIDLIST *apidl,SFGAOF *rgfInOut) = 0;
-    virtual HRESULT WINAPI GetUIObjectOf(HWND hwndOwner,UINT cidl,LPCITEMIDLIST *apidl,REFIID riid,UINT *rgfReserved,void **ppv) = 0;
-    virtual HRESULT WINAPI GetDisplayNameOf(LPCITEMIDLIST pidl,SHGDNF uFlags,STRRET *pName) = 0;
-    virtual HRESULT WINAPI SetNameOf(HWND hwnd,LPCITEMIDLIST pidl,LPCOLESTR pszName,SHGDNF uFlags,LPITEMIDLIST *ppidlOut) = 0;
-  };
-#else
-  typedef struct IShellFolderVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellFolder *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellFolder *This);
-      ULONG (WINAPI *Release)(IShellFolder *This);
-      HRESULT (WINAPI *ParseDisplayName)(IShellFolder *This,HWND hwnd,LPBC pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,LPITEMIDLIST *ppidl,ULONG *pdwAttributes);
-      HRESULT (WINAPI *EnumObjects)(IShellFolder *This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList);
-      HRESULT (WINAPI *BindToObject)(IShellFolder *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-      HRESULT (WINAPI *BindToStorage)(IShellFolder *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-      HRESULT (WINAPI *CompareIDs)(IShellFolder *This,LPARAM lParam,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
-      HRESULT (WINAPI *CreateViewObject)(IShellFolder *This,HWND hwndOwner,REFIID riid,void **ppv);
-      HRESULT (WINAPI *GetAttributesOf)(IShellFolder *This,UINT cidl,LPCITEMIDLIST *apidl,SFGAOF *rgfInOut);
-      HRESULT (WINAPI *GetUIObjectOf)(IShellFolder *This,HWND hwndOwner,UINT cidl,LPCITEMIDLIST *apidl,REFIID riid,UINT *rgfReserved,void **ppv);
-      HRESULT (WINAPI *GetDisplayNameOf)(IShellFolder *This,LPCITEMIDLIST pidl,SHGDNF uFlags,STRRET *pName);
-      HRESULT (WINAPI *SetNameOf)(IShellFolder *This,HWND hwnd,LPCITEMIDLIST pidl,LPCOLESTR pszName,SHGDNF uFlags,LPITEMIDLIST *ppidlOut);
-    END_INTERFACE
-  } IShellFolderVtbl;
-  struct IShellFolder {
-    CONST_VTBL struct IShellFolderVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellFolder_Release(This) (This)->lpVtbl->Release(This)
-#define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
-#define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
-#define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
-#define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
-#define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
-#define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
-#define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
-#define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
-#define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
-#define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
-#endif
-#endif
-  HRESULT WINAPI IShellFolder_ParseDisplayName_Proxy(IShellFolder *This,HWND hwnd,LPBC pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,LPITEMIDLIST *ppidl,ULONG *pdwAttributes);
-  void __RPC_STUB IShellFolder_ParseDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_EnumObjects_Proxy(IShellFolder *This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList);
-  void __RPC_STUB IShellFolder_EnumObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_BindToObject_Proxy(IShellFolder *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-  void __RPC_STUB IShellFolder_BindToObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_BindToStorage_Proxy(IShellFolder *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-  void __RPC_STUB IShellFolder_BindToStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_CompareIDs_Proxy(IShellFolder *This,LPARAM lParam,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
-  void __RPC_STUB IShellFolder_CompareIDs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_CreateViewObject_Proxy(IShellFolder *This,HWND hwndOwner,REFIID riid,void **ppv);
-  void __RPC_STUB IShellFolder_CreateViewObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_GetAttributesOf_Proxy(IShellFolder *This,UINT cidl,LPCITEMIDLIST *apidl,SFGAOF *rgfInOut);
-  void __RPC_STUB IShellFolder_GetAttributesOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_GetUIObjectOf_Proxy(IShellFolder *This,HWND hwndOwner,UINT cidl,LPCITEMIDLIST *apidl,REFIID riid,UINT *rgfReserved,void **ppv);
-  void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_GetDisplayNameOf_Proxy(IShellFolder *This,LPCITEMIDLIST pidl,SHGDNF uFlags,STRRET *pName);
-  void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder_SetNameOf_Proxy(IShellFolder *This,HWND hwnd,LPCITEMIDLIST pidl,LPCOLESTR pszName,SHGDNF uFlags,LPITEMIDLIST *ppidlOut);
-  void __RPC_STUB IShellFolder_SetNameOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IShellFolder *LPSHELLFOLDER;
-
-#if (_WIN32_IE >= 0x0500)
-  typedef struct tagEXTRASEARCH {
-    GUID guidSearch;
-    WCHAR wszFriendlyName[80];
-    WCHAR wszUrl[2084];
-  } EXTRASEARCH;
-  typedef struct tagEXTRASEARCH *LPEXTRASEARCH;
-  typedef struct IEnumExtraSearch *LPENUMEXTRASEARCH;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0200_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0200_v0_0_s_ifspec;
-
-#ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
-#define __IEnumExtraSearch_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IEnumExtraSearch;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IEnumExtraSearch : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Next(ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched) = 0;
-    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
-    virtual HRESULT WINAPI Reset(void) = 0;
-    virtual HRESULT WINAPI Clone(IEnumExtraSearch **ppenum) = 0;
-  };
-#else
-  typedef struct IEnumExtraSearchVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IEnumExtraSearch *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IEnumExtraSearch *This);
-      ULONG (WINAPI *Release)(IEnumExtraSearch *This);
-      HRESULT (WINAPI *Next)(IEnumExtraSearch *This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched);
-      HRESULT (WINAPI *Skip)(IEnumExtraSearch *This,ULONG celt);
-      HRESULT (WINAPI *Reset)(IEnumExtraSearch *This);
-      HRESULT (WINAPI *Clone)(IEnumExtraSearch *This,IEnumExtraSearch **ppenum);
-    END_INTERFACE
-  } IEnumExtraSearchVtbl;
-  struct IEnumExtraSearch {
-    CONST_VTBL struct IEnumExtraSearchVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumExtraSearch_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumExtraSearch_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumExtraSearch_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumExtraSearch_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumExtraSearch_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#endif
-#endif
-  HRESULT WINAPI IEnumExtraSearch_Next_Proxy(IEnumExtraSearch *This,ULONG celt,EXTRASEARCH *rgelt,ULONG *pceltFetched);
-  void __RPC_STUB IEnumExtraSearch_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumExtraSearch_Skip_Proxy(IEnumExtraSearch *This,ULONG celt);
-  void __RPC_STUB IEnumExtraSearch_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumExtraSearch_Reset_Proxy(IEnumExtraSearch *This);
-  void __RPC_STUB IEnumExtraSearch_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IEnumExtraSearch_Clone_Proxy(IEnumExtraSearch *This,IEnumExtraSearch **ppenum);
-  void __RPC_STUB IEnumExtraSearch_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0201_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0201_v0_0_s_ifspec;
-#ifndef __IShellFolder2_INTERFACE_DEFINED__
-#define __IShellFolder2_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellFolder2;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellFolder2 : public IShellFolder {
-  public:
-    virtual HRESULT WINAPI GetDefaultSearchGUID(GUID *pguid) = 0;
-    virtual HRESULT WINAPI EnumSearches(IEnumExtraSearch **ppenum) = 0;
-    virtual HRESULT WINAPI GetDefaultColumn(DWORD dwRes,ULONG *pSort,ULONG *pDisplay) = 0;
-    virtual HRESULT WINAPI GetDefaultColumnState(UINT iColumn,SHCOLSTATEF *pcsFlags) = 0;
-    virtual HRESULT WINAPI GetDetailsEx(LPCITEMIDLIST pidl,const SHCOLUMNID *pscid,VARIANT *pv) = 0;
-    virtual HRESULT WINAPI GetDetailsOf(LPCITEMIDLIST pidl,UINT iColumn,SHELLDETAILS *psd) = 0;
-    virtual HRESULT WINAPI MapColumnToSCID(UINT iColumn,SHCOLUMNID *pscid) = 0;
-  };
-#else
-  typedef struct IShellFolder2Vtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellFolder2 *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellFolder2 *This);
-      ULONG (WINAPI *Release)(IShellFolder2 *This);
-      HRESULT (WINAPI *ParseDisplayName)(IShellFolder2 *This,HWND hwnd,LPBC pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,LPITEMIDLIST *ppidl,ULONG *pdwAttributes);
-      HRESULT (WINAPI *EnumObjects)(IShellFolder2 *This,HWND hwnd,SHCONTF grfFlags,IEnumIDList **ppenumIDList);
-      HRESULT (WINAPI *BindToObject)(IShellFolder2 *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-      HRESULT (WINAPI *BindToStorage)(IShellFolder2 *This,LPCITEMIDLIST pidl,LPBC pbc,REFIID riid,void **ppv);
-      HRESULT (WINAPI *CompareIDs)(IShellFolder2 *This,LPARAM lParam,LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
-      HRESULT (WINAPI *CreateViewObject)(IShellFolder2 *This,HWND hwndOwner,REFIID riid,void **ppv);
-      HRESULT (WINAPI *GetAttributesOf)(IShellFolder2 *This,UINT cidl,LPCITEMIDLIST *apidl,SFGAOF *rgfInOut);
-      HRESULT (WINAPI *GetUIObjectOf)(IShellFolder2 *This,HWND hwndOwner,UINT cidl,LPCITEMIDLIST *apidl,REFIID riid,UINT *rgfReserved,void **ppv);
-      HRESULT (WINAPI *GetDisplayNameOf)(IShellFolder2 *This,LPCITEMIDLIST pidl,SHGDNF uFlags,STRRET *pName);
-      HRESULT (WINAPI *SetNameOf)(IShellFolder2 *This,HWND hwnd,LPCITEMIDLIST pidl,LPCOLESTR pszName,SHGDNF uFlags,LPITEMIDLIST *ppidlOut);
-      HRESULT (WINAPI *GetDefaultSearchGUID)(IShellFolder2 *This,GUID *pguid);
-      HRESULT (WINAPI *EnumSearches)(IShellFolder2 *This,IEnumExtraSearch **ppenum);
-      HRESULT (WINAPI *GetDefaultColumn)(IShellFolder2 *This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay);
-      HRESULT (WINAPI *GetDefaultColumnState)(IShellFolder2 *This,UINT iColumn,SHCOLSTATEF *pcsFlags);
-      HRESULT (WINAPI *GetDetailsEx)(IShellFolder2 *This,LPCITEMIDLIST pidl,const SHCOLUMNID *pscid,VARIANT *pv);
-      HRESULT (WINAPI *GetDetailsOf)(IShellFolder2 *This,LPCITEMIDLIST pidl,UINT iColumn,SHELLDETAILS *psd);
-      HRESULT (WINAPI *MapColumnToSCID)(IShellFolder2 *This,UINT iColumn,SHCOLUMNID *pscid);
-    END_INTERFACE
-  } IShellFolder2Vtbl;
-  struct IShellFolder2 {
-    CONST_VTBL struct IShellFolder2Vtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellFolder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellFolder2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellFolder2_Release(This) (This)->lpVtbl->Release(This)
-#define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) (This)->lpVtbl->ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
-#define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) (This)->lpVtbl->EnumObjects(This,hwnd,grfFlags,ppenumIDList)
-#define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToObject(This,pidl,pbc,riid,ppv)
-#define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) (This)->lpVtbl->BindToStorage(This,pidl,pbc,riid,ppv)
-#define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) (This)->lpVtbl->CompareIDs(This,lParam,pidl1,pidl2)
-#define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) (This)->lpVtbl->CreateViewObject(This,hwndOwner,riid,ppv)
-#define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) (This)->lpVtbl->GetAttributesOf(This,cidl,apidl,rgfInOut)
-#define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) (This)->lpVtbl->GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
-#define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) (This)->lpVtbl->GetDisplayNameOf(This,pidl,uFlags,pName)
-#define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) (This)->lpVtbl->SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
-#define IShellFolder2_GetDefaultSearchGUID(This,pguid) (This)->lpVtbl->GetDefaultSearchGUID(This,pguid)
-#define IShellFolder2_EnumSearches(This,ppenum) (This)->lpVtbl->EnumSearches(This,ppenum)
-#define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) (This)->lpVtbl->GetDefaultColumn(This,dwRes,pSort,pDisplay)
-#define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) (This)->lpVtbl->GetDefaultColumnState(This,iColumn,pcsFlags)
-#define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) (This)->lpVtbl->GetDetailsEx(This,pidl,pscid,pv)
-#define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) (This)->lpVtbl->GetDetailsOf(This,pidl,iColumn,psd)
-#define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) (This)->lpVtbl->MapColumnToSCID(This,iColumn,pscid)
-#endif
-#endif
-  HRESULT WINAPI IShellFolder2_GetDefaultSearchGUID_Proxy(IShellFolder2 *This,GUID *pguid);
-  void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_EnumSearches_Proxy(IShellFolder2 *This,IEnumExtraSearch **ppenum);
-  void __RPC_STUB IShellFolder2_EnumSearches_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_GetDefaultColumn_Proxy(IShellFolder2 *This,DWORD dwRes,ULONG *pSort,ULONG *pDisplay);
-  void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_GetDefaultColumnState_Proxy(IShellFolder2 *This,UINT iColumn,SHCOLSTATEF *pcsFlags);
-  void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_GetDetailsEx_Proxy(IShellFolder2 *This,LPCITEMIDLIST pidl,const SHCOLUMNID *pscid,VARIANT *pv);
-  void __RPC_STUB IShellFolder2_GetDetailsEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_GetDetailsOf_Proxy(IShellFolder2 *This,LPCITEMIDLIST pidl,UINT iColumn,SHELLDETAILS *psd);
-  void __RPC_STUB IShellFolder2_GetDetailsOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellFolder2_MapColumnToSCID_Proxy(IShellFolder2 *This,UINT iColumn,SHCOLUMNID *pscid);
-  void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-#endif
-  typedef char *LPVIEWSETTINGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0202_0001 {
-    FWF_AUTOARRANGE = 0x1,FWF_ABBREVIATEDNAMES = 0x2,FWF_SNAPTOGRID = 0x4,FWF_OWNERDATA = 0x8,FWF_BESTFITWINDOW = 0x10,FWF_DESKTOP = 0x20,
-    FWF_SINGLESEL = 0x40,FWF_NOSUBFOLDERS = 0x80,FWF_TRANSPARENT = 0x100,FWF_NOCLIENTEDGE = 0x200,FWF_NOSCROLL = 0x400,FWF_ALIGNLEFT = 0x800,
-    FWF_NOICONS = 0x1000,FWF_SHOWSELALWAYS = 0x2000,FWF_NOVISIBLE = 0x4000,FWF_SINGLECLICKACTIVATE = 0x8000,FWF_NOWEBVIEW = 0x10000,
-    FWF_HIDEFILENAMES = 0x20000,FWF_CHECKSELECT = 0x40000
-  } FOLDERFLAGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0202_0002 {
-    FVM_FIRST = 1,FVM_ICON = 1,FVM_SMALLICON = 2,FVM_LIST = 3,FVM_DETAILS = 4,FVM_THUMBNAIL = 5,FVM_TILE = 6,FVM_THUMBSTRIP = 7,FVM_LAST = 7
-  } FOLDERVIEWMODE;
-
-  typedef struct __MIDL___MIDL_itf_shobjidl_0202_0003 {
-    UINT ViewMode;
-    UINT fFlags;
-  } FOLDERSETTINGS;
-
-  typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
-  typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
-  typedef FOLDERSETTINGS *PFOLDERSETTINGS;
-
-#define SVSI_DESELECT 0x00000000
-#define SVSI_SELECT 0x00000001
-#define SVSI_EDIT 0x00000003
-#define SVSI_DESELECTOTHERS 0x00000004
-#define SVSI_ENSUREVISIBLE 0x00000008
-#define SVSI_FOCUSED 0x00000010
-#define SVSI_TRANSLATEPT 0x00000020
-#define SVSI_SELECTIONMARK 0x00000040
-#define SVSI_POSITIONITEM 0x00000080
-#define SVSI_CHECK 0x00000100
-#define SVSI_NOSTATECHANGE 0x80000000
-  typedef UINT SVSIF;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0202_0004 {
-    SVGIO_BACKGROUND = 0,SVGIO_SELECTION = 0x1,SVGIO_ALLVIEW = 0x2,SVGIO_CHECKED = 0x3,SVGIO_TYPE_MASK = 0xf,SVGIO_FLAG_VIEWORDER = 0x80000000
-  } SVGIO;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0202_0005 {
-    SVUIA_DEACTIVATE = 0,SVUIA_ACTIVATE_NOFOCUS = 1,SVUIA_ACTIVATE_FOCUS = 2,SVUIA_INPLACEACTIVATE = 3
-  } SVUIA_STATUS;
-
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-#define EnableModeless EnableModelessSV
-#endif
-#ifdef _NEVER_
-  typedef LPARAM LPFNSVADDPROPSHEETPAGE;
-#else
-#include <prsht.h>
-  typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0202_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0202_v0_0_s_ifspec;
-#ifndef __IShellView_INTERFACE_DEFINED__
-#define __IShellView_INTERFACE_DEFINED__
-  typedef IShellView *LPSHELLVIEW;
-
-  EXTERN_C const IID IID_IShellView;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellView : public IOleWindow {
-  public:
-    virtual HRESULT WINAPI TranslateAccelerator(MSG *pmsg) = 0;
-    virtual HRESULT WINAPI EnableModeless(WINBOOL fEnable) = 0;
-    virtual HRESULT WINAPI UIActivate(UINT uState) = 0;
-    virtual HRESULT WINAPI Refresh(void) = 0;
-    virtual HRESULT WINAPI CreateViewWindow(IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd) = 0;
-    virtual HRESULT WINAPI DestroyViewWindow(void) = 0;
-    virtual HRESULT WINAPI GetCurrentInfo(LPFOLDERSETTINGS pfs) = 0;
-    virtual HRESULT WINAPI AddPropertySheetPages(DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam) = 0;
-    virtual HRESULT WINAPI SaveViewState(void) = 0;
-    virtual HRESULT WINAPI SelectItem(LPCITEMIDLIST pidlItem,SVSIF uFlags) = 0;
-    virtual HRESULT WINAPI GetItemObject(UINT uItem,REFIID riid,void **ppv) = 0;
-  };
-#else
-  typedef struct IShellViewVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellView *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellView *This);
-      ULONG (WINAPI *Release)(IShellView *This);
-      HRESULT (WINAPI *GetWindow)(IShellView *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IShellView *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *TranslateAccelerator)(IShellView *This,MSG *pmsg);
-      HRESULT (WINAPI *EnableModeless)(IShellView *This,WINBOOL fEnable);
-      HRESULT (WINAPI *UIActivate)(IShellView *This,UINT uState);
-      HRESULT (WINAPI *Refresh)(IShellView *This);
-      HRESULT (WINAPI *CreateViewWindow)(IShellView *This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd);
-      HRESULT (WINAPI *DestroyViewWindow)(IShellView *This);
-      HRESULT (WINAPI *GetCurrentInfo)(IShellView *This,LPFOLDERSETTINGS pfs);
-      HRESULT (WINAPI *AddPropertySheetPages)(IShellView *This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam);
-      HRESULT (WINAPI *SaveViewState)(IShellView *This);
-      HRESULT (WINAPI *SelectItem)(IShellView *This,LPCITEMIDLIST pidlItem,SVSIF uFlags);
-      HRESULT (WINAPI *GetItemObject)(IShellView *This,UINT uItem,REFIID riid,void **ppv);
-    END_INTERFACE
-  } IShellViewVtbl;
-  struct IShellView {
-    CONST_VTBL struct IShellViewVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellView_Release(This) (This)->lpVtbl->Release(This)
-#define IShellView_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IShellView_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IShellView_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
-#define IShellView_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
-#define IShellView_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
-#define IShellView_Refresh(This) (This)->lpVtbl->Refresh(This)
-#define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
-#define IShellView_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
-#define IShellView_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
-#define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
-#define IShellView_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
-#define IShellView_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
-#define IShellView_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
-#endif
-#endif
-  HRESULT WINAPI IShellView_TranslateAccelerator_Proxy(IShellView *This,MSG *pmsg);
-  void __RPC_STUB IShellView_TranslateAccelerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_EnableModeless_Proxy(IShellView *This,WINBOOL fEnable);
-  void __RPC_STUB IShellView_EnableModeless_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_UIActivate_Proxy(IShellView *This,UINT uState);
-  void __RPC_STUB IShellView_UIActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_Refresh_Proxy(IShellView *This);
-  void __RPC_STUB IShellView_Refresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_CreateViewWindow_Proxy(IShellView *This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd);
-  void __RPC_STUB IShellView_CreateViewWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_DestroyViewWindow_Proxy(IShellView *This);
-  void __RPC_STUB IShellView_DestroyViewWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_GetCurrentInfo_Proxy(IShellView *This,LPFOLDERSETTINGS pfs);
-  void __RPC_STUB IShellView_GetCurrentInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_AddPropertySheetPages_Proxy(IShellView *This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam);
-  void __RPC_STUB IShellView_AddPropertySheetPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_SaveViewState_Proxy(IShellView *This);
-  void __RPC_STUB IShellView_SaveViewState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_SelectItem_Proxy(IShellView *This,LPCITEMIDLIST pidlItem,SVSIF uFlags);
-  void __RPC_STUB IShellView_SelectItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView_GetItemObject_Proxy(IShellView *This,UINT uItem,REFIID riid,void **ppv);
-  void __RPC_STUB IShellView_GetItemObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IShellView2_INTERFACE_DEFINED__
-#define __IShellView2_INTERFACE_DEFINED__
-  typedef GUID SHELLVIEWID;
-
-#define SV2GV_CURRENTVIEW ((UINT)-1)
-#define SV2GV_DEFAULTVIEW ((UINT)-2)
-#include <pshpack8.h>
-  typedef struct _SV2CVW2_PARAMS {
-    DWORD cbSize;
-    IShellView *psvPrev;
-    LPCFOLDERSETTINGS pfs;
-    IShellBrowser *psbOwner;
-    RECT *prcView;
-    const SHELLVIEWID *pvid;
-    HWND hwndView;
-  } SV2CVW2_PARAMS;
-
-  typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS;
-
-#include <poppack.h>
-
-  EXTERN_C const IID IID_IShellView2;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellView2 : public IShellView {
-  public:
-    virtual HRESULT WINAPI GetView(SHELLVIEWID *pvid,ULONG uView) = 0;
-    virtual HRESULT WINAPI CreateViewWindow2(LPSV2CVW2_PARAMS lpParams) = 0;
-    virtual HRESULT WINAPI HandleRename(LPCITEMIDLIST pidlNew) = 0;
-    virtual HRESULT WINAPI SelectAndPositionItem(LPCITEMIDLIST pidlItem,UINT uFlags,POINT *ppt) = 0;
-  };
-#else
-  typedef struct IShellView2Vtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellView2 *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellView2 *This);
-      ULONG (WINAPI *Release)(IShellView2 *This);
-      HRESULT (WINAPI *GetWindow)(IShellView2 *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IShellView2 *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *TranslateAccelerator)(IShellView2 *This,MSG *pmsg);
-      HRESULT (WINAPI *EnableModeless)(IShellView2 *This,WINBOOL fEnable);
-      HRESULT (WINAPI *UIActivate)(IShellView2 *This,UINT uState);
-      HRESULT (WINAPI *Refresh)(IShellView2 *This);
-      HRESULT (WINAPI *CreateViewWindow)(IShellView2 *This,IShellView *psvPrevious,LPCFOLDERSETTINGS pfs,IShellBrowser *psb,RECT *prcView,HWND *phWnd);
-      HRESULT (WINAPI *DestroyViewWindow)(IShellView2 *This);
-      HRESULT (WINAPI *GetCurrentInfo)(IShellView2 *This,LPFOLDERSETTINGS pfs);
-      HRESULT (WINAPI *AddPropertySheetPages)(IShellView2 *This,DWORD dwReserved,LPFNSVADDPROPSHEETPAGE pfn,LPARAM lparam);
-      HRESULT (WINAPI *SaveViewState)(IShellView2 *This);
-      HRESULT (WINAPI *SelectItem)(IShellView2 *This,LPCITEMIDLIST pidlItem,SVSIF uFlags);
-      HRESULT (WINAPI *GetItemObject)(IShellView2 *This,UINT uItem,REFIID riid,void **ppv);
-      HRESULT (WINAPI *GetView)(IShellView2 *This,SHELLVIEWID *pvid,ULONG uView);
-      HRESULT (WINAPI *CreateViewWindow2)(IShellView2 *This,LPSV2CVW2_PARAMS lpParams);
-      HRESULT (WINAPI *HandleRename)(IShellView2 *This,LPCITEMIDLIST pidlNew);
-      HRESULT (WINAPI *SelectAndPositionItem)(IShellView2 *This,LPCITEMIDLIST pidlItem,UINT uFlags,POINT *ppt);
-    END_INTERFACE
-  } IShellView2Vtbl;
-  struct IShellView2 {
-    CONST_VTBL struct IShellView2Vtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellView2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellView2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellView2_Release(This) (This)->lpVtbl->Release(This)
-#define IShellView2_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IShellView2_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IShellView2_TranslateAccelerator(This,pmsg) (This)->lpVtbl->TranslateAccelerator(This,pmsg)
-#define IShellView2_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
-#define IShellView2_UIActivate(This,uState) (This)->lpVtbl->UIActivate(This,uState)
-#define IShellView2_Refresh(This) (This)->lpVtbl->Refresh(This)
-#define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) (This)->lpVtbl->CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
-#define IShellView2_DestroyViewWindow(This) (This)->lpVtbl->DestroyViewWindow(This)
-#define IShellView2_GetCurrentInfo(This,pfs) (This)->lpVtbl->GetCurrentInfo(This,pfs)
-#define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) (This)->lpVtbl->AddPropertySheetPages(This,dwReserved,pfn,lparam)
-#define IShellView2_SaveViewState(This) (This)->lpVtbl->SaveViewState(This)
-#define IShellView2_SelectItem(This,pidlItem,uFlags) (This)->lpVtbl->SelectItem(This,pidlItem,uFlags)
-#define IShellView2_GetItemObject(This,uItem,riid,ppv) (This)->lpVtbl->GetItemObject(This,uItem,riid,ppv)
-#define IShellView2_GetView(This,pvid,uView) (This)->lpVtbl->GetView(This,pvid,uView)
-#define IShellView2_CreateViewWindow2(This,lpParams) (This)->lpVtbl->CreateViewWindow2(This,lpParams)
-#define IShellView2_HandleRename(This,pidlNew) (This)->lpVtbl->HandleRename(This,pidlNew)
-#define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) (This)->lpVtbl->SelectAndPositionItem(This,pidlItem,uFlags,ppt)
-#endif
-#endif
-  HRESULT WINAPI IShellView2_GetView_Proxy(IShellView2 *This,SHELLVIEWID *pvid,ULONG uView);
-  void __RPC_STUB IShellView2_GetView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView2_CreateViewWindow2_Proxy(IShellView2 *This,LPSV2CVW2_PARAMS lpParams);
-  void __RPC_STUB IShellView2_CreateViewWindow2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView2_HandleRename_Proxy(IShellView2 *This,LPCITEMIDLIST pidlNew);
-  void __RPC_STUB IShellView2_HandleRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellView2_SelectAndPositionItem_Proxy(IShellView2 *This,LPCITEMIDLIST pidlItem,UINT uFlags,POINT *ppt);
-  void __RPC_STUB IShellView2_SelectAndPositionItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IFolderView_INTERFACE_DEFINED__
-#define __IFolderView_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IFolderView;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IFolderView : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetCurrentViewMode(UINT *pViewMode) = 0;
-    virtual HRESULT WINAPI SetCurrentViewMode(UINT ViewMode) = 0;
-    virtual HRESULT WINAPI GetFolder(REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI Item(int iItemIndex,LPITEMIDLIST *ppidl) = 0;
-    virtual HRESULT WINAPI ItemCount(UINT uFlags,int *pcItems) = 0;
-    virtual HRESULT WINAPI Items(UINT uFlags,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI GetSelectionMarkedItem(int *piItem) = 0;
-    virtual HRESULT WINAPI GetFocusedItem(int *piItem) = 0;
-    virtual HRESULT WINAPI GetItemPosition(LPCITEMIDLIST pidl,POINT *ppt) = 0;
-    virtual HRESULT WINAPI GetSpacing(POINT *ppt) = 0;
-    virtual HRESULT WINAPI GetDefaultSpacing(POINT *ppt) = 0;
-    virtual HRESULT WINAPI GetAutoArrange(void) = 0;
-    virtual HRESULT WINAPI SelectItem(int iItem,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI SelectAndPositionItems(UINT cidl,LPCITEMIDLIST *apidl,POINT *apt,DWORD dwFlags) = 0;
-  };
-#else
-  typedef struct IFolderViewVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IFolderView *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IFolderView *This);
-      ULONG (WINAPI *Release)(IFolderView *This);
-      HRESULT (WINAPI *GetCurrentViewMode)(IFolderView *This,UINT *pViewMode);
-      HRESULT (WINAPI *SetCurrentViewMode)(IFolderView *This,UINT ViewMode);
-      HRESULT (WINAPI *GetFolder)(IFolderView *This,REFIID riid,void **ppv);
-      HRESULT (WINAPI *Item)(IFolderView *This,int iItemIndex,LPITEMIDLIST *ppidl);
-      HRESULT (WINAPI *ItemCount)(IFolderView *This,UINT uFlags,int *pcItems);
-      HRESULT (WINAPI *Items)(IFolderView *This,UINT uFlags,REFIID riid,void **ppv);
-      HRESULT (WINAPI *GetSelectionMarkedItem)(IFolderView *This,int *piItem);
-      HRESULT (WINAPI *GetFocusedItem)(IFolderView *This,int *piItem);
-      HRESULT (WINAPI *GetItemPosition)(IFolderView *This,LPCITEMIDLIST pidl,POINT *ppt);
-      HRESULT (WINAPI *GetSpacing)(IFolderView *This,POINT *ppt);
-      HRESULT (WINAPI *GetDefaultSpacing)(IFolderView *This,POINT *ppt);
-      HRESULT (WINAPI *GetAutoArrange)(IFolderView *This);
-      HRESULT (WINAPI *SelectItem)(IFolderView *This,int iItem,DWORD dwFlags);
-      HRESULT (WINAPI *SelectAndPositionItems)(IFolderView *This,UINT cidl,LPCITEMIDLIST *apidl,POINT *apt,DWORD dwFlags);
-    END_INTERFACE
-  } IFolderViewVtbl;
-  struct IFolderView {
-    CONST_VTBL struct IFolderViewVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IFolderView_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFolderView_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFolderView_Release(This) (This)->lpVtbl->Release(This)
-#define IFolderView_GetCurrentViewMode(This,pViewMode) (This)->lpVtbl->GetCurrentViewMode(This,pViewMode)
-#define IFolderView_SetCurrentViewMode(This,ViewMode) (This)->lpVtbl->SetCurrentViewMode(This,ViewMode)
-#define IFolderView_GetFolder(This,riid,ppv) (This)->lpVtbl->GetFolder(This,riid,ppv)
-#define IFolderView_Item(This,iItemIndex,ppidl) (This)->lpVtbl->Item(This,iItemIndex,ppidl)
-#define IFolderView_ItemCount(This,uFlags,pcItems) (This)->lpVtbl->ItemCount(This,uFlags,pcItems)
-#define IFolderView_Items(This,uFlags,riid,ppv) (This)->lpVtbl->Items(This,uFlags,riid,ppv)
-#define IFolderView_GetSelectionMarkedItem(This,piItem) (This)->lpVtbl->GetSelectionMarkedItem(This,piItem)
-#define IFolderView_GetFocusedItem(This,piItem) (This)->lpVtbl->GetFocusedItem(This,piItem)
-#define IFolderView_GetItemPosition(This,pidl,ppt) (This)->lpVtbl->GetItemPosition(This,pidl,ppt)
-#define IFolderView_GetSpacing(This,ppt) (This)->lpVtbl->GetSpacing(This,ppt)
-#define IFolderView_GetDefaultSpacing(This,ppt) (This)->lpVtbl->GetDefaultSpacing(This,ppt)
-#define IFolderView_GetAutoArrange(This) (This)->lpVtbl->GetAutoArrange(This)
-#define IFolderView_SelectItem(This,iItem,dwFlags) (This)->lpVtbl->SelectItem(This,iItem,dwFlags)
-#define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) (This)->lpVtbl->SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
-#endif
-#endif
-  HRESULT WINAPI IFolderView_GetCurrentViewMode_Proxy(IFolderView *This,UINT *pViewMode);
-  void __RPC_STUB IFolderView_GetCurrentViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_SetCurrentViewMode_Proxy(IFolderView *This,UINT ViewMode);
-  void __RPC_STUB IFolderView_SetCurrentViewMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetFolder_Proxy(IFolderView *This,REFIID riid,void **ppv);
-  void __RPC_STUB IFolderView_GetFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_Item_Proxy(IFolderView *This,int iItemIndex,LPITEMIDLIST *ppidl);
-  void __RPC_STUB IFolderView_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_ItemCount_Proxy(IFolderView *This,UINT uFlags,int *pcItems);
-  void __RPC_STUB IFolderView_ItemCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_Items_Proxy(IFolderView *This,UINT uFlags,REFIID riid,void **ppv);
-  void __RPC_STUB IFolderView_Items_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetSelectionMarkedItem_Proxy(IFolderView *This,int *piItem);
-  void __RPC_STUB IFolderView_GetSelectionMarkedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetFocusedItem_Proxy(IFolderView *This,int *piItem);
-  void __RPC_STUB IFolderView_GetFocusedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetItemPosition_Proxy(IFolderView *This,LPCITEMIDLIST pidl,POINT *ppt);
-  void __RPC_STUB IFolderView_GetItemPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetSpacing_Proxy(IFolderView *This,POINT *ppt);
-  void __RPC_STUB IFolderView_GetSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetDefaultSpacing_Proxy(IFolderView *This,POINT *ppt);
-  void __RPC_STUB IFolderView_GetDefaultSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_GetAutoArrange_Proxy(IFolderView *This);
-  void __RPC_STUB IFolderView_GetAutoArrange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_SelectItem_Proxy(IFolderView *This,int iItem,DWORD dwFlags);
-  void __RPC_STUB IFolderView_SelectItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderView_SelectAndPositionItems_Proxy(IFolderView *This,UINT cidl,LPCITEMIDLIST *apidl,POINT *apt,DWORD dwFlags);
-  void __RPC_STUB IFolderView_SelectAndPositionItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SID_SFolderView IID_IFolderView
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-#undef EnableModeless
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0205_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0205_v0_0_s_ifspec;
-#ifndef __IFolderFilterSite_INTERFACE_DEFINED__
-#define __IFolderFilterSite_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IFolderFilterSite;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IFolderFilterSite : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetFilter(IUnknown *punk) = 0;
-  };
-#else
-  typedef struct IFolderFilterSiteVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IFolderFilterSite *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IFolderFilterSite *This);
-      ULONG (WINAPI *Release)(IFolderFilterSite *This);
-      HRESULT (WINAPI *SetFilter)(IFolderFilterSite *This,IUnknown *punk);
-    END_INTERFACE
-  } IFolderFilterSiteVtbl;
-  struct IFolderFilterSite {
-    CONST_VTBL struct IFolderFilterSiteVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IFolderFilterSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFolderFilterSite_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFolderFilterSite_Release(This) (This)->lpVtbl->Release(This)
-#define IFolderFilterSite_SetFilter(This,punk) (This)->lpVtbl->SetFilter(This,punk)
-#endif
-#endif
-  HRESULT WINAPI IFolderFilterSite_SetFilter_Proxy(IFolderFilterSite *This,IUnknown *punk);
-  void __RPC_STUB IFolderFilterSite_SetFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IFolderFilter_INTERFACE_DEFINED__
-#define __IFolderFilter_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IFolderFilter;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IFolderFilter : public IUnknown {
-  public:
-    virtual HRESULT WINAPI ShouldShow(IShellFolder *psf,LPCITEMIDLIST pidlFolder,LPCITEMIDLIST pidlItem) = 0;
-    virtual HRESULT WINAPI GetEnumFlags(IShellFolder *psf,LPCITEMIDLIST pidlFolder,HWND *phwnd,DWORD *pgrfFlags) = 0;
-  };
-#else
-  typedef struct IFolderFilterVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IFolderFilter *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IFolderFilter *This);
-      ULONG (WINAPI *Release)(IFolderFilter *This);
-      HRESULT (WINAPI *ShouldShow)(IFolderFilter *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,LPCITEMIDLIST pidlItem);
-      HRESULT (WINAPI *GetEnumFlags)(IFolderFilter *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,HWND *phwnd,DWORD *pgrfFlags);
-    END_INTERFACE
-  } IFolderFilterVtbl;
-  struct IFolderFilter {
-    CONST_VTBL struct IFolderFilterVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IFolderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFolderFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFolderFilter_Release(This) (This)->lpVtbl->Release(This)
-#define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) (This)->lpVtbl->ShouldShow(This,psf,pidlFolder,pidlItem)
-#define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) (This)->lpVtbl->GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags)
-#endif
-#endif
-  HRESULT WINAPI IFolderFilter_ShouldShow_Proxy(IFolderFilter *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,LPCITEMIDLIST pidlItem);
-  void __RPC_STUB IFolderFilter_ShouldShow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderFilter_GetEnumFlags_Proxy(IFolderFilter *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,HWND *phwnd,DWORD *pgrfFlags);
-  void __RPC_STUB IFolderFilter_GetEnumFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SBSP_DEFBROWSER 0x0000
-#define SBSP_SAMEBROWSER 0x0001
-#define SBSP_NEWBROWSER 0x0002
-#define SBSP_DEFMODE 0x0000
-#define SBSP_OPENMODE 0x0010
-#define SBSP_EXPLOREMODE 0x0020
-#define SBSP_HELPMODE 0x0040
-#define SBSP_NOTRANSFERHIST 0x0080
-#define SBSP_ABSOLUTE 0x0000
-#define SBSP_RELATIVE 0x1000
-#define SBSP_PARENT 0x2000
-#define SBSP_NAVIGATEBACK 0x4000
-#define SBSP_NAVIGATEFORWARD 0x8000
-#define SBSP_ALLOW_AUTONAVIGATE 0x10000
-#define SBSP_CALLERUNTRUSTED 0x00800000
-#define SBSP_TRUSTFIRSTDOWNLOAD 0x01000000
-#define SBSP_UNTRUSTEDFORDOWNLOAD 0x02000000
-#define SBSP_NOAUTOSELECT 0x04000000
-#define SBSP_WRITENOHISTORY 0x08000000
-#define SBSP_TRUSTEDFORACTIVEX 0x10000000
-#define SBSP_REDIRECT 0x40000000
-#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
-#define FCW_STATUS 0x0001
-#define FCW_TOOLBAR 0x0002
-#define FCW_TREE 0x0003
-#define FCW_INTERNETBAR 0x0006
-#define FCW_PROGRESS 0x0008
-#define FCT_MERGE 0x0001
-#define FCT_CONFIGABLE 0x0002
-#define FCT_ADDTOEND 0x0004
-#ifdef _NEVER_
-  typedef LPARAM LPTBBUTTONSB;
-#else
-#include <commctrl.h>
-  typedef LPTBBUTTON LPTBBUTTONSB;
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0207_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0207_v0_0_s_ifspec;
-#ifndef __IShellBrowser_INTERFACE_DEFINED__
-#define __IShellBrowser_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellBrowser;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellBrowser : public IOleWindow {
-  public:
-    virtual HRESULT WINAPI InsertMenusSB(HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
-    virtual HRESULT WINAPI SetMenuSB(HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject) = 0;
-    virtual HRESULT WINAPI RemoveMenusSB(HMENU hmenuShared) = 0;
-    virtual HRESULT WINAPI SetStatusTextSB(LPCOLESTR pszStatusText) = 0;
-    virtual HRESULT WINAPI EnableModelessSB(WINBOOL fEnable) = 0;
-    virtual HRESULT WINAPI TranslateAcceleratorSB(MSG *pmsg,WORD wID) = 0;
-    virtual HRESULT WINAPI BrowseObject(LPCITEMIDLIST pidl,UINT wFlags) = 0;
-    virtual HRESULT WINAPI GetViewStateStream(DWORD grfMode,IStream **ppStrm) = 0;
-    virtual HRESULT WINAPI GetControlWindow(UINT id,HWND *phwnd) = 0;
-    virtual HRESULT WINAPI SendControlMsg(UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret) = 0;
-    virtual HRESULT WINAPI QueryActiveShellView(IShellView **ppshv) = 0;
-    virtual HRESULT WINAPI OnViewWindowActive(IShellView *pshv) = 0;
-    virtual HRESULT WINAPI SetToolbarItems(LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags) = 0;
-  };
-#else
-  typedef struct IShellBrowserVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellBrowser *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellBrowser *This);
-      ULONG (WINAPI *Release)(IShellBrowser *This);
-      HRESULT (WINAPI *GetWindow)(IShellBrowser *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IShellBrowser *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *InsertMenusSB)(IShellBrowser *This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths);
-      HRESULT (WINAPI *SetMenuSB)(IShellBrowser *This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject);
-      HRESULT (WINAPI *RemoveMenusSB)(IShellBrowser *This,HMENU hmenuShared);
-      HRESULT (WINAPI *SetStatusTextSB)(IShellBrowser *This,LPCOLESTR pszStatusText);
-      HRESULT (WINAPI *EnableModelessSB)(IShellBrowser *This,WINBOOL fEnable);
-      HRESULT (WINAPI *TranslateAcceleratorSB)(IShellBrowser *This,MSG *pmsg,WORD wID);
-      HRESULT (WINAPI *BrowseObject)(IShellBrowser *This,LPCITEMIDLIST pidl,UINT wFlags);
-      HRESULT (WINAPI *GetViewStateStream)(IShellBrowser *This,DWORD grfMode,IStream **ppStrm);
-      HRESULT (WINAPI *GetControlWindow)(IShellBrowser *This,UINT id,HWND *phwnd);
-      HRESULT (WINAPI *SendControlMsg)(IShellBrowser *This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret);
-      HRESULT (WINAPI *QueryActiveShellView)(IShellBrowser *This,IShellView **ppshv);
-      HRESULT (WINAPI *OnViewWindowActive)(IShellBrowser *This,IShellView *pshv);
-      HRESULT (WINAPI *SetToolbarItems)(IShellBrowser *This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags);
-    END_INTERFACE
-  } IShellBrowserVtbl;
-  struct IShellBrowser {
-    CONST_VTBL struct IShellBrowserVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellBrowser_Release(This) (This)->lpVtbl->Release(This)
-#define IShellBrowser_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenusSB(This,hmenuShared,lpMenuWidths)
-#define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) (This)->lpVtbl->SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject)
-#define IShellBrowser_RemoveMenusSB(This,hmenuShared) (This)->lpVtbl->RemoveMenusSB(This,hmenuShared)
-#define IShellBrowser_SetStatusTextSB(This,pszStatusText) (This)->lpVtbl->SetStatusTextSB(This,pszStatusText)
-#define IShellBrowser_EnableModelessSB(This,fEnable) (This)->lpVtbl->EnableModelessSB(This,fEnable)
-#define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) (This)->lpVtbl->TranslateAcceleratorSB(This,pmsg,wID)
-#define IShellBrowser_BrowseObject(This,pidl,wFlags) (This)->lpVtbl->BrowseObject(This,pidl,wFlags)
-#define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) (This)->lpVtbl->GetViewStateStream(This,grfMode,ppStrm)
-#define IShellBrowser_GetControlWindow(This,id,phwnd) (This)->lpVtbl->GetControlWindow(This,id,phwnd)
-#define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) (This)->lpVtbl->SendControlMsg(This,id,uMsg,wParam,lParam,pret)
-#define IShellBrowser_QueryActiveShellView(This,ppshv) (This)->lpVtbl->QueryActiveShellView(This,ppshv)
-#define IShellBrowser_OnViewWindowActive(This,pshv) (This)->lpVtbl->OnViewWindowActive(This,pshv)
-#define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) (This)->lpVtbl->SetToolbarItems(This,lpButtons,nButtons,uFlags)
-#endif
-#endif
-  HRESULT WINAPI IShellBrowser_InsertMenusSB_Proxy(IShellBrowser *This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths);
-  void __RPC_STUB IShellBrowser_InsertMenusSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_SetMenuSB_Proxy(IShellBrowser *This,HMENU hmenuShared,HOLEMENU holemenuRes,HWND hwndActiveObject);
-  void __RPC_STUB IShellBrowser_SetMenuSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_RemoveMenusSB_Proxy(IShellBrowser *This,HMENU hmenuShared);
-  void __RPC_STUB IShellBrowser_RemoveMenusSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_SetStatusTextSB_Proxy(IShellBrowser *This,LPCOLESTR pszStatusText);
-  void __RPC_STUB IShellBrowser_SetStatusTextSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_EnableModelessSB_Proxy(IShellBrowser *This,WINBOOL fEnable);
-  void __RPC_STUB IShellBrowser_EnableModelessSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_TranslateAcceleratorSB_Proxy(IShellBrowser *This,MSG *pmsg,WORD wID);
-  void __RPC_STUB IShellBrowser_TranslateAcceleratorSB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_BrowseObject_Proxy(IShellBrowser *This,LPCITEMIDLIST pidl,UINT wFlags);
-  void __RPC_STUB IShellBrowser_BrowseObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_GetViewStateStream_Proxy(IShellBrowser *This,DWORD grfMode,IStream **ppStrm);
-  void __RPC_STUB IShellBrowser_GetViewStateStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_GetControlWindow_Proxy(IShellBrowser *This,UINT id,HWND *phwnd);
-  void __RPC_STUB IShellBrowser_GetControlWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_SendControlMsg_Proxy(IShellBrowser *This,UINT id,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pret);
-  void __RPC_STUB IShellBrowser_SendControlMsg_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_QueryActiveShellView_Proxy(IShellBrowser *This,IShellView **ppshv);
-  void __RPC_STUB IShellBrowser_QueryActiveShellView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_OnViewWindowActive_Proxy(IShellBrowser *This,IShellView *pshv);
-  void __RPC_STUB IShellBrowser_OnViewWindowActive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellBrowser_SetToolbarItems_Proxy(IShellBrowser *This,LPTBBUTTONSB lpButtons,UINT nButtons,UINT uFlags);
-  void __RPC_STUB IShellBrowser_SetToolbarItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IShellBrowser *LPSHELLBROWSER;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0208_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0208_v0_0_s_ifspec;
-#ifndef __IProfferService_INTERFACE_DEFINED__
-#define __IProfferService_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IProfferService;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IProfferService : public IUnknown {
-  public:
-    virtual HRESULT WINAPI ProfferService(REFGUID rguidService,IServiceProvider *psp,DWORD *pdwCookie) = 0;
-    virtual HRESULT WINAPI RevokeService(DWORD dwCookie) = 0;
-  };
-#else
-  typedef struct IProfferServiceVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IProfferService *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IProfferService *This);
-      ULONG (WINAPI *Release)(IProfferService *This);
-      HRESULT (WINAPI *ProfferService)(IProfferService *This,REFGUID rguidService,IServiceProvider *psp,DWORD *pdwCookie);
-      HRESULT (WINAPI *RevokeService)(IProfferService *This,DWORD dwCookie);
-    END_INTERFACE
-  } IProfferServiceVtbl;
-  struct IProfferService {
-    CONST_VTBL struct IProfferServiceVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IProfferService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IProfferService_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IProfferService_Release(This) (This)->lpVtbl->Release(This)
-#define IProfferService_ProfferService(This,rguidService,psp,pdwCookie) (This)->lpVtbl->ProfferService(This,rguidService,psp,pdwCookie)
-#define IProfferService_RevokeService(This,dwCookie) (This)->lpVtbl->RevokeService(This,dwCookie)
-#endif
-#endif
-  HRESULT WINAPI IProfferService_ProfferService_Proxy(IProfferService *This,REFGUID rguidService,IServiceProvider *psp,DWORD *pdwCookie);
-  void __RPC_STUB IProfferService_ProfferService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IProfferService_RevokeService_Proxy(IProfferService *This,DWORD dwCookie);
-  void __RPC_STUB IProfferService_RevokeService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SID_SProfferService IID_IProfferService
-  typedef enum __MIDL___MIDL_itf_shobjidl_0209_0001 {
-    PUIFNF_DEFAULT = 0,PUIFNF_MNEMONIC = 0x1
-  } PROPERTYUI_NAME_FLAGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0209_0002 {
-    PUIF_DEFAULT = 0,PUIF_RIGHTALIGN = 0x1,PUIF_NOLABELININFOTIP = 0x2
-  } PROPERTYUI_FLAGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0209_0003 {
-    PUIFFDF_DEFAULT = 0,PUIFFDF_RIGHTTOLEFT = 0x1,PUIFFDF_SHORTFORMAT = 0x2,PUIFFDF_NOTIME = 0x4,PUIFFDF_FRIENDLYDATE = 0x8,PUIFFDF_NOUNITS = 0x10
-  } PROPERTYUI_FORMAT_FLAGS;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0209_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0209_v0_0_s_ifspec;
-#ifndef __IPropertyUI_INTERFACE_DEFINED__
-#define __IPropertyUI_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IPropertyUI;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPropertyUI : public IUnknown {
-  public:
-    virtual HRESULT WINAPI ParsePropertyName(LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten) = 0;
-    virtual HRESULT WINAPI GetCannonicalName(REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) = 0;
-    virtual HRESULT WINAPI GetDisplayName(REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText) = 0;
-    virtual HRESULT WINAPI GetPropertyDescription(REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText) = 0;
-    virtual HRESULT WINAPI GetDefaultWidth(REFFMTID fmtid,PROPID pid,ULONG *pcxChars) = 0;
-    virtual HRESULT WINAPI GetFlags(REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pFlags) = 0;
-    virtual HRESULT WINAPI FormatForDisplay(REFFMTID fmtid,PROPID pid,const PROPVARIANT *pvar,PROPERTYUI_FORMAT_FLAGS flags,LPWSTR pwszText,DWORD cchText) = 0;
-    virtual HRESULT WINAPI GetHelpInfo(REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID) = 0;
-  };
-#else
-  typedef struct IPropertyUIVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPropertyUI *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPropertyUI *This);
-      ULONG (WINAPI *Release)(IPropertyUI *This);
-      HRESULT (WINAPI *ParsePropertyName)(IPropertyUI *This,LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten);
-      HRESULT (WINAPI *GetCannonicalName)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText);
-      HRESULT (WINAPI *GetDisplayName)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText);
-      HRESULT (WINAPI *GetPropertyDescription)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText);
-      HRESULT (WINAPI *GetDefaultWidth)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,ULONG *pcxChars);
-      HRESULT (WINAPI *GetFlags)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pFlags);
-      HRESULT (WINAPI *FormatForDisplay)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,const PROPVARIANT *pvar,PROPERTYUI_FORMAT_FLAGS flags,LPWSTR pwszText,DWORD cchText);
-      HRESULT (WINAPI *GetHelpInfo)(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID);
-    END_INTERFACE
-  } IPropertyUIVtbl;
-  struct IPropertyUI {
-    CONST_VTBL struct IPropertyUIVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPropertyUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPropertyUI_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPropertyUI_Release(This) (This)->lpVtbl->Release(This)
-#define IPropertyUI_ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) (This)->lpVtbl->ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten)
-#define IPropertyUI_GetCannonicalName(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetCannonicalName(This,fmtid,pid,pwszText,cchText)
-#define IPropertyUI_GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) (This)->lpVtbl->GetDisplayName(This,fmtid,pid,flags,pwszText,cchText)
-#define IPropertyUI_GetPropertyDescription(This,fmtid,pid,pwszText,cchText) (This)->lpVtbl->GetPropertyDescription(This,fmtid,pid,pwszText,cchText)
-#define IPropertyUI_GetDefaultWidth(This,fmtid,pid,pcxChars) (This)->lpVtbl->GetDefaultWidth(This,fmtid,pid,pcxChars)
-#define IPropertyUI_GetFlags(This,fmtid,pid,pFlags) (This)->lpVtbl->GetFlags(This,fmtid,pid,pFlags)
-#define IPropertyUI_FormatForDisplay(This,fmtid,pid,pvar,flags,pwszText,cchText) (This)->lpVtbl->FormatForDisplay(This,fmtid,pid,pvar,flags,pwszText,cchText)
-#define IPropertyUI_GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) (This)->lpVtbl->GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID)
-#endif
-#endif
-  HRESULT WINAPI IPropertyUI_ParsePropertyName_Proxy(IPropertyUI *This,LPCWSTR pszName,FMTID *pfmtid,PROPID *ppid,ULONG *pchEaten);
-  void __RPC_STUB IPropertyUI_ParsePropertyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetCannonicalName_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText);
-  void __RPC_STUB IPropertyUI_GetCannonicalName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetDisplayName_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,PROPERTYUI_NAME_FLAGS flags,LPWSTR pwszText,DWORD cchText);
-  void __RPC_STUB IPropertyUI_GetDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetPropertyDescription_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszText,DWORD cchText);
-  void __RPC_STUB IPropertyUI_GetPropertyDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetDefaultWidth_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,ULONG *pcxChars);
-  void __RPC_STUB IPropertyUI_GetDefaultWidth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetFlags_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,PROPERTYUI_FLAGS *pFlags);
-  void __RPC_STUB IPropertyUI_GetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_FormatForDisplay_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,const PROPVARIANT *pvar,PROPERTYUI_FORMAT_FLAGS flags,LPWSTR pwszText,DWORD cchText);
-  void __RPC_STUB IPropertyUI_FormatForDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPropertyUI_GetHelpInfo_Proxy(IPropertyUI *This,REFFMTID fmtid,PROPID pid,LPWSTR pwszHelpFile,DWORD cch,UINT *puHelpID);
-  void __RPC_STUB IPropertyUI_GetHelpInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#if (0x501 >= 0x0500)
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0210_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0210_v0_0_s_ifspec;
-#ifndef __ICategoryProvider_INTERFACE_DEFINED__
-#define __ICategoryProvider_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_ICategoryProvider;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ICategoryProvider : public IUnknown {
-  public:
-    virtual HRESULT WINAPI CanCategorizeOnSCID(SHCOLUMNID *pscid) = 0;
-    virtual HRESULT WINAPI GetDefaultCategory(GUID *pguid,SHCOLUMNID *pscid) = 0;
-    virtual HRESULT WINAPI GetCategoryForSCID(SHCOLUMNID *pscid,GUID *pguid) = 0;
-    virtual HRESULT WINAPI EnumCategories(IEnumGUID **penum) = 0;
-    virtual HRESULT WINAPI GetCategoryName(GUID *pguid,LPWSTR pszName,UINT cch) = 0;
-    virtual HRESULT WINAPI CreateCategory(GUID *pguid,REFIID riid,void **ppv) = 0;
-  };
-#else
-  typedef struct ICategoryProviderVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ICategoryProvider *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ICategoryProvider *This);
-      ULONG (WINAPI *Release)(ICategoryProvider *This);
-      HRESULT (WINAPI *CanCategorizeOnSCID)(ICategoryProvider *This,SHCOLUMNID *pscid);
-      HRESULT (WINAPI *GetDefaultCategory)(ICategoryProvider *This,GUID *pguid,SHCOLUMNID *pscid);
-      HRESULT (WINAPI *GetCategoryForSCID)(ICategoryProvider *This,SHCOLUMNID *pscid,GUID *pguid);
-      HRESULT (WINAPI *EnumCategories)(ICategoryProvider *This,IEnumGUID **penum);
-      HRESULT (WINAPI *GetCategoryName)(ICategoryProvider *This,GUID *pguid,LPWSTR pszName,UINT cch);
-      HRESULT (WINAPI *CreateCategory)(ICategoryProvider *This,GUID *pguid,REFIID riid,void **ppv);
-    END_INTERFACE
-  } ICategoryProviderVtbl;
-  struct ICategoryProvider {
-    CONST_VTBL struct ICategoryProviderVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ICategoryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICategoryProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICategoryProvider_Release(This) (This)->lpVtbl->Release(This)
-#define ICategoryProvider_CanCategorizeOnSCID(This,pscid) (This)->lpVtbl->CanCategorizeOnSCID(This,pscid)
-#define ICategoryProvider_GetDefaultCategory(This,pguid,pscid) (This)->lpVtbl->GetDefaultCategory(This,pguid,pscid)
-#define ICategoryProvider_GetCategoryForSCID(This,pscid,pguid) (This)->lpVtbl->GetCategoryForSCID(This,pscid,pguid)
-#define ICategoryProvider_EnumCategories(This,penum) (This)->lpVtbl->EnumCategories(This,penum)
-#define ICategoryProvider_GetCategoryName(This,pguid,pszName,cch) (This)->lpVtbl->GetCategoryName(This,pguid,pszName,cch)
-#define ICategoryProvider_CreateCategory(This,pguid,riid,ppv) (This)->lpVtbl->CreateCategory(This,pguid,riid,ppv)
-#endif
-#endif
-  HRESULT WINAPI ICategoryProvider_CanCategorizeOnSCID_Proxy(ICategoryProvider *This,SHCOLUMNID *pscid);
-  void __RPC_STUB ICategoryProvider_CanCategorizeOnSCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategoryProvider_GetDefaultCategory_Proxy(ICategoryProvider *This,GUID *pguid,SHCOLUMNID *pscid);
-  void __RPC_STUB ICategoryProvider_GetDefaultCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategoryProvider_GetCategoryForSCID_Proxy(ICategoryProvider *This,SHCOLUMNID *pscid,GUID *pguid);
-  void __RPC_STUB ICategoryProvider_GetCategoryForSCID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategoryProvider_EnumCategories_Proxy(ICategoryProvider *This,IEnumGUID **penum);
-  void __RPC_STUB ICategoryProvider_EnumCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategoryProvider_GetCategoryName_Proxy(ICategoryProvider *This,GUID *pguid,LPWSTR pszName,UINT cch);
-  void __RPC_STUB ICategoryProvider_GetCategoryName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategoryProvider_CreateCategory_Proxy(ICategoryProvider *This,GUID *pguid,REFIID riid,void **ppv);
-  void __RPC_STUB ICategoryProvider_CreateCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0211_0001 {
-    CATINFO_NORMAL = 0,CATINFO_COLLAPSED = 0x1,CATINFO_HIDDEN = 0x2
-  } CATEGORYINFO_FLAGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0211_0002 {
-    CATSORT_DEFAULT = 0,CATSORT_NAME = 0x1
-  } CATSORT_FLAGS;
-
-  typedef struct __MIDL___MIDL_itf_shobjidl_0211_0003 {
-    CATEGORYINFO_FLAGS cif;
-    WCHAR wszName[260];
-  } CATEGORY_INFO;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0211_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0211_v0_0_s_ifspec;
-#ifndef __ICategorizer_INTERFACE_DEFINED__
-#define __ICategorizer_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_ICategorizer;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ICategorizer : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetDescription(LPWSTR pszDesc,UINT cch) = 0;
-    virtual HRESULT WINAPI GetCategory(UINT cidl,LPCITEMIDLIST *apidl,DWORD *rgCategoryIds) = 0;
-    virtual HRESULT WINAPI GetCategoryInfo(DWORD dwCategoryId,CATEGORY_INFO *pci) = 0;
-    virtual HRESULT WINAPI CompareCategory(CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2) = 0;
-  };
-#else
-  typedef struct ICategorizerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ICategorizer *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ICategorizer *This);
-      ULONG (WINAPI *Release)(ICategorizer *This);
-      HRESULT (WINAPI *GetDescription)(ICategorizer *This,LPWSTR pszDesc,UINT cch);
-      HRESULT (WINAPI *GetCategory)(ICategorizer *This,UINT cidl,LPCITEMIDLIST *apidl,DWORD *rgCategoryIds);
-      HRESULT (WINAPI *GetCategoryInfo)(ICategorizer *This,DWORD dwCategoryId,CATEGORY_INFO *pci);
-      HRESULT (WINAPI *CompareCategory)(ICategorizer *This,CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2);
-    END_INTERFACE
-  } ICategorizerVtbl;
-  struct ICategorizer {
-    CONST_VTBL struct ICategorizerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ICategorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICategorizer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICategorizer_Release(This) (This)->lpVtbl->Release(This)
-#define ICategorizer_GetDescription(This,pszDesc,cch) (This)->lpVtbl->GetDescription(This,pszDesc,cch)
-#define ICategorizer_GetCategory(This,cidl,apidl,rgCategoryIds) (This)->lpVtbl->GetCategory(This,cidl,apidl,rgCategoryIds)
-#define ICategorizer_GetCategoryInfo(This,dwCategoryId,pci) (This)->lpVtbl->GetCategoryInfo(This,dwCategoryId,pci)
-#define ICategorizer_CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) (This)->lpVtbl->CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2)
-#endif
-#endif
-  HRESULT WINAPI ICategorizer_GetDescription_Proxy(ICategorizer *This,LPWSTR pszDesc,UINT cch);
-  void __RPC_STUB ICategorizer_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategorizer_GetCategory_Proxy(ICategorizer *This,UINT cidl,LPCITEMIDLIST *apidl,DWORD *rgCategoryIds);
-  void __RPC_STUB ICategorizer_GetCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategorizer_GetCategoryInfo_Proxy(ICategorizer *This,DWORD dwCategoryId,CATEGORY_INFO *pci);
-  void __RPC_STUB ICategorizer_GetCategoryInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICategorizer_CompareCategory_Proxy(ICategorizer *This,CATSORT_FLAGS csfFlags,DWORD dwCategoryId1,DWORD dwCategoryId2);
-  void __RPC_STUB ICategorizer_CompareCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-#endif
-
-#define IShellLink __MINGW_NAME_AW(IShellLink)
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0212_0001 {
-    SLR_NO_UI = 0x1,SLR_ANY_MATCH = 0x2,SLR_UPDATE = 0x4,SLR_NOUPDATE = 0x8,SLR_NOSEARCH = 0x10,SLR_NOTRACK = 0x20,SLR_NOLINKINFO = 0x40,
-    SLR_INVOKE_MSI = 0x80,SLR_NO_UI_WITH_MSG_PUMP = 0x101
-  } SLR_FLAGS;
-
-  typedef enum __MIDL___MIDL_itf_shobjidl_0212_0002 {
-    SLGP_SHORTPATH = 0x1,SLGP_UNCPRIORITY = 0x2,SLGP_RAWPATH = 0x4
-  } SLGP_FLAGS;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0212_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0212_v0_0_s_ifspec;
-#ifndef __IShellLinkA_INTERFACE_DEFINED__
-#define __IShellLinkA_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellLinkA;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellLinkA : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetPath(LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags) = 0;
-    virtual HRESULT WINAPI GetIDList(LPITEMIDLIST *ppidl) = 0;
-    virtual HRESULT WINAPI SetIDList(LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI GetDescription(LPSTR pszName,int cch) = 0;
-    virtual HRESULT WINAPI SetDescription(LPCSTR pszName) = 0;
-    virtual HRESULT WINAPI GetWorkingDirectory(LPSTR pszDir,int cch) = 0;
-    virtual HRESULT WINAPI SetWorkingDirectory(LPCSTR pszDir) = 0;
-    virtual HRESULT WINAPI GetArguments(LPSTR pszArgs,int cch) = 0;
-    virtual HRESULT WINAPI SetArguments(LPCSTR pszArgs) = 0;
-    virtual HRESULT WINAPI GetHotkey(WORD *pwHotkey) = 0;
-    virtual HRESULT WINAPI SetHotkey(WORD wHotkey) = 0;
-    virtual HRESULT WINAPI GetShowCmd(int *piShowCmd) = 0;
-    virtual HRESULT WINAPI SetShowCmd(int iShowCmd) = 0;
-    virtual HRESULT WINAPI GetIconLocation(LPSTR pszIconPath,int cch,int *piIcon) = 0;
-    virtual HRESULT WINAPI SetIconLocation(LPCSTR pszIconPath,int iIcon) = 0;
-    virtual HRESULT WINAPI SetRelativePath(LPCSTR pszPathRel,DWORD dwReserved) = 0;
-    virtual HRESULT WINAPI Resolve(HWND hwnd,DWORD fFlags) = 0;
-    virtual HRESULT WINAPI SetPath(LPCSTR pszFile) = 0;
-  };
-#else
-  typedef struct IShellLinkAVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellLinkA *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellLinkA *This);
-      ULONG (WINAPI *Release)(IShellLinkA *This);
-      HRESULT (WINAPI *GetPath)(IShellLinkA *This,LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags);
-      HRESULT (WINAPI *GetIDList)(IShellLinkA *This,LPITEMIDLIST *ppidl);
-      HRESULT (WINAPI *SetIDList)(IShellLinkA *This,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *GetDescription)(IShellLinkA *This,LPSTR pszName,int cch);
-      HRESULT (WINAPI *SetDescription)(IShellLinkA *This,LPCSTR pszName);
-      HRESULT (WINAPI *GetWorkingDirectory)(IShellLinkA *This,LPSTR pszDir,int cch);
-      HRESULT (WINAPI *SetWorkingDirectory)(IShellLinkA *This,LPCSTR pszDir);
-      HRESULT (WINAPI *GetArguments)(IShellLinkA *This,LPSTR pszArgs,int cch);
-      HRESULT (WINAPI *SetArguments)(IShellLinkA *This,LPCSTR pszArgs);
-      HRESULT (WINAPI *GetHotkey)(IShellLinkA *This,WORD *pwHotkey);
-      HRESULT (WINAPI *SetHotkey)(IShellLinkA *This,WORD wHotkey);
-      HRESULT (WINAPI *GetShowCmd)(IShellLinkA *This,int *piShowCmd);
-      HRESULT (WINAPI *SetShowCmd)(IShellLinkA *This,int iShowCmd);
-      HRESULT (WINAPI *GetIconLocation)(IShellLinkA *This,LPSTR pszIconPath,int cch,int *piIcon);
-      HRESULT (WINAPI *SetIconLocation)(IShellLinkA *This,LPCSTR pszIconPath,int iIcon);
-      HRESULT (WINAPI *SetRelativePath)(IShellLinkA *This,LPCSTR pszPathRel,DWORD dwReserved);
-      HRESULT (WINAPI *Resolve)(IShellLinkA *This,HWND hwnd,DWORD fFlags);
-      HRESULT (WINAPI *SetPath)(IShellLinkA *This,LPCSTR pszFile);
-    END_INTERFACE
-  } IShellLinkAVtbl;
-  struct IShellLinkA {
-    CONST_VTBL struct IShellLinkAVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellLinkA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellLinkA_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellLinkA_Release(This) (This)->lpVtbl->Release(This)
-#define IShellLinkA_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
-#define IShellLinkA_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
-#define IShellLinkA_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
-#define IShellLinkA_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
-#define IShellLinkA_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
-#define IShellLinkA_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
-#define IShellLinkA_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
-#define IShellLinkA_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
-#define IShellLinkA_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
-#define IShellLinkA_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
-#define IShellLinkA_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
-#define IShellLinkA_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
-#define IShellLinkA_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
-#define IShellLinkA_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
-#define IShellLinkA_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
-#define IShellLinkA_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
-#define IShellLinkA_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
-#define IShellLinkA_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
-#endif
-#endif
-  HRESULT WINAPI IShellLinkA_GetPath_Proxy(IShellLinkA *This,LPSTR pszFile,int cch,WIN32_FIND_DATAA *pfd,DWORD fFlags);
-  void __RPC_STUB IShellLinkA_GetPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetIDList_Proxy(IShellLinkA *This,LPITEMIDLIST *ppidl);
-  void __RPC_STUB IShellLinkA_GetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetIDList_Proxy(IShellLinkA *This,LPCITEMIDLIST pidl);
-  void __RPC_STUB IShellLinkA_SetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetDescription_Proxy(IShellLinkA *This,LPSTR pszName,int cch);
-  void __RPC_STUB IShellLinkA_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetDescription_Proxy(IShellLinkA *This,LPCSTR pszName);
-  void __RPC_STUB IShellLinkA_SetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetWorkingDirectory_Proxy(IShellLinkA *This,LPSTR pszDir,int cch);
-  void __RPC_STUB IShellLinkA_GetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetWorkingDirectory_Proxy(IShellLinkA *This,LPCSTR pszDir);
-  void __RPC_STUB IShellLinkA_SetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetArguments_Proxy(IShellLinkA *This,LPSTR pszArgs,int cch);
-  void __RPC_STUB IShellLinkA_GetArguments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetArguments_Proxy(IShellLinkA *This,LPCSTR pszArgs);
-  void __RPC_STUB IShellLinkA_SetArguments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetHotkey_Proxy(IShellLinkA *This,WORD *pwHotkey);
-  void __RPC_STUB IShellLinkA_GetHotkey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetHotkey_Proxy(IShellLinkA *This,WORD wHotkey);
-  void __RPC_STUB IShellLinkA_SetHotkey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetShowCmd_Proxy(IShellLinkA *This,int *piShowCmd);
-  void __RPC_STUB IShellLinkA_GetShowCmd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetShowCmd_Proxy(IShellLinkA *This,int iShowCmd);
-  void __RPC_STUB IShellLinkA_SetShowCmd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_GetIconLocation_Proxy(IShellLinkA *This,LPSTR pszIconPath,int cch,int *piIcon);
-  void __RPC_STUB IShellLinkA_GetIconLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetIconLocation_Proxy(IShellLinkA *This,LPCSTR pszIconPath,int iIcon);
-  void __RPC_STUB IShellLinkA_SetIconLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetRelativePath_Proxy(IShellLinkA *This,LPCSTR pszPathRel,DWORD dwReserved);
-  void __RPC_STUB IShellLinkA_SetRelativePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_Resolve_Proxy(IShellLinkA *This,HWND hwnd,DWORD fFlags);
-  void __RPC_STUB IShellLinkA_Resolve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkA_SetPath_Proxy(IShellLinkA *This,LPCSTR pszFile);
-  void __RPC_STUB IShellLinkA_SetPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IShellLinkW_INTERFACE_DEFINED__
-#define __IShellLinkW_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellLinkW;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellLinkW : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetPath(LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags) = 0;
-    virtual HRESULT WINAPI GetIDList(LPITEMIDLIST *ppidl) = 0;
-    virtual HRESULT WINAPI SetIDList(LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI GetDescription(LPWSTR pszName,int cch) = 0;
-    virtual HRESULT WINAPI SetDescription(LPCWSTR pszName) = 0;
-    virtual HRESULT WINAPI GetWorkingDirectory(LPWSTR pszDir,int cch) = 0;
-    virtual HRESULT WINAPI SetWorkingDirectory(LPCWSTR pszDir) = 0;
-    virtual HRESULT WINAPI GetArguments(LPWSTR pszArgs,int cch) = 0;
-    virtual HRESULT WINAPI SetArguments(LPCWSTR pszArgs) = 0;
-    virtual HRESULT WINAPI GetHotkey(WORD *pwHotkey) = 0;
-    virtual HRESULT WINAPI SetHotkey(WORD wHotkey) = 0;
-    virtual HRESULT WINAPI GetShowCmd(int *piShowCmd) = 0;
-    virtual HRESULT WINAPI SetShowCmd(int iShowCmd) = 0;
-    virtual HRESULT WINAPI GetIconLocation(LPWSTR pszIconPath,int cch,int *piIcon) = 0;
-    virtual HRESULT WINAPI SetIconLocation(LPCWSTR pszIconPath,int iIcon) = 0;
-    virtual HRESULT WINAPI SetRelativePath(LPCWSTR pszPathRel,DWORD dwReserved) = 0;
-    virtual HRESULT WINAPI Resolve(HWND hwnd,DWORD fFlags) = 0;
-    virtual HRESULT WINAPI SetPath(LPCWSTR pszFile) = 0;
-  };
-#else
-  typedef struct IShellLinkWVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellLinkW *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellLinkW *This);
-      ULONG (WINAPI *Release)(IShellLinkW *This);
-      HRESULT (WINAPI *GetPath)(IShellLinkW *This,LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags);
-      HRESULT (WINAPI *GetIDList)(IShellLinkW *This,LPITEMIDLIST *ppidl);
-      HRESULT (WINAPI *SetIDList)(IShellLinkW *This,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *GetDescription)(IShellLinkW *This,LPWSTR pszName,int cch);
-      HRESULT (WINAPI *SetDescription)(IShellLinkW *This,LPCWSTR pszName);
-      HRESULT (WINAPI *GetWorkingDirectory)(IShellLinkW *This,LPWSTR pszDir,int cch);
-      HRESULT (WINAPI *SetWorkingDirectory)(IShellLinkW *This,LPCWSTR pszDir);
-      HRESULT (WINAPI *GetArguments)(IShellLinkW *This,LPWSTR pszArgs,int cch);
-      HRESULT (WINAPI *SetArguments)(IShellLinkW *This,LPCWSTR pszArgs);
-      HRESULT (WINAPI *GetHotkey)(IShellLinkW *This,WORD *pwHotkey);
-      HRESULT (WINAPI *SetHotkey)(IShellLinkW *This,WORD wHotkey);
-      HRESULT (WINAPI *GetShowCmd)(IShellLinkW *This,int *piShowCmd);
-      HRESULT (WINAPI *SetShowCmd)(IShellLinkW *This,int iShowCmd);
-      HRESULT (WINAPI *GetIconLocation)(IShellLinkW *This,LPWSTR pszIconPath,int cch,int *piIcon);
-      HRESULT (WINAPI *SetIconLocation)(IShellLinkW *This,LPCWSTR pszIconPath,int iIcon);
-      HRESULT (WINAPI *SetRelativePath)(IShellLinkW *This,LPCWSTR pszPathRel,DWORD dwReserved);
-      HRESULT (WINAPI *Resolve)(IShellLinkW *This,HWND hwnd,DWORD fFlags);
-      HRESULT (WINAPI *SetPath)(IShellLinkW *This,LPCWSTR pszFile);
-    END_INTERFACE
-  } IShellLinkWVtbl;
-  struct IShellLinkW {
-    CONST_VTBL struct IShellLinkWVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellLinkW_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellLinkW_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellLinkW_Release(This) (This)->lpVtbl->Release(This)
-#define IShellLinkW_GetPath(This,pszFile,cch,pfd,fFlags) (This)->lpVtbl->GetPath(This,pszFile,cch,pfd,fFlags)
-#define IShellLinkW_GetIDList(This,ppidl) (This)->lpVtbl->GetIDList(This,ppidl)
-#define IShellLinkW_SetIDList(This,pidl) (This)->lpVtbl->SetIDList(This,pidl)
-#define IShellLinkW_GetDescription(This,pszName,cch) (This)->lpVtbl->GetDescription(This,pszName,cch)
-#define IShellLinkW_SetDescription(This,pszName) (This)->lpVtbl->SetDescription(This,pszName)
-#define IShellLinkW_GetWorkingDirectory(This,pszDir,cch) (This)->lpVtbl->GetWorkingDirectory(This,pszDir,cch)
-#define IShellLinkW_SetWorkingDirectory(This,pszDir) (This)->lpVtbl->SetWorkingDirectory(This,pszDir)
-#define IShellLinkW_GetArguments(This,pszArgs,cch) (This)->lpVtbl->GetArguments(This,pszArgs,cch)
-#define IShellLinkW_SetArguments(This,pszArgs) (This)->lpVtbl->SetArguments(This,pszArgs)
-#define IShellLinkW_GetHotkey(This,pwHotkey) (This)->lpVtbl->GetHotkey(This,pwHotkey)
-#define IShellLinkW_SetHotkey(This,wHotkey) (This)->lpVtbl->SetHotkey(This,wHotkey)
-#define IShellLinkW_GetShowCmd(This,piShowCmd) (This)->lpVtbl->GetShowCmd(This,piShowCmd)
-#define IShellLinkW_SetShowCmd(This,iShowCmd) (This)->lpVtbl->SetShowCmd(This,iShowCmd)
-#define IShellLinkW_GetIconLocation(This,pszIconPath,cch,piIcon) (This)->lpVtbl->GetIconLocation(This,pszIconPath,cch,piIcon)
-#define IShellLinkW_SetIconLocation(This,pszIconPath,iIcon) (This)->lpVtbl->SetIconLocation(This,pszIconPath,iIcon)
-#define IShellLinkW_SetRelativePath(This,pszPathRel,dwReserved) (This)->lpVtbl->SetRelativePath(This,pszPathRel,dwReserved)
-#define IShellLinkW_Resolve(This,hwnd,fFlags) (This)->lpVtbl->Resolve(This,hwnd,fFlags)
-#define IShellLinkW_SetPath(This,pszFile) (This)->lpVtbl->SetPath(This,pszFile)
-#endif
-#endif
-  HRESULT WINAPI IShellLinkW_GetPath_Proxy(IShellLinkW *This,LPWSTR pszFile,int cch,WIN32_FIND_DATAW *pfd,DWORD fFlags);
-  void __RPC_STUB IShellLinkW_GetPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetIDList_Proxy(IShellLinkW *This,LPITEMIDLIST *ppidl);
-  void __RPC_STUB IShellLinkW_GetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetIDList_Proxy(IShellLinkW *This,LPCITEMIDLIST pidl);
-  void __RPC_STUB IShellLinkW_SetIDList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetDescription_Proxy(IShellLinkW *This,LPWSTR pszName,int cch);
-  void __RPC_STUB IShellLinkW_GetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetDescription_Proxy(IShellLinkW *This,LPCWSTR pszName);
-  void __RPC_STUB IShellLinkW_SetDescription_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetWorkingDirectory_Proxy(IShellLinkW *This,LPWSTR pszDir,int cch);
-  void __RPC_STUB IShellLinkW_GetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetWorkingDirectory_Proxy(IShellLinkW *This,LPCWSTR pszDir);
-  void __RPC_STUB IShellLinkW_SetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetArguments_Proxy(IShellLinkW *This,LPWSTR pszArgs,int cch);
-  void __RPC_STUB IShellLinkW_GetArguments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetArguments_Proxy(IShellLinkW *This,LPCWSTR pszArgs);
-  void __RPC_STUB IShellLinkW_SetArguments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetHotkey_Proxy(IShellLinkW *This,WORD *pwHotkey);
-  void __RPC_STUB IShellLinkW_GetHotkey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetHotkey_Proxy(IShellLinkW *This,WORD wHotkey);
-  void __RPC_STUB IShellLinkW_SetHotkey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetShowCmd_Proxy(IShellLinkW *This,int *piShowCmd);
-  void __RPC_STUB IShellLinkW_GetShowCmd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetShowCmd_Proxy(IShellLinkW *This,int iShowCmd);
-  void __RPC_STUB IShellLinkW_SetShowCmd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_GetIconLocation_Proxy(IShellLinkW *This,LPWSTR pszIconPath,int cch,int *piIcon);
-  void __RPC_STUB IShellLinkW_GetIconLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetIconLocation_Proxy(IShellLinkW *This,LPCWSTR pszIconPath,int iIcon);
-  void __RPC_STUB IShellLinkW_SetIconLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetRelativePath_Proxy(IShellLinkW *This,LPCWSTR pszPathRel,DWORD dwReserved);
-  void __RPC_STUB IShellLinkW_SetRelativePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_Resolve_Proxy(IShellLinkW *This,HWND hwnd,DWORD fFlags);
-  void __RPC_STUB IShellLinkW_Resolve_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellLinkW_SetPath_Proxy(IShellLinkW *This,LPCWSTR pszFile);
-  void __RPC_STUB IShellLinkW_SetPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IActionProgressDialog_INTERFACE_DEFINED__
-#define __IActionProgressDialog_INTERFACE_DEFINED__
-  enum __MIDL_IActionProgressDialog_0001 {
-    SPINITF_NORMAL = 0,SPINITF_MODAL = 0x1,SPINITF_NOMINIMIZE = 0x8
-  };
-  typedef DWORD SPINITF;
-
-  EXTERN_C const IID IID_IActionProgressDialog;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IActionProgressDialog : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel) = 0;
-    virtual HRESULT WINAPI Stop(void) = 0;
-  };
-#else
-  typedef struct IActionProgressDialogVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IActionProgressDialog *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IActionProgressDialog *This);
-      ULONG (WINAPI *Release)(IActionProgressDialog *This);
-      HRESULT (WINAPI *Initialize)(IActionProgressDialog *This,SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel);
-      HRESULT (WINAPI *Stop)(IActionProgressDialog *This);
-    END_INTERFACE
-  } IActionProgressDialogVtbl;
-  struct IActionProgressDialog {
-    CONST_VTBL struct IActionProgressDialogVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IActionProgressDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IActionProgressDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IActionProgressDialog_Release(This) (This)->lpVtbl->Release(This)
-#define IActionProgressDialog_Initialize(This,flags,pszTitle,pszCancel) (This)->lpVtbl->Initialize(This,flags,pszTitle,pszCancel)
-#define IActionProgressDialog_Stop(This) (This)->lpVtbl->Stop(This)
-#endif
-#endif
-  HRESULT WINAPI IActionProgressDialog_Initialize_Proxy(IActionProgressDialog *This,SPINITF flags,LPCWSTR pszTitle,LPCWSTR pszCancel);
-  void __RPC_STUB IActionProgressDialog_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgressDialog_Stop_Proxy(IActionProgressDialog *This);
-  void __RPC_STUB IActionProgressDialog_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IHWEventHandler_INTERFACE_DEFINED__
-#define __IHWEventHandler_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IHWEventHandler;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IHWEventHandler : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(LPCWSTR pszParams) = 0;
-    virtual HRESULT WINAPI HandleEvent(LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType) = 0;
-    virtual HRESULT WINAPI HandleEventWithContent(LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject) = 0;
-  };
-#else
-  typedef struct IHWEventHandlerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IHWEventHandler *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IHWEventHandler *This);
-      ULONG (WINAPI *Release)(IHWEventHandler *This);
-      HRESULT (WINAPI *Initialize)(IHWEventHandler *This,LPCWSTR pszParams);
-      HRESULT (WINAPI *HandleEvent)(IHWEventHandler *This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType);
-      HRESULT (WINAPI *HandleEventWithContent)(IHWEventHandler *This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject);
-    END_INTERFACE
-  } IHWEventHandlerVtbl;
-  struct IHWEventHandler {
-    CONST_VTBL struct IHWEventHandlerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IHWEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IHWEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IHWEventHandler_Release(This) (This)->lpVtbl->Release(This)
-#define IHWEventHandler_Initialize(This,pszParams) (This)->lpVtbl->Initialize(This,pszParams)
-#define IHWEventHandler_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) (This)->lpVtbl->HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
-#define IHWEventHandler_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) (This)->lpVtbl->HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
-#endif
-#endif
-  HRESULT WINAPI IHWEventHandler_Initialize_Proxy(IHWEventHandler *This,LPCWSTR pszParams);
-  void __RPC_STUB IHWEventHandler_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IHWEventHandler_HandleEvent_Proxy(IHWEventHandler *This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType);
-  void __RPC_STUB IHWEventHandler_HandleEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IHWEventHandler_HandleEventWithContent_Proxy(IHWEventHandler *This,LPCWSTR pszDeviceID,LPCWSTR pszAltDeviceID,LPCWSTR pszEventType,LPCWSTR pszContentTypeHandler,IDataObject *pdataobject);
-  void __RPC_STUB IHWEventHandler_HandleEventWithContent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define ARCONTENT_AUTORUNINF 0x00000002
-#define ARCONTENT_AUDIOCD 0x00000004
-#define ARCONTENT_DVDMOVIE 0x00000008
-#define ARCONTENT_BLANKCD 0x00000010
-#define ARCONTENT_BLANKDVD 0x00000020
-#define ARCONTENT_UNKNOWNCONTENT 0x00000040
-#define ARCONTENT_AUTOPLAYPIX 0x00000080
-#define ARCONTENT_AUTOPLAYMUSIC 0x00000100
-#define ARCONTENT_AUTOPLAYVIDEO 0x00000200
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0216_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0216_v0_0_s_ifspec;
-#ifndef __IQueryCancelAutoPlay_INTERFACE_DEFINED__
-#define __IQueryCancelAutoPlay_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IQueryCancelAutoPlay;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IQueryCancelAutoPlay : public IUnknown {
-  public:
-    virtual HRESULT WINAPI AllowAutoPlay(LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber) = 0;
-  };
-#else
-  typedef struct IQueryCancelAutoPlayVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IQueryCancelAutoPlay *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IQueryCancelAutoPlay *This);
-      ULONG (WINAPI *Release)(IQueryCancelAutoPlay *This);
-      HRESULT (WINAPI *AllowAutoPlay)(IQueryCancelAutoPlay *This,LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber);
-    END_INTERFACE
-  } IQueryCancelAutoPlayVtbl;
-  struct IQueryCancelAutoPlay {
-    CONST_VTBL struct IQueryCancelAutoPlayVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IQueryCancelAutoPlay_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IQueryCancelAutoPlay_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IQueryCancelAutoPlay_Release(This) (This)->lpVtbl->Release(This)
-#define IQueryCancelAutoPlay_AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) (This)->lpVtbl->AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber)
-#endif
-#endif
-  HRESULT WINAPI IQueryCancelAutoPlay_AllowAutoPlay_Proxy(IQueryCancelAutoPlay *This,LPCWSTR pszPath,DWORD dwContentType,LPCWSTR pszLabel,DWORD dwSerialNumber);
-  void __RPC_STUB IQueryCancelAutoPlay_AllowAutoPlay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IActionProgress_INTERFACE_DEFINED__
-#define __IActionProgress_INTERFACE_DEFINED__
-  enum __MIDL_IActionProgress_0001 {
-    SPBEGINF_NORMAL = 0,SPBEGINF_AUTOTIME = 0x2,SPBEGINF_NOPROGRESSBAR = 0x10,SPBEGINF_MARQUEEPROGRESS = 0x20
-  };
-  typedef DWORD SPBEGINF;
-
-  typedef enum _SPACTION {
-    SPACTION_NONE = 0,
-    SPACTION_MOVING,SPACTION_COPYING,SPACTION_RECYCLING,SPACTION_APPLYINGATTRIBS,
-    SPACTION_DOWNLOADING,SPACTION_SEARCHING_INTERNET,SPACTION_CALCULATING,
-    SPACTION_UPLOADING,SPACTION_SEARCHING_FILES
-  } SPACTION;
-  typedef enum _SPTEXT {
-    SPTEXT_ACTIONDESCRIPTION = 1,SPTEXT_ACTIONDETAIL = SPTEXT_ACTIONDESCRIPTION + 1
-  } SPTEXT;
-
-  EXTERN_C const IID IID_IActionProgress;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IActionProgress : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Begin(SPACTION action,SPBEGINF flags) = 0;
-    virtual HRESULT WINAPI UpdateProgress(ULONGLONG ulCompleted,ULONGLONG ulTotal) = 0;
-    virtual HRESULT WINAPI UpdateText(SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact) = 0;
-    virtual HRESULT WINAPI QueryCancel(WINBOOL *pfCancelled) = 0;
-    virtual HRESULT WINAPI ResetCancel(void) = 0;
-    virtual HRESULT WINAPI End(void) = 0;
-  };
-#else
-  typedef struct IActionProgressVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IActionProgress *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IActionProgress *This);
-      ULONG (WINAPI *Release)(IActionProgress *This);
-      HRESULT (WINAPI *Begin)(IActionProgress *This,SPACTION action,SPBEGINF flags);
-      HRESULT (WINAPI *UpdateProgress)(IActionProgress *This,ULONGLONG ulCompleted,ULONGLONG ulTotal);
-      HRESULT (WINAPI *UpdateText)(IActionProgress *This,SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact);
-      HRESULT (WINAPI *QueryCancel)(IActionProgress *This,WINBOOL *pfCancelled);
-      HRESULT (WINAPI *ResetCancel)(IActionProgress *This);
-      HRESULT (WINAPI *End)(IActionProgress *This);
-    END_INTERFACE
-  } IActionProgressVtbl;
-  struct IActionProgress {
-    CONST_VTBL struct IActionProgressVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IActionProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IActionProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IActionProgress_Release(This) (This)->lpVtbl->Release(This)
-#define IActionProgress_Begin(This,action,flags) (This)->lpVtbl->Begin(This,action,flags)
-#define IActionProgress_UpdateProgress(This,ulCompleted,ulTotal) (This)->lpVtbl->UpdateProgress(This,ulCompleted,ulTotal)
-#define IActionProgress_UpdateText(This,sptext,pszText,fMayCompact) (This)->lpVtbl->UpdateText(This,sptext,pszText,fMayCompact)
-#define IActionProgress_QueryCancel(This,pfCancelled) (This)->lpVtbl->QueryCancel(This,pfCancelled)
-#define IActionProgress_ResetCancel(This) (This)->lpVtbl->ResetCancel(This)
-#define IActionProgress_End(This) (This)->lpVtbl->End(This)
-#endif
-#endif
-  HRESULT WINAPI IActionProgress_Begin_Proxy(IActionProgress *This,SPACTION action,SPBEGINF flags);
-  void __RPC_STUB IActionProgress_Begin_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgress_UpdateProgress_Proxy(IActionProgress *This,ULONGLONG ulCompleted,ULONGLONG ulTotal);
-  void __RPC_STUB IActionProgress_UpdateProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgress_UpdateText_Proxy(IActionProgress *This,SPTEXT sptext,LPCWSTR pszText,WINBOOL fMayCompact);
-  void __RPC_STUB IActionProgress_UpdateText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgress_QueryCancel_Proxy(IActionProgress *This,WINBOOL *pfCancelled);
-  void __RPC_STUB IActionProgress_QueryCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgress_ResetCancel_Proxy(IActionProgress *This);
-  void __RPC_STUB IActionProgress_ResetCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IActionProgress_End_Proxy(IActionProgress *This);
-  void __RPC_STUB IActionProgress_End_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IShellExtInit_INTERFACE_DEFINED__
-#define __IShellExtInit_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellExtInit;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellExtInit : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID) = 0;
-  };
-#else
-  typedef struct IShellExtInitVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellExtInit *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellExtInit *This);
-      ULONG (WINAPI *Release)(IShellExtInit *This);
-      HRESULT (WINAPI *Initialize)(IShellExtInit *This,LPCITEMIDLIST pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID);
-    END_INTERFACE
-  } IShellExtInitVtbl;
-  struct IShellExtInit {
-    CONST_VTBL struct IShellExtInitVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellExtInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellExtInit_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellExtInit_Release(This) (This)->lpVtbl->Release(This)
-#define IShellExtInit_Initialize(This,pidlFolder,pdtobj,hkeyProgID) (This)->lpVtbl->Initialize(This,pidlFolder,pdtobj,hkeyProgID)
-#endif
-#endif
-  HRESULT WINAPI IShellExtInit_Initialize_Proxy(IShellExtInit *This,LPCITEMIDLIST pidlFolder,IDataObject *pdtobj,HKEY hkeyProgID);
-  void __RPC_STUB IShellExtInit_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IShellExtInit *LPSHELLEXTINIT;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0219_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0219_v0_0_s_ifspec;
-#ifndef __IShellPropSheetExt_INTERFACE_DEFINED__
-#define __IShellPropSheetExt_INTERFACE_DEFINED__
-  enum __MIDL_IShellPropSheetExt_0001 {
-    EXPPS_FILETYPES = 0x1
-  };
-  typedef UINT EXPPS;
-
-  EXTERN_C const IID IID_IShellPropSheetExt;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellPropSheetExt : public IUnknown {
-  public:
-    virtual HRESULT WINAPI AddPages(LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) = 0;
-    virtual HRESULT WINAPI ReplacePage(EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) = 0;
-  };
-#else
-  typedef struct IShellPropSheetExtVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellPropSheetExt *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellPropSheetExt *This);
-      ULONG (WINAPI *Release)(IShellPropSheetExt *This);
-      HRESULT (WINAPI *AddPages)(IShellPropSheetExt *This,LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam);
-      HRESULT (WINAPI *ReplacePage)(IShellPropSheetExt *This,EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam);
-    END_INTERFACE
-  } IShellPropSheetExtVtbl;
-  struct IShellPropSheetExt {
-    CONST_VTBL struct IShellPropSheetExtVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellPropSheetExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellPropSheetExt_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellPropSheetExt_Release(This) (This)->lpVtbl->Release(This)
-#define IShellPropSheetExt_AddPages(This,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,pfnAddPage,lParam)
-#define IShellPropSheetExt_ReplacePage(This,uPageID,pfnReplaceWith,lParam) (This)->lpVtbl->ReplacePage(This,uPageID,pfnReplaceWith,lParam)
-#endif
-#endif
-  HRESULT WINAPI IShellPropSheetExt_AddPages_Proxy(IShellPropSheetExt *This,LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam);
-  void __RPC_STUB IShellPropSheetExt_AddPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellPropSheetExt_ReplacePage_Proxy(IShellPropSheetExt *This,EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam);
-  void __RPC_STUB IShellPropSheetExt_ReplacePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0220_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0220_v0_0_s_ifspec;
-#ifndef __IRemoteComputer_INTERFACE_DEFINED__
-#define __IRemoteComputer_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IRemoteComputer;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IRemoteComputer : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(LPCWSTR pszMachine,WINBOOL bEnumerating) = 0;
-  };
-#else
-  typedef struct IRemoteComputerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IRemoteComputer *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IRemoteComputer *This);
-      ULONG (WINAPI *Release)(IRemoteComputer *This);
-      HRESULT (WINAPI *Initialize)(IRemoteComputer *This,LPCWSTR pszMachine,WINBOOL bEnumerating);
-    END_INTERFACE
-  } IRemoteComputerVtbl;
-  struct IRemoteComputer {
-    CONST_VTBL struct IRemoteComputerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IRemoteComputer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRemoteComputer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRemoteComputer_Release(This) (This)->lpVtbl->Release(This)
-#define IRemoteComputer_Initialize(This,pszMachine,bEnumerating) (This)->lpVtbl->Initialize(This,pszMachine,bEnumerating)
-#endif
-#endif
-  HRESULT WINAPI IRemoteComputer_Initialize_Proxy(IRemoteComputer *This,LPCWSTR pszMachine,WINBOOL bEnumerating);
-  void __RPC_STUB IRemoteComputer_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IQueryContinue_INTERFACE_DEFINED__
-#define __IQueryContinue_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IQueryContinue;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IQueryContinue : public IUnknown {
-  public:
-    virtual HRESULT WINAPI QueryContinue(void) = 0;
-  };
-#else
-  typedef struct IQueryContinueVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IQueryContinue *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IQueryContinue *This);
-      ULONG (WINAPI *Release)(IQueryContinue *This);
-      HRESULT (WINAPI *QueryContinue)(IQueryContinue *This);
-    END_INTERFACE
-  } IQueryContinueVtbl;
-  struct IQueryContinue {
-    CONST_VTBL struct IQueryContinueVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IQueryContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IQueryContinue_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IQueryContinue_Release(This) (This)->lpVtbl->Release(This)
-#define IQueryContinue_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
-#endif
-#endif
-  HRESULT WINAPI IQueryContinue_QueryContinue_Proxy(IQueryContinue *This);
-  void __RPC_STUB IQueryContinue_QueryContinue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IUserNotification_INTERFACE_DEFINED__
-#define __IUserNotification_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IUserNotification;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IUserNotification : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetBalloonInfo(LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags) = 0;
-    virtual HRESULT WINAPI SetBalloonRetry(DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount) = 0;
-    virtual HRESULT WINAPI SetIconInfo(HICON hIcon,LPCWSTR pszToolTip) = 0;
-    virtual HRESULT WINAPI Show(IQueryContinue *pqc,DWORD dwContinuePollInterval) = 0;
-    virtual HRESULT WINAPI PlaySound(LPCWSTR pszSoundName) = 0;
-  };
-#else
-  typedef struct IUserNotificationVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IUserNotification *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IUserNotification *This);
-      ULONG (WINAPI *Release)(IUserNotification *This);
-      HRESULT (WINAPI *SetBalloonInfo)(IUserNotification *This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags);
-      HRESULT (WINAPI *SetBalloonRetry)(IUserNotification *This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount);
-      HRESULT (WINAPI *SetIconInfo)(IUserNotification *This,HICON hIcon,LPCWSTR pszToolTip);
-      HRESULT (WINAPI *Show)(IUserNotification *This,IQueryContinue *pqc,DWORD dwContinuePollInterval);
-      HRESULT (WINAPI *PlaySound)(IUserNotification *This,LPCWSTR pszSoundName);
-    END_INTERFACE
-  } IUserNotificationVtbl;
-  struct IUserNotification {
-    CONST_VTBL struct IUserNotificationVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IUserNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IUserNotification_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IUserNotification_Release(This) (This)->lpVtbl->Release(This)
-#define IUserNotification_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) (This)->lpVtbl->SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
-#define IUserNotification_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) (This)->lpVtbl->SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
-#define IUserNotification_SetIconInfo(This,hIcon,pszToolTip) (This)->lpVtbl->SetIconInfo(This,hIcon,pszToolTip)
-#define IUserNotification_Show(This,pqc,dwContinuePollInterval) (This)->lpVtbl->Show(This,pqc,dwContinuePollInterval)
-#define IUserNotification_PlaySound(This,pszSoundName) (This)->lpVtbl->PlaySound(This,pszSoundName)
-#endif
-#endif
-  HRESULT WINAPI IUserNotification_SetBalloonInfo_Proxy(IUserNotification *This,LPCWSTR pszTitle,LPCWSTR pszText,DWORD dwInfoFlags);
-  void __RPC_STUB IUserNotification_SetBalloonInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserNotification_SetBalloonRetry_Proxy(IUserNotification *This,DWORD dwShowTime,DWORD dwInterval,UINT cRetryCount);
-  void __RPC_STUB IUserNotification_SetBalloonRetry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserNotification_SetIconInfo_Proxy(IUserNotification *This,HICON hIcon,LPCWSTR pszToolTip);
-  void __RPC_STUB IUserNotification_SetIconInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserNotification_Show_Proxy(IUserNotification *This,IQueryContinue *pqc,DWORD dwContinuePollInterval);
-  void __RPC_STUB IUserNotification_Show_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserNotification_PlaySound_Proxy(IUserNotification *This,LPCWSTR pszSoundName);
-  void __RPC_STUB IUserNotification_PlaySound_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IItemNameLimits_INTERFACE_DEFINED__
-#define __IItemNameLimits_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IItemNameLimits;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IItemNameLimits : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetValidCharacters(LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars) = 0;
-    virtual HRESULT WINAPI GetMaxLength(LPCWSTR pszName,int *piMaxNameLen) = 0;
-  };
-#else
-  typedef struct IItemNameLimitsVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IItemNameLimits *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IItemNameLimits *This);
-      ULONG (WINAPI *Release)(IItemNameLimits *This);
-      HRESULT (WINAPI *GetValidCharacters)(IItemNameLimits *This,LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars);
-      HRESULT (WINAPI *GetMaxLength)(IItemNameLimits *This,LPCWSTR pszName,int *piMaxNameLen);
-    END_INTERFACE
-  } IItemNameLimitsVtbl;
-  struct IItemNameLimits {
-    CONST_VTBL struct IItemNameLimitsVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IItemNameLimits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IItemNameLimits_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IItemNameLimits_Release(This) (This)->lpVtbl->Release(This)
-#define IItemNameLimits_GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) (This)->lpVtbl->GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars)
-#define IItemNameLimits_GetMaxLength(This,pszName,piMaxNameLen) (This)->lpVtbl->GetMaxLength(This,pszName,piMaxNameLen)
-#endif
-#endif
-  HRESULT WINAPI IItemNameLimits_GetValidCharacters_Proxy(IItemNameLimits *This,LPWSTR *ppwszValidChars,LPWSTR *ppwszInvalidChars);
-  void __RPC_STUB IItemNameLimits_GetValidCharacters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IItemNameLimits_GetMaxLength_Proxy(IItemNameLimits *This,LPCWSTR pszName,int *piMaxNameLen);
-  void __RPC_STUB IItemNameLimits_GetMaxLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SNCF_REFRESHLIST 0x00000001
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0224_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0224_v0_0_s_ifspec;
-#ifndef __INetCrawler_INTERFACE_DEFINED__
-#define __INetCrawler_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_INetCrawler;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct INetCrawler : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Update(DWORD dwFlags) = 0;
-  };
-#else
-  typedef struct INetCrawlerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(INetCrawler *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(INetCrawler *This);
-      ULONG (WINAPI *Release)(INetCrawler *This);
-      HRESULT (WINAPI *Update)(INetCrawler *This,DWORD dwFlags);
-    END_INTERFACE
-  } INetCrawlerVtbl;
-  struct INetCrawler {
-    CONST_VTBL struct INetCrawlerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define INetCrawler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define INetCrawler_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define INetCrawler_Release(This) (This)->lpVtbl->Release(This)
-#define INetCrawler_Update(This,dwFlags) (This)->lpVtbl->Update(This,dwFlags)
-#endif
-#endif
-  HRESULT WINAPI INetCrawler_Update_Proxy(INetCrawler *This,DWORD dwFlags);
-  void __RPC_STUB INetCrawler_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#if (0x501 >= 0x0400)
-#define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY
-#define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY
-#define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY
-#define IEIFLAG_ASYNC 0x0001
-#define IEIFLAG_CACHE 0x0002
-#define IEIFLAG_ASPECT 0x0004
-#define IEIFLAG_OFFLINE 0x0008
-#define IEIFLAG_GLEAM 0x0010
-#define IEIFLAG_SCREEN 0x0020
-#define IEIFLAG_ORIGSIZE 0x0040
-#define IEIFLAG_NOSTAMP 0x0080
-#define IEIFLAG_NOBORDER 0x0100
-#define IEIFLAG_QUALITY 0x0200
-#define IEIFLAG_REFRESH 0x0400
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0225_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0225_v0_0_s_ifspec;
-#ifndef __IExtractImage_INTERFACE_DEFINED__
-#define __IExtractImage_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IExtractImage;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IExtractImage : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetLocation(LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags) = 0;
-    virtual HRESULT WINAPI Extract(HBITMAP *phBmpThumbnail) = 0;
-  };
-#else
-  typedef struct IExtractImageVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IExtractImage *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IExtractImage *This);
-      ULONG (WINAPI *Release)(IExtractImage *This);
-      HRESULT (WINAPI *GetLocation)(IExtractImage *This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags);
-      HRESULT (WINAPI *Extract)(IExtractImage *This,HBITMAP *phBmpThumbnail);
-    END_INTERFACE
-  } IExtractImageVtbl;
-  struct IExtractImage {
-    CONST_VTBL struct IExtractImageVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IExtractImage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IExtractImage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IExtractImage_Release(This) (This)->lpVtbl->Release(This)
-#define IExtractImage_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
-#define IExtractImage_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
-#endif
-#endif
-  HRESULT WINAPI IExtractImage_GetLocation_Proxy(IExtractImage *This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags);
-  void __RPC_STUB IExtractImage_GetLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IExtractImage_Extract_Proxy(IExtractImage *This,HBITMAP *phBmpThumbnail);
-  void __RPC_STUB IExtractImage_Extract_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IExtractImage *LPEXTRACTIMAGE;
-#endif
-#if (0x501 >= 0x0500)
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0226_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0226_v0_0_s_ifspec;
-#ifndef __IExtractImage2_INTERFACE_DEFINED__
-#define __IExtractImage2_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IExtractImage2;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IExtractImage2 : public IExtractImage {
-  public:
-    virtual HRESULT WINAPI GetDateStamp(FILETIME *pDateStamp) = 0;
-  };
-#else
-  typedef struct IExtractImage2Vtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IExtractImage2 *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IExtractImage2 *This);
-      ULONG (WINAPI *Release)(IExtractImage2 *This);
-      HRESULT (WINAPI *GetLocation)(IExtractImage2 *This,LPWSTR pszPathBuffer,DWORD cch,DWORD *pdwPriority,const SIZE *prgSize,DWORD dwRecClrDepth,DWORD *pdwFlags);
-      HRESULT (WINAPI *Extract)(IExtractImage2 *This,HBITMAP *phBmpThumbnail);
-      HRESULT (WINAPI *GetDateStamp)(IExtractImage2 *This,FILETIME *pDateStamp);
-    END_INTERFACE
-  } IExtractImage2Vtbl;
-  struct IExtractImage2 {
-    CONST_VTBL struct IExtractImage2Vtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IExtractImage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IExtractImage2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IExtractImage2_Release(This) (This)->lpVtbl->Release(This)
-#define IExtractImage2_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) (This)->lpVtbl->GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
-#define IExtractImage2_Extract(This,phBmpThumbnail) (This)->lpVtbl->Extract(This,phBmpThumbnail)
-#define IExtractImage2_GetDateStamp(This,pDateStamp) (This)->lpVtbl->GetDateStamp(This,pDateStamp)
-#endif
-#endif
-  HRESULT WINAPI IExtractImage2_GetDateStamp_Proxy(IExtractImage2 *This,FILETIME *pDateStamp);
-  void __RPC_STUB IExtractImage2_GetDateStamp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef IExtractImage2 *LPEXTRACTIMAGE2;
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0227_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0227_v0_0_s_ifspec;
-#ifndef __IUserEventTimerCallback_INTERFACE_DEFINED__
-#define __IUserEventTimerCallback_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IUserEventTimerCallback;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IUserEventTimerCallback : public IUnknown {
-  public:
-    virtual HRESULT WINAPI UserEventTimerProc(ULONG uUserEventTimerID,UINT uTimerElapse) = 0;
-  };
-#else
-  typedef struct IUserEventTimerCallbackVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IUserEventTimerCallback *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IUserEventTimerCallback *This);
-      ULONG (WINAPI *Release)(IUserEventTimerCallback *This);
-      HRESULT (WINAPI *UserEventTimerProc)(IUserEventTimerCallback *This,ULONG uUserEventTimerID,UINT uTimerElapse);
-    END_INTERFACE
-  } IUserEventTimerCallbackVtbl;
-  struct IUserEventTimerCallback {
-    CONST_VTBL struct IUserEventTimerCallbackVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IUserEventTimerCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IUserEventTimerCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IUserEventTimerCallback_Release(This) (This)->lpVtbl->Release(This)
-#define IUserEventTimerCallback_UserEventTimerProc(This,uUserEventTimerID,uTimerElapse) (This)->lpVtbl->UserEventTimerProc(This,uUserEventTimerID,uTimerElapse)
-#endif
-#endif
-  HRESULT WINAPI IUserEventTimerCallback_UserEventTimerProc_Proxy(IUserEventTimerCallback *This,ULONG uUserEventTimerID,UINT uTimerElapse);
-  void __RPC_STUB IUserEventTimerCallback_UserEventTimerProc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0228_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0228_v0_0_s_ifspec;
-#ifndef __IUserEventTimer_INTERFACE_DEFINED__
-#define __IUserEventTimer_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IUserEventTimer;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IUserEventTimer : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetUserEventTimer(HWND hWnd,UINT uCallbackMessage,UINT uTimerElapse,IUserEventTimerCallback *pUserEventTimerCallback,ULONG *puUserEventTimerID) = 0;
-    virtual HRESULT WINAPI KillUserEventTimer(HWND hWnd,ULONG uUserEventTimerID) = 0;
-    virtual HRESULT WINAPI GetUserEventTimerElapsed(HWND hWnd,ULONG uUserEventTimerID,UINT *puTimerElapsed) = 0;
-    virtual HRESULT WINAPI InitTimerTickInterval(UINT uTimerTickIntervalMs) = 0;
-  };
-#else
-  typedef struct IUserEventTimerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IUserEventTimer *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IUserEventTimer *This);
-      ULONG (WINAPI *Release)(IUserEventTimer *This);
-      HRESULT (WINAPI *SetUserEventTimer)(IUserEventTimer *This,HWND hWnd,UINT uCallbackMessage,UINT uTimerElapse,IUserEventTimerCallback *pUserEventTimerCallback,ULONG *puUserEventTimerID);
-      HRESULT (WINAPI *KillUserEventTimer)(IUserEventTimer *This,HWND hWnd,ULONG uUserEventTimerID);
-      HRESULT (WINAPI *GetUserEventTimerElapsed)(IUserEventTimer *This,HWND hWnd,ULONG uUserEventTimerID,UINT *puTimerElapsed);
-      HRESULT (WINAPI *InitTimerTickInterval)(IUserEventTimer *This,UINT uTimerTickIntervalMs);
-    END_INTERFACE
-  } IUserEventTimerVtbl;
-  struct IUserEventTimer {
-    CONST_VTBL struct IUserEventTimerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IUserEventTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IUserEventTimer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IUserEventTimer_Release(This) (This)->lpVtbl->Release(This)
-#define IUserEventTimer_SetUserEventTimer(This,hWnd,uCallbackMessage,uTimerElapse,pUserEventTimerCallback,puUserEventTimerID) (This)->lpVtbl->SetUserEventTimer(This,hWnd,uCallbackMessage,uTimerElapse,pUserEventTimerCallback,puUserEventTimerID)
-#define IUserEventTimer_KillUserEventTimer(This,hWnd,uUserEventTimerID) (This)->lpVtbl->KillUserEventTimer(This,hWnd,uUserEventTimerID)
-#define IUserEventTimer_GetUserEventTimerElapsed(This,hWnd,uUserEventTimerID,puTimerElapsed) (This)->lpVtbl->GetUserEventTimerElapsed(This,hWnd,uUserEventTimerID,puTimerElapsed)
-#define IUserEventTimer_InitTimerTickInterval(This,uTimerTickIntervalMs) (This)->lpVtbl->InitTimerTickInterval(This,uTimerTickIntervalMs)
-#endif
-#endif
-  HRESULT WINAPI IUserEventTimer_SetUserEventTimer_Proxy(IUserEventTimer *This,HWND hWnd,UINT uCallbackMessage,UINT uTimerElapse,IUserEventTimerCallback *pUserEventTimerCallback,ULONG *puUserEventTimerID);
-  void __RPC_STUB IUserEventTimer_SetUserEventTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserEventTimer_KillUserEventTimer_Proxy(IUserEventTimer *This,HWND hWnd,ULONG uUserEventTimerID);
-  void __RPC_STUB IUserEventTimer_KillUserEventTimer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserEventTimer_GetUserEventTimerElapsed_Proxy(IUserEventTimer *This,HWND hWnd,ULONG uUserEventTimerID,UINT *puTimerElapsed);
-  void __RPC_STUB IUserEventTimer_GetUserEventTimerElapsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IUserEventTimer_InitTimerTickInterval_Proxy(IUserEventTimer *This,UINT uTimerTickIntervalMs);
-  void __RPC_STUB IUserEventTimer_InitTimerTickInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IDockingWindow_INTERFACE_DEFINED__
-#define __IDockingWindow_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDockingWindow;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDockingWindow : public IOleWindow {
-  public:
-    virtual HRESULT WINAPI ShowDW(WINBOOL fShow) = 0;
-    virtual HRESULT WINAPI CloseDW(DWORD dwReserved) = 0;
-    virtual HRESULT WINAPI ResizeBorderDW(LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved) = 0;
-  };
-#else
-  typedef struct IDockingWindowVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDockingWindow *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDockingWindow *This);
-      ULONG (WINAPI *Release)(IDockingWindow *This);
-      HRESULT (WINAPI *GetWindow)(IDockingWindow *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IDockingWindow *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *ShowDW)(IDockingWindow *This,WINBOOL fShow);
-      HRESULT (WINAPI *CloseDW)(IDockingWindow *This,DWORD dwReserved);
-      HRESULT (WINAPI *ResizeBorderDW)(IDockingWindow *This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved);
-    END_INTERFACE
-  } IDockingWindowVtbl;
-  struct IDockingWindow {
-    CONST_VTBL struct IDockingWindowVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDockingWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDockingWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDockingWindow_Release(This) (This)->lpVtbl->Release(This)
-#define IDockingWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IDockingWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IDockingWindow_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
-#define IDockingWindow_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
-#define IDockingWindow_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
-#endif
-#endif
-  HRESULT WINAPI IDockingWindow_ShowDW_Proxy(IDockingWindow *This,WINBOOL fShow);
-  void __RPC_STUB IDockingWindow_ShowDW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IDockingWindow_CloseDW_Proxy(IDockingWindow *This,DWORD dwReserved);
-  void __RPC_STUB IDockingWindow_CloseDW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IDockingWindow_ResizeBorderDW_Proxy(IDockingWindow *This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved);
-  void __RPC_STUB IDockingWindow_ResizeBorderDW_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define DBIM_MINSIZE 0x0001
-#define DBIM_MAXSIZE 0x0002
-#define DBIM_INTEGRAL 0x0004
-#define DBIM_ACTUAL 0x0008
-#define DBIM_TITLE 0x0010
-#define DBIM_MODEFLAGS 0x0020
-#define DBIM_BKCOLOR 0x0040
-
-#include <pshpack8.h>
-
-  typedef struct __MIDL___MIDL_itf_shobjidl_0230_0001 {
-    DWORD dwMask;
-    POINTL ptMinSize;
-    POINTL ptMaxSize;
-    POINTL ptIntegral;
-    POINTL ptActual;
-    WCHAR wszTitle[256];
-    DWORD dwModeFlags;
-    COLORREF crBkgnd;
-  } DESKBANDINFO;
-
-#include <poppack.h>
-#define DBIMF_NORMAL 0x0000
-#define DBIMF_FIXED 0x0001
-#define DBIMF_FIXEDBMP 0x0004
-#define DBIMF_VARIABLEHEIGHT 0x0008
-#define DBIMF_UNDELETEABLE 0x0010
-#define DBIMF_DEBOSSED 0x0020
-#define DBIMF_BKCOLOR 0x0040
-#define DBIMF_USECHEVRON 0x0080
-#define DBIMF_BREAK 0x0100
-#define DBIMF_ADDTOFRONT 0x0200
-#define DBIMF_TOPALIGN 0x0400
-#define DBIF_VIEWMODE_NORMAL 0x0000
-#define DBIF_VIEWMODE_VERTICAL 0x0001
-#define DBIF_VIEWMODE_FLOATING 0x0002
-#define DBIF_VIEWMODE_TRANSPARENT 0x0004
-
-  enum __MIDL___MIDL_itf_shobjidl_0230_0002 {
-    DBID_BANDINFOCHANGED = 0,DBID_SHOWONLY = 1,DBID_MAXIMIZEBAND = 2,DBID_PUSHCHEVRON = 3,DBID_DELAYINIT = 4,DBID_FINISHINIT = 5,
-    DBID_SETWINDOWTHEME = 6,DBID_PERMITAUTOHIDE = 7
-  };
-#define DBPC_SELECTFIRST (DWORD)-1
-#define DBPC_SELECTLAST (DWORD)-2
-#define CGID_DeskBand IID_IDeskBand
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0230_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0230_v0_0_s_ifspec;
-#ifndef __IDeskBand_INTERFACE_DEFINED__
-#define __IDeskBand_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDeskBand;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDeskBand : public IDockingWindow {
-  public:
-    virtual HRESULT WINAPI GetBandInfo(DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi) = 0;
-  };
-#else
-  typedef struct IDeskBandVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDeskBand *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDeskBand *This);
-      ULONG (WINAPI *Release)(IDeskBand *This);
-      HRESULT (WINAPI *GetWindow)(IDeskBand *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IDeskBand *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *ShowDW)(IDeskBand *This,WINBOOL fShow);
-      HRESULT (WINAPI *CloseDW)(IDeskBand *This,DWORD dwReserved);
-      HRESULT (WINAPI *ResizeBorderDW)(IDeskBand *This,LPCRECT prcBorder,IUnknown *punkToolbarSite,WINBOOL fReserved);
-      HRESULT (WINAPI *GetBandInfo)(IDeskBand *This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi);
-    END_INTERFACE
-  } IDeskBandVtbl;
-  struct IDeskBand {
-    CONST_VTBL struct IDeskBandVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDeskBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDeskBand_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDeskBand_Release(This) (This)->lpVtbl->Release(This)
-#define IDeskBand_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IDeskBand_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IDeskBand_ShowDW(This,fShow) (This)->lpVtbl->ShowDW(This,fShow)
-#define IDeskBand_CloseDW(This,dwReserved) (This)->lpVtbl->CloseDW(This,dwReserved)
-#define IDeskBand_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) (This)->lpVtbl->ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
-#define IDeskBand_GetBandInfo(This,dwBandID,dwViewMode,pdbi) (This)->lpVtbl->GetBandInfo(This,dwBandID,dwViewMode,pdbi)
-#endif
-#endif
-  HRESULT WINAPI IDeskBand_GetBandInfo_Proxy(IDeskBand *This,DWORD dwBandID,DWORD dwViewMode,DESKBANDINFO *pdbi);
-  void __RPC_STUB IDeskBand_GetBandInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __ITaskbarList_INTERFACE_DEFINED__
-#define __ITaskbarList_INTERFACE_DEFINED__
-  DEFINE_GUID(IID_ITaskbarList,0x56FDF342L,0xFD6D,0x11D0,0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ITaskbarList : public IUnknown {
-  public:
-    virtual HRESULT WINAPI HrInit(void) = 0;
-    virtual HRESULT WINAPI AddTab(HWND hwnd) = 0;
-    virtual HRESULT WINAPI DeleteTab(HWND hwnd) = 0;
-    virtual HRESULT WINAPI ActivateTab(HWND hwnd) = 0;
-    virtual HRESULT WINAPI SetActiveAlt(HWND hwnd) = 0;
-  };
-#else
-  typedef struct ITaskbarListVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ITaskbarList *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ITaskbarList *This);
-      ULONG (WINAPI *Release)(ITaskbarList *This);
-      HRESULT (WINAPI *HrInit)(ITaskbarList *This);
-      HRESULT (WINAPI *AddTab)(ITaskbarList *This,HWND hwnd);
-      HRESULT (WINAPI *DeleteTab)(ITaskbarList *This,HWND hwnd);
-      HRESULT (WINAPI *ActivateTab)(ITaskbarList *This,HWND hwnd);
-      HRESULT (WINAPI *SetActiveAlt)(ITaskbarList *This,HWND hwnd);
-    END_INTERFACE
-  } ITaskbarListVtbl;
-  struct ITaskbarList {
-    CONST_VTBL struct ITaskbarListVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ITaskbarList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ITaskbarList_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ITaskbarList_Release(This) (This)->lpVtbl->Release(This)
-#define ITaskbarList_HrInit(This) (This)->lpVtbl->HrInit(This)
-#define ITaskbarList_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
-#define ITaskbarList_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
-#define ITaskbarList_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
-#define ITaskbarList_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
-#endif
-#endif
-  HRESULT WINAPI ITaskbarList_HrInit_Proxy(ITaskbarList *This);
-  void __RPC_STUB ITaskbarList_HrInit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ITaskbarList_AddTab_Proxy(ITaskbarList *This,HWND hwnd);
-  void __RPC_STUB ITaskbarList_AddTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ITaskbarList_DeleteTab_Proxy(ITaskbarList *This,HWND hwnd);
-  void __RPC_STUB ITaskbarList_DeleteTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ITaskbarList_ActivateTab_Proxy(ITaskbarList *This,HWND hwnd);
-  void __RPC_STUB ITaskbarList_ActivateTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ITaskbarList_SetActiveAlt_Proxy(ITaskbarList *This,HWND hwnd);
-  void __RPC_STUB ITaskbarList_SetActiveAlt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __ITaskbarList2_INTERFACE_DEFINED__
-#define __ITaskbarList2_INTERFACE_DEFINED__
-  DEFINE_GUID(IID_ITaskbarList2,0x602D4995L,0xB13A,0x429b,0xA6,0x6E,0x19,0x35,0xE4,0x4F,0x43,0x17);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ITaskbarList2 : public ITaskbarList {
-  public:
-    virtual HRESULT WINAPI MarkFullscreenWindow(HWND hwnd,WINBOOL fFullscreen) = 0;
-  };
-#else
-  typedef struct ITaskbarList2Vtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ITaskbarList2 *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ITaskbarList2 *This);
-      ULONG (WINAPI *Release)(ITaskbarList2 *This);
-      HRESULT (WINAPI *HrInit)(ITaskbarList2 *This);
-      HRESULT (WINAPI *AddTab)(ITaskbarList2 *This,HWND hwnd);
-      HRESULT (WINAPI *DeleteTab)(ITaskbarList2 *This,HWND hwnd);
-      HRESULT (WINAPI *ActivateTab)(ITaskbarList2 *This,HWND hwnd);
-      HRESULT (WINAPI *SetActiveAlt)(ITaskbarList2 *This,HWND hwnd);
-      HRESULT (WINAPI *MarkFullscreenWindow)(ITaskbarList2 *This,HWND hwnd,WINBOOL fFullscreen);
-    END_INTERFACE
-  } ITaskbarList2Vtbl;
-  struct ITaskbarList2 {
-    CONST_VTBL struct ITaskbarList2Vtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ITaskbarList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ITaskbarList2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ITaskbarList2_Release(This) (This)->lpVtbl->Release(This)
-#define ITaskbarList2_HrInit(This) (This)->lpVtbl->HrInit(This)
-#define ITaskbarList2_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
-#define ITaskbarList2_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
-#define ITaskbarList2_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
-#define ITaskbarList2_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
-#define ITaskbarList2_MarkFullscreenWindow(This,hwnd,fFullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fFullscreen)
-#endif
-#endif
-  HRESULT WINAPI ITaskbarList2_MarkFullscreenWindow_Proxy(ITaskbarList2 *This,HWND hwnd,WINBOOL fFullscreen);
-  void __RPC_STUB ITaskbarList2_MarkFullscreenWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifdef MIDL_PASS
-typedef IUnknown *HIMAGELIST;
-#endif
-
-typedef enum THUMBBUTTONFLAGS {
-    THBF_ENABLED = 0x0,
-    THBF_DISABLED = 0x1,
-    THBF_DISMISSONCLICK = 0x2,
-    THBF_NOBACKGROUND = 0x4,
-    THBF_HIDDEN = 0x8,
-    THBF_NONINTERACTIVE = 0x10
-} THUMBBUTTONFLAGS;
-DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONFLAGS)
-
-typedef enum THUMBBUTTONMASK {
-    THB_BITMAP = 0x1,
-    THB_ICON = 0x2,
-    THB_TOOLTIP = 0x4,
-    THB_FLAGS = 0x8
-} THUMBBUTTONMASK;
-DEFINE_ENUM_FLAG_OPERATORS(THUMBBUTTONMASK)
-
-#include <pshpack8.h>
-typedef struct THUMBBUTTON {
-    THUMBBUTTONMASK dwMask;
-    UINT iId;
-    UINT iBitmap;
-    HICON hIcon;
-    WCHAR szTip[260];
-    THUMBBUTTONFLAGS dwFlags;
-} THUMBBUTTON;
-typedef struct THUMBBUTTON *LPTHUMBBUTTON;
-#include <poppack.h>
-
-#define THBN_CLICKED 0x1800
-
-/*****************************************************************************
- * ITaskbarList3 interface
- */
-#ifndef __ITaskbarList3_INTERFACE_DEFINED__
-#define __ITaskbarList3_INTERFACE_DEFINED__
-
-typedef enum TBPFLAG {
-    TBPF_NOPROGRESS = 0x0,
-    TBPF_INDETERMINATE = 0x1,
-    TBPF_NORMAL = 0x2,
-    TBPF_ERROR = 0x4,
-    TBPF_PAUSED = 0x8
-} TBPFLAG;
-DEFINE_ENUM_FLAG_OPERATORS(TBPFLAG)
-
-DEFINE_GUID(IID_ITaskbarList3, 0xea1afb91, 0x9e28, 0x4b86, 0x90,0xe9, 0x9e,0x9f,0x8a,0x5e,0xef,0xaf);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ITaskbarList3 : public ITaskbarList2
-{
-    virtual HRESULT STDMETHODCALLTYPE SetProgressValue(
-        HWND hwnd,
-        ULONGLONG ullCompleted,
-        ULONGLONG ullTotal) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetProgressState(
-        HWND hwnd,
-        TBPFLAG tbpFlags) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE RegisterTab(
-        HWND hwndTab,
-        HWND hwndMDI) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE UnregisterTab(
-        HWND hwndTab) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetTabOrder(
-        HWND hwndTab,
-        HWND hwndInsertBefore) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetTabActive(
-        HWND hwndTab,
-        HWND hwndMDI,
-        DWORD dwReserved) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ThumbBarAddButtons(
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ThumbBarUpdateButtons(
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ThumbBarSetImageList(
-        HWND hwnd,
-        HIMAGELIST himl) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetOverlayIcon(
-        HWND hwnd,
-        HICON hIcon,
-        LPCWSTR pszDescription) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetThumbnailTooltip(
-        HWND hwnd,
-        LPCWSTR pszTip) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetThumbnailClip(
-        HWND hwnd,
-        RECT *prcClip) = 0;
-
-};
-#else
-typedef struct ITaskbarList3Vtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        ITaskbarList3* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        ITaskbarList3* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        ITaskbarList3* This);
-
-    /*** ITaskbarList methods ***/
-    HRESULT (STDMETHODCALLTYPE *HrInit)(
-        ITaskbarList3* This);
-
-    HRESULT (STDMETHODCALLTYPE *AddTab)(
-        ITaskbarList3* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *DeleteTab)(
-        ITaskbarList3* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *ActivateTab)(
-        ITaskbarList3* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
-        ITaskbarList3* This,
-        HWND hwnd);
-
-    /*** ITaskbarList2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        BOOL fullscreen);
-
-    /*** ITaskbarList3 methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        ULONGLONG ullCompleted,
-        ULONGLONG ullTotal);
-
-    HRESULT (STDMETHODCALLTYPE *SetProgressState)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        TBPFLAG tbpFlags);
-
-    HRESULT (STDMETHODCALLTYPE *RegisterTab)(
-        ITaskbarList3* This,
-        HWND hwndTab,
-        HWND hwndMDI);
-
-    HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
-        ITaskbarList3* This,
-        HWND hwndTab);
-
-    HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
-        ITaskbarList3* This,
-        HWND hwndTab,
-        HWND hwndInsertBefore);
-
-    HRESULT (STDMETHODCALLTYPE *SetTabActive)(
-        ITaskbarList3* This,
-        HWND hwndTab,
-        HWND hwndMDI,
-        DWORD dwReserved);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        HIMAGELIST himl);
-
-    HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        HICON hIcon,
-        LPCWSTR pszDescription);
-
-    HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        LPCWSTR pszTip);
-
-    HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
-        ITaskbarList3* This,
-        HWND hwnd,
-        RECT *prcClip);
-
-    END_INTERFACE
-} ITaskbarList3Vtbl;
-interface ITaskbarList3 {
-    CONST_VTBL ITaskbarList3Vtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ITaskbarList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ITaskbarList3_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ITaskbarList3_Release(This) (This)->lpVtbl->Release(This)
-/*** ITaskbarList methods ***/
-#define ITaskbarList3_HrInit(This) (This)->lpVtbl->HrInit(This)
-#define ITaskbarList3_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
-#define ITaskbarList3_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
-#define ITaskbarList3_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
-#define ITaskbarList3_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
-/*** ITaskbarList2 methods ***/
-#define ITaskbarList3_MarkFullscreenWindow(This,hwnd,fullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fullscreen)
-/*** ITaskbarList3 methods ***/
-#define ITaskbarList3_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
-#define ITaskbarList3_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
-#define ITaskbarList3_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
-#define ITaskbarList3_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
-#define ITaskbarList3_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
-#define ITaskbarList3_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
-#define ITaskbarList3_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
-#define ITaskbarList3_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
-#define ITaskbarList3_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
-#define ITaskbarList3_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
-#define ITaskbarList3_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
-#define ITaskbarList3_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
-#endif
-
-#endif
-#endif  /* __ITaskbarList3_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ITaskbarList4 interface
- */
-#ifndef __ITaskbarList4_INTERFACE_DEFINED__
-#define __ITaskbarList4_INTERFACE_DEFINED__
-
-typedef enum STPFLAG {
-    STPF_NONE = 0x0,
-    STPF_USEAPPTHUMBNAILALWAYS = 0x1,
-    STPF_USEAPPTHUMBNAILWHENACTIVE = 0x2,
-    STPF_USEAPPPEEKALWAYS = 0x4,
-    STPF_USEAPPPEEKWHENACTIVE = 0x8
-} STPFLAG;
-DEFINE_ENUM_FLAG_OPERATORS(STPFLAG)
-
-DEFINE_GUID(IID_ITaskbarList4, 0xc43dc798, 0x95d1, 0x4bea, 0x90,0x30, 0xbb,0x99,0xe2,0x98,0x3a,0x1a);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ITaskbarList4 : public ITaskbarList3
-{
-    virtual HRESULT STDMETHODCALLTYPE SetTabProperties(
-        HWND hwndTab,
-        STPFLAG stpFlags) = 0;
-
-};
-#else
-typedef struct ITaskbarList4Vtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        ITaskbarList4* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        ITaskbarList4* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        ITaskbarList4* This);
-
-    /*** ITaskbarList methods ***/
-    HRESULT (STDMETHODCALLTYPE *HrInit)(
-        ITaskbarList4* This);
-
-    HRESULT (STDMETHODCALLTYPE *AddTab)(
-        ITaskbarList4* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *DeleteTab)(
-        ITaskbarList4* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *ActivateTab)(
-        ITaskbarList4* This,
-        HWND hwnd);
-
-    HRESULT (STDMETHODCALLTYPE *SetActiveAlt)(
-        ITaskbarList4* This,
-        HWND hwnd);
-
-    /*** ITaskbarList2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *MarkFullscreenWindow)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        BOOL fullscreen);
-
-    /*** ITaskbarList3 methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetProgressValue)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        ULONGLONG ullCompleted,
-        ULONGLONG ullTotal);
-
-    HRESULT (STDMETHODCALLTYPE *SetProgressState)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        TBPFLAG tbpFlags);
-
-    HRESULT (STDMETHODCALLTYPE *RegisterTab)(
-        ITaskbarList4* This,
-        HWND hwndTab,
-        HWND hwndMDI);
-
-    HRESULT (STDMETHODCALLTYPE *UnregisterTab)(
-        ITaskbarList4* This,
-        HWND hwndTab);
-
-    HRESULT (STDMETHODCALLTYPE *SetTabOrder)(
-        ITaskbarList4* This,
-        HWND hwndTab,
-        HWND hwndInsertBefore);
-
-    HRESULT (STDMETHODCALLTYPE *SetTabActive)(
-        ITaskbarList4* This,
-        HWND hwndTab,
-        HWND hwndMDI,
-        DWORD dwReserved);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarAddButtons)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarUpdateButtons)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        UINT cButtons,
-        LPTHUMBBUTTON pButton);
-
-    HRESULT (STDMETHODCALLTYPE *ThumbBarSetImageList)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        HIMAGELIST himl);
-
-    HRESULT (STDMETHODCALLTYPE *SetOverlayIcon)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        HICON hIcon,
-        LPCWSTR pszDescription);
-
-    HRESULT (STDMETHODCALLTYPE *SetThumbnailTooltip)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        LPCWSTR pszTip);
-
-    HRESULT (STDMETHODCALLTYPE *SetThumbnailClip)(
-        ITaskbarList4* This,
-        HWND hwnd,
-        RECT *prcClip);
-
-    /*** ITaskbarList4 methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetTabProperties)(
-        ITaskbarList4* This,
-        HWND hwndTab,
-        STPFLAG stpFlags);
-
-    END_INTERFACE
-} ITaskbarList4Vtbl;
-interface ITaskbarList4 {
-    CONST_VTBL ITaskbarList4Vtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ITaskbarList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ITaskbarList4_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ITaskbarList4_Release(This) (This)->lpVtbl->Release(This)
-/*** ITaskbarList methods ***/
-#define ITaskbarList4_HrInit(This) (This)->lpVtbl->HrInit(This)
-#define ITaskbarList4_AddTab(This,hwnd) (This)->lpVtbl->AddTab(This,hwnd)
-#define ITaskbarList4_DeleteTab(This,hwnd) (This)->lpVtbl->DeleteTab(This,hwnd)
-#define ITaskbarList4_ActivateTab(This,hwnd) (This)->lpVtbl->ActivateTab(This,hwnd)
-#define ITaskbarList4_SetActiveAlt(This,hwnd) (This)->lpVtbl->SetActiveAlt(This,hwnd)
-/*** ITaskbarList2 methods ***/
-#define ITaskbarList4_MarkFullscreenWindow(This,hwnd,fullscreen) (This)->lpVtbl->MarkFullscreenWindow(This,hwnd,fullscreen)
-/*** ITaskbarList3 methods ***/
-#define ITaskbarList4_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
-#define ITaskbarList4_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
-#define ITaskbarList4_RegisterTab(This,hwndTab,hwndMDI) (This)->lpVtbl->RegisterTab(This,hwndTab,hwndMDI)
-#define ITaskbarList4_UnregisterTab(This,hwndTab) (This)->lpVtbl->UnregisterTab(This,hwndTab)
-#define ITaskbarList4_SetTabOrder(This,hwndTab,hwndInsertBefore) (This)->lpVtbl->SetTabOrder(This,hwndTab,hwndInsertBefore)
-#define ITaskbarList4_SetTabActive(This,hwndTab,hwndMDI,dwReserved) (This)->lpVtbl->SetTabActive(This,hwndTab,hwndMDI,dwReserved)
-#define ITaskbarList4_ThumbBarAddButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarAddButtons(This,hwnd,cButtons,pButton)
-#define ITaskbarList4_ThumbBarUpdateButtons(This,hwnd,cButtons,pButton) (This)->lpVtbl->ThumbBarUpdateButtons(This,hwnd,cButtons,pButton)
-#define ITaskbarList4_ThumbBarSetImageList(This,hwnd,himl) (This)->lpVtbl->ThumbBarSetImageList(This,hwnd,himl)
-#define ITaskbarList4_SetOverlayIcon(This,hwnd,hIcon,pszDescription) (This)->lpVtbl->SetOverlayIcon(This,hwnd,hIcon,pszDescription)
-#define ITaskbarList4_SetThumbnailTooltip(This,hwnd,pszTip) (This)->lpVtbl->SetThumbnailTooltip(This,hwnd,pszTip)
-#define ITaskbarList4_SetThumbnailClip(This,hwnd,prcClip) (This)->lpVtbl->SetThumbnailClip(This,hwnd,prcClip)
-/*** ITaskbarList4 methods ***/
-#define ITaskbarList4_SetTabProperties(This,hwndTab,stpFlags) (This)->lpVtbl->SetTabProperties(This,hwndTab,stpFlags)
-#endif
-
-#endif
-#endif  /* __ITaskbarList4_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IApplicationAssociationRegistrationUI interface
- */
-#ifndef __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
-#define __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f, 0xc8, 0x09, 0x59, 0xe8, 0x87, 0x47, 0x10);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IApplicationAssociationRegistrationUI : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE LaunchAdvancedAssociationUI(
-        LPCWSTR pszAppRegName) = 0;
-
-};
-#else
-typedef struct IApplicationAssociationRegistrationUIVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IApplicationAssociationRegistrationUI* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IApplicationAssociationRegistrationUI* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IApplicationAssociationRegistrationUI* This);
-
-    /*** IApplicationAssociationRegistrationUI methods ***/
-    HRESULT (STDMETHODCALLTYPE *LaunchAdvancedAssociationUI)(
-        IApplicationAssociationRegistrationUI* This,
-        LPCWSTR pszAppRegName);
-
-    END_INTERFACE
-} IApplicationAssociationRegistrationUIVtbl;
-interface IApplicationAssociationRegistrationUI {
-    CONST_VTBL IApplicationAssociationRegistrationUIVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IApplicationAssociationRegistrationUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IApplicationAssociationRegistrationUI_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IApplicationAssociationRegistrationUI_Release(This) (This)->lpVtbl->Release(This)
-/*** IApplicationAssociationRegistrationUI methods ***/
-#define IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(This) (This)->lpVtbl->LaunchAdvancedAssociationUI(This)
-#endif
-
-#endif
-#endif  /* __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ */
-
-#ifndef __ICDBurn_INTERFACE_DEFINED__
-#define __ICDBurn_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_ICDBurn;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ICDBurn : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetRecorderDriveLetter(LPWSTR pszDrive,UINT cch) = 0;
-    virtual HRESULT WINAPI Burn(HWND hwnd) = 0;
-    virtual HRESULT WINAPI HasRecordableDrive(WINBOOL *pfHasRecorder) = 0;
-  };
-#else
-  typedef struct ICDBurnVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ICDBurn *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ICDBurn *This);
-      ULONG (WINAPI *Release)(ICDBurn *This);
-      HRESULT (WINAPI *GetRecorderDriveLetter)(ICDBurn *This,LPWSTR pszDrive,UINT cch);
-      HRESULT (WINAPI *Burn)(ICDBurn *This,HWND hwnd);
-      HRESULT (WINAPI *HasRecordableDrive)(ICDBurn *This,WINBOOL *pfHasRecorder);
-    END_INTERFACE
-  } ICDBurnVtbl;
-  struct ICDBurn {
-    CONST_VTBL struct ICDBurnVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ICDBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICDBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICDBurn_Release(This) (This)->lpVtbl->Release(This)
-#define ICDBurn_GetRecorderDriveLetter(This,pszDrive,cch) (This)->lpVtbl->GetRecorderDriveLetter(This,pszDrive,cch)
-#define ICDBurn_Burn(This,hwnd) (This)->lpVtbl->Burn(This,hwnd)
-#define ICDBurn_HasRecordableDrive(This,pfHasRecorder) (This)->lpVtbl->HasRecordableDrive(This,pfHasRecorder)
-#endif
-#endif
-  HRESULT WINAPI ICDBurn_GetRecorderDriveLetter_Proxy(ICDBurn *This,LPWSTR pszDrive,UINT cch);
-  void __RPC_STUB ICDBurn_GetRecorderDriveLetter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICDBurn_Burn_Proxy(ICDBurn *This,HWND hwnd);
-  void __RPC_STUB ICDBurn_Burn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI ICDBurn_HasRecordableDrive_Proxy(ICDBurn *This,WINBOOL *pfHasRecorder);
-  void __RPC_STUB ICDBurn_HasRecordableDrive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define IDD_WIZEXTN_FIRST 0x5000
-#define IDD_WIZEXTN_LAST 0x5100
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0234_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0234_v0_0_s_ifspec;
-#ifndef __IWizardSite_INTERFACE_DEFINED__
-#define __IWizardSite_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IWizardSite;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IWizardSite : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetPreviousPage(HPROPSHEETPAGE *phpage) = 0;
-    virtual HRESULT WINAPI GetNextPage(HPROPSHEETPAGE *phpage) = 0;
-    virtual HRESULT WINAPI GetCancelledPage(HPROPSHEETPAGE *phpage) = 0;
-  };
-#else
-  typedef struct IWizardSiteVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IWizardSite *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IWizardSite *This);
-      ULONG (WINAPI *Release)(IWizardSite *This);
-      HRESULT (WINAPI *GetPreviousPage)(IWizardSite *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *GetNextPage)(IWizardSite *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *GetCancelledPage)(IWizardSite *This,HPROPSHEETPAGE *phpage);
-    END_INTERFACE
-  } IWizardSiteVtbl;
-  struct IWizardSite {
-    CONST_VTBL struct IWizardSiteVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IWizardSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IWizardSite_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IWizardSite_Release(This) (This)->lpVtbl->Release(This)
-#define IWizardSite_GetPreviousPage(This,phpage) (This)->lpVtbl->GetPreviousPage(This,phpage)
-#define IWizardSite_GetNextPage(This,phpage) (This)->lpVtbl->GetNextPage(This,phpage)
-#define IWizardSite_GetCancelledPage(This,phpage) (This)->lpVtbl->GetCancelledPage(This,phpage)
-#endif
-#endif
-  HRESULT WINAPI IWizardSite_GetPreviousPage_Proxy(IWizardSite *This,HPROPSHEETPAGE *phpage);
-  void __RPC_STUB IWizardSite_GetPreviousPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWizardSite_GetNextPage_Proxy(IWizardSite *This,HPROPSHEETPAGE *phpage);
-  void __RPC_STUB IWizardSite_GetNextPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWizardSite_GetCancelledPage_Proxy(IWizardSite *This,HPROPSHEETPAGE *phpage);
-  void __RPC_STUB IWizardSite_GetCancelledPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IWizardExtension_INTERFACE_DEFINED__
-#define __IWizardExtension_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IWizardExtension;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IWizardExtension : public IUnknown {
-  public:
-    virtual HRESULT WINAPI AddPages(HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded) = 0;
-    virtual HRESULT WINAPI GetFirstPage(HPROPSHEETPAGE *phpage) = 0;
-    virtual HRESULT WINAPI GetLastPage(HPROPSHEETPAGE *phpage) = 0;
-  };
-#else
-  typedef struct IWizardExtensionVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IWizardExtension *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IWizardExtension *This);
-      ULONG (WINAPI *Release)(IWizardExtension *This);
-      HRESULT (WINAPI *AddPages)(IWizardExtension *This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded);
-      HRESULT (WINAPI *GetFirstPage)(IWizardExtension *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *GetLastPage)(IWizardExtension *This,HPROPSHEETPAGE *phpage);
-    END_INTERFACE
-  } IWizardExtensionVtbl;
-  struct IWizardExtension {
-    CONST_VTBL struct IWizardExtensionVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IWizardExtension_Release(This) (This)->lpVtbl->Release(This)
-#define IWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
-#define IWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
-#define IWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
-#endif
-#endif
-  HRESULT WINAPI IWizardExtension_AddPages_Proxy(IWizardExtension *This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded);
-  void __RPC_STUB IWizardExtension_AddPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWizardExtension_GetFirstPage_Proxy(IWizardExtension *This,HPROPSHEETPAGE *phpage);
-  void __RPC_STUB IWizardExtension_GetFirstPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWizardExtension_GetLastPage_Proxy(IWizardExtension *This,HPROPSHEETPAGE *phpage);
-  void __RPC_STUB IWizardExtension_GetLastPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IWebWizardExtension_INTERFACE_DEFINED__
-#define __IWebWizardExtension_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IWebWizardExtension;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IWebWizardExtension : public IWizardExtension {
-  public:
-    virtual HRESULT WINAPI SetInitialURL(LPCWSTR pszURL) = 0;
-    virtual HRESULT WINAPI SetErrorURL(LPCWSTR pszErrorURL) = 0;
-  };
-#else
-  typedef struct IWebWizardExtensionVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IWebWizardExtension *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IWebWizardExtension *This);
-      ULONG (WINAPI *Release)(IWebWizardExtension *This);
-      HRESULT (WINAPI *AddPages)(IWebWizardExtension *This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded);
-      HRESULT (WINAPI *GetFirstPage)(IWebWizardExtension *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *GetLastPage)(IWebWizardExtension *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *SetInitialURL)(IWebWizardExtension *This,LPCWSTR pszURL);
-      HRESULT (WINAPI *SetErrorURL)(IWebWizardExtension *This,LPCWSTR pszErrorURL);
-    END_INTERFACE
-  } IWebWizardExtensionVtbl;
-  struct IWebWizardExtension {
-    CONST_VTBL struct IWebWizardExtensionVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IWebWizardExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IWebWizardExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IWebWizardExtension_Release(This) (This)->lpVtbl->Release(This)
-#define IWebWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
-#define IWebWizardExtension_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
-#define IWebWizardExtension_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
-#define IWebWizardExtension_SetInitialURL(This,pszURL) (This)->lpVtbl->SetInitialURL(This,pszURL)
-#define IWebWizardExtension_SetErrorURL(This,pszErrorURL) (This)->lpVtbl->SetErrorURL(This,pszErrorURL)
-#endif
-#endif
-  HRESULT WINAPI IWebWizardExtension_SetInitialURL_Proxy(IWebWizardExtension *This,LPCWSTR pszURL);
-  void __RPC_STUB IWebWizardExtension_SetInitialURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IWebWizardExtension_SetErrorURL_Proxy(IWebWizardExtension *This,LPCWSTR pszErrorURL);
-  void __RPC_STUB IWebWizardExtension_SetErrorURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SID_WebWizardHost IID_IWebWizardExtension
-#define SHPWHF_NORECOMPRESS 0x00000001
-#define SHPWHF_NONETPLACECREATE 0x00000002
-#define SHPWHF_NOFILESELECTOR 0x00000004
-#define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0237_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0237_v0_0_s_ifspec;
-#ifndef __IPublishingWizard_INTERFACE_DEFINED__
-#define __IPublishingWizard_INTERFACE_DEFINED__
-
-  EXTERN_C const IID IID_IPublishingWizard;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPublishingWizard : public IWizardExtension {
-  public:
-    virtual HRESULT WINAPI Initialize(IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceProvider) = 0;
-    virtual HRESULT WINAPI GetTransferManifest(HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest) = 0;
-  };
-#else
-  typedef struct IPublishingWizardVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPublishingWizard *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPublishingWizard *This);
-      ULONG (WINAPI *Release)(IPublishingWizard *This);
-      HRESULT (WINAPI *AddPages)(IPublishingWizard *This,HPROPSHEETPAGE *aPages,UINT cPages,UINT *pnPagesAdded);
-      HRESULT (WINAPI *GetFirstPage)(IPublishingWizard *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *GetLastPage)(IPublishingWizard *This,HPROPSHEETPAGE *phpage);
-      HRESULT (WINAPI *Initialize)(IPublishingWizard *This,IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceProvider);
-      HRESULT (WINAPI *GetTransferManifest)(IPublishingWizard *This,HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest);
-    END_INTERFACE
-  } IPublishingWizardVtbl;
-  struct IPublishingWizard {
-    CONST_VTBL struct IPublishingWizardVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPublishingWizard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPublishingWizard_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPublishingWizard_Release(This) (This)->lpVtbl->Release(This)
-#define IPublishingWizard_AddPages(This,aPages,cPages,pnPagesAdded) (This)->lpVtbl->AddPages(This,aPages,cPages,pnPagesAdded)
-#define IPublishingWizard_GetFirstPage(This,phpage) (This)->lpVtbl->GetFirstPage(This,phpage)
-#define IPublishingWizard_GetLastPage(This,phpage) (This)->lpVtbl->GetLastPage(This,phpage)
-#define IPublishingWizard_Initialize(This,pdo,dwOptions,pszServiceProvider) (This)->lpVtbl->Initialize(This,pdo,dwOptions,pszServiceProvider)
-#define IPublishingWizard_GetTransferManifest(This,phrFromTransfer,pdocManifest) (This)->lpVtbl->GetTransferManifest(This,phrFromTransfer,pdocManifest)
-#endif
-#endif
-  HRESULT WINAPI IPublishingWizard_Initialize_Proxy(IPublishingWizard *This,IDataObject *pdo,DWORD dwOptions,LPCWSTR pszServiceProvider);
-  void __RPC_STUB IPublishingWizard_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IPublishingWizard_GetTransferManifest_Proxy(IPublishingWizard *This,HRESULT *phrFromTransfer,IXMLDOMDocument **pdocManifest);
-  void __RPC_STUB IPublishingWizard_GetTransferManifest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IFolderViewHost_INTERFACE_DEFINED__
-#define __IFolderViewHost_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IFolderViewHost;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IFolderViewHost : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(HWND hwndParent,IDataObject *pdo,RECT *prc) = 0;
-  };
-#else
-  typedef struct IFolderViewHostVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IFolderViewHost *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IFolderViewHost *This);
-      ULONG (WINAPI *Release)(IFolderViewHost *This);
-      HRESULT (WINAPI *Initialize)(IFolderViewHost *This,HWND hwndParent,IDataObject *pdo,RECT *prc);
-    END_INTERFACE
-  } IFolderViewHostVtbl;
-  struct IFolderViewHost {
-    CONST_VTBL struct IFolderViewHostVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IFolderViewHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFolderViewHost_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFolderViewHost_Release(This) (This)->lpVtbl->Release(This)
-#define IFolderViewHost_Initialize(This,hwndParent,pdo,prc) (This)->lpVtbl->Initialize(This,hwndParent,pdo,prc)
-#endif
-#endif
-  HRESULT WINAPI IFolderViewHost_Initialize_Proxy(IFolderViewHost *This,HWND hwndParent,IDataObject *pdo,RECT *prc);
-  void __RPC_STUB IFolderViewHost_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define ACDD_VISIBLE 0x0001
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0239_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0239_v0_0_s_ifspec;
-#ifndef __IAutoCompleteDropDown_INTERFACE_DEFINED__
-#define __IAutoCompleteDropDown_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IAutoCompleteDropDown;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IAutoCompleteDropDown : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetDropDownStatus(DWORD *pdwFlags,LPWSTR *ppwszString) = 0;
-    virtual HRESULT WINAPI ResetEnumerator(void) = 0;
-  };
-#else
-  typedef struct IAutoCompleteDropDownVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IAutoCompleteDropDown *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IAutoCompleteDropDown *This);
-      ULONG (WINAPI *Release)(IAutoCompleteDropDown *This);
-      HRESULT (WINAPI *GetDropDownStatus)(IAutoCompleteDropDown *This,DWORD *pdwFlags,LPWSTR *ppwszString);
-      HRESULT (WINAPI *ResetEnumerator)(IAutoCompleteDropDown *This);
-    END_INTERFACE
-  } IAutoCompleteDropDownVtbl;
-  struct IAutoCompleteDropDown {
-    CONST_VTBL struct IAutoCompleteDropDownVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IAutoCompleteDropDown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAutoCompleteDropDown_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAutoCompleteDropDown_Release(This) (This)->lpVtbl->Release(This)
-#define IAutoCompleteDropDown_GetDropDownStatus(This,pdwFlags,ppwszString) (This)->lpVtbl->GetDropDownStatus(This,pdwFlags,ppwszString)
-#define IAutoCompleteDropDown_ResetEnumerator(This) (This)->lpVtbl->ResetEnumerator(This)
-#endif
-#endif
-  HRESULT WINAPI IAutoCompleteDropDown_GetDropDownStatus_Proxy(IAutoCompleteDropDown *This,DWORD *pdwFlags,LPWSTR *ppwszString);
-  void __RPC_STUB IAutoCompleteDropDown_GetDropDownStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAutoCompleteDropDown_ResetEnumerator_Proxy(IAutoCompleteDropDown *This);
-  void __RPC_STUB IAutoCompleteDropDown_ResetEnumerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define PPW_LAUNCHEDBYUSER 0x00000001
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0240_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0240_v0_0_s_ifspec;
-
-/*****************************************************************************
- * IShellItemArray interface
- */
-#ifndef __IShellItemArray_INTERFACE_DEFINED__
-#define __IShellItemArray_INTERFACE_DEFINED__
-
-typedef enum SIATTRIBFLAGS {
-    SIATTRIBFLAGS_AND = 0x1,
-    SIATTRIBFLAGS_OR = 0x2,
-    SIATTRIBFLAGS_APPCOMPAT = 0x3,
-    SIATTRIBFLAGS_MASK = 0x3,
-    SIATTRIBFLAGS_ALLITEMS = 0x4000
-} SIATTRIBFLAGS;
-DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)
-DEFINE_GUID(IID_IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("b63ea76d-1f85-456f-a19c-48159efa858b")
-IShellItemArray : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE BindToHandler(
-        IBindCtx *pbc,
-        REFGUID bhid,
-        REFIID riid,
-        void **ppvOut) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
-        REFPROPERTYKEY keyType,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetAttributes(
-        SIATTRIBFLAGS AttribFlags,
-        SFGAOF sfgaoMask,
-        SFGAOF *psfgaoAttribs) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetCount(
-        DWORD *pdwNumItems) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetItemAt(
-        DWORD dwIndex,
-        IShellItem **ppsi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE EnumItems(
-        IEnumShellItems **ppenumShellItems) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IShellItemArray, 0xb63ea76d, 0x1f85, 0x456f, 0xa1,0x9c, 0x48,0x15,0x9e,0xfa,0x85,0x8b)
-#endif
-#else
-typedef struct IShellItemArrayVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellItemArray* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellItemArray* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellItemArray* This);
-    /*** IShellItemArray methods ***/
-    HRESULT (STDMETHODCALLTYPE *BindToHandler)(
-        IShellItemArray* This,
-        IBindCtx *pbc,
-        REFGUID bhid,
-        REFIID riid,
-        void **ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
-        IShellItemArray* This,
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
-        IShellItemArray* This,
-        REFPROPERTYKEY keyType,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetAttributes)(
-        IShellItemArray* This,
-        SIATTRIBFLAGS AttribFlags,
-        SFGAOF sfgaoMask,
-        SFGAOF *psfgaoAttribs);
-
-    HRESULT (STDMETHODCALLTYPE *GetCount)(
-        IShellItemArray* This,
-        DWORD *pdwNumItems);
-
-    HRESULT (STDMETHODCALLTYPE *GetItemAt)(
-        IShellItemArray* This,
-        DWORD dwIndex,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *EnumItems)(
-        IShellItemArray* This,
-        IEnumShellItems **ppenumShellItems);
-
-    END_INTERFACE
-} IShellItemArrayVtbl;
-interface IShellItemArray {
-    CONST_VTBL IShellItemArrayVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IShellItemArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellItemArray_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellItemArray_Release(This) (This)->lpVtbl->Release(This)
-/*** IShellItemArray methods ***/
-#define IShellItemArray_BindToHandler(This,pbc,bhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppvOut)
-#define IShellItemArray_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
-#define IShellItemArray_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
-#define IShellItemArray_GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,AttribFlags,sfgaoMask,psfgaoAttribs)
-#define IShellItemArray_GetCount(This,pdwNumItems) (This)->lpVtbl->GetCount(This,pdwNumItems)
-#define IShellItemArray_GetItemAt(This,dwIndex,ppsi) (This)->lpVtbl->GetItemAt(This,dwIndex,ppsi)
-#define IShellItemArray_EnumItems(This,ppenumShellItems) (This)->lpVtbl->EnumItems(This,ppenumShellItems)
-#endif
-
-#endif
-
-#endif  /* __IShellItemArray_INTERFACE_DEFINED__ */
-
-#ifndef __IModalWindow_INTERFACE_DEFINED__
-#define __IModalWindow_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IModalWindow;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IModalWindow : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Show(HWND hwndParent) = 0;
-  };
-#else
-  typedef struct IModalWindowVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IModalWindow *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IModalWindow *This);
-      ULONG (WINAPI *Release)(IModalWindow *This);
-      HRESULT (WINAPI *Show)(IModalWindow *This,HWND hwndParent);
-    END_INTERFACE
-  } IModalWindowVtbl;
-  struct IModalWindow {
-    CONST_VTBL struct IModalWindowVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IModalWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IModalWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IModalWindow_Release(This) (This)->lpVtbl->Release(This)
-#define IModalWindow_Show(This,hwndParent) (This)->lpVtbl->Show(This,hwndParent)
-#endif
-#endif
-  HRESULT WINAPI IModalWindow_Show_Proxy(IModalWindow *This,HWND hwndParent);
-  void __RPC_STUB IModalWindow_Show_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-typedef enum FDAP {
-    FDAP_BOTTOM = 0,
-    FDAP_TOP = 1
-} FDAP;
-
-/*****************************************************************************
- * IFileDialog interface
- */
-#ifndef __IFileDialog_INTERFACE_DEFINED__
-#define __IFileDialog_INTERFACE_DEFINED__
-
-enum _FILEOPENDIALOGOPTIONS {
-    FOS_OVERWRITEPROMPT = 0x2,
-    FOS_STRICTFILETYPES = 0x4,
-    FOS_NOCHANGEDIR = 0x8,
-    FOS_PICKFOLDERS = 0x20,
-    FOS_FORCEFILESYSTEM = 0x40,
-    FOS_ALLNONSTORAGEITEMS = 0x80,
-    FOS_NOVALIDATE = 0x100,
-    FOS_ALLOWMULTISELECT = 0x200,
-    FOS_PATHMUSTEXIST = 0x800,
-    FOS_FILEMUSTEXIST = 0x1000,
-    FOS_CREATEPROMPT = 0x2000,
-    FOS_SHAREAWARE = 0x4000,
-    FOS_NOREADONLYRETURN = 0x8000,
-    FOS_NOTESTFILECREATE = 0x10000,
-    FOS_HIDEMRUPLACES = 0x20000,
-    FOS_HIDEPINNEDPLACES = 0x40000,
-    FOS_NODEREFERENCELINKS = 0x100000,
-    FOS_DONTADDTORECENT = 0x2000000,
-    FOS_FORCESHOWHIDDEN = 0x10000000,
-    FOS_DEFAULTNOMINIMODE = 0x20000000,
-    FOS_FORCEPREVIEWPANEON = 0x40000000
-};
-
-typedef DWORD FILEOPENDIALOGOPTIONS;
-DEFINE_GUID(IID_IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("42f85136-db7e-439c-85f1-e4075d135fc8")
-IFileDialog : public IModalWindow
-{
-    virtual HRESULT STDMETHODCALLTYPE SetFileTypes(
-        UINT cFileTypes,
-        const COMDLG_FILTERSPEC *rgFilterSpec) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFileTypeIndex(
-        UINT iFileType) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFileTypeIndex(
-        UINT *piFileType) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Advise(
-        IFileDialogEvents *pfde,
-        DWORD *pdwCookie) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Unadvise(
-        DWORD dwCookie) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetOptions(
-        FILEOPENDIALOGOPTIONS fos) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetOptions(
-        FILEOPENDIALOGOPTIONS *pfos) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetDefaultFolder(
-        IShellItem *psi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFolder(
-        IShellItem *psi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFolder(
-        IShellItem **ppsi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection(
-        IShellItem **ppsi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFileName(
-        LPCWSTR pszName) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFileName(
-        LPWSTR *pszName) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetTitle(
-        LPCWSTR pszTitle) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetOkButtonLabel(
-        LPCWSTR pszText) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFileNameLabel(
-        LPCWSTR pszLabel) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetResult(
-        IShellItem **ppsi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AddPlace(
-        IShellItem *psi,
-        FDAP fdap) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetDefaultExtension(
-        LPCWSTR pszDefaultExtension) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Close(
-        HRESULT hr) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetClientGuid(
-        REFGUID guid) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ClearClientData(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFilter(
-        IShellItemFilter *pFilter) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IFileDialog, 0x42f85136, 0xdb7e, 0x439c, 0x85,0xf1, 0xe4,0x07,0x5d,0x13,0x5f,0xc8)
-#endif
-#else
-typedef struct IFileDialogVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IFileDialog* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IFileDialog* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IFileDialog* This);
-
-    /*** IModalWindow methods ***/
-    HRESULT (STDMETHODCALLTYPE *Show)(
-        IFileDialog* This,
-        HWND hwndOwner);
-
-    /*** IFileDialog methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
-        IFileDialog* This,
-        UINT cFileTypes,
-        const COMDLG_FILTERSPEC *rgFilterSpec);
-    HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
-        IFileDialog* This,
-        UINT iFileType);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
-        IFileDialog* This,
-        UINT *piFileType);
-
-    HRESULT (STDMETHODCALLTYPE *Advise)(
-        IFileDialog* This,
-        IFileDialogEvents *pfde,
-        DWORD *pdwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *Unadvise)(
-        IFileDialog* This,
-        DWORD dwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *SetOptions)(
-        IFileDialog* This,
-        FILEOPENDIALOGOPTIONS fos);
-
-    HRESULT (STDMETHODCALLTYPE *GetOptions)(
-        IFileDialog* This,
-        FILEOPENDIALOGOPTIONS *pfos);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
-        IFileDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFolder)(
-        IFileDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *GetFolder)(
-        IFileDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
-        IFileDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileName)(
-        IFileDialog* This,
-        LPCWSTR pszName);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileName)(
-        IFileDialog* This,
-        LPWSTR *pszName);
-
-    HRESULT (STDMETHODCALLTYPE *SetTitle)(
-        IFileDialog* This,
-        LPCWSTR pszTitle);
-
-    HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
-        IFileDialog* This,
-        LPCWSTR pszText);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
-        IFileDialog* This,
-        LPCWSTR pszLabel);
-
-    HRESULT (STDMETHODCALLTYPE *GetResult)(
-        IFileDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *AddPlace)(
-        IFileDialog* This,
-        IShellItem *psi,
-        FDAP fdap);
-   HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
-        IFileDialog* This,
-        LPCWSTR pszDefaultExtension);
-
-    HRESULT (STDMETHODCALLTYPE *Close)(
-        IFileDialog* This,
-        HRESULT hr);
-
-    HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
-        IFileDialog* This,
-        REFGUID guid);
-
-    HRESULT (STDMETHODCALLTYPE *ClearClientData)(
-        IFileDialog* This);
-
-    HRESULT (STDMETHODCALLTYPE *SetFilter)(
-        IFileDialog* This,
-        IShellItemFilter *pFilter);
-
-    END_INTERFACE
-} IFileDialogVtbl;
-interface IFileDialog {
-    CONST_VTBL IFileDialogVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IFileDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFileDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFileDialog_Release(This) (This)->lpVtbl->Release(This)
-/*** IModalWindow methods ***/
-#define IFileDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
-/*** IFileDialog methods ***/
-#define IFileDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
-#define IFileDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
-#define IFileDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
-#define IFileDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
-#define IFileDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
-#define IFileDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
-#define IFileDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
-#define IFileDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
-#define IFileDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
-#define IFileDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
-#define IFileDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
-#define IFileDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
-#define IFileDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
-#define IFileDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
-#define IFileDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
-#define IFileDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
-#define IFileDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
-#define IFileDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
-#define IFileDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
-#define IFileDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
-#define IFileDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
-#define IFileDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
-#define IFileDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
-#endif
-
-#endif
-
-#endif  /* __IFileDialog_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IFileSaveDialog interface
- */
-#ifndef __IFileSaveDialog_INTERFACE_DEFINED__
-#define __IFileSaveDialog_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("84bccd23-5fde-4cdb-aea4-af64b83d78ab")
-IFileSaveDialog : public IFileDialog
-{
-    virtual HRESULT STDMETHODCALLTYPE SetSaveAsItem(
-        IShellItem *psi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetProperties(
-        IPropertyStore *pStore) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetCollectedProperties(
-        IPropertyDescriptionList *pList,
-        BOOL fAppendDefault) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetProperties(
-        IPropertyStore **ppStore) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ApplyProperties(
-        IShellItem *psi,
-        IPropertyStore *pStore,
-        HWND hwnd,
-        IFileOperationProgressSink *pSink) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IFileSaveDialog, 0x84bccd23, 0x5fde, 0x4cdb, 0xae,0xa4, 0xaf,0x64,0xb8,0x3d,0x78,0xab)
-#endif
-#else
-typedef struct IFileSaveDialogVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IFileSaveDialog* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IFileSaveDialog* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IFileSaveDialog* This);
-
-    /*** IModalWindow methods ***/
-    HRESULT (STDMETHODCALLTYPE *Show)(
-        IFileSaveDialog* This,
-        HWND hwndOwner);
-
-    /*** IFileDialog methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
-        IFileSaveDialog* This,
-        UINT cFileTypes,
-        const COMDLG_FILTERSPEC *rgFilterSpec);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
-        IFileSaveDialog* This,
-        UINT iFileType);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
-        IFileSaveDialog* This,
-        UINT *piFileType);
-
-    HRESULT (STDMETHODCALLTYPE *Advise)(
-        IFileSaveDialog* This,
-        IFileDialogEvents *pfde,
-        DWORD *pdwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *Unadvise)(
-        IFileSaveDialog* This,
-        DWORD dwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *SetOptions)(
-        IFileSaveDialog* This,
-        FILEOPENDIALOGOPTIONS fos);
-
-    HRESULT (STDMETHODCALLTYPE *GetOptions)(
-        IFileSaveDialog* This,
-        FILEOPENDIALOGOPTIONS *pfos);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
-        IFileSaveDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFolder)(
-        IFileSaveDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *GetFolder)(
-        IFileSaveDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
-        IFileSaveDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileName)(
-        IFileSaveDialog* This,
-        LPCWSTR pszName);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileName)(
-        IFileSaveDialog* This,
-        LPWSTR *pszName);
-
-    HRESULT (STDMETHODCALLTYPE *SetTitle)(
-        IFileSaveDialog* This,
-        LPCWSTR pszTitle);
-
-    HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
-        IFileSaveDialog* This,
-        LPCWSTR pszText);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
-        IFileSaveDialog* This,
-        LPCWSTR pszLabel);
-
-    HRESULT (STDMETHODCALLTYPE *GetResult)(
-        IFileSaveDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *AddPlace)(
-        IFileSaveDialog* This,
-        IShellItem *psi,
-        FDAP fdap);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
-        IFileSaveDialog* This,
-        LPCWSTR pszDefaultExtension);
-
-    HRESULT (STDMETHODCALLTYPE *Close)(
-        IFileSaveDialog* This,
-        HRESULT hr);
-
-   HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
-        IFileSaveDialog* This,
-        REFGUID guid);
-
-    HRESULT (STDMETHODCALLTYPE *ClearClientData)(
-        IFileSaveDialog* This);
-
-    HRESULT (STDMETHODCALLTYPE *SetFilter)(
-        IFileSaveDialog* This,
-        IShellItemFilter *pFilter);
-
-    /*** IFileSaveDialog methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetSaveAsItem)(
-        IFileSaveDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *SetProperties)(
-        IFileSaveDialog* This,
-        IPropertyStore *pStore);
-
-    HRESULT (STDMETHODCALLTYPE *SetCollectedProperties)(
-        IFileSaveDialog* This,
-        IPropertyDescriptionList *pList,
-        BOOL fAppendDefault);
-
-    HRESULT (STDMETHODCALLTYPE *GetProperties)(
-        IFileSaveDialog* This,
-        IPropertyStore **ppStore);
-
-    HRESULT (STDMETHODCALLTYPE *ApplyProperties)(
-        IFileSaveDialog* This,
-        IShellItem *psi,
-        IPropertyStore *pStore,
-        HWND hwnd,
-        IFileOperationProgressSink *pSink);
-
-    END_INTERFACE
-} IFileSaveDialogVtbl;
-interface IFileSaveDialog {
-    CONST_VTBL IFileSaveDialogVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IFileSaveDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFileSaveDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFileSaveDialog_Release(This) (This)->lpVtbl->Release(This)
-/*** IModalWindow methods ***/
-#define IFileSaveDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
-/*** IFileDialog methods ***/
-#define IFileSaveDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
-#define IFileSaveDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
-#define IFileSaveDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
-#define IFileSaveDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
-#define IFileSaveDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
-#define IFileSaveDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
-#define IFileSaveDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
-#define IFileSaveDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
-#define IFileSaveDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
-#define IFileSaveDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
-#define IFileSaveDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
-#define IFileSaveDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
-#define IFileSaveDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
-#define IFileSaveDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
-#define IFileSaveDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
-#define IFileSaveDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
-#define IFileSaveDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
-#define IFileSaveDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
-#define IFileSaveDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
-#define IFileSaveDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
-#define IFileSaveDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
-#define IFileSaveDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
-#define IFileSaveDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
-/*** IFileSaveDialog methods ***/
-#define IFileSaveDialog_SetSaveAsItem(This,psi) (This)->lpVtbl->SetSaveAsItem(This,psi)
-#define IFileSaveDialog_SetProperties(This,pStore) (This)->lpVtbl->SetProperties(This,pStore)
-#define IFileSaveDialog_SetCollectedProperties(This,pList,fAppendDefault) (This)->lpVtbl->SetCollectedProperties(This,pList,fAppendDefault)
-#define IFileSaveDialog_GetProperties(This,ppStore) (This)->lpVtbl->GetProperties(This,ppStore)
-#define IFileSaveDialog_ApplyProperties(This,psi,pStore,hwnd,pSink) (This)->lpVtbl->ApplyProperties(This,psi,pStore,hwnd,pSink)
-#endif
-
-#endif
-
-#endif  /* __IFileSaveDialog_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IFileOpenDialog interface
- */
-#ifndef __IFileOpenDialog_INTERFACE_DEFINED__
-#define __IFileOpenDialog_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("d57c7288-d4ad-4768-be02-9d969532d960")
-IFileOpenDialog : public IFileDialog
-{
-    virtual HRESULT STDMETHODCALLTYPE GetResults(
-        IShellItemArray **ppenum) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetSelectedItems(
-        IShellItemArray **ppsai) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IFileOpenDialog, 0xd57c7288, 0xd4ad, 0x4768, 0xbe,0x02, 0x9d,0x96,0x95,0x32,0xd9,0x60)
-#endif
-#else
-typedef struct IFileOpenDialogVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IFileOpenDialog* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IFileOpenDialog* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IFileOpenDialog* This);
-
-    /*** IModalWindow methods ***/
-    HRESULT (STDMETHODCALLTYPE *Show)(
-        IFileOpenDialog* This,
-        HWND hwndOwner);
-
-    /*** IFileDialog methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetFileTypes)(
-        IFileOpenDialog* This,
-        UINT cFileTypes,
-        const COMDLG_FILTERSPEC *rgFilterSpec);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileTypeIndex)(
-        IFileOpenDialog* This,
-        UINT iFileType);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileTypeIndex)(
-        IFileOpenDialog* This,
-        UINT *piFileType);
-
-    HRESULT (STDMETHODCALLTYPE *Advise)(
-        IFileOpenDialog* This,
-        IFileDialogEvents *pfde,
-        DWORD *pdwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *Unadvise)(
-        IFileOpenDialog* This,
-        DWORD dwCookie);
-
-    HRESULT (STDMETHODCALLTYPE *SetOptions)(
-        IFileOpenDialog* This,
-        FILEOPENDIALOGOPTIONS fos);
-
-    HRESULT (STDMETHODCALLTYPE *GetOptions)(
-        IFileOpenDialog* This,
-        FILEOPENDIALOGOPTIONS *pfos);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultFolder)(
-        IFileOpenDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFolder)(
-        IFileOpenDialog* This,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *GetFolder)(
-        IFileOpenDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)(
-        IFileOpenDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileName)(
-        IFileOpenDialog* This,
-        LPCWSTR pszName);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileName)(
-        IFileOpenDialog* This,
-        LPWSTR *pszName);
-
-    HRESULT (STDMETHODCALLTYPE *SetTitle)(
-        IFileOpenDialog* This,
-        LPCWSTR pszTitle);
-
-    HRESULT (STDMETHODCALLTYPE *SetOkButtonLabel)(
-        IFileOpenDialog* This,
-        LPCWSTR pszText);
-
-    HRESULT (STDMETHODCALLTYPE *SetFileNameLabel)(
-        IFileOpenDialog* This,
-        LPCWSTR pszLabel);
-
-    HRESULT (STDMETHODCALLTYPE *GetResult)(
-        IFileOpenDialog* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *AddPlace)(
-        IFileOpenDialog* This,
-        IShellItem *psi,
-        FDAP fdap);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultExtension)(
-        IFileOpenDialog* This,
-        LPCWSTR pszDefaultExtension);
-
-    HRESULT (STDMETHODCALLTYPE *Close)(
-        IFileOpenDialog* This,
-        HRESULT hr);
-
-    HRESULT (STDMETHODCALLTYPE *SetClientGuid)(
-        IFileOpenDialog* This,
-        REFGUID guid);
-
-    HRESULT (STDMETHODCALLTYPE *ClearClientData)(
-        IFileOpenDialog* This);
-
-    HRESULT (STDMETHODCALLTYPE *SetFilter)(
-        IFileOpenDialog* This,
-        IShellItemFilter *pFilter);
-
-    /*** IFileOpenDialog methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetResults)(
-        IFileOpenDialog* This,
-        IShellItemArray **ppenum);
-
-    HRESULT (STDMETHODCALLTYPE *GetSelectedItems)(
-        IFileOpenDialog* This,
-        IShellItemArray **ppsai);
-
-    END_INTERFACE
-} IFileOpenDialogVtbl;
-interface IFileOpenDialog {
-    CONST_VTBL IFileOpenDialogVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IFileOpenDialog_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFileOpenDialog_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFileOpenDialog_Release(This) (This)->lpVtbl->Release(This)
-/*** IModalWindow methods ***/
-#define IFileOpenDialog_Show(This,hwndOwner) (This)->lpVtbl->Show(This,hwndOwner)
-/*** IFileDialog methods ***/
-#define IFileOpenDialog_SetFileTypes(This,cFileTypes,rgFilterSpec) (This)->lpVtbl->SetFileTypes(This,cFileTypes,rgFilterSpec)
-#define IFileOpenDialog_SetFileTypeIndex(This,iFileType) (This)->lpVtbl->SetFileTypeIndex(This,iFileType)
-#define IFileOpenDialog_GetFileTypeIndex(This,piFileType) (This)->lpVtbl->GetFileTypeIndex(This,piFileType)
-#define IFileOpenDialog_Advise(This,pfde,pdwCookie) (This)->lpVtbl->Advise(This,pfde,pdwCookie)
-#define IFileOpenDialog_Unadvise(This,dwCookie) (This)->lpVtbl->Unadvise(This,dwCookie)
-#define IFileOpenDialog_SetOptions(This,fos) (This)->lpVtbl->SetOptions(This,fos)
-#define IFileOpenDialog_GetOptions(This,pfos) (This)->lpVtbl->GetOptions(This,pfos)
-#define IFileOpenDialog_SetDefaultFolder(This,psi) (This)->lpVtbl->SetDefaultFolder(This,psi)
-#define IFileOpenDialog_SetFolder(This,psi) (This)->lpVtbl->SetFolder(This,psi)
-#define IFileOpenDialog_GetFolder(This,ppsi) (This)->lpVtbl->GetFolder(This,ppsi)
-#define IFileOpenDialog_GetCurrentSelection(This,ppsi) (This)->lpVtbl->GetCurrentSelection(This,ppsi)
-#define IFileOpenDialog_SetFileName(This,pszName) (This)->lpVtbl->SetFileName(This,pszName)
-#define IFileOpenDialog_GetFileName(This,pszName) (This)->lpVtbl->GetFileName(This,pszName)
-#define IFileOpenDialog_SetTitle(This,pszTitle) (This)->lpVtbl->SetTitle(This,pszTitle)
-#define IFileOpenDialog_SetOkButtonLabel(This,pszText) (This)->lpVtbl->SetOkButtonLabel(This,pszText)
-#define IFileOpenDialog_SetFileNameLabel(This,pszLabel) (This)->lpVtbl->SetFileNameLabel(This,pszLabel)
-#define IFileOpenDialog_GetResult(This,ppsi) (This)->lpVtbl->GetResult(This,ppsi)
-#define IFileOpenDialog_AddPlace(This,psi,fdap) (This)->lpVtbl->AddPlace(This,psi,fdap)
-#define IFileOpenDialog_SetDefaultExtension(This,pszDefaultExtension) (This)->lpVtbl->SetDefaultExtension(This,pszDefaultExtension)
-#define IFileOpenDialog_Close(This,hr) (This)->lpVtbl->Close(This,hr)
-#define IFileOpenDialog_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
-#define IFileOpenDialog_ClearClientData(This) (This)->lpVtbl->ClearClientData(This)
-#define IFileOpenDialog_SetFilter(This,pFilter) (This)->lpVtbl->SetFilter(This,pFilter)
-/*** IFileOpenDialog methods ***/
-#define IFileOpenDialog_GetResults(This,ppenum) (This)->lpVtbl->GetResults(This,ppenum)
-#define IFileOpenDialog_GetSelectedItems(This,ppsai) (This)->lpVtbl->GetSelectedItems(This,ppsai)
-#endif
-
-#endif
-
-#endif  /* __IFileOpenDialog_INTERFACE_DEFINED__ */
-
-#ifndef __IPassportWizard_INTERFACE_DEFINED__
-#define __IPassportWizard_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IPassportWizard;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IPassportWizard : public IModalWindow {
-  public:
-    virtual HRESULT WINAPI SetOptions(DWORD dwOptions) = 0;
-  };
-#else
-  typedef struct IPassportWizardVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IPassportWizard *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IPassportWizard *This);
-      ULONG (WINAPI *Release)(IPassportWizard *This);
-      HRESULT (WINAPI *Show)(IPassportWizard *This,HWND hwndParent);
-      HRESULT (WINAPI *SetOptions)(IPassportWizard *This,DWORD dwOptions);
-    END_INTERFACE
-  } IPassportWizardVtbl;
-  struct IPassportWizard {
-    CONST_VTBL struct IPassportWizardVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IPassportWizard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPassportWizard_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPassportWizard_Release(This) (This)->lpVtbl->Release(This)
-#define IPassportWizard_Show(This,hwndParent) (This)->lpVtbl->Show(This,hwndParent)
-#define IPassportWizard_SetOptions(This,dwOptions) (This)->lpVtbl->SetOptions(This,dwOptions)
-#endif
-#endif
-  HRESULT WINAPI IPassportWizard_SetOptions_Proxy(IPassportWizard *This,DWORD dwOptions);
-  void __RPC_STUB IPassportWizard_SetOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define PROPSTR_EXTENSIONCOMPLETIONSTATE L"ExtensionCompletionState"
-
-  enum __MIDL___MIDL_itf_shobjidl_0241_0001 {
-    CDBE_RET_DEFAULT = 0,CDBE_RET_DONTRUNOTHEREXTS = 0x1,CDBE_RET_STOPWIZARD = 0x2
-  };
-#define SID_CDWizardHost IID_ICDBurnExt
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0241_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0241_v0_0_s_ifspec;
-#ifndef __ICDBurnExt_INTERFACE_DEFINED__
-#define __ICDBurnExt_INTERFACE_DEFINED__
-  enum __MIDL_ICDBurnExt_0002 {
-    CDBE_TYPE_MUSIC = 0x1,CDBE_TYPE_DATA = 0x2,CDBE_TYPE_ALL = 0xffffffff
-  };
-
-  EXTERN_C const IID IID_ICDBurnExt;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct ICDBurnExt : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetSupportedActionTypes(DWORD *pdwActions) = 0;
-  };
-#else
-  typedef struct ICDBurnExtVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(ICDBurnExt *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(ICDBurnExt *This);
-      ULONG (WINAPI *Release)(ICDBurnExt *This);
-      HRESULT (WINAPI *GetSupportedActionTypes)(ICDBurnExt *This,DWORD *pdwActions);
-    END_INTERFACE
-  } ICDBurnExtVtbl;
-  struct ICDBurnExt {
-    CONST_VTBL struct ICDBurnExtVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define ICDBurnExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICDBurnExt_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICDBurnExt_Release(This) (This)->lpVtbl->Release(This)
-#define ICDBurnExt_GetSupportedActionTypes(This,pdwActions) (This)->lpVtbl->GetSupportedActionTypes(This,pdwActions)
-#endif
-#endif
-  HRESULT WINAPI ICDBurnExt_GetSupportedActionTypes_Proxy(ICDBurnExt *This,DWORD *pdwActions);
-  void __RPC_STUB ICDBurnExt_GetSupportedActionTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef void (*PFDVENUMREADYBALLBACK)(LPVOID pvData);
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0242_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0242_v0_0_s_ifspec;
-#ifndef __IDVGetEnum_INTERFACE_DEFINED__
-#define __IDVGetEnum_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDVGetEnum;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDVGetEnum : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetEnumReadyCallback(PFDVENUMREADYBALLBACK pfn,LPVOID pvData) = 0;
-    virtual HRESULT WINAPI CreateEnumIDListFromContents(LPCITEMIDLIST pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList) = 0;
-  };
-#else
-  typedef struct IDVGetEnumVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDVGetEnum *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDVGetEnum *This);
-      ULONG (WINAPI *Release)(IDVGetEnum *This);
-      HRESULT (WINAPI *SetEnumReadyCallback)(IDVGetEnum *This,PFDVENUMREADYBALLBACK pfn,LPVOID pvData);
-      HRESULT (WINAPI *CreateEnumIDListFromContents)(IDVGetEnum *This,LPCITEMIDLIST pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList);
-    END_INTERFACE
-  } IDVGetEnumVtbl;
-  struct IDVGetEnum {
-    CONST_VTBL struct IDVGetEnumVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDVGetEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDVGetEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDVGetEnum_Release(This) (This)->lpVtbl->Release(This)
-#define IDVGetEnum_SetEnumReadyCallback(This,pfn,pvData) (This)->lpVtbl->SetEnumReadyCallback(This,pfn,pvData)
-#define IDVGetEnum_CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) (This)->lpVtbl->CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList)
-#endif
-#endif
-  HRESULT WINAPI IDVGetEnum_SetEnumReadyCallback_Proxy(IDVGetEnum *This,PFDVENUMREADYBALLBACK pfn,LPVOID pvData);
-  void __RPC_STUB IDVGetEnum_SetEnumReadyCallback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IDVGetEnum_CreateEnumIDListFromContents_Proxy(IDVGetEnum *This,LPCITEMIDLIST pidlFolder,DWORD dwEnumFlags,IEnumIDList **ppEnumIDList);
-  void __RPC_STUB IDVGetEnum_CreateEnumIDListFromContents_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IInsertItem_INTERFACE_DEFINED__
-#define __IInsertItem_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IInsertItem;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IInsertItem : public IUnknown {
-  public:
-    virtual HRESULT WINAPI InsertItem(LPCITEMIDLIST pidl) = 0;
-  };
-#else
-  typedef struct IInsertItemVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IInsertItem *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IInsertItem *This);
-      ULONG (WINAPI *Release)(IInsertItem *This);
-      HRESULT (WINAPI *InsertItem)(IInsertItem *This,LPCITEMIDLIST pidl);
-    END_INTERFACE
-  } IInsertItemVtbl;
-  struct IInsertItem {
-    CONST_VTBL struct IInsertItemVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IInsertItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IInsertItem_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IInsertItem_Release(This) (This)->lpVtbl->Release(This)
-#define IInsertItem_InsertItem(This,pidl) (This)->lpVtbl->InsertItem(This,pidl)
-#endif
-#endif
-  HRESULT WINAPI IInsertItem_InsertItem_Proxy(IInsertItem *This,LPCITEMIDLIST pidl);
-  void __RPC_STUB IInsertItem_InsertItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IDeskBar_INTERFACE_DEFINED__
-#define __IDeskBar_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDeskBar;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDeskBar : public IOleWindow {
-  public:
-    virtual HRESULT WINAPI SetClient(IUnknown *punkClient) = 0;
-    virtual HRESULT WINAPI GetClient(IUnknown **ppunkClient) = 0;
-    virtual HRESULT WINAPI OnPosRectChangeDB(LPRECT prc) = 0;
-  };
-#else
-  typedef struct IDeskBarVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDeskBar *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDeskBar *This);
-      ULONG (WINAPI *Release)(IDeskBar *This);
-      HRESULT (WINAPI *GetWindow)(IDeskBar *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IDeskBar *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *SetClient)(IDeskBar *This,IUnknown *punkClient);
-      HRESULT (WINAPI *GetClient)(IDeskBar *This,IUnknown **ppunkClient);
-      HRESULT (WINAPI *OnPosRectChangeDB)(IDeskBar *This,LPRECT prc);
-    END_INTERFACE
-  } IDeskBarVtbl;
-  struct IDeskBar {
-    CONST_VTBL struct IDeskBarVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDeskBar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDeskBar_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDeskBar_Release(This) (This)->lpVtbl->Release(This)
-#define IDeskBar_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IDeskBar_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IDeskBar_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
-#define IDeskBar_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
-#define IDeskBar_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
-#endif
-#endif
-  HRESULT WINAPI IDeskBar_SetClient_Proxy(IDeskBar *This,IUnknown *punkClient);
-  void __RPC_STUB IDeskBar_SetClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IDeskBar_GetClient_Proxy(IDeskBar *This,IUnknown **ppunkClient);
-  void __RPC_STUB IDeskBar_GetClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IDeskBar_OnPosRectChangeDB_Proxy(IDeskBar *This,LPRECT prc);
-  void __RPC_STUB IDeskBar_OnPosRectChangeDB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IMenuBand_INTERFACE_DEFINED__
-#define __IMenuBand_INTERFACE_DEFINED__
-  enum __MIDL_IMenuBand_0001 {
-    MBHANDCID_PIDLSELECT = 0
-  };
-
-  EXTERN_C const IID IID_IMenuBand;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IMenuBand : public IUnknown {
-  public:
-    virtual HRESULT WINAPI IsMenuMessage(MSG *pmsg) = 0;
-    virtual HRESULT WINAPI TranslateMenuMessage(MSG *pmsg,LRESULT *plRet) = 0;
-  };
-#else
-  typedef struct IMenuBandVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IMenuBand *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IMenuBand *This);
-      ULONG (WINAPI *Release)(IMenuBand *This);
-      HRESULT (WINAPI *IsMenuMessage)(IMenuBand *This,MSG *pmsg);
-      HRESULT (WINAPI *TranslateMenuMessage)(IMenuBand *This,MSG *pmsg,LRESULT *plRet);
-    END_INTERFACE
-  } IMenuBandVtbl;
-  struct IMenuBand {
-    CONST_VTBL struct IMenuBandVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IMenuBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMenuBand_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMenuBand_Release(This) (This)->lpVtbl->Release(This)
-#define IMenuBand_IsMenuMessage(This,pmsg) (This)->lpVtbl->IsMenuMessage(This,pmsg)
-#define IMenuBand_TranslateMenuMessage(This,pmsg,plRet) (This)->lpVtbl->TranslateMenuMessage(This,pmsg,plRet)
-#endif
-#endif
-  HRESULT WINAPI IMenuBand_IsMenuMessage_Proxy(IMenuBand *This,MSG *pmsg);
-  void __RPC_STUB IMenuBand_IsMenuMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IMenuBand_TranslateMenuMessage_Proxy(IMenuBand *This,MSG *pmsg,LRESULT *plRet);
-  void __RPC_STUB IMenuBand_TranslateMenuMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IFolderBandPriv_INTERFACE_DEFINED__
-#define __IFolderBandPriv_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IFolderBandPriv;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IFolderBandPriv : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetCascade(WINBOOL f) = 0;
-    virtual HRESULT WINAPI SetAccelerators(WINBOOL f) = 0;
-    virtual HRESULT WINAPI SetNoIcons(WINBOOL f) = 0;
-    virtual HRESULT WINAPI SetNoText(WINBOOL f) = 0;
-  };
-#else
-  typedef struct IFolderBandPrivVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IFolderBandPriv *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IFolderBandPriv *This);
-      ULONG (WINAPI *Release)(IFolderBandPriv *This);
-      HRESULT (WINAPI *SetCascade)(IFolderBandPriv *This,WINBOOL f);
-      HRESULT (WINAPI *SetAccelerators)(IFolderBandPriv *This,WINBOOL f);
-      HRESULT (WINAPI *SetNoIcons)(IFolderBandPriv *This,WINBOOL f);
-      HRESULT (WINAPI *SetNoText)(IFolderBandPriv *This,WINBOOL f);
-    END_INTERFACE
-  } IFolderBandPrivVtbl;
-  struct IFolderBandPriv {
-    CONST_VTBL struct IFolderBandPrivVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IFolderBandPriv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFolderBandPriv_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFolderBandPriv_Release(This) (This)->lpVtbl->Release(This)
-#define IFolderBandPriv_SetCascade(This,f) (This)->lpVtbl->SetCascade(This,f)
-#define IFolderBandPriv_SetAccelerators(This,f) (This)->lpVtbl->SetAccelerators(This,f)
-#define IFolderBandPriv_SetNoIcons(This,f) (This)->lpVtbl->SetNoIcons(This,f)
-#define IFolderBandPriv_SetNoText(This,f) (This)->lpVtbl->SetNoText(This,f)
-#endif
-#endif
-  HRESULT WINAPI IFolderBandPriv_SetCascade_Proxy(IFolderBandPriv *This,WINBOOL f);
-  void __RPC_STUB IFolderBandPriv_SetCascade_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderBandPriv_SetAccelerators_Proxy(IFolderBandPriv *This,WINBOOL f);
-  void __RPC_STUB IFolderBandPriv_SetAccelerators_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderBandPriv_SetNoIcons_Proxy(IFolderBandPriv *This,WINBOOL f);
-  void __RPC_STUB IFolderBandPriv_SetNoIcons_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IFolderBandPriv_SetNoText_Proxy(IFolderBandPriv *This,WINBOOL f);
-  void __RPC_STUB IFolderBandPriv_SetNoText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#if 0x501 >= 0x0400
-#include <pshpack8.h>
-  typedef struct tagBANDSITEINFO {
-    DWORD dwMask;
-    DWORD dwState;
-    DWORD dwStyle;
-  } BANDSITEINFO;
-
-#include <poppack.h>
-
-  enum __MIDL___MIDL_itf_shobjidl_0247_0001 {
-    BSID_BANDADDED = 0,BSID_BANDREMOVED = BSID_BANDADDED + 1
-  };
-#define BSIM_STATE 0x00000001
-#define BSIM_STYLE 0x00000002
-#define BSSF_VISIBLE 0x00000001
-#define BSSF_NOTITLE 0x00000002
-#define BSSF_UNDELETEABLE 0x00001000
-#define BSIS_AUTOGRIPPER 0x00000000
-#define BSIS_NOGRIPPER 0x00000001
-#define BSIS_ALWAYSGRIPPER 0x00000002
-#define BSIS_LEFTALIGN 0x00000004
-#define BSIS_SINGLECLICK 0x00000008
-#define BSIS_NOCONTEXTMENU 0x00000010
-#define BSIS_NODROPTARGET 0x00000020
-#define BSIS_NOCAPTION 0x00000040
-#define BSIS_PREFERNOLINEBREAK 0x00000080
-#define BSIS_LOCKED 0x00000100
-#define SID_SBandSite IID_IBandSite
-#define CGID_BandSite IID_IBandSite
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0247_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0247_v0_0_s_ifspec;
-#ifndef __IBandSite_INTERFACE_DEFINED__
-#define __IBandSite_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IBandSite;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IBandSite : public IUnknown {
-  public:
-    virtual HRESULT WINAPI AddBand(IUnknown *punk) = 0;
-    virtual HRESULT WINAPI EnumBands(UINT uBand,DWORD *pdwBandID) = 0;
-    virtual HRESULT WINAPI QueryBand(DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName) = 0;
-    virtual HRESULT WINAPI SetBandState(DWORD dwBandID,DWORD dwMask,DWORD dwState) = 0;
-    virtual HRESULT WINAPI RemoveBand(DWORD dwBandID) = 0;
-    virtual HRESULT WINAPI GetBandObject(DWORD dwBandID,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI SetBandSiteInfo(const BANDSITEINFO *pbsinfo) = 0;
-    virtual HRESULT WINAPI GetBandSiteInfo(BANDSITEINFO *pbsinfo) = 0;
-  };
-#else
-  typedef struct IBandSiteVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IBandSite *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IBandSite *This);
-      ULONG (WINAPI *Release)(IBandSite *This);
-      HRESULT (WINAPI *AddBand)(IBandSite *This,IUnknown *punk);
-      HRESULT (WINAPI *EnumBands)(IBandSite *This,UINT uBand,DWORD *pdwBandID);
-      HRESULT (WINAPI *QueryBand)(IBandSite *This,DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName);
-      HRESULT (WINAPI *SetBandState)(IBandSite *This,DWORD dwBandID,DWORD dwMask,DWORD dwState);
-      HRESULT (WINAPI *RemoveBand)(IBandSite *This,DWORD dwBandID);
-      HRESULT (WINAPI *GetBandObject)(IBandSite *This,DWORD dwBandID,REFIID riid,void **ppv);
-      HRESULT (WINAPI *SetBandSiteInfo)(IBandSite *This,const BANDSITEINFO *pbsinfo);
-      HRESULT (WINAPI *GetBandSiteInfo)(IBandSite *This,BANDSITEINFO *pbsinfo);
-    END_INTERFACE
-  } IBandSiteVtbl;
-  struct IBandSite {
-    CONST_VTBL struct IBandSiteVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IBandSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IBandSite_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IBandSite_Release(This) (This)->lpVtbl->Release(This)
-#define IBandSite_AddBand(This,punk) (This)->lpVtbl->AddBand(This,punk)
-#define IBandSite_EnumBands(This,uBand,pdwBandID) (This)->lpVtbl->EnumBands(This,uBand,pdwBandID)
-#define IBandSite_QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) (This)->lpVtbl->QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName)
-#define IBandSite_SetBandState(This,dwBandID,dwMask,dwState) (This)->lpVtbl->SetBandState(This,dwBandID,dwMask,dwState)
-#define IBandSite_RemoveBand(This,dwBandID) (This)->lpVtbl->RemoveBand(This,dwBandID)
-#define IBandSite_GetBandObject(This,dwBandID,riid,ppv) (This)->lpVtbl->GetBandObject(This,dwBandID,riid,ppv)
-#define IBandSite_SetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->SetBandSiteInfo(This,pbsinfo)
-#define IBandSite_GetBandSiteInfo(This,pbsinfo) (This)->lpVtbl->GetBandSiteInfo(This,pbsinfo)
-#endif
-#endif
-  HRESULT WINAPI IBandSite_AddBand_Proxy(IBandSite *This,IUnknown *punk);
-  void __RPC_STUB IBandSite_AddBand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_EnumBands_Proxy(IBandSite *This,UINT uBand,DWORD *pdwBandID);
-  void __RPC_STUB IBandSite_EnumBands_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_QueryBand_Proxy(IBandSite *This,DWORD dwBandID,IDeskBand **ppstb,DWORD *pdwState,LPWSTR pszName,int cchName);
-  void __RPC_STUB IBandSite_QueryBand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_SetBandState_Proxy(IBandSite *This,DWORD dwBandID,DWORD dwMask,DWORD dwState);
-  void __RPC_STUB IBandSite_SetBandState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_RemoveBand_Proxy(IBandSite *This,DWORD dwBandID);
-  void __RPC_STUB IBandSite_RemoveBand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_GetBandObject_Proxy(IBandSite *This,DWORD dwBandID,REFIID riid,void **ppv);
-  void __RPC_STUB IBandSite_GetBandObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_SetBandSiteInfo_Proxy(IBandSite *This,const BANDSITEINFO *pbsinfo);
-  void __RPC_STUB IBandSite_SetBandSiteInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IBandSite_GetBandSiteInfo_Proxy(IBandSite *This,BANDSITEINFO *pbsinfo);
-  void __RPC_STUB IBandSite_GetBandSiteInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0248_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0248_v0_0_s_ifspec;
-#ifndef __INamespaceWalkCB_INTERFACE_DEFINED__
-#define __INamespaceWalkCB_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_INamespaceWalkCB;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct INamespaceWalkCB : public IUnknown {
-  public:
-    virtual HRESULT WINAPI FoundItem(IShellFolder *psf,LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI EnterFolder(IShellFolder *psf,LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI LeaveFolder(IShellFolder *psf,LPCITEMIDLIST pidl) = 0;
-    virtual HRESULT WINAPI InitializeProgressDialog(LPWSTR *ppszTitle,LPWSTR *ppszCancel) = 0;
-  };
-#else
-  typedef struct INamespaceWalkCBVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(INamespaceWalkCB *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(INamespaceWalkCB *This);
-      ULONG (WINAPI *Release)(INamespaceWalkCB *This);
-      HRESULT (WINAPI *FoundItem)(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *EnterFolder)(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *LeaveFolder)(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-      HRESULT (WINAPI *InitializeProgressDialog)(INamespaceWalkCB *This,LPWSTR *ppszTitle,LPWSTR *ppszCancel);
-    END_INTERFACE
-  } INamespaceWalkCBVtbl;
-  struct INamespaceWalkCB {
-    CONST_VTBL struct INamespaceWalkCBVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define INamespaceWalkCB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define INamespaceWalkCB_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define INamespaceWalkCB_Release(This) (This)->lpVtbl->Release(This)
-#define INamespaceWalkCB_FoundItem(This,psf,pidl) (This)->lpVtbl->FoundItem(This,psf,pidl)
-#define INamespaceWalkCB_EnterFolder(This,psf,pidl) (This)->lpVtbl->EnterFolder(This,psf,pidl)
-#define INamespaceWalkCB_LeaveFolder(This,psf,pidl) (This)->lpVtbl->LeaveFolder(This,psf,pidl)
-#define INamespaceWalkCB_InitializeProgressDialog(This,ppszTitle,ppszCancel) (This)->lpVtbl->InitializeProgressDialog(This,ppszTitle,ppszCancel)
-#endif
-#endif
-  HRESULT WINAPI INamespaceWalkCB_FoundItem_Proxy(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-  void __RPC_STUB INamespaceWalkCB_FoundItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI INamespaceWalkCB_EnterFolder_Proxy(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-  void __RPC_STUB INamespaceWalkCB_EnterFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI INamespaceWalkCB_LeaveFolder_Proxy(INamespaceWalkCB *This,IShellFolder *psf,LPCITEMIDLIST pidl);
-  void __RPC_STUB INamespaceWalkCB_LeaveFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI INamespaceWalkCB_InitializeProgressDialog_Proxy(INamespaceWalkCB *This,LPWSTR *ppszTitle,LPWSTR *ppszCancel);
-  void __RPC_STUB INamespaceWalkCB_InitializeProgressDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __INamespaceWalk_INTERFACE_DEFINED__
-#define __INamespaceWalk_INTERFACE_DEFINED__
-  enum __MIDL_INamespaceWalk_0001 {
-    NSWF_NONE_IMPLIES_ALL = 0x1,NSWF_ONE_IMPLIES_ALL = 0x2,NSWF_DONT_TRAVERSE_LINKS = 0x4,NSWF_DONT_ACCUMULATE_RESULT = 0x8,
-    NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x10,NSWF_FILESYSTEM_ONLY = 0x20,NSWF_SHOW_PROGRESS = 0x40,NSWF_FLAG_VIEWORDER = 0x80,
-    NSWF_IGNORE_AUTOPLAY_HIDA = 0x100
-  };
-
-  EXTERN_C const IID IID_INamespaceWalk;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct INamespaceWalk : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Walk(IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb) = 0;
-    virtual HRESULT WINAPI GetIDArrayResult(UINT *pcItems,LPITEMIDLIST **pppidl) = 0;
-  };
-#else
-  typedef struct INamespaceWalkVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(INamespaceWalk *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(INamespaceWalk *This);
-      ULONG (WINAPI *Release)(INamespaceWalk *This);
-      HRESULT (WINAPI *Walk)(INamespaceWalk *This,IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb);
-      HRESULT (WINAPI *GetIDArrayResult)(INamespaceWalk *This,UINT *pcItems,LPITEMIDLIST **pppidl);
-    END_INTERFACE
-  } INamespaceWalkVtbl;
-  struct INamespaceWalk {
-    CONST_VTBL struct INamespaceWalkVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define INamespaceWalk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define INamespaceWalk_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define INamespaceWalk_Release(This) (This)->lpVtbl->Release(This)
-#define INamespaceWalk_Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) (This)->lpVtbl->Walk(This,punkToWalk,dwFlags,cDepth,pnswcb)
-#define INamespaceWalk_GetIDArrayResult(This,pcItems,pppidl) (This)->lpVtbl->GetIDArrayResult(This,pcItems,pppidl)
-#endif
-#endif
-  HRESULT WINAPI INamespaceWalk_Walk_Proxy(INamespaceWalk *This,IUnknown *punkToWalk,DWORD dwFlags,int cDepth,INamespaceWalkCB *pnswcb);
-  void __RPC_STUB INamespaceWalk_Walk_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI INamespaceWalk_GetIDArrayResult_Proxy(INamespaceWalk *This,UINT *pcItems,LPITEMIDLIST **pppidl);
-  void __RPC_STUB INamespaceWalk_GetIDArrayResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IRegTreeItem_INTERFACE_DEFINED__
-#define __IRegTreeItem_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IRegTreeItem;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IRegTreeItem : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetCheckState(WINBOOL *pbCheck) = 0;
-    virtual HRESULT WINAPI SetCheckState(WINBOOL bCheck) = 0;
-  };
-#else
-  typedef struct IRegTreeItemVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IRegTreeItem *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IRegTreeItem *This);
-      ULONG (WINAPI *Release)(IRegTreeItem *This);
-      HRESULT (WINAPI *GetCheckState)(IRegTreeItem *This,WINBOOL *pbCheck);
-      HRESULT (WINAPI *SetCheckState)(IRegTreeItem *This,WINBOOL bCheck);
-    END_INTERFACE
-  } IRegTreeItemVtbl;
-  struct IRegTreeItem {
-    CONST_VTBL struct IRegTreeItemVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IRegTreeItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRegTreeItem_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRegTreeItem_Release(This) (This)->lpVtbl->Release(This)
-#define IRegTreeItem_GetCheckState(This,pbCheck) (This)->lpVtbl->GetCheckState(This,pbCheck)
-#define IRegTreeItem_SetCheckState(This,bCheck) (This)->lpVtbl->SetCheckState(This,bCheck)
-#endif
-#endif
-  HRESULT WINAPI IRegTreeItem_GetCheckState_Proxy(IRegTreeItem *This,WINBOOL *pbCheck);
-  void __RPC_STUB IRegTreeItem_GetCheckState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IRegTreeItem_SetCheckState_Proxy(IRegTreeItem *This,WINBOOL bCheck);
-  void __RPC_STUB IRegTreeItem_SetCheckState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  enum __MIDL___MIDL_itf_shobjidl_0251_0001 {
-    MPOS_EXECUTE = 0,
-    MPOS_FULLCANCEL,MPOS_CANCELLEVEL,MPOS_SELECTLEFT,MPOS_SELECTRIGHT,
-    MPOS_CHILDTRACKING
-  };
-
-  enum __MIDL___MIDL_itf_shobjidl_0251_0002 {
-    MPPF_SETFOCUS = 0x1,MPPF_INITIALSELECT = 0x2,MPPF_NOANIMATE = 0x4,
-    MPPF_KEYBOARD = 0x10,MPPF_REPOSITION = 0x20,MPPF_FORCEZORDER = 0x40,MPPF_FINALSELECT = 0x80,
-    MPPF_TOP = 0x20000000,MPPF_LEFT = 0x40000000,MPPF_RIGHT = 0x60000000,MPPF_BOTTOM = 0x80000000,MPPF_POS_MASK = 0xe0000000
-  };
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0251_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0251_v0_0_s_ifspec;
-#ifndef __IMenuPopup_INTERFACE_DEFINED__
-#define __IMenuPopup_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IMenuPopup;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IMenuPopup : public IDeskBar {
-  public:
-    virtual HRESULT WINAPI Popup(POINTL *ppt,RECTL *prcExclude,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI OnSelect(DWORD dwSelectType) = 0;
-    virtual HRESULT WINAPI SetSubMenu(IMenuPopup *pmp,WINBOOL fSet) = 0;
-  };
-#else
-  typedef struct IMenuPopupVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IMenuPopup *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IMenuPopup *This);
-      ULONG (WINAPI *Release)(IMenuPopup *This);
-      HRESULT (WINAPI *GetWindow)(IMenuPopup *This,HWND *phwnd);
-      HRESULT (WINAPI *ContextSensitiveHelp)(IMenuPopup *This,WINBOOL fEnterMode);
-      HRESULT (WINAPI *SetClient)(IMenuPopup *This,IUnknown *punkClient);
-      HRESULT (WINAPI *GetClient)(IMenuPopup *This,IUnknown **ppunkClient);
-      HRESULT (WINAPI *OnPosRectChangeDB)(IMenuPopup *This,LPRECT prc);
-      HRESULT (WINAPI *Popup)(IMenuPopup *This,POINTL *ppt,RECTL *prcExclude,DWORD dwFlags);
-      HRESULT (WINAPI *OnSelect)(IMenuPopup *This,DWORD dwSelectType);
-      HRESULT (WINAPI *SetSubMenu)(IMenuPopup *This,IMenuPopup *pmp,WINBOOL fSet);
-    END_INTERFACE
-  } IMenuPopupVtbl;
-  struct IMenuPopup {
-    CONST_VTBL struct IMenuPopupVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IMenuPopup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMenuPopup_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMenuPopup_Release(This) (This)->lpVtbl->Release(This)
-#define IMenuPopup_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
-#define IMenuPopup_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
-#define IMenuPopup_SetClient(This,punkClient) (This)->lpVtbl->SetClient(This,punkClient)
-#define IMenuPopup_GetClient(This,ppunkClient) (This)->lpVtbl->GetClient(This,ppunkClient)
-#define IMenuPopup_OnPosRectChangeDB(This,prc) (This)->lpVtbl->OnPosRectChangeDB(This,prc)
-#define IMenuPopup_Popup(This,ppt,prcExclude,dwFlags) (This)->lpVtbl->Popup(This,ppt,prcExclude,dwFlags)
-#define IMenuPopup_OnSelect(This,dwSelectType) (This)->lpVtbl->OnSelect(This,dwSelectType)
-#define IMenuPopup_SetSubMenu(This,pmp,fSet) (This)->lpVtbl->SetSubMenu(This,pmp,fSet)
-#endif
-#endif
-  HRESULT WINAPI IMenuPopup_Popup_Proxy(IMenuPopup *This,POINTL *ppt,RECTL *prcExclude,DWORD dwFlags);
-  void __RPC_STUB IMenuPopup_Popup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IMenuPopup_OnSelect_Proxy(IMenuPopup *This,DWORD dwSelectType);
-  void __RPC_STUB IMenuPopup_OnSelect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IMenuPopup_SetSubMenu_Proxy(IMenuPopup *This,IMenuPopup *pmp,WINBOOL fSet);
-  void __RPC_STUB IMenuPopup_SetSubMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-/*****************************************************************************
- * IShellItem interface
- */
-#ifndef __IShellItem_INTERFACE_DEFINED__
-#define __IShellItem_INTERFACE_DEFINED__
-
-typedef enum _SIGDN {
-    SIGDN_NORMALDISPLAY = 0x0,
-    SIGDN_PARENTRELATIVEPARSING = (int)0x80018001,
-    SIGDN_DESKTOPABSOLUTEPARSING = (int)0x80028000,
-    SIGDN_PARENTRELATIVEEDITING = (int)0x80031001,
-    SIGDN_DESKTOPABSOLUTEEDITING = (int)0x8004c000,
-    SIGDN_FILESYSPATH = (int)0x80058000,
-    SIGDN_URL = (int)0x80068000,
-    SIGDN_PARENTRELATIVEFORADDRESSBAR = (int)0x8007c001,
-    SIGDN_PARENTRELATIVE = (int)0x80080001
-} SIGDN;
-enum _SICHINTF {
-    SICHINT_DISPLAY = 0x0,
-    SICHINT_ALLFIELDS = (int)0x80000000,
-    SICHINT_CANONICAL = 0x10000000,
-    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000
-};
-
-typedef DWORD SICHINTF;
-DEFINE_GUID(IID_IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
-IShellItem : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE BindToHandler(
-        IBindCtx *pbc,
-        REFGUID bhid,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetParent(
-        IShellItem **ppsi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
-        SIGDN sigdnName,
-        LPWSTR *ppszName) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetAttributes(
-        SFGAOF sfgaoMask,
-        SFGAOF *psfgaoAttribs) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Compare(
-        IShellItem *psi,
-        SICHINTF hint,
-        int *piOrder) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IShellItem, 0x43826d1e, 0xe718, 0x42ee, 0xbc,0x55, 0xa1,0xe2,0x61,0xc3,0x7b,0xfe)
-#endif
-#else
-typedef struct IShellItemVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellItem* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellItem* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellItem* This);
-
-    /*** IShellItem methods ***/
-    HRESULT (STDMETHODCALLTYPE *BindToHandler)(
-        IShellItem* This,
-        IBindCtx *pbc,
-        REFGUID bhid,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetParent)(
-        IShellItem* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
-        IShellItem* This,
-        SIGDN sigdnName,
-        LPWSTR *ppszName);
-
-    HRESULT (STDMETHODCALLTYPE *GetAttributes)(
-        IShellItem* This,
-        SFGAOF sfgaoMask,
-        SFGAOF *psfgaoAttribs);
-
-    HRESULT (STDMETHODCALLTYPE *Compare)(
-        IShellItem* This,
-        IShellItem *psi,
-        SICHINTF hint,
-        int *piOrder);
-
-    END_INTERFACE
-} IShellItemVtbl;
-interface IShellItem {
-    CONST_VTBL IShellItemVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-#ifndef WIDL_C_INLINE_WRAPPERS
-/*** IUnknown methods ***/
-#define IShellItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellItem_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellItem_Release(This) (This)->lpVtbl->Release(This)
-/*** IShellItem methods ***/
-#define IShellItem_BindToHandler(This,pbc,bhid,riid,ppv) (This)->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv)
-#define IShellItem_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
-#define IShellItem_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
-#define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
-#define IShellItem_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
-#else
-/*** IUnknown methods ***/
-static FORCEINLINE HRESULT IShellItem_QueryInterface(IShellItem* This,REFIID riid,void **ppvObject) {
-    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
-}
-static FORCEINLINE ULONG IShellItem_AddRef(IShellItem* This) {
-    return This->lpVtbl->AddRef(This);
-}
-static FORCEINLINE ULONG IShellItem_Release(IShellItem* This) {
-    return This->lpVtbl->Release(This);
-}
-/*** IShellItem methods ***/
-static FORCEINLINE HRESULT IShellItem_BindToHandler(IShellItem* This,IBindCtx *pbc,REFGUID bhid,REFIID riid,void **ppv) {
-    return This->lpVtbl->BindToHandler(This,pbc,bhid,riid,ppv);
-}
-static FORCEINLINE HRESULT IShellItem_GetParent(IShellItem* This,IShellItem **ppsi) {
-    return This->lpVtbl->GetParent(This,ppsi);
-}
-static FORCEINLINE HRESULT IShellItem_GetDisplayName(IShellItem* This,SIGDN sigdnName,LPWSTR *ppszName) {
-    return This->lpVtbl->GetDisplayName(This,sigdnName,ppszName);
-}
-static FORCEINLINE HRESULT IShellItem_GetAttributes(IShellItem* This,SFGAOF sfgaoMask,SFGAOF *psfgaoAttribs) {
-    return This->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs);
-}
-static FORCEINLINE HRESULT IShellItem_Compare(IShellItem* This,IShellItem *psi,SICHINTF hint,int *piOrder) {
-    return This->lpVtbl->Compare(This,psi,hint,piOrder);
-}
-#endif
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IShellItem_BindToHandler_Proxy(
-    IShellItem* This,
-    IBindCtx *pbc,
-    REFGUID bhid,
-    REFIID riid,
-    void **ppv);
-void __RPC_STUB IShellItem_BindToHandler_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellItem_GetParent_Proxy(
-    IShellItem* This,
-    IShellItem **ppsi);
-void __RPC_STUB IShellItem_GetParent_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellItem_GetDisplayName_Proxy(
-    IShellItem* This,
-    SIGDN sigdnName,
-    LPWSTR *ppszName);
-void __RPC_STUB IShellItem_GetDisplayName_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellItem_GetAttributes_Proxy(
-    IShellItem* This,
-    SFGAOF sfgaoMask,
-    SFGAOF *psfgaoAttribs);
-void __RPC_STUB IShellItem_GetAttributes_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellItem_Compare_Proxy(
-    IShellItem* This,
-    IShellItem *psi,
-    SICHINTF hint,
-    int *piOrder);
-void __RPC_STUB IShellItem_Compare_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IShellItem_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IShellItem2 interface
- */
-#ifndef __IShellItem2_INTERFACE_DEFINED__
-#define __IShellItem2_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93);
-__CRT_UUID_DECL(IShellItem2, 0x7e9fb0d3, 0x919f, 0x4307, 0xab,0x2e, 0x9b,0x18,0x60,0x31,0x0c,0x93)
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IShellItem2 : public IShellItem
-{
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreWithCreateObject(
-        GETPROPERTYSTOREFLAGS flags,
-        IUnknown *punkCreateObject,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys(
-        const PROPERTYKEY *rgKeys,
-        UINT cKeys,
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionList(
-        REFPROPERTYKEY keyType,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Update(
-        IBindCtx *pbc) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetProperty(
-        REFPROPERTYKEY key,
-        PROPVARIANT *ppropvar) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetCLSID(
-        REFPROPERTYKEY key,
-        CLSID *pclsid) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFileTime(
-        REFPROPERTYKEY key,
-        FILETIME *pft) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetInt32(
-        REFPROPERTYKEY key,
-        int *pi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetString(
-        REFPROPERTYKEY key,
-        LPWSTR *ppsz) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetUInt32(
-        REFPROPERTYKEY key,
-        ULONG *pui) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetUInt64(
-        REFPROPERTYKEY key,
-        ULONGLONG *pull) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetBool(
-        REFPROPERTYKEY key,
-        BOOL *pf) = 0;
-
-};
-#else
-typedef struct IShellItem2Vtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellItem2* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellItem2* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellItem2* This);
-
-    /*** IShellItem methods ***/
-    HRESULT (STDMETHODCALLTYPE *BindToHandler)(
-        IShellItem2* This,
-        IBindCtx *pbc,
-        REFGUID rbhid,
-        REFIID riid,
-        void **ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetParent)(
-        IShellItem2* This,
-        IShellItem **ppsi);
-
-    HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
-        IShellItem2* This,
-        SIGDN sigdnName,
-        LPWSTR *ppszName);
-
-    HRESULT (STDMETHODCALLTYPE *GetAttributes)(
-        IShellItem2* This,
-        SFGAOF sfgaoMask,
-        SFGAOF *psfgaoAttribs);
-
-    HRESULT (STDMETHODCALLTYPE *Compare)(
-        IShellItem2* This,
-        IShellItem *psi,
-        SICHINTF hint,
-        int *piOrder);
-
-    /*** IShellItem2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
-        IShellItem2* This,
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetPropertyStoreWithCreateObject)(
-        IShellItem2* This,
-        GETPROPERTYSTOREFLAGS flags,
-        IUnknown *punkCreateObject,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)(
-        IShellItem2* This,
-        const PROPERTYKEY *rgKeys,
-        UINT cKeys,
-        GETPROPERTYSTOREFLAGS flags,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionList)(
-        IShellItem2* This,
-        REFPROPERTYKEY keyType,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *Update)(
-        IShellItem2* This,
-        IBindCtx *pbc);
-
-    HRESULT (STDMETHODCALLTYPE *GetProperty)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        PROPVARIANT *ppropvar);
-
-    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        CLSID *pclsid);
-
-    HRESULT (STDMETHODCALLTYPE *GetFileTime)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        FILETIME *pft);
-
-    HRESULT (STDMETHODCALLTYPE *GetInt32)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        int *pi);
-
-    HRESULT (STDMETHODCALLTYPE *GetString)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        LPWSTR *ppsz);
-
-    HRESULT (STDMETHODCALLTYPE *GetUInt32)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        ULONG *pui);
-
-    HRESULT (STDMETHODCALLTYPE *GetUInt64)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        ULONGLONG *pull);
-
-    HRESULT (STDMETHODCALLTYPE *GetBool)(
-        IShellItem2* This,
-        REFPROPERTYKEY key,
-        BOOL *pf);
-
-    END_INTERFACE
-} IShellItem2Vtbl;
-interface IShellItem2 {
-    CONST_VTBL IShellItem2Vtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IShellItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellItem2_Release(This) (This)->lpVtbl->Release(This)
-/*** IShellItem methods ***/
-#define IShellItem2_BindToHandler(This,pbc,rbhid,riid,ppvOut) (This)->lpVtbl->BindToHandler(This,pbc,rbhid,riid,ppvOut)
-#define IShellItem2_GetParent(This,ppsi) (This)->lpVtbl->GetParent(This,ppsi)
-#define IShellItem2_GetDisplayName(This,sigdnName,ppszName) (This)->lpVtbl->GetDisplayName(This,sigdnName,ppszName)
-#define IShellItem2_GetAttributes(This,sfgaoMask,psfgaoAttribs) (This)->lpVtbl->GetAttributes(This,sfgaoMask,psfgaoAttribs)
-#define IShellItem2_Compare(This,psi,hint,piOrder) (This)->lpVtbl->Compare(This,psi,hint,piOrder)
-/*** IShellItem2 methods ***/
-#define IShellItem2_GetPropertyStore(This,flags,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,riid,ppv)
-#define IShellItem2_GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv) (This)->lpVtbl->GetPropertyStoreWithCreateObject(This,flags,punkCreateObject,riid,ppv)
-#define IShellItem2_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)
-#define IShellItem2_GetPropertyDescriptionList(This,keyType,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionList(This,keyType,riid,ppv)
-#define IShellItem2_Update(This,pbc) (This)->lpVtbl->Update(This,pbc)
-#define IShellItem2_GetProperty(This,key,ppropvar) (This)->lpVtbl->GetProperty(This,key,ppropvar)
-#define IShellItem2_GetCLSID(This,key,pclsid) (This)->lpVtbl->GetCLSID(This,key,pclsid)
-#define IShellItem2_GetFileTime(This,key,pft) (This)->lpVtbl->GetFileTime(This,key,pft)
-#define IShellItem2_GetInt32(This,key,pi) (This)->lpVtbl->GetInt32(This,key,pi)
-#define IShellItem2_GetString(This,key,ppsz) (This)->lpVtbl->GetString(This,key,ppsz)
-#define IShellItem2_GetUInt32(This,key,pui) (This)->lpVtbl->GetUInt32(This,key,pui)
-#define IShellItem2_GetUInt64(This,key,pull) (This)->lpVtbl->GetUInt64(This,key,pull)
-#define IShellItem2_GetBool(This,key,pf) (This)->lpVtbl->GetBool(This,key,pf)
-#endif
-
-#endif
-#endif
-
-#ifndef __IImageRecompress_INTERFACE_DEFINED__
-#define __IImageRecompress_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IImageRecompress;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IImageRecompress : public IUnknown {
-  public:
-    virtual HRESULT WINAPI RecompressImage(IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut) = 0;
-  };
-#else
-  typedef struct IImageRecompressVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IImageRecompress *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IImageRecompress *This);
-      ULONG (WINAPI *Release)(IImageRecompress *This);
-      HRESULT (WINAPI *RecompressImage)(IImageRecompress *This,IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut);
-    END_INTERFACE
-  } IImageRecompressVtbl;
-  struct IImageRecompress {
-    CONST_VTBL struct IImageRecompressVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IImageRecompress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IImageRecompress_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IImageRecompress_Release(This) (This)->lpVtbl->Release(This)
-#define IImageRecompress_RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) (This)->lpVtbl->RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut)
-#endif
-#endif
-  HRESULT WINAPI IImageRecompress_RecompressImage_Proxy(IImageRecompress *This,IShellItem *psi,int cx,int cy,int iQuality,IStorage *pstg,IStream **ppstrmOut);
-  void __RPC_STUB IImageRecompress_RecompressImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IDefViewSafety_INTERFACE_DEFINED__
-#define __IDefViewSafety_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDefViewSafety;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDefViewSafety : public IUnknown {
-  public:
-    virtual HRESULT WINAPI IsSafePage(void) = 0;
-  };
-#else
-  typedef struct IDefViewSafetyVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDefViewSafety *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDefViewSafety *This);
-      ULONG (WINAPI *Release)(IDefViewSafety *This);
-      HRESULT (WINAPI *IsSafePage)(IDefViewSafety *This);
-    END_INTERFACE
-  } IDefViewSafetyVtbl;
-  struct IDefViewSafety {
-    CONST_VTBL struct IDefViewSafetyVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDefViewSafety_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDefViewSafety_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDefViewSafety_Release(This) (This)->lpVtbl->Release(This)
-#define IDefViewSafety_IsSafePage(This) (This)->lpVtbl->IsSafePage(This)
-#endif
-#endif
-  HRESULT WINAPI IDefViewSafety_IsSafePage_Proxy(IDefViewSafety *This);
-  void __RPC_STUB IDefViewSafety_IsSafePage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IContextMenuSite_INTERFACE_DEFINED__
-#define __IContextMenuSite_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IContextMenuSite;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IContextMenuSite : public IUnknown {
-  public:
-    virtual HRESULT WINAPI DoContextMenuPopup(IUnknown *punkContextMenu,UINT fFlags,POINT pt) = 0;
-  };
-#else
-  typedef struct IContextMenuSiteVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IContextMenuSite *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IContextMenuSite *This);
-      ULONG (WINAPI *Release)(IContextMenuSite *This);
-      HRESULT (WINAPI *DoContextMenuPopup)(IContextMenuSite *This,IUnknown *punkContextMenu,UINT fFlags,POINT pt);
-    END_INTERFACE
-  } IContextMenuSiteVtbl;
-  struct IContextMenuSite {
-    CONST_VTBL struct IContextMenuSiteVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IContextMenuSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IContextMenuSite_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IContextMenuSite_Release(This) (This)->lpVtbl->Release(This)
-#define IContextMenuSite_DoContextMenuPopup(This,punkContextMenu,fFlags,pt) (This)->lpVtbl->DoContextMenuPopup(This,punkContextMenu,fFlags,pt)
-#endif
-#endif
-  HRESULT WINAPI IContextMenuSite_DoContextMenuPopup_Proxy(IContextMenuSite *This,IUnknown *punkContextMenu,UINT fFlags,POINT pt);
-  void __RPC_STUB IContextMenuSite_DoContextMenuPopup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#include <pshpack1.h>
-  typedef struct tagDELEGATEITEMID {
-    WORD cbSize;
-    WORD wOuter;
-    WORD cbInner;
-    BYTE rgb[1];
-  } DELEGATEITEMID;
-#include <poppack.h>
-
-  typedef const UNALIGNED DELEGATEITEMID *PCDELEGATEITEMID;
-  typedef UNALIGNED DELEGATEITEMID *PDELEGATEITEMID;
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0257_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0257_v0_0_s_ifspec;
-#ifndef __IDelegateFolder_INTERFACE_DEFINED__
-#define __IDelegateFolder_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IDelegateFolder;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IDelegateFolder : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetItemAlloc(IMalloc *pmalloc) = 0;
-  };
-#else
-  typedef struct IDelegateFolderVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IDelegateFolder *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IDelegateFolder *This);
-      ULONG (WINAPI *Release)(IDelegateFolder *This);
-      HRESULT (WINAPI *SetItemAlloc)(IDelegateFolder *This,IMalloc *pmalloc);
-    END_INTERFACE
-  } IDelegateFolderVtbl;
-  struct IDelegateFolder {
-    CONST_VTBL struct IDelegateFolderVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IDelegateFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDelegateFolder_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDelegateFolder_Release(This) (This)->lpVtbl->Release(This)
-#define IDelegateFolder_SetItemAlloc(This,pmalloc) (This)->lpVtbl->SetItemAlloc(This,pmalloc)
-#endif
-#endif
-  HRESULT WINAPI IDelegateFolder_SetItemAlloc_Proxy(IDelegateFolder *This,IMalloc *pmalloc);
-  void __RPC_STUB IDelegateFolder_SetItemAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0258_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0258_v0_0_s_ifspec;
-#ifndef __IBrowserFrameOptions_INTERFACE_DEFINED__
-#define __IBrowserFrameOptions_INTERFACE_DEFINED__
-  typedef IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS;
-
-  enum __MIDL_IBrowserFrameOptions_0001 {
-    BFO_NONE = 0,BFO_BROWSER_PERSIST_SETTINGS = 0x1,BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x2,BFO_BOTH_OPTIONS = 0x4,
-    BIF_PREFER_INTERNET_SHORTCUT = 0x8,BFO_BROWSE_NO_IN_NEW_PROCESS = 0x10,BFO_ENABLE_HYPERLINK_TRACKING = 0x20,BFO_USE_IE_OFFLINE_SUPPORT = 0x40,
-    BFO_SUBSTITUE_INTERNET_START_PAGE = 0x80,BFO_USE_IE_LOGOBANDING = 0x100,BFO_ADD_IE_TOCAPTIONBAR = 0x200,BFO_USE_DIALUP_REF = 0x400,
-    BFO_USE_IE_TOOLBAR = 0x800,BFO_NO_PARENT_FOLDER_SUPPORT = 0x1000,BFO_NO_REOPEN_NEXT_RESTART = 0x2000,BFO_GO_HOME_PAGE = 0x4000,
-    BFO_PREFER_IEPROCESS = 0x8000,BFO_SHOW_NAVIGATION_CANCELLED = 0x10000,BFO_USE_IE_STATUSBAR = 0x20000,BFO_QUERY_ALL = 0xffffffff
-  };
-  typedef DWORD BROWSERFRAMEOPTIONS;
-
-  EXTERN_C const IID IID_IBrowserFrameOptions;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IBrowserFrameOptions : public IUnknown {
-  public:
-    virtual HRESULT WINAPI GetFrameOptions(BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions) = 0;
-  };
-#else
-  typedef struct IBrowserFrameOptionsVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IBrowserFrameOptions *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IBrowserFrameOptions *This);
-      ULONG (WINAPI *Release)(IBrowserFrameOptions *This);
-      HRESULT (WINAPI *GetFrameOptions)(IBrowserFrameOptions *This,BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions);
-    END_INTERFACE
-  } IBrowserFrameOptionsVtbl;
-  struct IBrowserFrameOptions {
-    CONST_VTBL struct IBrowserFrameOptionsVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IBrowserFrameOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IBrowserFrameOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IBrowserFrameOptions_Release(This) (This)->lpVtbl->Release(This)
-#define IBrowserFrameOptions_GetFrameOptions(This,dwMask,pdwOptions) (This)->lpVtbl->GetFrameOptions(This,dwMask,pdwOptions)
-#endif
-#endif
-  HRESULT WINAPI IBrowserFrameOptions_GetFrameOptions_Proxy(IBrowserFrameOptions *This,BROWSERFRAMEOPTIONS dwMask,BROWSERFRAMEOPTIONS *pdwOptions);
-  void __RPC_STUB IBrowserFrameOptions_GetFrameOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-  typedef enum tagNWMF {
-    NWMF_UNLOADING = 0x1,NWMF_USERINITED = 0x2,NWMF_FIRST = 0x4,NWMF_OVERRIDEKEY = 0x8,NWMF_SHOWHELP = 0x10,NWMF_HTMLDIALOG = 0x20,
-    NWMF_FROMDIALOGCHILD = 0x40,NWMF_USERREQUESTED = 0x80,NWMF_USERALLOWED = 0x100
-  } NWMF;
-
-#define SID_SNewWindowManager IID_INewWindowManager
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0259_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0259_v0_0_s_ifspec;
-#ifndef __INewWindowManager_INTERFACE_DEFINED__
-#define __INewWindowManager_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_INewWindowManager;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct INewWindowManager : public IUnknown {
-  public:
-    virtual HRESULT WINAPI EvaluateNewWindow(LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime) = 0;
-  };
-#else
-  typedef struct INewWindowManagerVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(INewWindowManager *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(INewWindowManager *This);
-      ULONG (WINAPI *Release)(INewWindowManager *This);
-      HRESULT (WINAPI *EvaluateNewWindow)(INewWindowManager *This,LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime);
-    END_INTERFACE
-  } INewWindowManagerVtbl;
-  struct INewWindowManager {
-    CONST_VTBL struct INewWindowManagerVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define INewWindowManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define INewWindowManager_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define INewWindowManager_Release(This) (This)->lpVtbl->Release(This)
-#define INewWindowManager_EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime) (This)->lpVtbl->EvaluateNewWindow(This,pszUrl,pszName,pszUrlContext,pszFeatures,fReplace,dwFlags,dwUserActionTime)
-#endif
-#endif
-  HRESULT WINAPI INewWindowManager_EvaluateNewWindow_Proxy(INewWindowManager *This,LPCWSTR pszUrl,LPCWSTR pszName,LPCWSTR pszUrlContext,LPCWSTR pszFeatures,WINBOOL fReplace,DWORD dwFlags,DWORD dwUserActionTime);
-  void __RPC_STUB INewWindowManager_EvaluateNewWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#include <pshpack8.h>
-  typedef struct tagSMDATA {
-    DWORD dwMask;
-    DWORD dwFlags;
-    HMENU hmenu;
-    HWND hwnd;
-    UINT uId;
-    UINT uIdParent;
-    UINT uIdAncestor;
-    IUnknown *punk;
-    LPITEMIDLIST pidlFolder;
-    LPITEMIDLIST pidlItem;
-    IShellFolder *psf;
-    void *pvUserData;
-  } SMDATA;
-
-  typedef struct tagSMDATA *LPSMDATA;
-
-#define SMDM_SHELLFOLDER 0x00000001
-#define SMDM_HMENU 0x00000002
-#define SMDM_TOOLBAR 0x00000004
-
-  typedef struct tagSMINFO {
-    DWORD dwMask;
-    DWORD dwType;
-    DWORD dwFlags;
-    int iIcon;
-  } SMINFO;
-
-  typedef struct tagSMINFO *PSMINFO;
-
-  typedef struct tagSHCSCHANGENOTIFYSTRUCT {
-    LONG lEvent;
-    LPCITEMIDLIST pidl1;
-    LPCITEMIDLIST pidl2;
-  } SMCSHCHANGENOTIFYSTRUCT;
-
-  typedef struct tagSHCSCHANGENOTIFYSTRUCT *PSMCSHCHANGENOTIFYSTRUCT;
-
-#include <poppack.h>
-
-  enum __MIDL___MIDL_itf_shobjidl_0260_0001 {
-    SMIM_TYPE = 0x1,SMIM_FLAGS = 0x2,SMIM_ICON = 0x4
-  };
-
-  enum __MIDL___MIDL_itf_shobjidl_0260_0002 {
-    SMIT_SEPARATOR = 0x1,SMIT_STRING = 0x2
-  };
-
-  enum __MIDL___MIDL_itf_shobjidl_0260_0003 {
-    SMIF_ICON = 0x1,SMIF_ACCELERATOR = 0x2,SMIF_DROPTARGET = 0x4,SMIF_SUBMENU = 0x8,SMIF_CHECKED = 0x20,SMIF_DROPCASCADE = 0x40,SMIF_HIDDEN = 0x80,
-    SMIF_DISABLED = 0x100,SMIF_TRACKPOPUP = 0x200,SMIF_DEMOTED = 0x400,SMIF_ALTSTATE = 0x800,SMIF_DRAGNDROP = 0x1000,SMIF_NEW = 0x2000
-  };
-#define SMC_INITMENU 0x00000001
-#define SMC_CREATE 0x00000002
-#define SMC_EXITMENU 0x00000003
-#define SMC_GETINFO 0x00000005
-#define SMC_GETSFINFO 0x00000006
-#define SMC_GETOBJECT 0x00000007
-#define SMC_GETSFOBJECT 0x00000008
-#define SMC_SFEXEC 0x00000009
-#define SMC_SFSELECTITEM 0x0000000A
-#define SMC_REFRESH 0x00000010
-#define SMC_DEMOTE 0x00000011
-#define SMC_PROMOTE 0x00000012
-#define SMC_DEFAULTICON 0x00000016
-#define SMC_NEWITEM 0x00000017
-#define SMC_CHEVRONEXPAND 0x00000019
-#define SMC_DISPLAYCHEVRONTIP 0x0000002A
-#define SMC_SETSFOBJECT 0x0000002D
-#define SMC_SHCHANGENOTIFY 0x0000002E
-#define SMC_CHEVRONGETTIP 0x0000002F
-#define SMC_SFDDRESTRICTED 0x00000030
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0260_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0260_v0_0_s_ifspec;
-
-#ifndef __IShellMenuCallback_INTERFACE_DEFINED__
-#define __IShellMenuCallback_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellMenuCallback;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellMenuCallback : public IUnknown {
-  public:
-    virtual HRESULT WINAPI CallbackSM(LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam) = 0;
-  };
-#else
-  typedef struct IShellMenuCallbackVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellMenuCallback *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellMenuCallback *This);
-      ULONG (WINAPI *Release)(IShellMenuCallback *This);
-      HRESULT (WINAPI *CallbackSM)(IShellMenuCallback *This,LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam);
-    END_INTERFACE
-  } IShellMenuCallbackVtbl;
-  struct IShellMenuCallback {
-    CONST_VTBL struct IShellMenuCallbackVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellMenuCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellMenuCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellMenuCallback_Release(This) (This)->lpVtbl->Release(This)
-#define IShellMenuCallback_CallbackSM(This,psmd,uMsg,wParam,lParam) (This)->lpVtbl->CallbackSM(This,psmd,uMsg,wParam,lParam)
-#endif
-#endif
-  HRESULT WINAPI IShellMenuCallback_CallbackSM_Proxy(IShellMenuCallback *This,LPSMDATA psmd,UINT uMsg,WPARAM wParam,LPARAM lParam);
-  void __RPC_STUB IShellMenuCallback_CallbackSM_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#ifndef __IAttachmentExecute_INTERFACE_DEFINED__
-#define __IAttachmentExecute_INTERFACE_DEFINED__
-  typedef enum tagATTACHMENT_PROMPT {
-    ATTACHMENT_PROMPT_NONE = 0,ATTACHMENT_PROMPT_SAVE = 0x1,ATTACHMENT_PROMPT_EXEC = 0x2,ATTACHMENT_PROMPT_EXEC_OR_SAVE = 0x3
-  } ATTACHMENT_PROMPT;
-
-  typedef enum tagATTACHMENT_ACTION {
-    ATTACHMENT_ACTION_CANCEL = 0,ATTACHMENT_ACTION_SAVE = 0x1,ATTACHMENT_ACTION_EXEC = 0x2
-  } ATTACHMENT_ACTION;
-
-DEFINE_GUID(IID_IAttachmentExecute, 0x73db1241,0x1e85,0x4581,0x8e,0x4f,0xa8,0x1e,0x1d,0x0f,0x8c,0x57);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IAttachmentExecute : public IUnknown {
-  public:
-    virtual HRESULT WINAPI SetClientTitle(LPCWSTR pszTitle) = 0;
-    virtual HRESULT WINAPI SetClientGuid(REFGUID guid) = 0;
-    virtual HRESULT WINAPI SetLocalPath(LPCWSTR pszLocalPath) = 0;
-    virtual HRESULT WINAPI SetFileName(LPCWSTR pszFileName) = 0;
-    virtual HRESULT WINAPI SetSource(LPCWSTR pszSource) = 0;
-    virtual HRESULT WINAPI SetReferrer(LPCWSTR pszReferrer) = 0;
-    virtual HRESULT WINAPI CheckPolicy(void) = 0;
-    virtual HRESULT WINAPI Prompt(HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction) = 0;
-    virtual HRESULT WINAPI Save(void) = 0;
-    virtual HRESULT WINAPI Execute(HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess) = 0;
-    virtual HRESULT WINAPI SaveWithUI(HWND hwnd) = 0;
-    virtual HRESULT WINAPI ClearClientState(void) = 0;
-  };
-#else
-  typedef struct IAttachmentExecuteVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IAttachmentExecute *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IAttachmentExecute *This);
-      ULONG (WINAPI *Release)(IAttachmentExecute *This);
-      HRESULT (WINAPI *SetClientTitle)(IAttachmentExecute *This,LPCWSTR pszTitle);
-      HRESULT (WINAPI *SetClientGuid)(IAttachmentExecute *This,REFGUID guid);
-      HRESULT (WINAPI *SetLocalPath)(IAttachmentExecute *This,LPCWSTR pszLocalPath);
-      HRESULT (WINAPI *SetFileName)(IAttachmentExecute *This,LPCWSTR pszFileName);
-      HRESULT (WINAPI *SetSource)(IAttachmentExecute *This,LPCWSTR pszSource);
-      HRESULT (WINAPI *SetReferrer)(IAttachmentExecute *This,LPCWSTR pszReferrer);
-      HRESULT (WINAPI *CheckPolicy)(IAttachmentExecute *This);
-      HRESULT (WINAPI *Prompt)(IAttachmentExecute *This,HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction);
-      HRESULT (WINAPI *Save)(IAttachmentExecute *This);
-      HRESULT (WINAPI *Execute)(IAttachmentExecute *This,HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess);
-      HRESULT (WINAPI *SaveWithUI)(IAttachmentExecute *This,HWND hwnd);
-      HRESULT (WINAPI *ClearClientState)(IAttachmentExecute *This);
-    END_INTERFACE
-  } IAttachmentExecuteVtbl;
-  struct IAttachmentExecute {
-    CONST_VTBL struct IAttachmentExecuteVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IAttachmentExecute_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAttachmentExecute_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAttachmentExecute_Release(This) (This)->lpVtbl->Release(This)
-#define IAttachmentExecute_SetClientTitle(This,pszTitle) (This)->lpVtbl->SetClientTitle(This,pszTitle)
-#define IAttachmentExecute_SetClientGuid(This,guid) (This)->lpVtbl->SetClientGuid(This,guid)
-#define IAttachmentExecute_SetLocalPath(This,pszLocalPath) (This)->lpVtbl->SetLocalPath(This,pszLocalPath)
-#define IAttachmentExecute_SetFileName(This,pszFileName) (This)->lpVtbl->SetFileName(This,pszFileName)
-#define IAttachmentExecute_SetSource(This,pszSource) (This)->lpVtbl->SetSource(This,pszSource)
-#define IAttachmentExecute_SetReferrer(This,pszReferrer) (This)->lpVtbl->SetReferrer(This,pszReferrer)
-#define IAttachmentExecute_CheckPolicy(This) (This)->lpVtbl->CheckPolicy(This)
-#define IAttachmentExecute_Prompt(This,hwnd,prompt,paction) (This)->lpVtbl->Prompt(This,hwnd,prompt,paction)
-#define IAttachmentExecute_Save(This) (This)->lpVtbl->Save(This)
-#define IAttachmentExecute_Execute(This,hwnd,pszVerb,phProcess) (This)->lpVtbl->Execute(This,hwnd,pszVerb,phProcess)
-#define IAttachmentExecute_SaveWithUI(This,hwnd) (This)->lpVtbl->SaveWithUI(This,hwnd)
-#define IAttachmentExecute_ClearClientState(This) (This)->lpVtbl->ClearClientState(This)
-#endif
-#endif
-  HRESULT WINAPI IAttachmentExecute_SetClientTitle_Proxy(IAttachmentExecute *This,LPCWSTR pszTitle);
-  void __RPC_STUB IAttachmentExecute_SetClientTitle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SetClientGuid_Proxy(IAttachmentExecute *This,REFGUID guid);
-  void __RPC_STUB IAttachmentExecute_SetClientGuid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SetLocalPath_Proxy(IAttachmentExecute *This,LPCWSTR pszLocalPath);
-  void __RPC_STUB IAttachmentExecute_SetLocalPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SetFileName_Proxy(IAttachmentExecute *This,LPCWSTR pszFileName);
-  void __RPC_STUB IAttachmentExecute_SetFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SetSource_Proxy(IAttachmentExecute *This,LPCWSTR pszSource);
-  void __RPC_STUB IAttachmentExecute_SetSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SetReferrer_Proxy(IAttachmentExecute *This,LPCWSTR pszReferrer);
-  void __RPC_STUB IAttachmentExecute_SetReferrer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_CheckPolicy_Proxy(IAttachmentExecute *This);
-  void __RPC_STUB IAttachmentExecute_CheckPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_Prompt_Proxy(IAttachmentExecute *This,HWND hwnd,ATTACHMENT_PROMPT prompt,ATTACHMENT_ACTION *paction);
-  void __RPC_STUB IAttachmentExecute_Prompt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_Save_Proxy(IAttachmentExecute *This);
-  void __RPC_STUB IAttachmentExecute_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_Execute_Proxy(IAttachmentExecute *This,HWND hwnd,LPCWSTR pszVerb,HANDLE *phProcess);
-  void __RPC_STUB IAttachmentExecute_Execute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_SaveWithUI_Proxy(IAttachmentExecute *This,HWND hwnd);
-  void __RPC_STUB IAttachmentExecute_SaveWithUI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IAttachmentExecute_ClearClientState_Proxy(IAttachmentExecute *This);
-  void __RPC_STUB IAttachmentExecute_ClearClientState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-#define SMINIT_DEFAULT 0x00000000
-#define SMINIT_RESTRICT_DRAGDROP 0x00000002
-#define SMINIT_TOPLEVEL 0x00000004
-#define SMINIT_CACHED 0x00000010
-#define SMINIT_VERTICAL 0x10000000
-#define SMINIT_HORIZONTAL 0x20000000
-#define ANCESTORDEFAULT (UINT)-1
-#define SMSET_TOP 0x10000000
-#define SMSET_BOTTOM 0x20000000
-#define SMSET_DONTOWN 0x00000001
-#define SMINV_REFRESH 0x00000001
-#define SMINV_ID 0x00000008
-
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0262_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0262_v0_0_s_ifspec;
-#ifndef __IShellMenu_INTERFACE_DEFINED__
-#define __IShellMenu_INTERFACE_DEFINED__
-  EXTERN_C const IID IID_IShellMenu;
-#if defined(__cplusplus) && !defined(CINTERFACE)
-  struct IShellMenu : public IUnknown {
-  public:
-    virtual HRESULT WINAPI Initialize(IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI GetMenuInfo(IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags) = 0;
-    virtual HRESULT WINAPI SetShellFolder(IShellFolder *psf,LPCITEMIDLIST pidlFolder,HKEY hKey,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI GetShellFolder(DWORD *pdwFlags,LPITEMIDLIST *ppidl,REFIID riid,void **ppv) = 0;
-    virtual HRESULT WINAPI SetMenu(HMENU hmenu,HWND hwnd,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI GetMenu(HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags) = 0;
-    virtual HRESULT WINAPI InvalidateItem(LPSMDATA psmd,DWORD dwFlags) = 0;
-    virtual HRESULT WINAPI GetState(LPSMDATA psmd) = 0;
-    virtual HRESULT WINAPI SetMenuToolbar(IUnknown *punk,DWORD dwFlags) = 0;
-  };
-#else
-  typedef struct IShellMenuVtbl {
-    BEGIN_INTERFACE
-      HRESULT (WINAPI *QueryInterface)(IShellMenu *This,REFIID riid,void **ppvObject);
-      ULONG (WINAPI *AddRef)(IShellMenu *This);
-      ULONG (WINAPI *Release)(IShellMenu *This);
-      HRESULT (WINAPI *Initialize)(IShellMenu *This,IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags);
-      HRESULT (WINAPI *GetMenuInfo)(IShellMenu *This,IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags);
-      HRESULT (WINAPI *SetShellFolder)(IShellMenu *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,HKEY hKey,DWORD dwFlags);
-      HRESULT (WINAPI *GetShellFolder)(IShellMenu *This,DWORD *pdwFlags,LPITEMIDLIST *ppidl,REFIID riid,void **ppv);
-      HRESULT (WINAPI *SetMenu)(IShellMenu *This,HMENU hmenu,HWND hwnd,DWORD dwFlags);
-      HRESULT (WINAPI *GetMenu)(IShellMenu *This,HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags);
-      HRESULT (WINAPI *InvalidateItem)(IShellMenu *This,LPSMDATA psmd,DWORD dwFlags);
-      HRESULT (WINAPI *GetState)(IShellMenu *This,LPSMDATA psmd);
-      HRESULT (WINAPI *SetMenuToolbar)(IShellMenu *This,IUnknown *punk,DWORD dwFlags);
-    END_INTERFACE
-  } IShellMenuVtbl;
-  struct IShellMenu {
-    CONST_VTBL struct IShellMenuVtbl *lpVtbl;
-  };
-#ifdef COBJMACROS
-#define IShellMenu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellMenu_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellMenu_Release(This) (This)->lpVtbl->Release(This)
-#define IShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) (This)->lpVtbl->Initialize(This,psmc,uId,uIdAncestor,dwFlags)
-#define IShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) (This)->lpVtbl->GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
-#define IShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) (This)->lpVtbl->SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
-#define IShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) (This)->lpVtbl->GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
-#define IShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) (This)->lpVtbl->SetMenu(This,hmenu,hwnd,dwFlags)
-#define IShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) (This)->lpVtbl->GetMenu(This,phmenu,phwnd,pdwFlags)
-#define IShellMenu_InvalidateItem(This,psmd,dwFlags) (This)->lpVtbl->InvalidateItem(This,psmd,dwFlags)
-#define IShellMenu_GetState(This,psmd) (This)->lpVtbl->GetState(This,psmd)
-#define IShellMenu_SetMenuToolbar(This,punk,dwFlags) (This)->lpVtbl->SetMenuToolbar(This,punk,dwFlags)
-#endif
-#endif
-  HRESULT WINAPI IShellMenu_Initialize_Proxy(IShellMenu *This,IShellMenuCallback *psmc,UINT uId,UINT uIdAncestor,DWORD dwFlags);
-  void __RPC_STUB IShellMenu_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_GetMenuInfo_Proxy(IShellMenu *This,IShellMenuCallback **ppsmc,UINT *puId,UINT *puIdAncestor,DWORD *pdwFlags);
-  void __RPC_STUB IShellMenu_GetMenuInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_SetShellFolder_Proxy(IShellMenu *This,IShellFolder *psf,LPCITEMIDLIST pidlFolder,HKEY hKey,DWORD dwFlags);
-  void __RPC_STUB IShellMenu_SetShellFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_GetShellFolder_Proxy(IShellMenu *This,DWORD *pdwFlags,LPITEMIDLIST *ppidl,REFIID riid,void **ppv);
-  void __RPC_STUB IShellMenu_GetShellFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_SetMenu_Proxy(IShellMenu *This,HMENU hmenu,HWND hwnd,DWORD dwFlags);
-  void __RPC_STUB IShellMenu_SetMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_GetMenu_Proxy(IShellMenu *This,HMENU *phmenu,HWND *phwnd,DWORD *pdwFlags);
-  void __RPC_STUB IShellMenu_GetMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_InvalidateItem_Proxy(IShellMenu *This,LPSMDATA psmd,DWORD dwFlags);
-  void __RPC_STUB IShellMenu_InvalidateItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_GetState_Proxy(IShellMenu *This,LPSMDATA psmd);
-  void __RPC_STUB IShellMenu_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-  HRESULT WINAPI IShellMenu_SetMenuToolbar_Proxy(IShellMenu *This,IUnknown *punk,DWORD dwFlags);
-  void __RPC_STUB IShellMenu_SetMenuToolbar_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
-#endif
-
-typedef enum FDE_OVERWRITE_RESPONSE {
-    FDEOR_DEFAULT = 0,
-    FDEOR_ACCCEP = 1,
-    FDEOR_REFUSE = 2
-} FDE_OVERWRITE_RESPONSE;
-typedef enum FDE_SHAREVIOLATION_RESPONSE {
-    FDESVR_DEFAULT = 0,
-    FDESVR_ACCEPT = 1,
-    FDESVR_REFUSE = 2
-} FDE_SHAREVIOLATION_RESPONSE;
-
-/*****************************************************************************
- * IFileDialogEvents interface
- */
-#ifndef __IFileDialogEvents_INTERFACE_DEFINED__
-#define __IFileDialogEvents_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("973510db-7d7f-452b-8975-74a85828d354")
-IFileDialogEvents : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE OnFileOk(
-        IFileDialog *pfd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnFolderChanging(
-        IFileDialog *pfd,
-        IShellItem *psiFolder) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnFolderChange(
-        IFileDialog *pfd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnSelectionChange(
-        IFileDialog *pfd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnShareViolation(
-        IFileDialog *pfd,
-        IShellItem *psi,
-        FDE_SHAREVIOLATION_RESPONSE *pResponse) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnTypeChange(
-        IFileDialog *pfd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE OnOverwrite(
-        IFileDialog *pfd,
-        IShellItem *psi,
-        FDE_OVERWRITE_RESPONSE *pResponse) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IFileDialogEvents, 0x973510db, 0x7d7f, 0x452b, 0x89,0x75, 0x74,0xa8,0x58,0x28,0xd3,0x54)
-#endif
-#else
-typedef struct IFileDialogEventsVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IFileDialogEvents* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IFileDialogEvents* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IFileDialogEvents* This);
-
-    /*** IFileDialogEvents methods ***/
-    HRESULT (STDMETHODCALLTYPE *OnFileOk)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd);
-
-    HRESULT (STDMETHODCALLTYPE *OnFolderChanging)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd,
-        IShellItem *psiFolder);
-
-    HRESULT (STDMETHODCALLTYPE *OnFolderChange)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd);
-
-    HRESULT (STDMETHODCALLTYPE *OnSelectionChange)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd);
-
-    HRESULT (STDMETHODCALLTYPE *OnShareViolation)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd,
-        IShellItem *psi,
-        FDE_SHAREVIOLATION_RESPONSE *pResponse);
-
-    HRESULT (STDMETHODCALLTYPE *OnTypeChange)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd);
-
-    HRESULT (STDMETHODCALLTYPE *OnOverwrite)(
-        IFileDialogEvents* This,
-        IFileDialog *pfd,
-        IShellItem *psi,
-        FDE_OVERWRITE_RESPONSE *pResponse);
-
-    END_INTERFACE
-} IFileDialogEventsVtbl;
-interface IFileDialogEvents {
-    CONST_VTBL IFileDialogEventsVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IFileDialogEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IFileDialogEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IFileDialogEvents_Release(This) (This)->lpVtbl->Release(This)
-/*** IFileDialogEvents methods ***/
-#define IFileDialogEvents_OnFileOk(This,pfd) (This)->lpVtbl->OnFileOk(This,pfd)
-#define IFileDialogEvents_OnFolderChanging(This,pfd,psiFolder) (This)->lpVtbl->OnFolderChanging(This,pfd,psiFolder)
-#define IFileDialogEvents_OnFolderChange(This,pfd) (This)->lpVtbl->OnFolderChange(This,pfd)
-#define IFileDialogEvents_OnSelectionChange(This,pfd) (This)->lpVtbl->OnSelectionChange(This,pfd)
-#define IFileDialogEvents_OnShareViolation(This,pfd,psi,pResponse) (This)->lpVtbl->OnShareViolation(This,pfd,psi,pResponse)
-#define IFileDialogEvents_OnTypeChange(This,pfd) (This)->lpVtbl->OnTypeChange(This,pfd)
-#define IFileDialogEvents_OnOverwrite(This,pfd,psi,pResponse) (This)->lpVtbl->OnOverwrite(This,pfd,psi,pResponse)
-#endif
-
-#endif
-
-#endif  /* __IFileDialogEvents_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * IApplicationAssociationRegistration interface
- */
-#ifndef __IApplicationAssociationRegistration_INTERFACE_DEFINED__
-#define __IApplicationAssociationRegistration_INTERFACE_DEFINED__
-
-typedef enum ASSOCIATIONLEVEL {
-    AL_MACHINE = 0,
-    AL_EFFECTIVE = 1,
-    AL_USER = 2
-} ASSOCIATIONLEVEL;
-
-typedef enum ASSOCIATIONTYPE {
-    AT_FILEEXTENSION = 0,
-    AT_URLPROTOCOL = 1,
-    AT_STARTMENUCLIENT = 2,
-    AT_MIMETYPE = 3
-} ASSOCIATIONTYPE;
-
-DEFINE_GUID(IID_IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface IApplicationAssociationRegistration : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE QueryCurrentDefault(
-        LPCWSTR pszQuery,
-        ASSOCIATIONTYPE atQueryType,
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPWSTR *ppszAssociation) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefault(
-        LPCWSTR pszQuery,
-        ASSOCIATIONTYPE atQueryType,
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPCWSTR pszAppRegistryName,
-        BOOL *pfDefault) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE QueryAppIsDefaultAll(
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPCWSTR pszAppRegistryName,
-        BOOL *pfDefault) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetAppAsDefault(
-        LPCWSTR pszAppRegistryName,
-        LPCWSTR pszSet,
-        ASSOCIATIONTYPE atSetType) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetAppAsDefaultAll(
-        LPCWSTR pszAppRegistryName) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ClearUserAssociations(
-        ) = 0;
-
-};
-#else
-typedef struct IApplicationAssociationRegistrationVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IApplicationAssociationRegistration* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IApplicationAssociationRegistration* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IApplicationAssociationRegistration* This);
-
-    /*** IApplicationAssociationRegistration methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryCurrentDefault)(
-        IApplicationAssociationRegistration* This,
-        LPCWSTR pszQuery,
-        ASSOCIATIONTYPE atQueryType,
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPWSTR *ppszAssociation);
-
-    HRESULT (STDMETHODCALLTYPE *QueryAppIsDefault)(
-        IApplicationAssociationRegistration* This,
-        LPCWSTR pszQuery,
-        ASSOCIATIONTYPE atQueryType,
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPCWSTR pszAppRegistryName,
-        BOOL *pfDefault);
-
-    HRESULT (STDMETHODCALLTYPE *QueryAppIsDefaultAll)(
-        IApplicationAssociationRegistration* This,
-        ASSOCIATIONLEVEL alQueryLevel,
-        LPCWSTR pszAppRegistryName,
-        BOOL *pfDefault);
-
-    HRESULT (STDMETHODCALLTYPE *SetAppAsDefault)(
-        IApplicationAssociationRegistration* This,
-        LPCWSTR pszAppRegistryName,
-        LPCWSTR pszSet,
-        ASSOCIATIONTYPE atSetType);
-
-    HRESULT (STDMETHODCALLTYPE *SetAppAsDefaultAll)(
-        IApplicationAssociationRegistration* This,
-        LPCWSTR pszAppRegistryName);
-
-    HRESULT (STDMETHODCALLTYPE *ClearUserAssociations)(
-        IApplicationAssociationRegistration* This);
-
-    END_INTERFACE
-} IApplicationAssociationRegistrationVtbl;
-interface IApplicationAssociationRegistration {
-    CONST_VTBL IApplicationAssociationRegistrationVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IApplicationAssociationRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IApplicationAssociationRegistration_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IApplicationAssociationRegistration_Release(This) (This)->lpVtbl->Release(This)
-/*** IApplicationAssociationRegistration methods ***/
-#define IApplicationAssociationRegistration_QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation) (This)->lpVtbl->QueryCurrentDefault(This,pszQuery,atQueryType,alQueryLevel,ppszAssociation)
-#define IApplicationAssociationRegistration_QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefault(This,pszQuery,atQueryType,alQueryLevel,pszAppRegistryName,pfDefault)
-#define IApplicationAssociationRegistration_QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault) (This)->lpVtbl->QueryAppIsDefaultAll(This,alQueryLevel,pszAppRegistryName,pfDefault)
-#define IApplicationAssociationRegistration_SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType) (This)->lpVtbl->SetAppAsDefault(This,pszAppRegistryName,pszSet,atSetType)
-#define IApplicationAssociationRegistration_SetAppAsDefaultAll(This,pszAppRegistryName) (This)->lpVtbl->SetAppAsDefaultAll(This,pszAppRegistryName)
-#define IApplicationAssociationRegistration_ClearUserAssociations(This) (This)->lpVtbl->ClearUserAssociations(This)
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_QueryCurrentDefault_Proxy(
-    IApplicationAssociationRegistration* This,
-    LPCWSTR pszQuery,
-    ASSOCIATIONTYPE atQueryType,
-    ASSOCIATIONLEVEL alQueryLevel,
-    LPWSTR *ppszAssociation);
-void __RPC_STUB IApplicationAssociationRegistration_QueryCurrentDefault_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_QueryAppIsDefault_Proxy(
-    IApplicationAssociationRegistration* This,
-    LPCWSTR pszQuery,
-    ASSOCIATIONTYPE atQueryType,
-    ASSOCIATIONLEVEL alQueryLevel,
-    LPCWSTR pszAppRegistryName,
-    BOOL *pfDefault);
-void __RPC_STUB IApplicationAssociationRegistration_QueryAppIsDefault_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_QueryAppIsDefaultAll_Proxy(
-    IApplicationAssociationRegistration* This,
-    ASSOCIATIONLEVEL alQueryLevel,
-    LPCWSTR pszAppRegistryName,
-    BOOL *pfDefault);
-void __RPC_STUB IApplicationAssociationRegistration_QueryAppIsDefaultAll_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_SetAppAsDefault_Proxy(
-    IApplicationAssociationRegistration* This,
-    LPCWSTR pszAppRegistryName,
-    LPCWSTR pszSet,
-    ASSOCIATIONTYPE atSetType);
-void __RPC_STUB IApplicationAssociationRegistration_SetAppAsDefault_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_SetAppAsDefaultAll_Proxy(
-    IApplicationAssociationRegistration* This,
-    LPCWSTR pszAppRegistryName);
-void __RPC_STUB IApplicationAssociationRegistration_SetAppAsDefaultAll_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IApplicationAssociationRegistration_ClearUserAssociations_Proxy(
-    IApplicationAssociationRegistration* This);
-void __RPC_STUB IApplicationAssociationRegistration_ClearUserAssociations_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IApplicationAssociationRegistration_INTERFACE_DEFINED__ */
-
-/*****************************************************************************
- * ICustomDestinationList interface
- */
-#ifndef __ICustomDestinationList_INTERFACE_DEFINED__
-#define __ICustomDestinationList_INTERFACE_DEFINED__
-
-typedef enum KNOWNDESTCATEGORY {
-    KDC_FREQUENT = 1,
-    KDC_RECENT = 2
-} KNOWNDESTCATEGORY;
-
-DEFINE_GUID(IID_ICustomDestinationList, 0x6332debf, 0x87b5, 0x4670, 0x90,0xc0, 0x5e,0x57,0xb4,0x08,0xa4,0x9e);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-interface ICustomDestinationList : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE SetAppID(
-        LPCWSTR pszAppID) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE BeginList(
-        UINT *pcMinSlots,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AppendCategory(
-        LPCWSTR pszCategory,
-        IObjectArray *poa) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AppendKnownCategory(
-        KNOWNDESTCATEGORY category) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AddUserTasks(
-        IObjectArray *poa) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE CommitList(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetRemovedDestinations(
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE DeleteList(
-        LPCWSTR pszAppID) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AbortList(
-        ) = 0;
-
-};
-#else
-typedef struct ICustomDestinationListVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        ICustomDestinationList* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        ICustomDestinationList* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        ICustomDestinationList* This);
-
-    /*** ICustomDestinationList methods ***/
-    HRESULT (STDMETHODCALLTYPE *SetAppID)(
-        ICustomDestinationList* This,
-        LPCWSTR pszAppID);
-
-    HRESULT (STDMETHODCALLTYPE *BeginList)(
-        ICustomDestinationList* This,
-        UINT *pcMinSlots,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *AppendCategory)(
-        ICustomDestinationList* This,
-        LPCWSTR pszCategory,
-        IObjectArray *poa);
-
-    HRESULT (STDMETHODCALLTYPE *AppendKnownCategory)(
-        ICustomDestinationList* This,
-        KNOWNDESTCATEGORY category);
-
-    HRESULT (STDMETHODCALLTYPE *AddUserTasks)(
-        ICustomDestinationList* This,
-        IObjectArray *poa);
-
-    HRESULT (STDMETHODCALLTYPE *CommitList)(
-        ICustomDestinationList* This);
-
-    HRESULT (STDMETHODCALLTYPE *GetRemovedDestinations)(
-        ICustomDestinationList* This,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *DeleteList)(
-        ICustomDestinationList* This,
-        LPCWSTR pszAppID);
-
-    HRESULT (STDMETHODCALLTYPE *AbortList)(
-        ICustomDestinationList* This);
-
-    END_INTERFACE
-} ICustomDestinationListVtbl;
-interface ICustomDestinationList {
-    CONST_VTBL ICustomDestinationListVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define ICustomDestinationList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ICustomDestinationList_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ICustomDestinationList_Release(This) (This)->lpVtbl->Release(This)
-/*** ICustomDestinationList methods ***/
-#define ICustomDestinationList_SetAppID(This,pszAppID) (This)->lpVtbl->SetAppID(This,pszAppID)
-#define ICustomDestinationList_BeginList(This,pcMinSlots,riid,ppv) (This)->lpVtbl->BeginList(This,pcMinSlots,riid,ppv)
-#define ICustomDestinationList_AppendCategory(This,pszCategory,poa) (This)->lpVtbl->AppendCategory(This,pszCategory,poa)
-#define ICustomDestinationList_AppendKnownCategory(This,category) (This)->lpVtbl->AppendKnownCategory(This,category)
-#define ICustomDestinationList_AddUserTasks(This,poa) (This)->lpVtbl->AddUserTasks(This,poa)
-#define ICustomDestinationList_CommitList(This) (This)->lpVtbl->CommitList(This)
-#define ICustomDestinationList_GetRemovedDestinations(This,riid,ppv) (This)->lpVtbl->GetRemovedDestinations(This,riid,ppv)
-#define ICustomDestinationList_DeleteList(This,pszAppID) (This)->lpVtbl->DeleteList(This,pszAppID)
-#define ICustomDestinationList_AbortList(This) (This)->lpVtbl->AbortList(This)
-#endif
-
-#endif
-#endif  /* __ICustomDestinationList_INTERFACE_DEFINED__ */
-/*****************************************************************************
- * IShellLibrary interface
- */
-#ifndef __IShellLibrary_INTERFACE_DEFINED__
-#define __IShellLibrary_INTERFACE_DEFINED__
-
-typedef enum LIBRARYFOLDERFILTER {
-    LFF_FORCEFILESYSTEM = 1,
-    LFF_STORAGEITEMS = 2,
-    LFF_ALLITEMS = 3
-} LIBRARYFOLDERFILTER;
-typedef enum LIBRARYOPTIONFLAGS {
-    LOF_DEFAULT = 0x0,
-    LOF_PINNEDTONAVPANE = 0x1,
-    LOF_MASK_ALL = 0x1
-} LIBRARYOPTIONFLAGS;
-DEFINE_ENUM_FLAG_OPERATORS(LIBRARYOPTIONFLAGS)
-typedef enum DEFAULTSAVEFOLDERTYPE {
-    DSFT_DETECT = 1,
-    DSFT_PRIVATE = 2,
-    DSFT_PUBLIC = 3
-} DEFAULTSAVEFOLDERTYPE;
-typedef enum LIBRARYSAVEFLAGS {
-    LSF_FAILIFTHERE = 0x0,
-    LSF_OVERRIDEEXISTING = 0x1,
-    LSF_MAKEUNIQUENAME = 0x2
-} LIBRARYSAVEFLAGS;
-DEFINE_ENUM_FLAG_OPERATORS(LIBRARYSAVEFLAGS)
-DEFINE_GUID(IID_IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-MIDL_INTERFACE("11a66efa-382e-451a-9234-1e0e12ef3085")
-IShellLibrary : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromItem(
-        IShellItem *psiLibrary,
-        DWORD grfMode) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE LoadLibraryFromKnownFolder(
-        REFKNOWNFOLDERID kfidLibrary,
-        DWORD grfMode) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE AddFolder(
-        IShellItem *psiLocation) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE RemoveFolder(
-        IShellItem *psiLocation) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFolders(
-        LIBRARYFOLDERFILTER lff,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE ResolveFolder(
-        IShellItem *psiFolderToResolve,
-        DWORD dwTimeout,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDefaultSaveFolder(
-        DEFAULTSAVEFOLDERTYPE dsft,
-        REFIID riid,
-        void **ppv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetDefaultSaveFolder(
-        DEFAULTSAVEFOLDERTYPE dsft,
-        IShellItem *psi) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetOptions(
-        LIBRARYOPTIONFLAGS *plofOptions) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetOptions(
-        LIBRARYOPTIONFLAGS lofMask,
-        LIBRARYOPTIONFLAGS lofOptions) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetFolderType(
-        FOLDERTYPEID *pftid) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFolderType(
-        REFFOLDERTYPEID ftid) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetIcon(
-        LPWSTR *ppszIcon) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetIcon(
-        LPCWSTR pszIcon) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Commit(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Save(
-        IShellItem *psiFolderToSaveIn,
-        LPCWSTR pszLibraryName,
-        LIBRARYSAVEFLAGS lsf,
-        IShellItem **ppsiSavedTo) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SaveInKnownFolder(
-        REFKNOWNFOLDERID kfidToSaveIn,
-        LPCWSTR pszLibraryName,
-        LIBRARYSAVEFLAGS lsf,
-        IShellItem **ppsiSavedTo) = 0;
-
-};
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(IShellLibrary, 0x11a66efa, 0x382e, 0x451a, 0x92,0x34, 0x1e,0x0e,0x12,0xef,0x30,0x85)
-#endif
-#else
-typedef struct IShellLibraryVtbl {
-    BEGIN_INTERFACE
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellLibrary* This,
-        REFIID riid,
-        void **ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellLibrary* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellLibrary* This);
-
-    /*** IShellLibrary methods ***/
-    HRESULT (STDMETHODCALLTYPE *LoadLibraryFromItem)(
-        IShellLibrary* This,
-        IShellItem *psiLibrary,
-        DWORD grfMode);
-
-    HRESULT (STDMETHODCALLTYPE *LoadLibraryFromKnownFolder)(
-        IShellLibrary* This,
-        REFKNOWNFOLDERID kfidLibrary,
-        DWORD grfMode);
-
-    HRESULT (STDMETHODCALLTYPE *AddFolder)(
-        IShellLibrary* This,
-        IShellItem *psiLocation);
-
-    HRESULT (STDMETHODCALLTYPE *RemoveFolder)(
-        IShellLibrary* This,
-        IShellItem *psiLocation);
-
-    HRESULT (STDMETHODCALLTYPE *GetFolders)(
-        IShellLibrary* This,
-        LIBRARYFOLDERFILTER lff,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *ResolveFolder)(
-        IShellLibrary* This,
-        IShellItem *psiFolderToResolve,
-        DWORD dwTimeout,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *GetDefaultSaveFolder)(
-        IShellLibrary* This,
-        DEFAULTSAVEFOLDERTYPE dsft,
-        REFIID riid,
-        void **ppv);
-
-    HRESULT (STDMETHODCALLTYPE *SetDefaultSaveFolder)(
-        IShellLibrary* This,
-        DEFAULTSAVEFOLDERTYPE dsft,
-        IShellItem *psi);
-
-    HRESULT (STDMETHODCALLTYPE *GetOptions)(
-        IShellLibrary* This,
-        LIBRARYOPTIONFLAGS *plofOptions);
-
-    HRESULT (STDMETHODCALLTYPE *SetOptions)(
-        IShellLibrary* This,
-        LIBRARYOPTIONFLAGS lofMask,
-        LIBRARYOPTIONFLAGS lofOptions);
-
-    HRESULT (STDMETHODCALLTYPE *GetFolderType)(
-        IShellLibrary* This,
-        FOLDERTYPEID *pftid);
-
-    HRESULT (STDMETHODCALLTYPE *SetFolderType)(
-        IShellLibrary* This,
-        REFFOLDERTYPEID ftid);
-
-    HRESULT (STDMETHODCALLTYPE *GetIcon)(
-        IShellLibrary* This,
-        LPWSTR *ppszIcon);
-
-    HRESULT (STDMETHODCALLTYPE *SetIcon)(
-        IShellLibrary* This,
-        LPCWSTR pszIcon);
-
-    HRESULT (STDMETHODCALLTYPE *Commit)(
-        IShellLibrary* This);
-
-    HRESULT (STDMETHODCALLTYPE *Save)(
-        IShellLibrary* This,
-        IShellItem *psiFolderToSaveIn,
-        LPCWSTR pszLibraryName,
-        LIBRARYSAVEFLAGS lsf,
-        IShellItem **ppsiSavedTo);
-
-    HRESULT (STDMETHODCALLTYPE *SaveInKnownFolder)(
-        IShellLibrary* This,
-        REFKNOWNFOLDERID kfidToSaveIn,
-        LPCWSTR pszLibraryName,
-        LIBRARYSAVEFLAGS lsf,
-        IShellItem **ppsiSavedTo);
-
-    END_INTERFACE
-} IShellLibraryVtbl;
-interface IShellLibrary {
-    CONST_VTBL IShellLibraryVtbl* lpVtbl;
-};
-
-#ifdef COBJMACROS
-#ifndef WIDL_C_INLINE_WRAPPERS
-/*** IUnknown methods ***/
-#define IShellLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IShellLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IShellLibrary_Release(This) (This)->lpVtbl->Release(This)
-/*** IShellLibrary methods ***/
-#define IShellLibrary_LoadLibraryFromItem(This,psiLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode)
-#define IShellLibrary_LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode) (This)->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode)
-#define IShellLibrary_AddFolder(This,psiLocation) (This)->lpVtbl->AddFolder(This,psiLocation)
-#define IShellLibrary_RemoveFolder(This,psiLocation) (This)->lpVtbl->RemoveFolder(This,psiLocation)
-#define IShellLibrary_GetFolders(This,lff,riid,ppv) (This)->lpVtbl->GetFolders(This,lff,riid,ppv)
-#define IShellLibrary_ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv) (This)->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv)
-#define IShellLibrary_GetDefaultSaveFolder(This,dsft,riid,ppv) (This)->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv)
-#define IShellLibrary_SetDefaultSaveFolder(This,dsft,psi) (This)->lpVtbl->SetDefaultSaveFolder(This,dsft,psi)
-#define IShellLibrary_GetOptions(This,plofOptions) (This)->lpVtbl->GetOptions(This,plofOptions)
-#define IShellLibrary_SetOptions(This,lofMask,lofOptions) (This)->lpVtbl->SetOptions(This,lofMask,lofOptions)
-#define IShellLibrary_GetFolderType(This,pftid) (This)->lpVtbl->GetFolderType(This,pftid)
-#define IShellLibrary_SetFolderType(This,ftid) (This)->lpVtbl->SetFolderType(This,ftid)
-#define IShellLibrary_GetIcon(This,ppszIcon) (This)->lpVtbl->GetIcon(This,ppszIcon)
-#define IShellLibrary_SetIcon(This,pszIcon) (This)->lpVtbl->SetIcon(This,pszIcon)
-#define IShellLibrary_Commit(This) (This)->lpVtbl->Commit(This)
-#define IShellLibrary_Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
-#define IShellLibrary_SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo) (This)->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo)
-#else
-/*** IUnknown methods ***/
-static FORCEINLINE HRESULT IShellLibrary_QueryInterface(IShellLibrary* This,REFIID riid,void **ppvObject) {
-    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
-}
-static FORCEINLINE ULONG IShellLibrary_AddRef(IShellLibrary* This) {
-    return This->lpVtbl->AddRef(This);
-}
-static FORCEINLINE ULONG IShellLibrary_Release(IShellLibrary* This) {
-    return This->lpVtbl->Release(This);
-}
-/*** IShellLibrary methods ***/
-static FORCEINLINE HRESULT IShellLibrary_LoadLibraryFromItem(IShellLibrary* This,IShellItem *psiLibrary,DWORD grfMode) {
-    return This->lpVtbl->LoadLibraryFromItem(This,psiLibrary,grfMode);
-}
-static FORCEINLINE HRESULT IShellLibrary_LoadLibraryFromKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidLibrary,DWORD grfMode) {
-    return This->lpVtbl->LoadLibraryFromKnownFolder(This,kfidLibrary,grfMode);
-}
-static FORCEINLINE HRESULT IShellLibrary_AddFolder(IShellLibrary* This,IShellItem *psiLocation) {
-    return This->lpVtbl->AddFolder(This,psiLocation);
-}
-static FORCEINLINE HRESULT IShellLibrary_RemoveFolder(IShellLibrary* This,IShellItem *psiLocation) {
-    return This->lpVtbl->RemoveFolder(This,psiLocation);
-}
-static FORCEINLINE HRESULT IShellLibrary_GetFolders(IShellLibrary* This,LIBRARYFOLDERFILTER lff,REFIID riid,void **ppv) {
-    return This->lpVtbl->GetFolders(This,lff,riid,ppv);
-}
-static FORCEINLINE HRESULT IShellLibrary_ResolveFolder(IShellLibrary* This,IShellItem *psiFolderToResolve,DWORD dwTimeout,REFIID riid,void **ppv) {
-    return This->lpVtbl->ResolveFolder(This,psiFolderToResolve,dwTimeout,riid,ppv);
-}
-static FORCEINLINE HRESULT IShellLibrary_GetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,REFIID riid,void **ppv) {
-    return This->lpVtbl->GetDefaultSaveFolder(This,dsft,riid,ppv);
-}
-static FORCEINLINE HRESULT IShellLibrary_SetDefaultSaveFolder(IShellLibrary* This,DEFAULTSAVEFOLDERTYPE dsft,IShellItem *psi) {
-    return This->lpVtbl->SetDefaultSaveFolder(This,dsft,psi);
-}
-static FORCEINLINE HRESULT IShellLibrary_GetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS *plofOptions) {
-    return This->lpVtbl->GetOptions(This,plofOptions);
-}
-static FORCEINLINE HRESULT IShellLibrary_SetOptions(IShellLibrary* This,LIBRARYOPTIONFLAGS lofMask,LIBRARYOPTIONFLAGS lofOptions) {
-    return This->lpVtbl->SetOptions(This,lofMask,lofOptions);
-}
-static FORCEINLINE HRESULT IShellLibrary_GetFolderType(IShellLibrary* This,FOLDERTYPEID *pftid) {
-    return This->lpVtbl->GetFolderType(This,pftid);
-}
-static FORCEINLINE HRESULT IShellLibrary_SetFolderType(IShellLibrary* This,REFFOLDERTYPEID ftid) {
-    return This->lpVtbl->SetFolderType(This,ftid);
-}
-static FORCEINLINE HRESULT IShellLibrary_GetIcon(IShellLibrary* This,LPWSTR *ppszIcon) {
-    return This->lpVtbl->GetIcon(This,ppszIcon);
-}
-static FORCEINLINE HRESULT IShellLibrary_SetIcon(IShellLibrary* This,LPCWSTR pszIcon) {
-    return This->lpVtbl->SetIcon(This,pszIcon);
-}
-static FORCEINLINE HRESULT IShellLibrary_Commit(IShellLibrary* This) {
-    return This->lpVtbl->Commit(This);
-}
-static FORCEINLINE HRESULT IShellLibrary_Save(IShellLibrary* This,IShellItem *psiFolderToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
-    return This->lpVtbl->Save(This,psiFolderToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
-}
-static FORCEINLINE HRESULT IShellLibrary_SaveInKnownFolder(IShellLibrary* This,REFKNOWNFOLDERID kfidToSaveIn,LPCWSTR pszLibraryName,LIBRARYSAVEFLAGS lsf,IShellItem **ppsiSavedTo) {
-    return This->lpVtbl->SaveInKnownFolder(This,kfidToSaveIn,pszLibraryName,lsf,ppsiSavedTo);
-}
-#endif
-#endif
-
-#endif
-
-HRESULT STDMETHODCALLTYPE IShellLibrary_LoadLibraryFromItem_Proxy(
-    IShellLibrary* This,
-    IShellItem *psiLibrary,
-    DWORD grfMode);
-void __RPC_STUB IShellLibrary_LoadLibraryFromItem_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_LoadLibraryFromKnownFolder_Proxy(
-    IShellLibrary* This,
-    REFKNOWNFOLDERID kfidLibrary,
-    DWORD grfMode);
-void __RPC_STUB IShellLibrary_LoadLibraryFromKnownFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_AddFolder_Proxy(
-    IShellLibrary* This,
-    IShellItem *psiLocation);
-void __RPC_STUB IShellLibrary_AddFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_RemoveFolder_Proxy(
-    IShellLibrary* This,
-    IShellItem *psiLocation);
-void __RPC_STUB IShellLibrary_RemoveFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_GetFolders_Proxy(
-    IShellLibrary* This,
-    LIBRARYFOLDERFILTER lff,
-    REFIID riid,
-    void **ppv);
-void __RPC_STUB IShellLibrary_GetFolders_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_ResolveFolder_Proxy(
-    IShellLibrary* This,
-    IShellItem *psiFolderToResolve,
-    DWORD dwTimeout,
-    REFIID riid,
-    void **ppv);
-void __RPC_STUB IShellLibrary_ResolveFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_GetDefaultSaveFolder_Proxy(
-    IShellLibrary* This,
-    DEFAULTSAVEFOLDERTYPE dsft,
-    REFIID riid,
-    void **ppv);
-void __RPC_STUB IShellLibrary_GetDefaultSaveFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_SetDefaultSaveFolder_Proxy(
-    IShellLibrary* This,
-    DEFAULTSAVEFOLDERTYPE dsft,
-    IShellItem *psi);
-void __RPC_STUB IShellLibrary_SetDefaultSaveFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_GetOptions_Proxy(
-    IShellLibrary* This,
-    LIBRARYOPTIONFLAGS *plofOptions);
-void __RPC_STUB IShellLibrary_GetOptions_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_SetOptions_Proxy(
-    IShellLibrary* This,
-    LIBRARYOPTIONFLAGS lofMask,
-    LIBRARYOPTIONFLAGS lofOptions);
-void __RPC_STUB IShellLibrary_SetOptions_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_GetFolderType_Proxy(
-    IShellLibrary* This,
-    FOLDERTYPEID *pftid);
-void __RPC_STUB IShellLibrary_GetFolderType_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_SetFolderType_Proxy(
-    IShellLibrary* This,
-    REFFOLDERTYPEID ftid);
-void __RPC_STUB IShellLibrary_SetFolderType_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_GetIcon_Proxy(
-    IShellLibrary* This,
-    LPWSTR *ppszIcon);
-void __RPC_STUB IShellLibrary_GetIcon_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_SetIcon_Proxy(
-    IShellLibrary* This,
-    LPCWSTR pszIcon);
-void __RPC_STUB IShellLibrary_SetIcon_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_Commit_Proxy(
-    IShellLibrary* This);
-void __RPC_STUB IShellLibrary_Commit_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_Save_Proxy(
-    IShellLibrary* This,
-    IShellItem *psiFolderToSaveIn,
-    LPCWSTR pszLibraryName,
-    LIBRARYSAVEFLAGS lsf,
-    IShellItem **ppsiSavedTo);
-void __RPC_STUB IShellLibrary_Save_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT STDMETHODCALLTYPE IShellLibrary_SaveInKnownFolder_Proxy(
-    IShellLibrary* This,
-    REFKNOWNFOLDERID kfidToSaveIn,
-    LPCWSTR pszLibraryName,
-    LIBRARYSAVEFLAGS lsf,
-    IShellItem **ppsiSavedTo);
-void __RPC_STUB IShellLibrary_SaveInKnownFolder_Stub(
-    IRpcStubBuffer* This,
-    IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IShellLibrary_INTERFACE_DEFINED__ */
-
-
-DEFINE_GUID(LIBID_ShellObjects, 0x50a7e9b1, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
-
-/*****************************************************************************
- * ShellLibrary coclass
- */
-
-DEFINE_GUID(CLSID_ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97);
-
-#ifdef __cplusplus
-class DECLSPEC_UUID("d9b3211d-e57f-4426-aaef-30a806add397") ShellLibrary;
-#ifdef __CRT_UUID_DECL
-__CRT_UUID_DECL(ShellLibrary, 0xd9b3211d, 0xe57f, 0x4426, 0xaa,0xef, 0x30,0xa8,0x06,0xad,0xd3,0x97)
-#endif
-#endif
-
-#define SID_PublishingWizard CLSID_PublishingWizard
-  EXTERN_C const CLSID CLSID_QueryCancelAutoPlay;
-#ifdef __cplusplus
-  class QueryCancelAutoPlay;
-#endif
-  EXTERN_C const CLSID CLSID_DriveSizeCategorizer;
-#ifdef __cplusplus
-  class DriveSizeCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_DriveTypeCategorizer;
-#ifdef __cplusplus
-  class DriveTypeCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_FreeSpaceCategorizer;
-#ifdef __cplusplus
-  class FreeSpaceCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_TimeCategorizer;
-#ifdef __cplusplus
-  class TimeCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_SizeCategorizer;
-#ifdef __cplusplus
-  class SizeCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_AlphabeticalCategorizer;
-#ifdef __cplusplus
-  class AlphabeticalCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_MergedCategorizer;
-#ifdef __cplusplus
-  class MergedCategorizer;
-#endif
-  EXTERN_C const CLSID CLSID_ImageProperties;
-#ifdef __cplusplus
-  class ImageProperties;
-#endif
-  EXTERN_C const CLSID CLSID_PropertiesUI;
-#ifdef __cplusplus
-  class PropertiesUI;
-#endif
-  EXTERN_C const CLSID CLSID_UserNotification;
-#ifdef __cplusplus
-  class UserNotification;
-#endif
-  EXTERN_C const CLSID CLSID_UserEventTimerCallback;
-#ifdef __cplusplus
-  class UserEventTimerCallback;
-#endif
-  EXTERN_C const CLSID CLSID_UserEventTimer;
-#ifdef __cplusplus
-  class UserEventTimer;
-#endif
-  EXTERN_C const CLSID CLSID_NetCrawler;
-#ifdef __cplusplus
-  class NetCrawler;
-#endif
-  EXTERN_C const CLSID CLSID_CDBurn;
-#ifdef __cplusplus
-  class CDBurn;
-#endif
-  EXTERN_C const CLSID CLSID_TaskbarList;
-#ifdef __cplusplus
-  class TaskbarList;
-#endif
-  EXTERN_C const CLSID CLSID_ApplicationAssociationRegistrationUI;
-#ifdef __cplusplus
-  class ApplicationAssociationRegistrationUI;
-#endif
-  EXTERN_C const CLSID CLSID_WebWizardHost;
-#ifdef __cplusplus
-  class WebWizardHost;
-#endif
-  EXTERN_C const CLSID CLSID_PublishDropTarget;
-#ifdef __cplusplus
-  class PublishDropTarget;
-#endif
-  EXTERN_C const CLSID CLSID_PublishingWizard;
-#ifdef __cplusplus
-  class PublishingWizard;
-#endif
-  EXTERN_C const CLSID CLSID_InternetPrintOrdering;
-#ifdef __cplusplus
-  class InternetPrintOrdering;
-#endif
-  EXTERN_C const CLSID CLSID_FolderViewHost;
-#ifdef __cplusplus
-  class FolderViewHost;
-#endif
-  EXTERN_C const CLSID CLSID_NamespaceWalker;
-#ifdef __cplusplus
-  class NamespaceWalker;
-#endif
-  EXTERN_C const CLSID CLSID_ImageRecompress;
-#ifdef __cplusplus
-  class ImageRecompress;
-#endif
-  EXTERN_C const CLSID CLSID_TrayBandSiteService;
-#ifdef __cplusplus
-  class TrayBandSiteService;
-#endif
-  EXTERN_C const CLSID CLSID_PassportWizard;
-#ifdef __cplusplus
-  class PassportWizard;
-#endif
-DEFINE_GUID(CLSID_AttachmentServices, 0x4125dd96,0xe03a,0x4103,0x8f,0x70,0xe0,0x59,0x7d,0x80,0x3b,0x9c);
-#ifdef __cplusplus
-  class AttachmentServices;
-#endif
-
-/*****************************************************************************
- * ApplicationAssociationRegistration coclass
- */
-
-DEFINE_GUID(CLSID_ApplicationAssociationRegistration, 0x591209c7, 0x767b, 0x42b2, 0x9f,0xba, 0x44,0xee,0x46,0x15,0xf2,0xc7);
-
-/*****************************************************************************
- * ShellLink coclass
- */
-
-DEFINE_GUID(CLSID_ShellLink, 0x00021401, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
-
-/*****************************************************************************
- * TaskbarList coclass
- */
-
-DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
-
-/*****************************************************************************
- * ApplicationAssociationRegistrationUI coclass
- */
-
-DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1);
-
-/*****************************************************************************
- * DestinationList coclass
- */
-
-DEFINE_GUID(CLSID_DestinationList, 0x77f10cf0, 0x3db5, 0x4966, 0xb5,0x20, 0xb7,0xc5,0x4f,0xd3,0x5e,0xd6);
-
-/*****************************************************************************
- * EnumerableObjectCollection coclass
- */
-
-DEFINE_GUID(CLSID_EnumerableObjectCollection, 0x2d3468c1, 0x36a7, 0x43b6, 0xac,0x24, 0xd3,0xf0,0x2f,0xd9,0x60,0x7a);
-
-/*****************************************************************************
- * FileOpenDialog coclass
- */
-
-DEFINE_GUID(CLSID_FileOpenDialog, 0xdc1c5a9c, 0xe88a, 0x4dde, 0xa5,0xa1, 0x60,0xf8,0x2a,0x20,0xae,0xf7);
-
-/*****************************************************************************
- * FileSaveDialog coclass
- */
-
-DEFINE_GUID(CLSID_FileSaveDialog, 0xc0b4e2f3, 0xba21, 0x4773, 0x8d,0xba, 0x33,0x5e,0xc9,0x46,0xeb,0x8b);
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0263_v0_0_s_ifspec;
-
-  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
-  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
-  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
-  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
-  ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);
-  unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);
-  unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);
-  void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);
-  ULONG __RPC_API HGLOBAL_UserSize(ULONG *,ULONG,HGLOBAL *);
-  unsigned char *__RPC_API HGLOBAL_UserMarshal(ULONG *,unsigned char *,HGLOBAL *);
-  unsigned char *__RPC_API HGLOBAL_UserUnmarshal(ULONG *,unsigned char *,HGLOBAL *);
-  void __RPC_API HGLOBAL_UserFree(ULONG *,HGLOBAL *);
-  ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);
-  unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);
-  unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);
-  void __RPC_API HICON_UserFree(ULONG *,HICON *);
-  ULONG __RPC_API HMENU_UserSize(ULONG *,ULONG,HMENU *);
-  unsigned char *__RPC_API HMENU_UserMarshal(ULONG *,unsigned char *,HMENU *);
-  unsigned char *__RPC_API HMENU_UserUnmarshal(ULONG *,unsigned char *,HMENU *);
-  void __RPC_API HMENU_UserFree(ULONG *,HMENU *);
-  ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *);
-  unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *);
-  unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *);
-  void __RPC_API HWND_UserFree(ULONG *,HWND *);
-  ULONG __RPC_API LPCITEMIDLIST_UserSize(ULONG *,ULONG,LPCITEMIDLIST *);
-  unsigned char *__RPC_API LPCITEMIDLIST_UserMarshal(ULONG *,unsigned char *,LPCITEMIDLIST *);
-  unsigned char *__RPC_API LPCITEMIDLIST_UserUnmarshal(ULONG *,unsigned char *,LPCITEMIDLIST *);
-  void __RPC_API LPCITEMIDLIST_UserFree(ULONG *,LPCITEMIDLIST *);
-  ULONG __RPC_API LPITEMIDLIST_UserSize(ULONG *,ULONG,LPITEMIDLIST *);
-  unsigned char *__RPC_API LPITEMIDLIST_UserMarshal(ULONG *,unsigned char *,LPITEMIDLIST *);
-  unsigned char *__RPC_API LPITEMIDLIST_UserUnmarshal(ULONG *,unsigned char *,LPITEMIDLIST *);
-  void __RPC_API LPITEMIDLIST_UserFree(ULONG *,LPITEMIDLIST *);
-  ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *);
-  unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
-  unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
-  void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *);
-  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
-  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
-  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
-  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
-/* Begin additional prototypes for all interfaces */
-
-
-/* End additional prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __shobjidl_h__ */
diff --git a/debian/include/shtypes.h b/debian/include/shtypes.h
deleted file mode 100644
index d4a8e4d..0000000
--- a/debian/include/shtypes.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*** Autogenerated by WIDL 1.5.25 from include/shtypes.idl - Do not edit ***/
-
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 475
-#endif
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifndef __shtypes_h__
-#define __shtypes_h__
-
-/* Forward declarations */
-
-/* Headers for imported files */
-
-#include <wtypes.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <pshpack1.h>
-  typedef struct _SHITEMID {
-    USHORT cb;
-    BYTE abID[1 ];
-  } SHITEMID;
-
-#include <poppack.h>
-#if (defined(_X86_) && !defined(__x86_64))
-#undef __unaligned
-#define __unaligned
-#endif
-  typedef SHITEMID __unaligned *LPSHITEMID;
-
-  typedef const SHITEMID __unaligned *LPCSHITEMID;
-
-#include <pshpack1.h>
-  typedef struct _ITEMIDLIST {
-    SHITEMID mkid;
-  } ITEMIDLIST;
-
-  typedef ITEMIDLIST ITEMIDLIST_RELATIVE;
-  typedef ITEMIDLIST ITEMID_CHILD;
-  typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
-#include <poppack.h>
-
-  typedef BYTE_BLOB *wirePIDL;
-
-  typedef ITEMIDLIST __unaligned *LPITEMIDLIST;
-  typedef const ITEMIDLIST __unaligned *LPCITEMIDLIST;
-
-  typedef ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
-  typedef const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
-  typedef const ITEMIDLIST_ABSOLUTE __unaligned *PCUIDLIST_ABSOLUTE;
-  typedef ITEMIDLIST_RELATIVE *PIDLIST_RELATIVE;
-  typedef const ITEMIDLIST_RELATIVE *PCIDLIST_RELATIVE;
-  typedef ITEMIDLIST_RELATIVE __unaligned *PUIDLIST_RELATIVE;
-  typedef const ITEMIDLIST_RELATIVE __unaligned *PCUIDLIST_RELATIVE;
-  typedef ITEMID_CHILD *PITEMID_CHILD;
-  typedef const ITEMID_CHILD *PCITEMID_CHILD;
-  typedef ITEMID_CHILD __unaligned *PUITEMID_CHILD;
-  typedef const ITEMID_CHILD __unaligned *PCUITEMID_CHILD;
-
-  typedef const PCUITEMID_CHILD *PCUITEMID_CHILD_ARRAY;
-  typedef const PCUIDLIST_RELATIVE *PCUIDLIST_RELATIVE_ARRAY;
-  typedef const PCIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE_ARRAY;
-  typedef const PCUIDLIST_ABSOLUTE *PCUIDLIST_ABSOLUTE_ARRAY;
-
-#ifdef WINBASE_DEFINED_MIDL
-  typedef struct _WIN32_FIND_DATAA {
-    DWORD bData[80 ];
-  } WIN32_FIND_DATAA;
-
-  typedef struct _WIN32_FIND_DATAW {
-    DWORD bData[148 ];
-  } WIN32_FIND_DATAW;
-#endif
-
-  typedef enum tagSTRRET_TYPE {
-    STRRET_WSTR = 0,STRRET_OFFSET = 0x1,STRRET_CSTR = 0x2
-  } STRRET_TYPE;
-
-#include <pshpack8.h>
-  typedef struct _STRRET {
-    UINT uType;
-    __C89_NAMELESS union {
-      LPWSTR pOleStr;
-      UINT uOffset;
-      char cStr[260 ];
-    } DUMMYUNIONNAME;
-  } STRRET;
-
-#include <poppack.h>
-  typedef STRRET *LPSTRRET;
-
-#include <pshpack1.h>
-  typedef struct _SHELLDETAILS {
-    int fmt;
-    int cxChar;
-    STRRET str;
-  } SHELLDETAILS;
-
-  typedef struct _SHELLDETAILS *LPSHELLDETAILS;
-
-#include <poppack.h>
-
-  typedef struct _COMDLG_FILTERSPEC {
-    LPCWSTR pszName;
-    LPCWSTR pszSpec;
-  } COMDLG_FILTERSPEC;
-typedef GUID KNOWNFOLDERID;
-#if 0
-typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
-#elif defined(__cplusplus)
-#define REFKNOWNFOLDERID const KNOWNFOLDERID&
-#else
-#define REFKNOWNFOLDERID const KNOWNFOLDERID *
-#endif
-typedef GUID FOLDERTYPEID;
-#if 0
-typedef FOLDERTYPEID *REFFOLDERTYPEID;
-#elif defined(__cplusplus)
-#define REFFOLDERTYPEID const FOLDERTYPEID&
-#else
-#define REFFOLDERTYPEID const FOLDERTYPEID*
-#endif
-typedef enum tagSHCOLSTATE {
-    SHCOLSTATE_TYPE_STR = 0x1,
-    SHCOLSTATE_TYPE_INT = 0x2,
-    SHCOLSTATE_TYPE_DATE = 0x3,
-    SHCOLSTATE_TYPEMASK = 0xf,
-    SHCOLSTATE_ONBYDEFAULT = 0x10,
-    SHCOLSTATE_SLOW = 0x20,
-    SHCOLSTATE_EXTENDED = 0x40,
-    SHCOLSTATE_SECONDARYUI = 0x80,
-    SHCOLSTATE_HIDDEN = 0x100,
-    SHCOLSTATE_PREFER_VARCMP = 0x200
-} SHCOLSTATE;
-typedef DWORD SHCOLSTATEF;
-typedef PROPERTYKEY SHCOLUMNID;
-typedef const SHCOLUMNID *LPCSHCOLUMNID;
-  extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_v0_0_c_ifspec;
-  extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_v0_0_s_ifspec;
-/* Begin additional prototypes for all interfaces */
-
-
-/* End additional prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __shtypes_h__ */
diff --git a/debian/include/winapifamily.h b/debian/include/winapifamily.h
deleted file mode 100644
index b9c73c8..0000000
--- a/debian/include/winapifamily.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
-
-#ifndef _INC_WINAPIFAMILY
-#define _INC_WINAPIFAMILY
-
-#define WINAPI_PARTITION_DESKTOP 0x1
-#define WINAPI_PARTITION_APP     0x2    
-
-#define WINAPI_FAMILY_APP WINAPI_PARTITION_APP
-#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP \
-				   | WINAPI_PARTITION_APP)    
-
-#ifndef WINAPI_FAMILY
-#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
-#endif
-
-#define WINAPI_FAMILY_PARTITION(v) ((WINAPI_FAMILY & v) == v)
-#define WINAPI_FAMILY_ONE_PARTITION(vset, v) ((WINAPI_FAMILY & vset) == v)
-
-#endif 
diff --git a/debian/include/winuser.h b/debian/include/winuser.h
deleted file mode 100644
index b0f5b2b..0000000
--- a/debian/include/winuser.h
+++ /dev/null
@@ -1,5552 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
-#ifndef _WINUSER_
-#define _WINUSER_
-
-#include <_mingw_unicode.h>
-#include <apisetcconv.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINVER
-#define WINVER 0x0502
-#endif
-
-#include <_mingw.h>
-#include <stdarg.h>
-#include <guiddef.h>
-
-#ifndef NOUSER
-  typedef HANDLE HDWP;
-  typedef VOID MENUTEMPLATEA;
-  typedef VOID MENUTEMPLATEW;
-  typedef PVOID LPMENUTEMPLATEA;
-  typedef PVOID LPMENUTEMPLATEW;
-
-  __MINGW_TYPEDEF_AW(MENUTEMPLATE)
-  __MINGW_TYPEDEF_AW(LPMENUTEMPLATE)
-
-  typedef LRESULT (CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
-  typedef INT_PTR (CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
-  typedef VOID (CALLBACK *TIMERPROC)(HWND,UINT,UINT_PTR,DWORD);
-  typedef WINBOOL (CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
-  typedef WINBOOL (CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-  typedef LRESULT (CALLBACK *HOOKPROC)(int code,WPARAM wParam,LPARAM lParam);
-  typedef VOID (CALLBACK *SENDASYNCPROC)(HWND,UINT,ULONG_PTR,LRESULT);
-  typedef WINBOOL (CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
-  typedef WINBOOL (CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
-  typedef WINBOOL (CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,ULONG_PTR);
-  typedef WINBOOL (CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,ULONG_PTR);
-  typedef int (CALLBACK *EDITWORDBREAKPROCA)(LPSTR lpch,int ichCurrent,int cch,int code);
-  typedef int (CALLBACK *EDITWORDBREAKPROCW)(LPWSTR lpch,int ichCurrent,int cch,int code);
-  typedef WINBOOL (CALLBACK *DRAWSTATEPROC)(HDC hdc,LPARAM lData,WPARAM wData,int cx,int cy);
-
-  __MINGW_TYPEDEF_AW(PROPENUMPROC)
-  __MINGW_TYPEDEF_AW(PROPENUMPROCEX)
-  __MINGW_TYPEDEF_AW(EDITWORDBREAKPROC)
-
-  typedef WINBOOL (CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
-  typedef WINBOOL (CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
-  typedef NAMEENUMPROCA WINSTAENUMPROCA;
-  typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-  typedef NAMEENUMPROCW WINSTAENUMPROCW;
-  typedef NAMEENUMPROCW DESKTOPENUMPROCW;
-
-  __MINGW_TYPEDEF_AW(WINSTAENUMPROC)
-  __MINGW_TYPEDEF_AW(DESKTOPENUMPROC)
-
-#define IS_INTRESOURCE(_r) ((((ULONG_PTR)(_r)) >> 16)==0)
-#define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i))))
-#define MAKEINTRESOURCEW(i) ((LPWSTR)((ULONG_PTR)((WORD)(i))))
-#define MAKEINTRESOURCE __MINGW_NAME_AW(MAKEINTRESOURCE)
-
-#ifndef NORESOURCE
-
-#define RT_CURSOR MAKEINTRESOURCE(1)
-#define RT_BITMAP MAKEINTRESOURCE(2)
-#define RT_ICON MAKEINTRESOURCE(3)
-#define RT_MENU MAKEINTRESOURCE(4)
-#define RT_DIALOG MAKEINTRESOURCE(5)
-#define RT_STRING MAKEINTRESOURCE(6)
-#define RT_FONTDIR MAKEINTRESOURCE(7)
-#define RT_FONT MAKEINTRESOURCE(8)
-#define RT_ACCELERATOR MAKEINTRESOURCE(9)
-#define RT_RCDATA MAKEINTRESOURCE(10)
-#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
-
-#define DIFFERENCE 11
-#define RT_GROUP_CURSOR MAKEINTRESOURCE((ULONG_PTR)RT_CURSOR + DIFFERENCE)
-#define RT_GROUP_ICON MAKEINTRESOURCE((ULONG_PTR)RT_ICON + DIFFERENCE)
-#define RT_VERSION MAKEINTRESOURCE(16)
-#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
-#define RT_PLUGPLAY MAKEINTRESOURCE(19)
-#define RT_VXD MAKEINTRESOURCE(20)
-#define RT_ANICURSOR MAKEINTRESOURCE(21)
-#define RT_ANIICON MAKEINTRESOURCE(22)
-#define RT_HTML MAKEINTRESOURCE(23)
-#ifdef RC_INVOKED
-#define RT_MANIFEST 24
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
-#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID 1
-#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID 16
-#else
-#define RT_MANIFEST MAKEINTRESOURCE(24)
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1)
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
-#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1)
-#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16)
-#endif
-#endif
-
-#define wvsprintf __MINGW_NAME_AW(wvsprintf)
-#define wsprintf __MINGW_NAME_AW(wsprintf)
-
-  WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
-  WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-  WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
-  WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
-
-#define SETWALLPAPER_DEFAULT ((LPWSTR)-1)
-
-#ifndef NOSCROLL
-#define SB_HORZ 0
-#define SB_VERT 1
-#define SB_CTL 2
-#define SB_BOTH 3
-
-#define SB_LINEUP 0
-#define SB_LINELEFT 0
-#define SB_LINEDOWN 1
-#define SB_LINERIGHT 1
-#define SB_PAGEUP 2
-#define SB_PAGELEFT 2
-#define SB_PAGEDOWN 3
-#define SB_PAGERIGHT 3
-#define SB_THUMBPOSITION 4
-#define SB_THUMBTRACK 5
-#define SB_TOP 6
-#define SB_LEFT 6
-#define SB_BOTTOM 7
-#define SB_RIGHT 7
-#define SB_ENDSCROLL 8
-#endif
-
-#ifndef NOSHOWWINDOW
-#define SW_HIDE 0
-#define SW_SHOWNORMAL 1
-#define SW_NORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_SHOWMAXIMIZED 3
-#define SW_MAXIMIZE 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_FORCEMINIMIZE 11
-#define SW_MAX 11
-
-#define HIDE_WINDOW 0
-#define SHOW_OPENWINDOW 1
-#define SHOW_ICONWINDOW 2
-#define SHOW_FULLSCREEN 3
-#define SHOW_OPENNOACTIVATE 4
-
-#define SW_PARENTCLOSING 1
-#define SW_OTHERZOOM 2
-#define SW_PARENTOPENING 3
-#define SW_OTHERUNZOOM 4
-#endif
-
-#define AW_HOR_POSITIVE 0x00000001
-#define AW_HOR_NEGATIVE 0x00000002
-#define AW_VER_POSITIVE 0x00000004
-#define AW_VER_NEGATIVE 0x00000008
-#define AW_CENTER 0x00000010
-#define AW_HIDE 0x00010000
-#define AW_ACTIVATE 0x00020000
-#define AW_SLIDE 0x00040000
-#define AW_BLEND 0x00080000
-
-#define KF_EXTENDED 0x0100
-#define KF_DLGMODE 0x0800
-#define KF_MENUMODE 0x1000
-#define KF_ALTDOWN 0x2000
-#define KF_REPEAT 0x4000
-#define KF_UP 0x8000
-
-#ifndef NOVIRTUALKEYCODES
-
-#define VK_LBUTTON 0x01
-#define VK_RBUTTON 0x02
-#define VK_CANCEL 0x03
-#define VK_MBUTTON 0x04
-#define VK_XBUTTON1 0x05
-#define VK_XBUTTON2 0x06
-#define VK_BACK 0x08
-#define VK_TAB 0x09
-#define VK_CLEAR 0x0C
-#define VK_RETURN 0x0D
-#define VK_SHIFT 0x10
-#define VK_CONTROL 0x11
-#define VK_MENU 0x12
-#define VK_PAUSE 0x13
-#define VK_CAPITAL 0x14
-#define VK_KANA 0x15
-#define VK_HANGEUL 0x15
-#define VK_HANGUL 0x15
-#define VK_JUNJA 0x17
-#define VK_FINAL 0x18
-#define VK_HANJA 0x19
-#define VK_KANJI 0x19
-#define VK_ESCAPE 0x1B
-#define VK_CONVERT 0x1C
-#define VK_NONCONVERT 0x1D
-#define VK_ACCEPT 0x1E
-#define VK_MODECHANGE 0x1F
-#define VK_SPACE 0x20
-#define VK_PRIOR 0x21
-#define VK_NEXT 0x22
-#define VK_END 0x23
-#define VK_HOME 0x24
-#define VK_LEFT 0x25
-#define VK_UP 0x26
-#define VK_RIGHT 0x27
-#define VK_DOWN 0x28
-#define VK_SELECT 0x29
-#define VK_PRINT 0x2A
-#define VK_EXECUTE 0x2B
-#define VK_SNAPSHOT 0x2C
-#define VK_INSERT 0x2D
-#define VK_DELETE 0x2E
-#define VK_HELP 0x2F
-
-#define VK_LWIN 0x5B
-#define VK_RWIN 0x5C
-#define VK_APPS 0x5D
-#define VK_SLEEP 0x5F
-#define VK_NUMPAD0 0x60
-#define VK_NUMPAD1 0x61
-#define VK_NUMPAD2 0x62
-#define VK_NUMPAD3 0x63
-#define VK_NUMPAD4 0x64
-#define VK_NUMPAD5 0x65
-#define VK_NUMPAD6 0x66
-#define VK_NUMPAD7 0x67
-#define VK_NUMPAD8 0x68
-#define VK_NUMPAD9 0x69
-#define VK_MULTIPLY 0x6A
-#define VK_ADD 0x6B
-#define VK_SEPARATOR 0x6C
-#define VK_SUBTRACT 0x6D
-#define VK_DECIMAL 0x6E
-#define VK_DIVIDE 0x6F
-#define VK_F1 0x70
-#define VK_F2 0x71
-#define VK_F3 0x72
-#define VK_F4 0x73
-#define VK_F5 0x74
-#define VK_F6 0x75
-#define VK_F7 0x76
-#define VK_F8 0x77
-#define VK_F9 0x78
-#define VK_F10 0x79
-#define VK_F11 0x7A
-#define VK_F12 0x7B
-#define VK_F13 0x7C
-#define VK_F14 0x7D
-#define VK_F15 0x7E
-#define VK_F16 0x7F
-#define VK_F17 0x80
-#define VK_F18 0x81
-#define VK_F19 0x82
-#define VK_F20 0x83
-#define VK_F21 0x84
-#define VK_F22 0x85
-#define VK_F23 0x86
-#define VK_F24 0x87
-#define VK_NUMLOCK 0x90
-#define VK_SCROLL 0x91
-#define VK_OEM_NEC_EQUAL 0x92
-#define VK_OEM_FJ_JISHO 0x92
-#define VK_OEM_FJ_MASSHOU 0x93
-#define VK_OEM_FJ_TOUROKU 0x94
-#define VK_OEM_FJ_LOYA 0x95
-#define VK_OEM_FJ_ROYA 0x96
-#define VK_LSHIFT 0xA0
-#define VK_RSHIFT 0xA1
-#define VK_LCONTROL 0xA2
-#define VK_RCONTROL 0xA3
-#define VK_LMENU 0xA4
-#define VK_RMENU 0xA5
-#define VK_BROWSER_BACK 0xA6
-#define VK_BROWSER_FORWARD 0xA7
-#define VK_BROWSER_REFRESH 0xA8
-#define VK_BROWSER_STOP 0xA9
-#define VK_BROWSER_SEARCH 0xAA
-#define VK_BROWSER_FAVORITES 0xAB
-#define VK_BROWSER_HOME 0xAC
-#define VK_VOLUME_MUTE 0xAD
-#define VK_VOLUME_DOWN 0xAE
-#define VK_VOLUME_UP 0xAF
-#define VK_MEDIA_NEXT_TRACK 0xB0
-#define VK_MEDIA_PREV_TRACK 0xB1
-#define VK_MEDIA_STOP 0xB2
-#define VK_MEDIA_PLAY_PAUSE 0xB3
-#define VK_LAUNCH_MAIL 0xB4
-#define VK_LAUNCH_MEDIA_SELECT 0xB5
-#define VK_LAUNCH_APP1 0xB6
-#define VK_LAUNCH_APP2 0xB7
-#define VK_OEM_1 0xBA
-#define VK_OEM_PLUS 0xBB
-#define VK_OEM_COMMA 0xBC
-#define VK_OEM_MINUS 0xBD
-#define VK_OEM_PERIOD 0xBE
-#define VK_OEM_2 0xBF
-#define VK_OEM_3 0xC0
-#define VK_OEM_4 0xDB
-#define VK_OEM_5 0xDC
-#define VK_OEM_6 0xDD
-#define VK_OEM_7 0xDE
-#define VK_OEM_8 0xDF
-#define VK_OEM_AX 0xE1
-#define VK_OEM_102 0xE2
-#define VK_ICO_HELP 0xE3
-#define VK_ICO_00 0xE4
-#define VK_PROCESSKEY 0xE5
-#define VK_ICO_CLEAR 0xE6
-#define VK_PACKET 0xE7
-#define VK_OEM_RESET 0xE9
-#define VK_OEM_JUMP 0xEA
-#define VK_OEM_PA1 0xEB
-#define VK_OEM_PA2 0xEC
-#define VK_OEM_PA3 0xED
-#define VK_OEM_WSCTRL 0xEE
-#define VK_OEM_CUSEL 0xEF
-#define VK_OEM_ATTN 0xF0
-#define VK_OEM_FINISH 0xF1
-#define VK_OEM_COPY 0xF2
-#define VK_OEM_AUTO 0xF3
-#define VK_OEM_ENLW 0xF4
-#define VK_OEM_BACKTAB 0xF5
-#define VK_ATTN 0xF6
-#define VK_CRSEL 0xF7
-#define VK_EXSEL 0xF8
-#define VK_EREOF 0xF9
-#define VK_PLAY 0xFA
-#define VK_ZOOM 0xFB
-#define VK_NONAME 0xFC
-#define VK_PA1 0xFD
-#define VK_OEM_CLEAR 0xFE
-#endif
-
-#ifndef NOWH
-
-#define WH_MIN (-1)
-#define WH_MSGFILTER (-1)
-#define WH_JOURNALRECORD 0
-#define WH_JOURNALPLAYBACK 1
-#define WH_KEYBOARD 2
-#define WH_GETMESSAGE 3
-#define WH_CALLWNDPROC 4
-#define WH_CBT 5
-#define WH_SYSMSGFILTER 6
-#define WH_MOUSE 7
-#define WH_HARDWARE 8
-#define WH_DEBUG 9
-#define WH_SHELL 10
-#define WH_FOREGROUNDIDLE 11
-#define WH_CALLWNDPROCRET 12
-
-#define WH_KEYBOARD_LL 13
-#define WH_MOUSE_LL 14
-
-#define WH_MAX 14
-
-#define WH_MINHOOK WH_MIN
-#define WH_MAXHOOK WH_MAX
-
-#define HC_ACTION 0
-#define HC_GETNEXT 1
-#define HC_SKIP 2
-#define HC_NOREMOVE 3
-#define HC_NOREM HC_NOREMOVE
-#define HC_SYSMODALON 4
-#define HC_SYSMODALOFF 5
-
-#define HCBT_MOVESIZE 0
-#define HCBT_MINMAX 1
-#define HCBT_QS 2
-#define HCBT_CREATEWND 3
-#define HCBT_DESTROYWND 4
-#define HCBT_ACTIVATE 5
-#define HCBT_CLICKSKIPPED 6
-#define HCBT_KEYSKIPPED 7
-#define HCBT_SYSCOMMAND 8
-#define HCBT_SETFOCUS 9
-
-  typedef struct tagCBT_CREATEWNDA {
-    struct tagCREATESTRUCTA *lpcs;
-    HWND hwndInsertAfter;
-  } CBT_CREATEWNDA,*LPCBT_CREATEWNDA;
-
-  typedef struct tagCBT_CREATEWNDW {
-    struct tagCREATESTRUCTW *lpcs;
-    HWND hwndInsertAfter;
-  } CBT_CREATEWNDW,*LPCBT_CREATEWNDW;
-
-  __MINGW_TYPEDEF_AW(CBT_CREATEWND)
-  __MINGW_TYPEDEF_AW(LPCBT_CREATEWND)
-
-  typedef struct tagCBTACTIVATESTRUCT
-  {
-    WINBOOL fMouse;
-    HWND hWndActive;
-  } CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
-
-  typedef struct tagWTSSESSION_NOTIFICATION {
-    DWORD cbSize;
-    DWORD dwSessionId;
-
-  } WTSSESSION_NOTIFICATION,*PWTSSESSION_NOTIFICATION;
-
-#define WTS_CONSOLE_CONNECT 0x1
-#define WTS_CONSOLE_DISCONNECT 0x2
-#define WTS_REMOTE_CONNECT 0x3
-#define WTS_REMOTE_DISCONNECT 0x4
-#define WTS_SESSION_LOGON 0x5
-#define WTS_SESSION_LOGOFF 0x6
-#define WTS_SESSION_LOCK 0x7
-#define WTS_SESSION_UNLOCK 0x8
-#define WTS_SESSION_REMOTE_CONTROL 0x9
-
-#define MSGF_DIALOGBOX 0
-#define MSGF_MESSAGEBOX 1
-#define MSGF_MENU 2
-#define MSGF_SCROLLBAR 5
-#define MSGF_NEXTWINDOW 6
-#define MSGF_MAX 8
-#define MSGF_USER 4096
-
-#define HSHELL_WINDOWCREATED 1
-#define HSHELL_WINDOWDESTROYED 2
-#define HSHELL_ACTIVATESHELLWINDOW 3
-
-#define HSHELL_WINDOWACTIVATED 4
-#define HSHELL_GETMINRECT 5
-#define HSHELL_REDRAW 6
-#define HSHELL_TASKMAN 7
-#define HSHELL_LANGUAGE 8
-#define HSHELL_SYSMENU 9
-#define HSHELL_ENDTASK 10
-#define HSHELL_ACCESSIBILITYSTATE 11
-#define HSHELL_APPCOMMAND 12
-#define HSHELL_WINDOWREPLACED 13
-#define HSHELL_WINDOWREPLACING 14
-#define HSHELL_HIGHBIT 0x8000
-#define HSHELL_FLASH (HSHELL_REDRAW|HSHELL_HIGHBIT)
-#define HSHELL_RUDEAPPACTIVATED (HSHELL_WINDOWACTIVATED|HSHELL_HIGHBIT)
-
-#define ACCESS_STICKYKEYS 0x0001
-#define ACCESS_FILTERKEYS 0x0002
-#define ACCESS_MOUSEKEYS 0x0003
-
-#define APPCOMMAND_BROWSER_BACKWARD 1
-#define APPCOMMAND_BROWSER_FORWARD 2
-#define APPCOMMAND_BROWSER_REFRESH 3
-#define APPCOMMAND_BROWSER_STOP 4
-#define APPCOMMAND_BROWSER_SEARCH 5
-#define APPCOMMAND_BROWSER_FAVORITES 6
-#define APPCOMMAND_BROWSER_HOME 7
-#define APPCOMMAND_VOLUME_MUTE 8
-#define APPCOMMAND_VOLUME_DOWN 9
-#define APPCOMMAND_VOLUME_UP 10
-#define APPCOMMAND_MEDIA_NEXTTRACK 11
-#define APPCOMMAND_MEDIA_PREVIOUSTRACK 12
-#define APPCOMMAND_MEDIA_STOP 13
-#define APPCOMMAND_MEDIA_PLAY_PAUSE 14
-#define APPCOMMAND_LAUNCH_MAIL 15
-#define APPCOMMAND_LAUNCH_MEDIA_SELECT 16
-#define APPCOMMAND_LAUNCH_APP1 17
-#define APPCOMMAND_LAUNCH_APP2 18
-#define APPCOMMAND_BASS_DOWN 19
-#define APPCOMMAND_BASS_BOOST 20
-#define APPCOMMAND_BASS_UP 21
-#define APPCOMMAND_TREBLE_DOWN 22
-#define APPCOMMAND_TREBLE_UP 23
-#define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24
-#define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25
-#define APPCOMMAND_MICROPHONE_VOLUME_UP 26
-#define APPCOMMAND_HELP 27
-#define APPCOMMAND_FIND 28
-#define APPCOMMAND_NEW 29
-#define APPCOMMAND_OPEN 30
-#define APPCOMMAND_CLOSE 31
-#define APPCOMMAND_SAVE 32
-#define APPCOMMAND_PRINT 33
-#define APPCOMMAND_UNDO 34
-#define APPCOMMAND_REDO 35
-#define APPCOMMAND_COPY 36
-#define APPCOMMAND_CUT 37
-#define APPCOMMAND_PASTE 38
-#define APPCOMMAND_REPLY_TO_MAIL 39
-#define APPCOMMAND_FORWARD_MAIL 40
-#define APPCOMMAND_SEND_MAIL 41
-#define APPCOMMAND_SPELL_CHECK 42
-#define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43
-#define APPCOMMAND_MIC_ON_OFF_TOGGLE 44
-#define APPCOMMAND_CORRECTION_LIST 45
-#define APPCOMMAND_MEDIA_PLAY 46
-#define APPCOMMAND_MEDIA_PAUSE 47
-#define APPCOMMAND_MEDIA_RECORD 48
-#define APPCOMMAND_MEDIA_FAST_FORWARD 49
-#define APPCOMMAND_MEDIA_REWIND 50
-#define APPCOMMAND_MEDIA_CHANNEL_UP 51
-#define APPCOMMAND_MEDIA_CHANNEL_DOWN 52
-
-#define FAPPCOMMAND_MOUSE 0x8000
-#define FAPPCOMMAND_KEY 0
-#define FAPPCOMMAND_OEM 0x1000
-#define FAPPCOMMAND_MASK 0xF000
-
-#define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK))
-#define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK))
-#define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM
-#define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam))
-#define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam)
-
-  typedef struct {
-    HWND hwnd;
-    RECT rc;
-  } SHELLHOOKINFO,*LPSHELLHOOKINFO;
-
-  typedef struct tagEVENTMSG {
-    UINT message;
-    UINT paramL;
-    UINT paramH;
-    DWORD time;
-    HWND hwnd;
-  } EVENTMSG,*PEVENTMSGMSG,*NPEVENTMSGMSG,*LPEVENTMSGMSG;
-
-  typedef struct tagEVENTMSG *PEVENTMSG,*NPEVENTMSG,*LPEVENTMSG;
-
-  typedef struct tagCWPSTRUCT {
-    LPARAM lParam;
-    WPARAM wParam;
-    UINT message;
-    HWND hwnd;
-  } CWPSTRUCT,*PCWPSTRUCT,*NPCWPSTRUCT,*LPCWPSTRUCT;
-
-  typedef struct tagCWPRETSTRUCT {
-    LRESULT lResult;
-    LPARAM lParam;
-    WPARAM wParam;
-    UINT message;
-    HWND hwnd;
-  } CWPRETSTRUCT,*PCWPRETSTRUCT,*NPCWPRETSTRUCT,*LPCWPRETSTRUCT;
-
-#define LLKHF_EXTENDED (KF_EXTENDED >> 8)
-#define LLKHF_INJECTED 0x00000010
-#define LLKHF_ALTDOWN (KF_ALTDOWN >> 8)
-#define LLKHF_UP (KF_UP >> 8)
-
-#define LLMHF_INJECTED 0x00000001
-
-  typedef struct tagKBDLLHOOKSTRUCT {
-    DWORD vkCode;
-    DWORD scanCode;
-    DWORD flags;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-  } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
-
-  typedef struct tagMSLLHOOKSTRUCT {
-    POINT pt;
-    DWORD mouseData;
-    DWORD flags;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-  } MSLLHOOKSTRUCT,*LPMSLLHOOKSTRUCT,*PMSLLHOOKSTRUCT;
-
-  typedef struct tagDEBUGHOOKINFO {
-    DWORD idThread;
-    DWORD idThreadInstaller;
-    LPARAM lParam;
-    WPARAM wParam;
-    int code;
-  } DEBUGHOOKINFO,*PDEBUGHOOKINFO,*NPDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
-
-  typedef struct tagMOUSEHOOKSTRUCT {
-    POINT pt;
-    HWND hwnd;
-    UINT wHitTestCode;
-    ULONG_PTR dwExtraInfo;
-  } MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
-
-#ifdef __cplusplus
-  typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT {
-    DWORD mouseData;
-  } MOUSEHOOKSTRUCTEX,*LPMOUSEHOOKSTRUCTEX,*PMOUSEHOOKSTRUCTEX;
-#else
-  typedef struct tagMOUSEHOOKSTRUCTEX {
-    MOUSEHOOKSTRUCT _unnamed;
-    DWORD mouseData;
-  } MOUSEHOOKSTRUCTEX,*LPMOUSEHOOKSTRUCTEX,*PMOUSEHOOKSTRUCTEX;
-#endif
-
-  typedef struct tagHARDWAREHOOKSTRUCT {
-    HWND hwnd;
-    UINT message;
-    WPARAM wParam;
-    LPARAM lParam;
-  } HARDWAREHOOKSTRUCT,*LPHARDWAREHOOKSTRUCT,*PHARDWAREHOOKSTRUCT;
-#endif
-
-#define HKL_PREV 0
-#define HKL_NEXT 1
-
-#define KLF_ACTIVATE 0x00000001
-#define KLF_SUBSTITUTE_OK 0x00000002
-#define KLF_REORDER 0x00000008
-#define KLF_REPLACELANG 0x00000010
-#define KLF_NOTELLSHELL 0x00000080
-#define KLF_SETFORPROCESS 0x00000100
-#define KLF_SHIFTLOCK 0x00010000
-#define KLF_RESET 0x40000000
-
-#define INPUTLANGCHANGE_SYSCHARSET 0x0001
-#define INPUTLANGCHANGE_FORWARD 0x0002
-#define INPUTLANGCHANGE_BACKWARD 0x0004
-
-#define KL_NAMELENGTH 9
-
-#define LoadKeyboardLayout __MINGW_NAME_AW(LoadKeyboardLayout)
-#define GetKeyboardLayoutName __MINGW_NAME_AW(GetKeyboardLayoutName)
-
-  WINUSERAPI HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID,UINT Flags);
-  WINUSERAPI HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID,UINT Flags);
-  WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL hkl,UINT Flags);
-  WINUSERAPI int WINAPI ToUnicodeEx(UINT wVirtKey,UINT wScanCode,CONST BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags,HKL dwhkl);
-  WINUSERAPI WINBOOL WINAPI UnloadKeyboardLayout(HKL hkl);
-  WINUSERAPI WINBOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID);
-  WINUSERAPI WINBOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID);
-  WINUSERAPI int WINAPI GetKeyboardLayoutList(int nBuff,HKL *lpList);
-  WINUSERAPI HKL WINAPI GetKeyboardLayout(DWORD idThread);
-
-  typedef struct tagMOUSEMOVEPOINT {
-    int x;
-    int y;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-  } MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
-
-#define GMMP_USE_DISPLAY_POINTS 1
-#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
-
-  WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT cbSize,LPMOUSEMOVEPOINT lppt,LPMOUSEMOVEPOINT lpptBuf,int nBufPoints,DWORD resolution);
-
-#ifndef NODESKTOP
-
-#define DESKTOP_READOBJECTS __MSABI_LONG(0x0001)
-#define DESKTOP_CREATEWINDOW __MSABI_LONG(0x0002)
-#define DESKTOP_CREATEMENU __MSABI_LONG(0x0004)
-#define DESKTOP_HOOKCONTROL __MSABI_LONG(0x0008)
-#define DESKTOP_JOURNALRECORD __MSABI_LONG(0x0010)
-#define DESKTOP_JOURNALPLAYBACK __MSABI_LONG(0x0020)
-#define DESKTOP_ENUMERATE __MSABI_LONG(0x0040)
-#define DESKTOP_WRITEOBJECTS __MSABI_LONG(0x0080)
-#define DESKTOP_SWITCHDESKTOP __MSABI_LONG(0x0100)
-
-#define DF_ALLOWOTHERACCOUNTHOOK __MSABI_LONG(0x0001)
-
-#ifdef _WINGDI_
-#ifndef NOGDI
-#define CreateDesktop __MINGW_NAME_AW(CreateDesktop)
-
-  WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR lpszDesktop,LPCSTR lpszDevice,LPDEVMODEA pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
-  WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR lpszDesktop,LPCWSTR lpszDevice,LPDEVMODEW pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
-#endif
-#endif
-
-#define OpenDesktop __MINGW_NAME_AW(OpenDesktop)
-#define EnumDesktops __MINGW_NAME_AW(EnumDesktops)
-
-  WINUSERAPI HDESK WINAPI OpenDesktopA(LPCSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
-  WINUSERAPI HDESK WINAPI OpenDesktopW(LPCWSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
-  WINUSERAPI HDESK WINAPI OpenInputDesktop(DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
-  WINUSERAPI WINBOOL WINAPI EnumDesktopsA(HWINSTA hwinsta,DESKTOPENUMPROCA lpEnumFunc,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI EnumDesktopsW(HWINSTA hwinsta,DESKTOPENUMPROCW lpEnumFunc,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI EnumDesktopWindows(HDESK hDesktop,WNDENUMPROC lpfn,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI SwitchDesktop(HDESK hDesktop);
-  WINUSERAPI WINBOOL WINAPI SetThreadDesktop(HDESK hDesktop);
-  WINUSERAPI WINBOOL WINAPI CloseDesktop(HDESK hDesktop);
-  WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD dwThreadId);
-#endif
-
-#ifndef NOWINDOWSTATION
-#define WINSTA_ENUMDESKTOPS __MSABI_LONG(0x0001)
-#define WINSTA_READATTRIBUTES __MSABI_LONG(0x0002)
-#define WINSTA_ACCESSCLIPBOARD __MSABI_LONG(0x0004)
-#define WINSTA_CREATEDESKTOP __MSABI_LONG(0x0008)
-#define WINSTA_WRITEATTRIBUTES __MSABI_LONG(0x0010)
-#define WINSTA_ACCESSGLOBALATOMS __MSABI_LONG(0x0020)
-#define WINSTA_EXITWINDOWS __MSABI_LONG(0x0040)
-#define WINSTA_ENUMERATE __MSABI_LONG(0x0100)
-#define WINSTA_READSCREEN __MSABI_LONG(0x0200)
-#define WINSTA_ALL_ACCESS (WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES | WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | WINSTA_ENUMERATE | WINSTA_READSCREEN)
-
-#define CWF_CREATE_ONLY __MSABI_LONG(0x0001)
-
-#define WSF_VISIBLE __MSABI_LONG(0x0001)
-
-#define CreateWindowStation __MINGW_NAME_AW(CreateWindowStation)
-#define OpenWindowStation __MINGW_NAME_AW(OpenWindowStation)
-#define EnumWindowStations __MINGW_NAME_AW(EnumWindowStations)
-
-  WINUSERAPI HWINSTA WINAPI CreateWindowStationA(LPCSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
-  WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPCWSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
-  WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPCSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
-  WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPCWSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
-  WINUSERAPI WINBOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI CloseWindowStation(HWINSTA hWinSta);
-  WINUSERAPI WINBOOL WINAPI SetProcessWindowStation(HWINSTA hWinSta);
-  WINUSERAPI HWINSTA WINAPI GetProcessWindowStation(VOID);
-#endif
-
-#ifndef NOSECURITY
-  WINUSERAPI WINBOOL WINAPI SetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID);
-  WINUSERAPI WINBOOL WINAPI GetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID,DWORD nLength,LPDWORD lpnLengthNeeded);
-
-#define UOI_FLAGS 1
-#define UOI_NAME 2
-#define UOI_TYPE 3
-#define UOI_USER_SID 4
-
-  typedef struct tagUSEROBJECTFLAGS {
-    WINBOOL fInherit;
-    WINBOOL fReserved;
-    DWORD dwFlags;
-  } USEROBJECTFLAGS,*PUSEROBJECTFLAGS;
-
-#define GetUserObjectInformation __MINGW_NAME_AW(GetUserObjectInformation)
-#define SetUserObjectInformation __MINGW_NAME_AW(SetUserObjectInformation)
-
-  WINUSERAPI WINBOOL WINAPI GetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded);
-  WINUSERAPI WINBOOL WINAPI GetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded);
-  WINUSERAPI WINBOOL WINAPI SetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength);
-  WINUSERAPI WINBOOL WINAPI SetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength);
-#endif
-
-  typedef struct tagWNDCLASSEXA {
-    UINT cbSize;
-    UINT style;
-    WNDPROC lpfnWndProc;
-    int cbClsExtra;
-    int cbWndExtra;
-    HINSTANCE hInstance;
-    HICON hIcon;
-    HCURSOR hCursor;
-    HBRUSH hbrBackground;
-    LPCSTR lpszMenuName;
-    LPCSTR lpszClassName;
-    HICON hIconSm;
-  } WNDCLASSEXA,*PWNDCLASSEXA,*NPWNDCLASSEXA,*LPWNDCLASSEXA;
-
-  typedef struct tagWNDCLASSEXW {
-    UINT cbSize;
-    UINT style;
-    WNDPROC lpfnWndProc;
-    int cbClsExtra;
-    int cbWndExtra;
-    HINSTANCE hInstance;
-    HICON hIcon;
-    HCURSOR hCursor;
-    HBRUSH hbrBackground;
-    LPCWSTR lpszMenuName;
-    LPCWSTR lpszClassName;
-
-    HICON hIconSm;
-  } WNDCLASSEXW,*PWNDCLASSEXW,*NPWNDCLASSEXW,*LPWNDCLASSEXW;
-
-  __MINGW_TYPEDEF_AW(WNDCLASSEX)
-  __MINGW_TYPEDEF_AW(PWNDCLASSEX)
-  __MINGW_TYPEDEF_AW(NPWNDCLASSEX)
-  __MINGW_TYPEDEF_AW(LPWNDCLASSEX)
-
-  typedef struct tagWNDCLASSA {
-    UINT style;
-    WNDPROC lpfnWndProc;
-    int cbClsExtra;
-    int cbWndExtra;
-    HINSTANCE hInstance;
-    HICON hIcon;
-    HCURSOR hCursor;
-    HBRUSH hbrBackground;
-    LPCSTR lpszMenuName;
-    LPCSTR lpszClassName;
-  } WNDCLASSA,*PWNDCLASSA,*NPWNDCLASSA,*LPWNDCLASSA;
-
-  typedef struct tagWNDCLASSW {
-    UINT style;
-    WNDPROC lpfnWndProc;
-    int cbClsExtra;
-    int cbWndExtra;
-    HINSTANCE hInstance;
-    HICON hIcon;
-    HCURSOR hCursor;
-    HBRUSH hbrBackground;
-    LPCWSTR lpszMenuName;
-    LPCWSTR lpszClassName;
-  } WNDCLASSW,*PWNDCLASSW,*NPWNDCLASSW,*LPWNDCLASSW;
-
-  __MINGW_TYPEDEF_AW(WNDCLASS)
-  __MINGW_TYPEDEF_AW(PWNDCLASS)
-  __MINGW_TYPEDEF_AW(NPWNDCLASS)
-  __MINGW_TYPEDEF_AW(LPWNDCLASS)
-
-  WINUSERAPI WINBOOL WINAPI IsHungAppWindow(HWND hwnd);
-  WINUSERAPI VOID WINAPI DisableProcessWindowsGhosting(VOID);
-
-#ifndef NOMSG
-  typedef struct tagMSG {
-    HWND hwnd;
-    UINT message;
-    WPARAM wParam;
-    LPARAM lParam;
-    DWORD time;
-    POINT pt;
-  } MSG,*PMSG,*NPMSG,*LPMSG;
-
-#define POINTSTOPOINT(pt,pts) { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }
-
-#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x),(short)((pt).y)))
-#define MAKEWPARAM(l,h) ((WPARAM)(DWORD)MAKELONG(l,h))
-#define MAKELPARAM(l,h) ((LPARAM)(DWORD)MAKELONG(l,h))
-#define MAKELRESULT(l,h) ((LRESULT)(DWORD)MAKELONG(l,h))
-#endif
-
-#ifndef NOWINOFFSETS
-#define GWL_WNDPROC (-4)
-#define GWL_HINSTANCE (-6)
-#define GWL_HWNDPARENT (-8)
-#define GWL_STYLE (-16)
-#define GWL_EXSTYLE (-20)
-#define GWL_USERDATA (-21)
-#define GWL_ID (-12)
-
-#ifdef _WIN64
-#undef GWL_WNDPROC
-#undef GWL_HINSTANCE
-#undef GWL_HWNDPARENT
-#undef GWL_USERDATA
-#endif
-
-#define GWLP_WNDPROC (-4)
-#define GWLP_HINSTANCE (-6)
-#define GWLP_HWNDPARENT (-8)
-#define GWLP_USERDATA (-21)
-#define GWLP_ID (-12)
-
-#define GCL_MENUNAME (-8)
-#define GCL_HBRBACKGROUND (-10)
-#define GCL_HCURSOR (-12)
-#define GCL_HICON (-14)
-#define GCL_HMODULE (-16)
-#define GCL_CBWNDEXTRA (-18)
-#define GCL_CBCLSEXTRA (-20)
-#define GCL_WNDPROC (-24)
-#define GCL_STYLE (-26)
-#define GCW_ATOM (-32)
-#define GCL_HICONSM (-34)
-
-#ifdef _WIN64
-
-#undef GCL_MENUNAME
-#undef GCL_HBRBACKGROUND
-#undef GCL_HCURSOR
-#undef GCL_HICON
-#undef GCL_HMODULE
-#undef GCL_WNDPROC
-#undef GCL_HICONSM
-#endif
-
-#define GCLP_MENUNAME (-8)
-#define GCLP_HBRBACKGROUND (-10)
-#define GCLP_HCURSOR (-12)
-#define GCLP_HICON (-14)
-#define GCLP_HMODULE (-16)
-#define GCLP_WNDPROC (-24)
-#define GCLP_HICONSM (-34)
-#endif
-
-#ifndef NOWINMESSAGES
-
-#define WM_NULL 0x0000
-#define WM_CREATE 0x0001
-#define WM_DESTROY 0x0002
-#define WM_MOVE 0x0003
-#define WM_SIZE 0x0005
-
-#define WM_ACTIVATE 0x0006
-
-#define WA_INACTIVE 0
-#define WA_ACTIVE 1
-#define WA_CLICKACTIVE 2
-
-#define WM_SETFOCUS 0x0007
-#define WM_KILLFOCUS 0x0008
-#define WM_ENABLE 0x000A
-#define WM_SETREDRAW 0x000B
-#define WM_SETTEXT 0x000C
-#define WM_GETTEXT 0x000D
-#define WM_GETTEXTLENGTH 0x000E
-#define WM_PAINT 0x000F
-#define WM_CLOSE 0x0010
-#ifndef _WIN32_WCE
-#define WM_QUERYENDSESSION 0x0011
-#define WM_QUERYOPEN 0x0013
-#define WM_ENDSESSION 0x0016
-#endif
-#define WM_QUIT 0x0012
-#define WM_ERASEBKGND 0x0014
-#define WM_SYSCOLORCHANGE 0x0015
-#define WM_SHOWWINDOW 0x0018
-#define WM_WININICHANGE 0x001A
-#define WM_SETTINGCHANGE WM_WININICHANGE
-#define WM_DEVMODECHANGE 0x001B
-#define WM_ACTIVATEAPP 0x001C
-#define WM_FONTCHANGE 0x001D
-#define WM_TIMECHANGE 0x001E
-#define WM_CANCELMODE 0x001F
-#define WM_SETCURSOR 0x0020
-#define WM_MOUSEACTIVATE 0x0021
-#define WM_CHILDACTIVATE 0x0022
-#define WM_QUEUESYNC 0x0023
-
-#define WM_GETMINMAXINFO 0x0024
-
-  typedef struct tagMINMAXINFO {
-    POINT ptReserved;
-    POINT ptMaxSize;
-    POINT ptMaxPosition;
-    POINT ptMinTrackSize;
-    POINT ptMaxTrackSize;
-  } MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
-
-#define WM_PAINTICON 0x0026
-#define WM_ICONERASEBKGND 0x0027
-#define WM_NEXTDLGCTL 0x0028
-#define WM_SPOOLERSTATUS 0x002A
-#define WM_DRAWITEM 0x002B
-#define WM_MEASUREITEM 0x002C
-#define WM_DELETEITEM 0x002D
-#define WM_VKEYTOITEM 0x002E
-#define WM_CHARTOITEM 0x002F
-#define WM_SETFONT 0x0030
-#define WM_GETFONT 0x0031
-#define WM_SETHOTKEY 0x0032
-#define WM_GETHOTKEY 0x0033
-#define WM_QUERYDRAGICON 0x0037
-#define WM_COMPAREITEM 0x0039
-#ifndef _WIN32_WCE
-#define WM_GETOBJECT 0x003D
-#endif
-#define WM_COMPACTING 0x0041
-#define WM_COMMNOTIFY 0x0044
-#define WM_WINDOWPOSCHANGING 0x0046
-#define WM_WINDOWPOSCHANGED 0x0047
-
-#define WM_POWER 0x0048
-
-#define PWR_OK 1
-#define PWR_FAIL (-1)
-#define PWR_SUSPENDREQUEST 1
-#define PWR_SUSPENDRESUME 2
-#define PWR_CRITICALRESUME 3
-
-#define WM_COPYDATA 0x004A
-#define WM_CANCELJOURNAL 0x004B
-
-  typedef struct tagCOPYDATASTRUCT {
-    ULONG_PTR dwData;
-    DWORD cbData;
-    PVOID lpData;
-  } COPYDATASTRUCT,*PCOPYDATASTRUCT;
-
-  typedef struct tagMDINEXTMENU {
-    HMENU hmenuIn;
-    HMENU hmenuNext;
-    HWND hwndNext;
-  } MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
-
-#define WM_NOTIFY 0x004E
-#define WM_INPUTLANGCHANGEREQUEST 0x0050
-#define WM_INPUTLANGCHANGE 0x0051
-#define WM_TCARD 0x0052
-#define WM_HELP 0x0053
-#define WM_USERCHANGED 0x0054
-#define WM_NOTIFYFORMAT 0x0055
-
-#define NFR_ANSI 1
-#define NFR_UNICODE 2
-#define NF_QUERY 3
-#define NF_REQUERY 4
-
-#define WM_CONTEXTMENU 0x007B
-#define WM_STYLECHANGING 0x007C
-#define WM_STYLECHANGED 0x007D
-#define WM_DISPLAYCHANGE 0x007E
-#define WM_GETICON 0x007F
-#define WM_SETICON 0x0080
-
-#define WM_NCCREATE 0x0081
-#define WM_NCDESTROY 0x0082
-#define WM_NCCALCSIZE 0x0083
-#define WM_NCHITTEST 0x0084
-#define WM_NCPAINT 0x0085
-#define WM_NCACTIVATE 0x0086
-#define WM_GETDLGCODE 0x0087
-#ifndef _WIN32_WCE
-#define WM_SYNCPAINT 0x0088
-#endif
-#define WM_NCMOUSEMOVE 0x00A0
-#define WM_NCLBUTTONDOWN 0x00A1
-#define WM_NCLBUTTONUP 0x00A2
-#define WM_NCLBUTTONDBLCLK 0x00A3
-#define WM_NCRBUTTONDOWN 0x00A4
-#define WM_NCRBUTTONUP 0x00A5
-#define WM_NCRBUTTONDBLCLK 0x00A6
-#define WM_NCMBUTTONDOWN 0x00A7
-#define WM_NCMBUTTONUP 0x00A8
-#define WM_NCMBUTTONDBLCLK 0x00A9
-
-#define WM_NCXBUTTONDOWN 0x00AB
-#define WM_NCXBUTTONUP 0x00AC
-#define WM_NCXBUTTONDBLCLK 0x00AD
-#define WM_INPUT 0x00FF
-#define WM_KEYFIRST 0x0100
-#define WM_KEYDOWN 0x0100
-#define WM_KEYUP 0x0101
-#define WM_CHAR 0x0102
-#define WM_DEADCHAR 0x0103
-#define WM_SYSKEYDOWN 0x0104
-#define WM_SYSKEYUP 0x0105
-#define WM_SYSCHAR 0x0106
-#define WM_SYSDEADCHAR 0x0107
-#define WM_UNICHAR 0x0109
-#define WM_KEYLAST 0x0109
-#define UNICODE_NOCHAR 0xFFFF
-#define WM_IME_STARTCOMPOSITION 0x010D
-#define WM_IME_ENDCOMPOSITION 0x010E
-#define WM_IME_COMPOSITION 0x010F
-#define WM_IME_KEYLAST 0x010F
-#define WM_INITDIALOG 0x0110
-#define WM_COMMAND 0x0111
-#define WM_SYSCOMMAND 0x0112
-#define WM_TIMER 0x0113
-#define WM_HSCROLL 0x0114
-#define WM_VSCROLL 0x0115
-#define WM_INITMENU 0x0116
-#define WM_INITMENUPOPUP 0x0117
-#define WM_MENUSELECT 0x011F
-#if (_WIN32_WINNT >= 0x0601)
-#define WM_GESTURE 0x0119
-#define WM_GESTURENOTIFY 0x011A
-#endif /* _WIN32_WINNT >= 0x0601 */
-#define WM_MENUCHAR 0x0120
-#define WM_ENTERIDLE 0x0121
-#ifndef _WIN32_WCE
-#define WM_MENURBUTTONUP 0x0122
-#define WM_MENUDRAG 0x0123
-#define WM_MENUGETOBJECT 0x0124
-#define WM_UNINITMENUPOPUP 0x0125
-#define WM_MENUCOMMAND 0x0126
-
-#ifndef _WIN32_WCE
-#define WM_CHANGEUISTATE 0x0127
-#define WM_UPDATEUISTATE 0x0128
-#define WM_QUERYUISTATE 0x0129
-
-#define UIS_SET 1
-#define UIS_CLEAR 2
-#define UIS_INITIALIZE 3
-
-#define UISF_HIDEFOCUS 0x1
-#define UISF_HIDEACCEL 0x2
-#define UISF_ACTIVE 0x4
-#endif
-#endif
-
-#define WM_CTLCOLORMSGBOX 0x0132
-#define WM_CTLCOLOREDIT 0x0133
-#define WM_CTLCOLORLISTBOX 0x0134
-#define WM_CTLCOLORBTN 0x0135
-#define WM_CTLCOLORDLG 0x0136
-#define WM_CTLCOLORSCROLLBAR 0x0137
-#define WM_CTLCOLORSTATIC 0x0138
-#define MN_GETHMENU 0x01E1
-
-#define WM_MOUSEFIRST 0x0200
-#define WM_MOUSEMOVE 0x0200
-#define WM_LBUTTONDOWN 0x0201
-#define WM_LBUTTONUP 0x0202
-#define WM_LBUTTONDBLCLK 0x0203
-#define WM_RBUTTONDOWN 0x0204
-#define WM_RBUTTONUP 0x0205
-#define WM_RBUTTONDBLCLK 0x0206
-#define WM_MBUTTONDOWN 0x0207
-#define WM_MBUTTONUP 0x0208
-#define WM_MBUTTONDBLCLK 0x0209
-#define WM_MOUSEWHEEL 0x020A
-#define WM_XBUTTONDOWN 0x020B
-#define WM_XBUTTONUP 0x020C
-#define WM_XBUTTONDBLCLK 0x020D
-#define WM_MOUSELAST 0x020D
-
-#if (_WIN32_WINNT >= 0x0600)
-#define WM_MOUSEHWHEEL 0x020E
-#endif
-
-#define WHEEL_DELTA 120
-#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
-
-#define WHEEL_PAGESCROLL (UINT_MAX)
-
-#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam))
-#define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam))
-#define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam))
-
-#define XBUTTON1 0x0001
-#define XBUTTON2 0x0002
-
-#define WM_PARENTNOTIFY 0x0210
-#define WM_ENTERMENULOOP 0x0211
-#define WM_EXITMENULOOP 0x0212
-
-#define WM_NEXTMENU 0x0213
-#define WM_SIZING 0x0214
-#define WM_CAPTURECHANGED 0x0215
-#define WM_MOVING 0x0216
-
-#define WM_POWERBROADCAST 0x0218
-
-#ifndef _WIN32_WCE
-#define PBT_APMQUERYSUSPEND 0x0000
-#define PBT_APMQUERYSTANDBY 0x0001
-
-#define PBT_APMQUERYSUSPENDFAILED 0x0002
-#define PBT_APMQUERYSTANDBYFAILED 0x0003
-
-#define PBT_APMSUSPEND 0x0004
-#define PBT_APMSTANDBY 0x0005
-
-#define PBT_APMRESUMECRITICAL 0x0006
-#define PBT_APMRESUMESUSPEND 0x0007
-#define PBT_APMRESUMESTANDBY 0x0008
-
-#define PBTF_APMRESUMEFROMFAILURE 0x00000001
-
-#define PBT_APMBATTERYLOW 0x0009
-#define PBT_APMPOWERSTATUSCHANGE 0x000A
-
-#define PBT_APMOEMEVENT 0x000B
-#define PBT_APMRESUMEAUTOMATIC 0x0012
-#endif
-
-#if (_WIN32_WINNT >= 0x0502)
-#define PBT_POWERSETTINGCHANGE 32787
-#endif
-
-#define WM_DEVICECHANGE 0x0219
-
-#define WM_MDICREATE 0x0220
-#define WM_MDIDESTROY 0x0221
-#define WM_MDIACTIVATE 0x0222
-#define WM_MDIRESTORE 0x0223
-#define WM_MDINEXT 0x0224
-#define WM_MDIMAXIMIZE 0x0225
-#define WM_MDITILE 0x0226
-#define WM_MDICASCADE 0x0227
-#define WM_MDIICONARRANGE 0x0228
-#define WM_MDIGETACTIVE 0x0229
-
-#define WM_MDISETMENU 0x0230
-#define WM_ENTERSIZEMOVE 0x0231
-#define WM_EXITSIZEMOVE 0x0232
-#define WM_DROPFILES 0x0233
-#define WM_MDIREFRESHMENU 0x0234
-
-#define WM_IME_SETCONTEXT 0x0281
-#define WM_IME_NOTIFY 0x0282
-#define WM_IME_CONTROL 0x0283
-#define WM_IME_COMPOSITIONFULL 0x0284
-#define WM_IME_SELECT 0x0285
-#define WM_IME_CHAR 0x0286
-#define WM_IME_REQUEST 0x0288
-#define WM_IME_KEYDOWN 0x0290
-#define WM_IME_KEYUP 0x0291
-
-#define WM_MOUSEHOVER 0x02A1
-#define WM_MOUSELEAVE 0x02A3
-#define WM_NCMOUSEHOVER 0x02A0
-#define WM_NCMOUSELEAVE 0x02A2
-#define WM_WTSSESSION_CHANGE 0x02B1
-#define WM_TABLET_FIRST 0x02c0
-#define WM_TABLET_LAST 0x02df
-#define WM_CUT 0x0300
-#define WM_COPY 0x0301
-#define WM_PASTE 0x0302
-#define WM_CLEAR 0x0303
-#define WM_UNDO 0x0304
-#define WM_RENDERFORMAT 0x0305
-#define WM_RENDERALLFORMATS 0x0306
-#define WM_DESTROYCLIPBOARD 0x0307
-#define WM_DRAWCLIPBOARD 0x0308
-#define WM_PAINTCLIPBOARD 0x0309
-#define WM_VSCROLLCLIPBOARD 0x030A
-#define WM_SIZECLIPBOARD 0x030B
-#define WM_ASKCBFORMATNAME 0x030C
-#define WM_CHANGECBCHAIN 0x030D
-#define WM_HSCROLLCLIPBOARD 0x030E
-#define WM_QUERYNEWPALETTE 0x030F
-#define WM_PALETTEISCHANGING 0x0310
-#define WM_PALETTECHANGED 0x0311
-#define WM_HOTKEY 0x0312
-#define WM_PRINT 0x0317
-#define WM_PRINTCLIENT 0x0318
-#define WM_APPCOMMAND 0x0319
-#define WM_THEMECHANGED 0x031A
-#define WM_HANDHELDFIRST 0x0358
-#define WM_HANDHELDLAST 0x035F
-#define WM_AFXFIRST 0x0360
-#define WM_AFXLAST 0x037F
-#define WM_PENWINFIRST 0x0380
-#define WM_PENWINLAST 0x038F
-#define WM_APP 0x8000
-#define WM_USER 0x0400
-
-#define WMSZ_LEFT 1
-#define WMSZ_RIGHT 2
-#define WMSZ_TOP 3
-#define WMSZ_TOPLEFT 4
-#define WMSZ_TOPRIGHT 5
-#define WMSZ_BOTTOM 6
-#define WMSZ_BOTTOMLEFT 7
-#define WMSZ_BOTTOMRIGHT 8
-
-#ifndef NONCMESSAGES
-
-#define HTERROR (-2)
-#define HTTRANSPARENT (-1)
-#define HTNOWHERE 0
-#define HTCLIENT 1
-#define HTCAPTION 2
-#define HTSYSMENU 3
-#define HTGROWBOX 4
-#define HTSIZE HTGROWBOX
-#define HTMENU 5
-#define HTHSCROLL 6
-#define HTVSCROLL 7
-#define HTMINBUTTON 8
-#define HTMAXBUTTON 9
-#define HTLEFT 10
-#define HTRIGHT 11
-#define HTTOP 12
-#define HTTOPLEFT 13
-#define HTTOPRIGHT 14
-#define HTBOTTOM 15
-#define HTBOTTOMLEFT 16
-#define HTBOTTOMRIGHT 17
-#define HTBORDER 18
-#define HTREDUCE HTMINBUTTON
-#define HTZOOM HTMAXBUTTON
-#define HTSIZEFIRST HTLEFT
-#define HTSIZELAST HTBOTTOMRIGHT
-#define HTOBJECT 19
-#define HTCLOSE 20
-#define HTHELP 21
-
-#define SMTO_NORMAL 0x0000
-#define SMTO_BLOCK 0x0001
-#define SMTO_ABORTIFHUNG 0x0002
-#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
-#endif
-
-#define MA_ACTIVATE 1
-#define MA_ACTIVATEANDEAT 2
-#define MA_NOACTIVATE 3
-#define MA_NOACTIVATEANDEAT 4
-
-#define ICON_SMALL 0
-#define ICON_BIG 1
-#define ICON_SMALL2 2
-
-#define RegisterWindowMessage __MINGW_NAME_AW(RegisterWindowMessage)
-
-  WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR lpString);
-  WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR lpString);
-
-#define SIZE_RESTORED 0
-#define SIZE_MINIMIZED 1
-#define SIZE_MAXIMIZED 2
-#define SIZE_MAXSHOW 3
-#define SIZE_MAXHIDE 4
-
-#define SIZENORMAL SIZE_RESTORED
-#define SIZEICONIC SIZE_MINIMIZED
-#define SIZEFULLSCREEN SIZE_MAXIMIZED
-#define SIZEZOOMSHOW SIZE_MAXSHOW
-#define SIZEZOOMHIDE SIZE_MAXHIDE
-
-  typedef struct tagWINDOWPOS {
-    HWND hwnd;
-    HWND hwndInsertAfter;
-    int x;
-    int y;
-    int cx;
-    int cy;
-    UINT flags;
-  } WINDOWPOS,*LPWINDOWPOS,*PWINDOWPOS;
-
-  typedef struct tagNCCALCSIZE_PARAMS {
-    RECT rgrc[3];
-    PWINDOWPOS lppos;
-  } NCCALCSIZE_PARAMS,*LPNCCALCSIZE_PARAMS;
-
-#define WVR_ALIGNTOP 0x0010
-#define WVR_ALIGNLEFT 0x0020
-#define WVR_ALIGNBOTTOM 0x0040
-#define WVR_ALIGNRIGHT 0x0080
-#define WVR_HREDRAW 0x0100
-#define WVR_VREDRAW 0x0200
-#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
-#define WVR_VALIDRECTS 0x0400
-
-#ifndef NOKEYSTATES
-
-#define MK_LBUTTON 0x0001
-#define MK_RBUTTON 0x0002
-#define MK_SHIFT 0x0004
-#define MK_CONTROL 0x0008
-#define MK_MBUTTON 0x0010
-#define MK_XBUTTON1 0x0020
-#define MK_XBUTTON2 0x0040
-#endif
-
-#ifndef NOTRACKMOUSEEVENT
-#define TME_HOVER 0x00000001
-#define TME_LEAVE 0x00000002
-#define TME_NONCLIENT 0x00000010
-#define TME_QUERY 0x40000000
-#define TME_CANCEL 0x80000000
-
-#define HOVER_DEFAULT 0xFFFFFFFF
-#endif
-
-  typedef struct tagTRACKMOUSEEVENT {
-    DWORD cbSize;
-    DWORD dwFlags;
-    HWND hwndTrack;
-    DWORD dwHoverTime;
-  } TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
-
-  WINUSERAPI WINBOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);
-#endif
-
-#ifndef NOWINSTYLES
-
-#define WS_OVERLAPPED __MSABI_LONG(0x00000000)
-#define WS_POPUP __MSABI_LONG(0x80000000)
-#define WS_CHILD __MSABI_LONG(0x40000000)
-#define WS_MINIMIZE __MSABI_LONG(0x20000000)
-#define WS_VISIBLE __MSABI_LONG(0x10000000)
-#define WS_DISABLED __MSABI_LONG(0x08000000)
-#define WS_CLIPSIBLINGS __MSABI_LONG(0x04000000)
-#define WS_CLIPCHILDREN __MSABI_LONG(0x02000000)
-#define WS_MAXIMIZE __MSABI_LONG(0x01000000)
-#define WS_CAPTION __MSABI_LONG(0x00C00000)
-#define WS_BORDER __MSABI_LONG(0x00800000)
-#define WS_DLGFRAME __MSABI_LONG(0x00400000)
-#define WS_VSCROLL __MSABI_LONG(0x00200000)
-#define WS_HSCROLL __MSABI_LONG(0x00100000)
-#define WS_SYSMENU __MSABI_LONG(0x00080000)
-#define WS_THICKFRAME __MSABI_LONG(0x00040000)
-#define WS_GROUP __MSABI_LONG(0x00020000)
-#define WS_TABSTOP __MSABI_LONG(0x00010000)
-#define WS_MINIMIZEBOX __MSABI_LONG(0x00020000)
-#define WS_MAXIMIZEBOX __MSABI_LONG(0x00010000)
-#define WS_TILED WS_OVERLAPPED
-#define WS_ICONIC WS_MINIMIZE
-#define WS_SIZEBOX WS_THICKFRAME
-#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW
-#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
-#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
-#define WS_CHILDWINDOW (WS_CHILD)
-
-#define WS_EX_DLGMODALFRAME __MSABI_LONG(0x00000001)
-#define WS_EX_NOPARENTNOTIFY __MSABI_LONG(0x00000004)
-#define WS_EX_TOPMOST __MSABI_LONG(0x00000008)
-#define WS_EX_ACCEPTFILES __MSABI_LONG(0x00000010)
-#define WS_EX_TRANSPARENT __MSABI_LONG(0x00000020)
-#define WS_EX_MDICHILD __MSABI_LONG(0x00000040)
-#define WS_EX_TOOLWINDOW __MSABI_LONG(0x00000080)
-#define WS_EX_WINDOWEDGE __MSABI_LONG(0x00000100)
-#define WS_EX_CLIENTEDGE __MSABI_LONG(0x00000200)
-#define WS_EX_CONTEXTHELP __MSABI_LONG(0x00000400)
-#define WS_EX_RIGHT __MSABI_LONG(0x00001000)
-#define WS_EX_LEFT __MSABI_LONG(0x00000000)
-#define WS_EX_RTLREADING __MSABI_LONG(0x00002000)
-#define WS_EX_LTRREADING __MSABI_LONG(0x00000000)
-#define WS_EX_LEFTSCROLLBAR __MSABI_LONG(0x00004000)
-#define WS_EX_RIGHTSCROLLBAR __MSABI_LONG(0x00000000)
-#define WS_EX_CONTROLPARENT __MSABI_LONG(0x00010000)
-#define WS_EX_STATICEDGE __MSABI_LONG(0x00020000)
-#define WS_EX_APPWINDOW __MSABI_LONG(0x00040000)
-#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
-#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
-#define WS_EX_LAYERED 0x00080000
-#define WS_EX_NOINHERITLAYOUT __MSABI_LONG(0x00100000)
-#define WS_EX_LAYOUTRTL __MSABI_LONG(0x00400000)
-#define WS_EX_COMPOSITED __MSABI_LONG(0x02000000)
-#define WS_EX_NOACTIVATE __MSABI_LONG(0x08000000)
-
-#define CS_VREDRAW 0x0001
-#define CS_HREDRAW 0x0002
-#define CS_DBLCLKS 0x0008
-#define CS_OWNDC 0x0020
-#define CS_CLASSDC 0x0040
-#define CS_PARENTDC 0x0080
-#define CS_NOCLOSE 0x0200
-#define CS_SAVEBITS 0x0800
-#define CS_BYTEALIGNCLIENT 0x1000
-#define CS_BYTEALIGNWINDOW 0x2000
-#define CS_GLOBALCLASS 0x4000
-#define CS_IME 0x00010000
-#define CS_DROPSHADOW 0x00020000
-#endif
-
-#define PRF_CHECKVISIBLE __MSABI_LONG(0x00000001)
-#define PRF_NONCLIENT __MSABI_LONG(0x00000002)
-#define PRF_CLIENT __MSABI_LONG(0x00000004)
-#define PRF_ERASEBKGND __MSABI_LONG(0x00000008)
-#define PRF_CHILDREN __MSABI_LONG(0x00000010)
-#define PRF_OWNED __MSABI_LONG(0x00000020)
-
-#define BDR_RAISEDOUTER 0x0001
-#define BDR_SUNKENOUTER 0x0002
-#define BDR_RAISEDINNER 0x0004
-#define BDR_SUNKENINNER 0x0008
-
-#define BDR_OUTER (BDR_RAISEDOUTER | BDR_SUNKENOUTER)
-#define BDR_INNER (BDR_RAISEDINNER | BDR_SUNKENINNER)
-#define BDR_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
-#define BDR_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
-
-#define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
-#define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
-#define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
-#define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
-
-#define BF_LEFT 0x0001
-#define BF_TOP 0x0002
-#define BF_RIGHT 0x0004
-#define BF_BOTTOM 0x0008
-
-#define BF_TOPLEFT (BF_TOP | BF_LEFT)
-#define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
-#define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
-#define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
-#define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
-
-#define BF_DIAGONAL 0x0010
-
-#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
-#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
-
-#define BF_MIDDLE 0x0800
-#define BF_SOFT 0x1000
-#define BF_ADJUST 0x2000
-#define BF_FLAT 0x4000
-#define BF_MONO 0x8000
-
-  WINUSERAPI WINBOOL WINAPI DrawEdge(HDC hdc,LPRECT qrc,UINT edge,UINT grfFlags);
-
-#define DFC_CAPTION 1
-#define DFC_MENU 2
-#define DFC_SCROLL 3
-#define DFC_BUTTON 4
-#define DFC_POPUPMENU 5
-
-#define DFCS_CAPTIONCLOSE 0x0000
-#define DFCS_CAPTIONMIN 0x0001
-#define DFCS_CAPTIONMAX 0x0002
-#define DFCS_CAPTIONRESTORE 0x0003
-#define DFCS_CAPTIONHELP 0x0004
-
-#define DFCS_MENUARROW 0x0000
-#define DFCS_MENUCHECK 0x0001
-#define DFCS_MENUBULLET 0x0002
-#define DFCS_MENUARROWRIGHT 0x0004
-#define DFCS_SCROLLUP 0x0000
-#define DFCS_SCROLLDOWN 0x0001
-#define DFCS_SCROLLLEFT 0x0002
-#define DFCS_SCROLLRIGHT 0x0003
-#define DFCS_SCROLLCOMBOBOX 0x0005
-#define DFCS_SCROLLSIZEGRIP 0x0008
-#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
-
-#define DFCS_BUTTONCHECK 0x0000
-#define DFCS_BUTTONRADIOIMAGE 0x0001
-#define DFCS_BUTTONRADIOMASK 0x0002
-#define DFCS_BUTTONRADIO 0x0004
-#define DFCS_BUTTON3STATE 0x0008
-#define DFCS_BUTTONPUSH 0x0010
-
-#define DFCS_INACTIVE 0x0100
-#define DFCS_PUSHED 0x0200
-#define DFCS_CHECKED 0x0400
-
-#define DFCS_TRANSPARENT 0x0800
-#define DFCS_HOT 0x1000
-
-#define DFCS_ADJUSTRECT 0x2000
-#define DFCS_FLAT 0x4000
-#define DFCS_MONO 0x8000
-
-  WINUSERAPI WINBOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-
-#define DC_ACTIVE 0x0001
-#define DC_SMALLCAP 0x0002
-#define DC_ICON 0x0004
-#define DC_TEXT 0x0008
-#define DC_INBUTTON 0x0010
-#define DC_GRADIENT 0x0020
-#define DC_BUTTONS 0x1000
-
-  WINUSERAPI WINBOOL WINAPI DrawCaption(HWND hwnd,HDC hdc,CONST RECT *lprect,UINT flags);
-
-#define IDANI_OPEN 1
-#define IDANI_CAPTION 3
-
-  WINUSERAPI WINBOOL WINAPI DrawAnimatedRects(HWND hwnd,int idAni,CONST RECT *lprcFrom,CONST RECT *lprcTo);
-
-#ifndef NOCLIPBOARD
-
-#define CF_TEXT 1
-#define CF_BITMAP 2
-#define CF_METAFILEPICT 3
-#define CF_SYLK 4
-#define CF_DIF 5
-#define CF_TIFF 6
-#define CF_OEMTEXT 7
-#define CF_DIB 8
-#define CF_PALETTE 9
-#define CF_PENDATA 10
-#define CF_RIFF 11
-#define CF_WAVE 12
-#define CF_UNICODETEXT 13
-#define CF_ENHMETAFILE 14
-#define CF_HDROP 15
-#define CF_LOCALE 16
-#define CF_DIBV5 17
-#define CF_MAX 18
-
-#define CF_OWNERDISPLAY 0x0080
-#define CF_DSPTEXT 0x0081
-#define CF_DSPBITMAP 0x0082
-#define CF_DSPMETAFILEPICT 0x0083
-#define CF_DSPENHMETAFILE 0x008E
-
-#define CF_PRIVATEFIRST 0x0200
-#define CF_PRIVATELAST 0x02FF
-
-#define CF_GDIOBJFIRST 0x0300
-#define CF_GDIOBJLAST 0x03FF
-#endif
-
-#define FVIRTKEY TRUE
-#define FNOINVERT 0x02
-#define FSHIFT 0x04
-#define FCONTROL 0x08
-#define FALT 0x10
-
-  typedef struct tagACCEL {
-    BYTE fVirt;
-    WORD key;
-    WORD cmd;
-  } ACCEL,*LPACCEL;
-
-  typedef struct tagPAINTSTRUCT {
-    HDC hdc;
-    WINBOOL fErase;
-    RECT rcPaint;
-    WINBOOL fRestore;
-    WINBOOL fIncUpdate;
-    BYTE rgbReserved[32];
-  } PAINTSTRUCT,*PPAINTSTRUCT,*NPPAINTSTRUCT,*LPPAINTSTRUCT;
-
-  typedef struct tagCREATESTRUCTA {
-    LPVOID lpCreateParams;
-    HINSTANCE hInstance;
-    HMENU hMenu;
-    HWND hwndParent;
-    int cy;
-    int cx;
-    int y;
-    int x;
-    LONG style;
-    LPCSTR lpszName;
-    LPCSTR lpszClass;
-    DWORD dwExStyle;
-  } CREATESTRUCTA,*LPCREATESTRUCTA;
-
-  typedef struct tagCREATESTRUCTW {
-    LPVOID lpCreateParams;
-    HINSTANCE hInstance;
-    HMENU hMenu;
-    HWND hwndParent;
-    int cy;
-    int cx;
-    int y;
-    int x;
-    LONG style;
-    LPCWSTR lpszName;
-    LPCWSTR lpszClass;
-    DWORD dwExStyle;
-  } CREATESTRUCTW,*LPCREATESTRUCTW;
-
-  __MINGW_TYPEDEF_AW(CREATESTRUCT)
-  __MINGW_TYPEDEF_AW(LPCREATESTRUCT)
-
-  typedef struct tagWINDOWPLACEMENT {
-    UINT length;
-    UINT flags;
-    UINT showCmd;
-    POINT ptMinPosition;
-    POINT ptMaxPosition;
-    RECT rcNormalPosition;
-  } WINDOWPLACEMENT;
-  typedef WINDOWPLACEMENT *PWINDOWPLACEMENT,*LPWINDOWPLACEMENT;
-
-#define WPF_SETMINPOSITION 0x0001
-#define WPF_RESTORETOMAXIMIZED 0x0002
-#define WPF_ASYNCWINDOWPLACEMENT 0x0004
-
-  typedef struct tagNMHDR {
-    HWND hwndFrom;
-    UINT_PTR idFrom;
-    UINT code;
-  } NMHDR;
-
-  typedef NMHDR *LPNMHDR;
-
-  typedef struct tagSTYLESTRUCT {
-    DWORD styleOld;
-    DWORD styleNew;
-  } STYLESTRUCT,*LPSTYLESTRUCT;
-
-#define ODT_MENU 1
-#define ODT_LISTBOX 2
-#define ODT_COMBOBOX 3
-#define ODT_BUTTON 4
-#define ODT_STATIC 5
-
-#define ODA_DRAWENTIRE 0x0001
-#define ODA_SELECT 0x0002
-#define ODA_FOCUS 0x0004
-
-#define ODS_SELECTED 0x0001
-#define ODS_GRAYED 0x0002
-#define ODS_DISABLED 0x0004
-#define ODS_CHECKED 0x0008
-#define ODS_FOCUS 0x0010
-#define ODS_DEFAULT 0x0020
-#define ODS_COMBOBOXEDIT 0x1000
-#define ODS_HOTLIGHT 0x0040
-#define ODS_INACTIVE 0x0080
-#define ODS_NOACCEL 0x0100
-#define ODS_NOFOCUSRECT 0x0200
-
-  typedef struct tagMEASUREITEMSTRUCT {
-    UINT CtlType;
-    UINT CtlID;
-    UINT itemID;
-    UINT itemWidth;
-    UINT itemHeight;
-    ULONG_PTR itemData;
-  } MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
-
-  typedef struct tagDRAWITEMSTRUCT {
-    UINT CtlType;
-    UINT CtlID;
-    UINT itemID;
-    UINT itemAction;
-    UINT itemState;
-    HWND hwndItem;
-    HDC hDC;
-    RECT rcItem;
-    ULONG_PTR itemData;
-  } DRAWITEMSTRUCT,*PDRAWITEMSTRUCT,*LPDRAWITEMSTRUCT;
-
-  typedef struct tagDELETEITEMSTRUCT {
-    UINT CtlType;
-    UINT CtlID;
-    UINT itemID;
-    HWND hwndItem;
-    ULONG_PTR itemData;
-  } DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
-
-  typedef struct tagCOMPAREITEMSTRUCT {
-    UINT CtlType;
-    UINT CtlID;
-    HWND hwndItem;
-    UINT itemID1;
-    ULONG_PTR itemData1;
-    UINT itemID2;
-    ULONG_PTR itemData2;
-    DWORD dwLocaleId;
-  } COMPAREITEMSTRUCT,*PCOMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
-
-#ifndef NOMSG
-#define GetMessage __MINGW_NAME_AW(GetMessage)
-#define DispatchMessage __MINGW_NAME_AW(DispatchMessage)
-#define PeekMessage __MINGW_NAME_AW(PeekMessage)
-
-  WINUSERAPI WINBOOL WINAPI GetMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax);
-  WINUSERAPI WINBOOL WINAPI GetMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax);
-  WINUSERAPI WINBOOL WINAPI TranslateMessage(CONST MSG *lpMsg);
-  WINUSERAPI LRESULT WINAPI DispatchMessageA(CONST MSG *lpMsg);
-  WINUSERAPI LRESULT WINAPI DispatchMessageW(CONST MSG *lpMsg);
-  WINUSERAPI WINBOOL WINAPI SetMessageQueue(int cMessagesMax);
-  WINUSERAPI WINBOOL WINAPI PeekMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg);
-  WINUSERAPI WINBOOL WINAPI PeekMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg);
-
-#define PM_NOREMOVE 0x0000
-#define PM_REMOVE 0x0001
-#define PM_NOYIELD 0x0002
-#define PM_QS_INPUT (QS_INPUT << 16)
-#define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16)
-#define PM_QS_PAINT (QS_PAINT << 16)
-#define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
-#endif
-
-  WINUSERAPI WINBOOL WINAPI RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk);
-  WINUSERAPI WINBOOL WINAPI UnregisterHotKey(HWND hWnd,int id);
-
-#define MOD_ALT 0x0001
-#define MOD_CONTROL 0x0002
-#define MOD_SHIFT 0x0004
-#define MOD_WIN 0x0008
-
-#define IDHOT_SNAPWINDOW (-1)
-#define IDHOT_SNAPDESKTOP (-2)
-
-#ifdef WIN_INTERNAL
-#ifndef LSTRING
-#define NOLSTRING
-#endif
-#ifndef LFILEIO
-#define NOLFILEIO
-#endif
-#endif
-
-#define ENDSESSION_LOGOFF 0x80000000
-
-#define EWX_LOGOFF 0
-#define EWX_SHUTDOWN 0x00000001
-#define EWX_REBOOT 0x00000002
-#define EWX_FORCE 0x00000004
-#define EWX_POWEROFF 0x00000008
-#define EWX_FORCEIFHUNG 0x00000010
-
-#define ExitWindows(dwReserved,Code) ExitWindowsEx(EWX_LOGOFF,0xFFFFFFFF)
-
-#define SendMessage __MINGW_NAME_AW(SendMessage)
-#define SendMessageTimeout __MINGW_NAME_AW(SendMessageTimeout)
-#define SendNotifyMessage __MINGW_NAME_AW(SendNotifyMessage)
-#define SendMessageCallback __MINGW_NAME_AW(SendMessageCallback)
-
-  WINUSERAPI WINBOOL WINAPI ExitWindowsEx(UINT uFlags,DWORD dwReason);
-  WINUSERAPI WINBOOL WINAPI SwapMouseButton(WINBOOL fSwap);
-  WINUSERAPI DWORD WINAPI GetMessagePos(VOID);
-  WINUSERAPI LONG WINAPI GetMessageTime(VOID);
-  WINUSERAPI LPARAM WINAPI GetMessageExtraInfo(VOID);
-  WINUSERAPI WINBOOL WINAPI IsWow64Message(VOID);
-  WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI SendMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI SendMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI SendMessageTimeoutA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult);
-  WINUSERAPI LRESULT WINAPI SendMessageTimeoutW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult);
-  WINUSERAPI WINBOOL WINAPI SendNotifyMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI SendNotifyMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI SendMessageCallbackA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData);
-  WINUSERAPI WINBOOL WINAPI SendMessageCallbackW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData);
-
-  typedef struct {
-    UINT cbSize;
-    HDESK hdesk;
-    HWND hwnd;
-    LUID luid;
-  } BSMINFO,*PBSMINFO;
-
-#define BroadcastSystemMessageEx __MINGW_NAME_AW(BroadcastSystemMessageEx)
-#define BroadcastSystemMessage __MINGW_NAME_AW(BroadcastSystemMessage)
-
-  WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo);
-  WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo);
-  WINUSERAPI long WINAPI BroadcastSystemMessageA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI long WINAPI BroadcastSystemMessageW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam);
-
-#define BSM_ALLCOMPONENTS 0x00000000
-#define BSM_VXDS 0x00000001
-#define BSM_NETDRIVER 0x00000002
-#define BSM_INSTALLABLEDRIVERS 0x00000004
-#define BSM_APPLICATIONS 0x00000008
-#define BSM_ALLDESKTOPS 0x00000010
-
-#define BSF_QUERY 0x00000001
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_NOHANG 0x00000008
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#define BSF_RETURNHDESK 0x00000200
-#define BSF_LUID 0x00000400
-
-#define BROADCAST_QUERY_DENY 0x424D5144
-
-  typedef PVOID HDEVNOTIFY;
-  typedef HDEVNOTIFY *PHDEVNOTIFY;
-
-#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
-#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
-#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
-
-#define RegisterDeviceNotification __MINGW_NAME_AW(RegisterDeviceNotification)
-#define PostMessage __MINGW_NAME_AW(PostMessage)
-#define PostThreadMessage __MINGW_NAME_AW(PostThreadMessage)
-#define PostAppMessage __MINGW_NAME_AW(PostAppMessage)
-#define DefWindowProc __MINGW_NAME_AW(DefWindowProc)
-#define CallWindowProc __MINGW_NAME_AW(CallWindowProc)
-#define RegisterClass __MINGW_NAME_AW(RegisterClass)
-#define UnregisterClass __MINGW_NAME_AW(UnregisterClass)
-#define GetClassInfo __MINGW_NAME_AW(GetClassInfo)
-#define RegisterClassEx __MINGW_NAME_AW(RegisterClassEx)
-#define GetClassInfoEx __MINGW_NAME_AW(GetClassInfoEx)
-
-#if (_WIN32_WINNT >= 0x0502)
-  typedef HANDLE HPOWERNOTIFY;
-  typedef HPOWERNOTIFY *PHPOWERNOTIFY;
-
-  typedef struct {
-    GUID PowerSetting;
-    DWORD DataLength;
-    UCHAR Data[1];
-  } POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING;
-
-  extern const GUID GUID_POWERSCHEME_PERSONALITY;
-  extern const GUID GUID_MIN_POWER_SAVINGS;
-  extern const GUID GUID_MAX_POWER_SAVINGS;
-  extern const GUID GUID_TYPICAL_POWER_SAVINGS;
-  extern const GUID GUID_ACDC_POWER_SOURCE;
-  extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
-  extern const GUID GUID_IDLE_BACKGROUND_TASK;
-  extern const GUID GUID_SYSTEM_AWAYMODE;
-  extern const GUID GUID_MONITOR_POWER_ON;
-#endif
-
-  WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
-  WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
-#if (_WIN32_WINNT >= 0x0600)
-  WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE hRecipient,LPCGUID PowerSettingGuid,DWORD Flags);
-  WINUSERAPI WINBOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY Handle);
-#endif
-  WINUSERAPI WINBOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY Handle);
-  WINUSERAPI WINBOOL WINAPI PostMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI PostMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI PostThreadMessageA(DWORD idThread,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI PostThreadMessageW(DWORD idThread,UINT Msg,WPARAM wParam,LPARAM lParam);
-#define PostAppMessageA(idThread,wMsg,wParam,lParam) PostThreadMessageA((DWORD)idThread,wMsg,wParam,lParam)
-#define PostAppMessageW(idThread,wMsg,wParam,lParam) PostThreadMessageW((DWORD)idThread,wMsg,wParam,lParam)
-
-#define HWND_BROADCAST ((HWND)0xffff)
-#define HWND_MESSAGE ((HWND)-3)
-
-  WINUSERAPI WINBOOL WINAPI AttachThreadInput(DWORD idAttach,DWORD idAttachTo,WINBOOL fAttach);
-  WINUSERAPI WINBOOL WINAPI ReplyMessage(LRESULT lResult);
-  WINUSERAPI WINBOOL WINAPI WaitMessage(VOID);
-  WINUSERAPI DWORD WINAPI WaitForInputIdle(HANDLE hProcess,DWORD dwMilliseconds);
-  WINUSERAPI LRESULT WINAPI DefWindowProcA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI DefWindowProcW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI VOID WINAPI PostQuitMessage(int nExitCode);
-  WINUSERAPI LRESULT WINAPI CallWindowProcA(WNDPROC lpPrevWndFunc,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI CallWindowProcW(WNDPROC lpPrevWndFunc,HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI InSendMessage(VOID);
-  WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID lpReserved);
-
-#define ISMEX_NOSEND 0x00000000
-#define ISMEX_SEND 0x00000001
-#define ISMEX_NOTIFY 0x00000002
-#define ISMEX_CALLBACK 0x00000004
-#define ISMEX_REPLIED 0x00000008
-
-  WINUSERAPI UINT WINAPI GetDoubleClickTime(VOID);
-  WINUSERAPI WINBOOL WINAPI SetDoubleClickTime(UINT);
-  WINUSERAPI ATOM WINAPI RegisterClassA(CONST WNDCLASSA *lpWndClass);
-  WINUSERAPI ATOM WINAPI RegisterClassW(CONST WNDCLASSW *lpWndClass);
-  WINUSERAPI WINBOOL WINAPI UnregisterClassA(LPCSTR lpClassName,HINSTANCE hInstance);
-  WINUSERAPI WINBOOL WINAPI UnregisterClassW(LPCWSTR lpClassName,HINSTANCE hInstance);
-  WINUSERAPI WINBOOL WINAPI GetClassInfoA(HINSTANCE hInstance,LPCSTR lpClassName,LPWNDCLASSA lpWndClass);
-  WINUSERAPI WINBOOL WINAPI GetClassInfoW(HINSTANCE hInstance,LPCWSTR lpClassName,LPWNDCLASSW lpWndClass);
-  WINUSERAPI ATOM WINAPI RegisterClassExA(CONST WNDCLASSEXA *);
-  WINUSERAPI ATOM WINAPI RegisterClassExW(CONST WNDCLASSEXW *);
-  WINUSERAPI WINBOOL WINAPI GetClassInfoExA(HINSTANCE hInstance,LPCSTR lpszClass,LPWNDCLASSEXA lpwcx);
-  WINUSERAPI WINBOOL WINAPI GetClassInfoExW(HINSTANCE hInstance,LPCWSTR lpszClass,LPWNDCLASSEXW lpwcx);
-
-#define CW_USEDEFAULT ((int)0x80000000)
-
-#define HWND_DESKTOP ((HWND)0)
-
-  typedef BOOLEAN (WINAPI *PREGISTERCLASSNAMEW)(LPCWSTR);
-
-#define CreateWindowEx __MINGW_NAME_AW(CreateWindowEx)
-#define CreateWindow __MINGW_NAME_AW(CreateWindow)
-
-  WINUSERAPI HWND WINAPI CreateWindowExA(DWORD dwExStyle,LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam);
-  WINUSERAPI HWND WINAPI CreateWindowExW(DWORD dwExStyle,LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam);
-#define CreateWindowA(lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) CreateWindowExA((DWORD)0,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam)
-#define CreateWindowW(lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) CreateWindowExW((DWORD)0,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam)
-  WINUSERAPI WINBOOL WINAPI IsWindow(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI IsMenu(HMENU hMenu);
-  WINUSERAPI WINBOOL WINAPI IsChild(HWND hWndParent,HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI DestroyWindow(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI ShowWindow(HWND hWnd,int nCmdShow);
-  WINUSERAPI WINBOOL WINAPI AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);
-
-#if defined(_WINGDI_) && !defined(NOGDI)
-  WINUSERAPI WINBOOL WINAPI UpdateLayeredWindow(HWND hWnd,HDC hdcDst,POINT *pptDst,SIZE *psize,HDC hdcSrc,POINT *pptSrc,COLORREF crKey,BLENDFUNCTION *pblend,DWORD dwFlags);
-
-  typedef struct tagUPDATELAYEREDWINDOWINFO {
-    DWORD cbSize;
-    HDC hdcDst;
-    POINT CONST *pptDst;
-    SIZE CONST *psize;
-    HDC hdcSrc;
-    POINT CONST *pptSrc;
-    COLORREF crKey;
-    BLENDFUNCTION CONST *pblend;
-    DWORD dwFlags;
-    RECT CONST *prcDirty;
-  } UPDATELAYEREDWINDOWINFO,*PUPDATELAYEREDWINDOWINFO;
-
-  WINUSERAPI WINBOOL WINAPI UpdateLayeredWindowIndirect(HWND hWnd,UPDATELAYEREDWINDOWINFO CONST *pULWInfo);
-  WINUSERAPI WINBOOL WINAPI GetLayeredWindowAttributes(HWND hwnd,COLORREF *pcrKey,BYTE *pbAlpha,DWORD *pdwFlags);
-
-#define PW_CLIENTONLY 0x00000001
-
-  WINUSERAPI WINBOOL WINAPI PrintWindow(HWND hwnd,HDC hdcBlt,UINT nFlags);
-  WINUSERAPI WINBOOL WINAPI SetLayeredWindowAttributes(HWND hwnd,COLORREF crKey,BYTE bAlpha,DWORD dwFlags);
-
-#define LWA_COLORKEY 0x00000001
-#define LWA_ALPHA 0x00000002
-
-#define ULW_COLORKEY 0x00000001
-#define ULW_ALPHA 0x00000002
-#define ULW_OPAQUE 0x00000004
-
-#define ULW_EX_NORESIZE 0x00000008
-
-  WINUSERAPI WINBOOL WINAPI ShowWindowAsync(HWND hWnd,int nCmdShow);
-  WINUSERAPI WINBOOL WINAPI FlashWindow(HWND hWnd,WINBOOL bInvert);
-
-  typedef struct {
-    UINT cbSize;
-    HWND hwnd;
-    DWORD dwFlags;
-    UINT uCount;
-    DWORD dwTimeout;
-  } FLASHWINFO,*PFLASHWINFO;
-
-  WINUSERAPI WINBOOL WINAPI FlashWindowEx(PFLASHWINFO pfwi);
-
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 0x00000001
-#define FLASHW_TRAY 0x00000002
-#define FLASHW_ALL (FLASHW_CAPTION | FLASHW_TRAY)
-#define FLASHW_TIMER 0x00000004
-#define FLASHW_TIMERNOFG 0x0000000C
-
-  WINUSERAPI WINBOOL WINAPI ShowOwnedPopups(HWND hWnd,WINBOOL fShow);
-  WINUSERAPI WINBOOL WINAPI OpenIcon(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI CloseWindow(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI MoveWindow(HWND hWnd,int X,int Y,int nWidth,int nHeight,WINBOOL bRepaint);
-  WINUSERAPI WINBOOL WINAPI SetWindowPos(HWND hWnd,HWND hWndInsertAfter,int X,int Y,int cx,int cy,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI GetWindowPlacement(HWND hWnd,WINDOWPLACEMENT *lpwndpl);
-  WINUSERAPI WINBOOL WINAPI SetWindowPlacement(HWND hWnd,CONST WINDOWPLACEMENT *lpwndpl);
-
-#ifndef NODEFERWINDOWPOS
-  WINUSERAPI HDWP WINAPI BeginDeferWindowPos(int nNumWindows);
-  WINUSERAPI HDWP WINAPI DeferWindowPos(HDWP hWinPosInfo,HWND hWnd,HWND hWndInsertAfter,int x,int y,int cx,int cy,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI EndDeferWindowPos(HDWP hWinPosInfo);
-#endif
-
-  WINUSERAPI WINBOOL WINAPI IsWindowVisible(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI IsIconic(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI AnyPopup(VOID);
-  WINUSERAPI WINBOOL WINAPI BringWindowToTop(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI IsZoomed(HWND hWnd);
-
-#define SWP_NOSIZE 0x0001
-#define SWP_NOMOVE 0x0002
-#define SWP_NOZORDER 0x0004
-#define SWP_NOREDRAW 0x0008
-#define SWP_NOACTIVATE 0x0010
-#define SWP_FRAMECHANGED 0x0020
-#define SWP_SHOWWINDOW 0x0040
-#define SWP_HIDEWINDOW 0x0080
-#define SWP_NOCOPYBITS 0x0100
-#define SWP_NOOWNERZORDER 0x0200
-#define SWP_NOSENDCHANGING 0x0400
-
-#define SWP_DRAWFRAME SWP_FRAMECHANGED
-#define SWP_NOREPOSITION SWP_NOOWNERZORDER
-#define SWP_DEFERERASE 0x2000
-#define SWP_ASYNCWINDOWPOS 0x4000
-
-#define HWND_TOP ((HWND)0)
-#define HWND_BOTTOM ((HWND)1)
-#define HWND_TOPMOST ((HWND)-1)
-#define HWND_NOTOPMOST ((HWND)-2)
-
-#ifndef NOCTLMGR
-
-#include <pshpack2.h>
-
-  typedef struct {
-    DWORD style;
-    DWORD dwExtendedStyle;
-    WORD cdit;
-    short x;
-    short y;
-    short cx;
-    short cy;
-  } DLGTEMPLATE;
-
-  typedef DLGTEMPLATE *LPDLGTEMPLATEA;
-  typedef DLGTEMPLATE *LPDLGTEMPLATEW;
-
-  __MINGW_TYPEDEF_AW(LPDLGTEMPLATE)
-
-  typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;
-  typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;
-
-  __MINGW_TYPEDEF_AW(LPCDLGTEMPLATE)
-
-  typedef struct {
-    DWORD style;
-    DWORD dwExtendedStyle;
-    short x;
-    short y;
-    short cx;
-    short cy;
-    WORD id;
-  } DLGITEMTEMPLATE;
-
-  typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
-  typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
-
-  __MINGW_TYPEDEF_AW(PDLGITEMTEMPLATE)
-
-  typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
-  typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
-
-  __MINGW_TYPEDEF_AW(LPDLGITEMTEMPLATE)
-
-#include <poppack.h>
-
-#define CreateDialogParam __MINGW_NAME_AW(CreateDialogParam)
-#define CreateDialogIndirectParam __MINGW_NAME_AW(CreateDialogIndirectParam)
-#define CreateDialog __MINGW_NAME_AW(CreateDialog)
-#define CreateDialogIndirect __MINGW_NAME_AW(CreateDialogIndirect)
-#define DialogBoxParam __MINGW_NAME_AW(DialogBoxParam)
-#define DialogBoxIndirectParam __MINGW_NAME_AW(DialogBoxIndirectParam)
-#define DialogBox __MINGW_NAME_AW(DialogBox)
-#define DialogBoxIndirect __MINGW_NAME_AW(DialogBoxIndirect)
-#define SetDlgItemText __MINGW_NAME_AW(SetDlgItemText)
-#define GetDlgItemText __MINGW_NAME_AW(GetDlgItemText)
-#define SendDlgItemMessage __MINGW_NAME_AW(SendDlgItemMessage)
-#define DefDlgProc __MINGW_NAME_AW(DefDlgProc)
-
-  WINUSERAPI HWND WINAPI CreateDialogParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI HWND WINAPI CreateDialogParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI HWND WINAPI CreateDialogIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI HWND WINAPI CreateDialogIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-#define CreateDialogA(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamA(hInstance,lpName,hWndParent,lpDialogFunc,(LPARAM)0)
-#define CreateDialogW(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamW(hInstance,lpName,hWndParent,lpDialogFunc,(LPARAM)0)
-#define CreateDialogIndirectA(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-#define CreateDialogIndirectW(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-  WINUSERAPI INT_PTR WINAPI DialogBoxParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI INT_PTR WINAPI DialogBoxParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI INT_PTR WINAPI DialogBoxIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-  WINUSERAPI INT_PTR WINAPI DialogBoxIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
-#define DialogBoxA(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-#define DialogBoxW(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-#define DialogBoxIndirectA(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxIndirectParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-#define DialogBoxIndirectW(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxIndirectParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0)
-  WINUSERAPI WINBOOL WINAPI EndDialog(HWND hDlg,INT_PTR nResult);
-  WINUSERAPI HWND WINAPI GetDlgItem(HWND hDlg,int nIDDlgItem);
-  WINUSERAPI WINBOOL WINAPI SetDlgItemInt(HWND hDlg,int nIDDlgItem,UINT uValue,WINBOOL bSigned);
-  WINUSERAPI UINT WINAPI GetDlgItemInt(HWND hDlg,int nIDDlgItem,WINBOOL *lpTranslated,WINBOOL bSigned);
-  WINUSERAPI WINBOOL WINAPI SetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPCSTR lpString);
-  WINUSERAPI WINBOOL WINAPI SetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPCWSTR lpString);
-  WINUSERAPI UINT WINAPI GetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPSTR lpString,int cchMax);
-  WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPWSTR lpString,int cchMax);
-  WINUSERAPI WINBOOL WINAPI CheckDlgButton(HWND hDlg,int nIDButton,UINT uCheck);
-  WINUSERAPI WINBOOL WINAPI CheckRadioButton(HWND hDlg,int nIDFirstButton,int nIDLastButton,int nIDCheckButton);
-  WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND hDlg,int nIDButton);
-  WINUSERAPI LRESULT WINAPI SendDlgItemMessageA(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI SendDlgItemMessageW(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious);
-  WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious);
-  WINUSERAPI int WINAPI GetDlgCtrlID(HWND hWnd);
-  WINUSERAPI long WINAPI GetDialogBaseUnits(VOID);
-  WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam);
-
-#define DLGWINDOWEXTRA 30
-#endif
-
-#ifndef NOMSG
-
-#define CallMsgFilter __MINGW_NAME_AW(CallMsgFilter)
-
-  WINUSERAPI WINBOOL WINAPI CallMsgFilterA(LPMSG lpMsg,int nCode);
-  WINUSERAPI WINBOOL WINAPI CallMsgFilterW(LPMSG lpMsg,int nCode);
-#endif
-
-#ifndef NOCLIPBOARD
-
-#define RegisterClipboardFormat __MINGW_NAME_AW(RegisterClipboardFormat)
-#define GetClipboardFormatName __MINGW_NAME_AW(GetClipboardFormatName)
-
-  WINUSERAPI WINBOOL WINAPI OpenClipboard(HWND hWndNewOwner);
-  WINUSERAPI WINBOOL WINAPI CloseClipboard(VOID);
-  WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(VOID);
-  WINUSERAPI HWND WINAPI GetClipboardOwner(VOID);
-  WINUSERAPI HWND WINAPI SetClipboardViewer(HWND hWndNewViewer);
-  WINUSERAPI HWND WINAPI GetClipboardViewer(VOID);
-  WINUSERAPI WINBOOL WINAPI ChangeClipboardChain(HWND hWndRemove,HWND hWndNewNext);
-  WINUSERAPI HANDLE WINAPI SetClipboardData(UINT uFormat,HANDLE hMem);
-  WINUSERAPI HANDLE WINAPI GetClipboardData(UINT uFormat);
-  WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR lpszFormat);
-  WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR lpszFormat);
-  WINUSERAPI int WINAPI CountClipboardFormats(VOID);
-  WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT format);
-  WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT format,LPSTR lpszFormatName,int cchMaxCount);
-  WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT format,LPWSTR lpszFormatName,int cchMaxCount);
-  WINUSERAPI WINBOOL WINAPI EmptyClipboard(VOID);
-  WINUSERAPI WINBOOL WINAPI IsClipboardFormatAvailable(UINT format);
-  WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT *paFormatPriorityList,int cFormats);
-  WINUSERAPI HWND WINAPI GetOpenClipboardWindow(VOID);
-#endif
-
-#define CharToOem __MINGW_NAME_AW(CharToOem)
-#define OemToChar __MINGW_NAME_AW(OemToChar)
-#define CharToOemBuff __MINGW_NAME_AW(CharToOemBuff)
-#define OemToCharBuff __MINGW_NAME_AW(OemToCharBuff)
-#define CharUpper __MINGW_NAME_AW(CharUpper)
-#define CharUpperBuff __MINGW_NAME_AW(CharUpperBuff)
-#define CharLower __MINGW_NAME_AW(CharLower)
-#define CharLowerBuff __MINGW_NAME_AW(CharLowerBuff)
-#define CharNext __MINGW_NAME_AW(CharNext)
-#define CharPrev __MINGW_NAME_AW(CharPrev)
-
-  WINUSERAPI WINBOOL WINAPI CharToOemA(LPCSTR lpszSrc,LPSTR lpszDst);
-  WINUSERAPI WINBOOL WINAPI CharToOemW(LPCWSTR lpszSrc,LPSTR lpszDst);
-  WINUSERAPI WINBOOL WINAPI OemToCharA(LPCSTR lpszSrc,LPSTR lpszDst);
-  WINUSERAPI WINBOOL WINAPI OemToCharW(LPCSTR lpszSrc,LPWSTR lpszDst);
-  WINUSERAPI WINBOOL WINAPI CharToOemBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
-  WINUSERAPI WINBOOL WINAPI CharToOemBuffW(LPCWSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
-  WINUSERAPI WINBOOL WINAPI OemToCharBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
-  WINUSERAPI WINBOOL WINAPI OemToCharBuffW(LPCSTR lpszSrc,LPWSTR lpszDst,DWORD cchDstLength);
-  WINUSERAPI LPSTR WINAPI CharUpperA(LPSTR lpsz);
-  WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR lpsz);
-  WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR lpsz,DWORD cchLength);
-  WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR lpsz,DWORD cchLength);
-  WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR lpsz);
-  WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR lpsz);
-  WINUSERAPI DWORD WINAPI CharLowerBuffA(LPSTR lpsz,DWORD cchLength);
-  WINUSERAPI DWORD WINAPI CharLowerBuffW(LPWSTR lpsz,DWORD cchLength);
-  WINUSERAPI LPSTR WINAPI CharNextA(LPCSTR lpsz);
-  WINUSERAPI LPWSTR WINAPI CharNextW(LPCWSTR lpsz);
-  WINUSERAPI LPSTR WINAPI CharPrevA(LPCSTR lpszStart,LPCSTR lpszCurrent);
-  WINUSERAPI LPWSTR WINAPI CharPrevW(LPCWSTR lpszStart,LPCWSTR lpszCurrent);
-  WINUSERAPI LPSTR WINAPI CharNextExA(WORD CodePage,LPCSTR lpCurrentChar,DWORD dwFlags);
-  WINUSERAPI LPSTR WINAPI CharPrevExA(WORD CodePage,LPCSTR lpStart,LPCSTR lpCurrentChar,DWORD dwFlags);
-
-#define AnsiToOem CharToOemA
-#define OemToAnsi OemToCharA
-#define AnsiToOemBuff CharToOemBuffA
-#define OemToAnsiBuff OemToCharBuffA
-#define AnsiUpper CharUpperA
-#define AnsiUpperBuff CharUpperBuffA
-#define AnsiLower CharLowerA
-#define AnsiLowerBuff CharLowerBuffA
-#define AnsiNext CharNextA
-#define AnsiPrev CharPrevA
-
-#ifndef NOLANGUAGE
-
-#define IsCharAlpha __MINGW_NAME_AW(IsCharAlpha)
-#define IsCharAlphaNumeric __MINGW_NAME_AW(IsCharAlphaNumeric)
-#define IsCharUpper __MINGW_NAME_AW(IsCharUpper)
-#define IsCharLower __MINGW_NAME_AW(IsCharLower)
-
-  WINUSERAPI WINBOOL WINAPI IsCharAlphaA(CHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharAlphaW(WCHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharAlphaNumericA(CHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharAlphaNumericW(WCHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharUpperA(CHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharUpperW(WCHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharLowerA(CHAR ch);
-  WINUSERAPI WINBOOL WINAPI IsCharLowerW(WCHAR ch);
-#endif
-
-#define GetKeyNameText __MINGW_NAME_AW(GetKeyNameText)
-#define VkKeyScan __MINGW_NAME_AW(VkKeyScan)
-#define VkKeyScanEx __MINGW_NAME_AW(VkKeyScanEx)
-
-  WINUSERAPI HWND WINAPI SetFocus(HWND hWnd);
-  WINUSERAPI HWND WINAPI GetActiveWindow(VOID);
-  WINUSERAPI HWND WINAPI GetFocus(VOID);
-  WINUSERAPI UINT WINAPI GetKBCodePage(VOID);
-  WINUSERAPI SHORT WINAPI GetKeyState(int nVirtKey);
-  WINUSERAPI SHORT WINAPI GetAsyncKeyState(int vKey);
-  WINUSERAPI WINBOOL WINAPI GetKeyboardState(PBYTE lpKeyState);
-  WINUSERAPI WINBOOL WINAPI SetKeyboardState(LPBYTE lpKeyState);
-  WINUSERAPI int WINAPI GetKeyNameTextA(LONG lParam,LPSTR lpString,int cchSize);
-  WINUSERAPI int WINAPI GetKeyNameTextW(LONG lParam,LPWSTR lpString,int cchSize);
-  WINUSERAPI int WINAPI GetKeyboardType(int nTypeFlag);
-  WINUSERAPI int WINAPI ToAscii(UINT uVirtKey,UINT uScanCode,CONST BYTE *lpKeyState,LPWORD lpChar,UINT uFlags);
-  WINUSERAPI int WINAPI ToAsciiEx(UINT uVirtKey,UINT uScanCode,CONST BYTE *lpKeyState,LPWORD lpChar,UINT uFlags,HKL dwhkl);
-  WINUSERAPI int WINAPI ToUnicode(UINT wVirtKey,UINT wScanCode,CONST BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags);
-  WINUSERAPI DWORD WINAPI OemKeyScan(WORD wOemChar);
-  WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR ch);
-  WINUSERAPI SHORT WINAPI VkKeyScanW(WCHAR ch);
-  WINUSERAPI SHORT WINAPI VkKeyScanExA(CHAR ch,HKL dwhkl);
-  WINUSERAPI SHORT WINAPI VkKeyScanExW(WCHAR ch,HKL dwhkl);
-
-#define KEYEVENTF_EXTENDEDKEY 0x0001
-#define KEYEVENTF_KEYUP 0x0002
-#define KEYEVENTF_UNICODE 0x0004
-#define KEYEVENTF_SCANCODE 0x0008
-
-  WINUSERAPI VOID WINAPI keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo);
-
-#define MOUSEEVENTF_MOVE 0x0001
-#define MOUSEEVENTF_LEFTDOWN 0x0002
-#define MOUSEEVENTF_LEFTUP 0x0004
-#define MOUSEEVENTF_RIGHTDOWN 0x0008
-#define MOUSEEVENTF_RIGHTUP 0x0010
-#define MOUSEEVENTF_MIDDLEDOWN 0x0020
-#define MOUSEEVENTF_MIDDLEUP 0x0040
-#define MOUSEEVENTF_XDOWN 0x0080
-#define MOUSEEVENTF_XUP 0x0100
-#define MOUSEEVENTF_WHEEL 0x0800
-#define MOUSEEVENTF_VIRTUALDESK 0x4000
-#define MOUSEEVENTF_ABSOLUTE 0x8000
-
-  WINUSERAPI VOID WINAPI mouse_event(DWORD dwFlags,DWORD dx,DWORD dy,DWORD dwData,ULONG_PTR dwExtraInfo);
-
-  typedef struct tagMOUSEINPUT {
-    LONG dx;
-    LONG dy;
-    DWORD mouseData;
-    DWORD dwFlags;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-  } MOUSEINPUT,*PMOUSEINPUT,*LPMOUSEINPUT;
-
-  typedef struct tagKEYBDINPUT {
-    WORD wVk;
-    WORD wScan;
-    DWORD dwFlags;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-  } KEYBDINPUT,*PKEYBDINPUT,*LPKEYBDINPUT;
-
-  typedef struct tagHARDWAREINPUT {
-    DWORD uMsg;
-    WORD wParamL;
-    WORD wParamH;
-  } HARDWAREINPUT,*PHARDWAREINPUT,*LPHARDWAREINPUT;
-
-#define INPUT_MOUSE 0
-#define INPUT_KEYBOARD 1
-#define INPUT_HARDWARE 2
-
-  typedef struct tagINPUT {
-    DWORD type;
-    __C89_NAMELESS union {
-      MOUSEINPUT mi;
-      KEYBDINPUT ki;
-      HARDWAREINPUT hi;
-    } DUMMYUNIONNAME;
-  } INPUT,*PINPUT,*LPINPUT;
-
-  WINUSERAPI UINT WINAPI SendInput(UINT cInputs,LPINPUT pInputs,int cbSize);
-
-  typedef struct tagLASTINPUTINFO {
-    UINT cbSize;
-    DWORD dwTime;
-  } LASTINPUTINFO,*PLASTINPUTINFO;
-
-#define MapVirtualKey __MINGW_NAME_AW(MapVirtualKey)
-#define MapVirtualKeyEx __MINGW_NAME_AW(MapVirtualKeyEx)
-
-  WINUSERAPI WINBOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii);
-  WINUSERAPI UINT WINAPI MapVirtualKeyA(UINT uCode,UINT uMapType);
-  WINUSERAPI UINT WINAPI MapVirtualKeyW(UINT uCode,UINT uMapType);
-  WINUSERAPI UINT WINAPI MapVirtualKeyExA(UINT uCode,UINT uMapType,HKL dwhkl);
-  WINUSERAPI UINT WINAPI MapVirtualKeyExW(UINT uCode,UINT uMapType,HKL dwhkl);
-  WINUSERAPI WINBOOL WINAPI GetInputState(VOID);
-  WINUSERAPI DWORD WINAPI GetQueueStatus(UINT flags);
-  WINUSERAPI HWND WINAPI GetCapture(VOID);
-  WINUSERAPI HWND WINAPI SetCapture(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI ReleaseCapture(VOID);
-  WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD nCount,CONST HANDLE *pHandles,WINBOOL fWaitAll,DWORD dwMilliseconds,DWORD dwWakeMask);
-  WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount,CONST HANDLE *pHandles,DWORD dwMilliseconds,DWORD dwWakeMask,DWORD dwFlags);
-
-#define MWMO_WAITALL 0x0001
-#define MWMO_ALERTABLE 0x0002
-#define MWMO_INPUTAVAILABLE 0x0004
-
-#define QS_KEY 0x0001
-#define QS_MOUSEMOVE 0x0002
-#define QS_MOUSEBUTTON 0x0004
-#define QS_POSTMESSAGE 0x0008
-#define QS_TIMER 0x0010
-#define QS_PAINT 0x0020
-#define QS_SENDMESSAGE 0x0040
-#define QS_HOTKEY 0x0080
-#define QS_ALLPOSTMESSAGE 0x0100
-#define QS_RAWINPUT 0x0400
-#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
-#define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT)
-#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
-#define QS_ALLINPUT (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE)
-
-#define USER_TIMER_MAXIMUM 0x7FFFFFFF
-#define USER_TIMER_MINIMUM 0x0000000A
-
-#define LoadAccelerators __MINGW_NAME_AW(LoadAccelerators)
-#define CreateAcceleratorTable __MINGW_NAME_AW(CreateAcceleratorTable)
-#define CopyAcceleratorTable __MINGW_NAME_AW(CopyAcceleratorTable)
-
-  WINUSERAPI UINT_PTR WINAPI SetTimer(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);
-  WINUSERAPI WINBOOL WINAPI KillTimer(HWND hWnd,UINT_PTR uIDEvent);
-  WINUSERAPI WINBOOL WINAPI IsWindowUnicode(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI EnableWindow(HWND hWnd,WINBOOL bEnable);
-  WINUSERAPI WINBOOL WINAPI IsWindowEnabled(HWND hWnd);
-  WINUSERAPI HACCEL WINAPI LoadAcceleratorsA(HINSTANCE hInstance,LPCSTR lpTableName);
-  WINUSERAPI HACCEL WINAPI LoadAcceleratorsW(HINSTANCE hInstance,LPCWSTR lpTableName);
-  WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL paccel,int cAccel);
-  WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL paccel,int cAccel);
-  WINUSERAPI WINBOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel);
-  WINUSERAPI int WINAPI CopyAcceleratorTableA(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries);
-  WINUSERAPI int WINAPI CopyAcceleratorTableW(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries);
-
-#ifndef NOMSG
-
-#define TranslateAccelerator __MINGW_NAME_AW(TranslateAccelerator)
-
-  WINUSERAPI int WINAPI TranslateAcceleratorA(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg);
-  WINUSERAPI int WINAPI TranslateAcceleratorW(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg);
-#endif
-
-#ifndef NOSYSMETRICS
-
-#define SM_CXSCREEN 0
-#define SM_CYSCREEN 1
-#define SM_CXVSCROLL 2
-#define SM_CYHSCROLL 3
-#define SM_CYCAPTION 4
-#define SM_CXBORDER 5
-#define SM_CYBORDER 6
-#define SM_CXDLGFRAME 7
-#define SM_CYDLGFRAME 8
-#define SM_CYVTHUMB 9
-#define SM_CXHTHUMB 10
-#define SM_CXICON 11
-#define SM_CYICON 12
-#define SM_CXCURSOR 13
-#define SM_CYCURSOR 14
-#define SM_CYMENU 15
-#define SM_CXFULLSCREEN 16
-#define SM_CYFULLSCREEN 17
-#define SM_CYKANJIWINDOW 18
-#define SM_MOUSEPRESENT 19
-#define SM_CYVSCROLL 20
-#define SM_CXHSCROLL 21
-#define SM_DEBUG 22
-#define SM_SWAPBUTTON 23
-#define SM_RESERVED1 24
-#define SM_RESERVED2 25
-#define SM_RESERVED3 26
-#define SM_RESERVED4 27
-#define SM_CXMIN 28
-#define SM_CYMIN 29
-#define SM_CXSIZE 30
-#define SM_CYSIZE 31
-#define SM_CXFRAME 32
-#define SM_CYFRAME 33
-#define SM_CXMINTRACK 34
-#define SM_CYMINTRACK 35
-#define SM_CXDOUBLECLK 36
-#define SM_CYDOUBLECLK 37
-#define SM_CXICONSPACING 38
-#define SM_CYICONSPACING 39
-#define SM_MENUDROPALIGNMENT 40
-#define SM_PENWINDOWS 41
-#define SM_DBCSENABLED 42
-#define SM_CMOUSEBUTTONS 43
-
-#define SM_CXFIXEDFRAME SM_CXDLGFRAME
-#define SM_CYFIXEDFRAME SM_CYDLGFRAME
-#define SM_CXSIZEFRAME SM_CXFRAME
-#define SM_CYSIZEFRAME SM_CYFRAME
-
-#define SM_SECURE 44
-#define SM_CXEDGE 45
-#define SM_CYEDGE 46
-#define SM_CXMINSPACING 47
-#define SM_CYMINSPACING 48
-#define SM_CXSMICON 49
-#define SM_CYSMICON 50
-#define SM_CYSMCAPTION 51
-#define SM_CXSMSIZE 52
-#define SM_CYSMSIZE 53
-#define SM_CXMENUSIZE 54
-#define SM_CYMENUSIZE 55
-#define SM_ARRANGE 56
-#define SM_CXMINIMIZED 57
-#define SM_CYMINIMIZED 58
-#define SM_CXMAXTRACK 59
-#define SM_CYMAXTRACK 60
-#define SM_CXMAXIMIZED 61
-#define SM_CYMAXIMIZED 62
-#define SM_NETWORK 63
-#define SM_CLEANBOOT 67
-#define SM_CXDRAG 68
-#define SM_CYDRAG 69
-#define SM_SHOWSOUNDS 70
-#define SM_CXMENUCHECK 71
-#define SM_CYMENUCHECK 72
-#define SM_SLOWMACHINE 73
-#define SM_MIDEASTENABLED 74
-#define SM_MOUSEWHEELPRESENT 75
-#define SM_XVIRTUALSCREEN 76
-#define SM_YVIRTUALSCREEN 77
-#define SM_CXVIRTUALSCREEN 78
-#define SM_CYVIRTUALSCREEN 79
-#define SM_CMONITORS 80
-#define SM_SAMEDISPLAYFORMAT 81
-#define SM_IMMENABLED 82
-#define SM_CXFOCUSBORDER 83
-#define SM_CYFOCUSBORDER 84
-#define SM_TABLETPC 86
-#define SM_MEDIACENTER 87
-#define SM_STARTER 88
-#define SM_SERVERR2 89
-
-#if (_WIN32_WINNT < 0x0600)
-#define SM_CMETRICS 90
-#endif
-
-#define SM_REMOTESESSION 0x1000
-#define SM_SHUTTINGDOWN 0x2000
-#define SM_REMOTECONTROL 0x2001
-#define SM_CARETBLINKINGENABLED 0x2002
-
-#if (_WIN32_WINNT >= 0x0600)
-#define SM_MOUSEHORIZONTALWHEELPRESENT 91
-#define SM_CXPADDEDBORDER 92
-# if (_WIN32_WINNT < 0x0601)
-# define SM_CMETRICS 93
-# endif
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-#define SM_DIGITIZER 94
-#define SM_MAXIMUMTOUCHES 95
-/**/
-# define SM_CMETRICS 96
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-/* flags for SM_DIGITIZER: */
-#define NID_INTEGRATED_TOUCH	0x01
-#define NID_EXTERNAL_TOUCH	0x02
-#define NID_INTEGRATED_PEN	0x04
-#define NID_EXTERNAL_PEN	0x08
-#define NID_MULTI_INPUT		0x40
-#define NID_READY		0x80
-#endif
-
-  WINUSERAPI int WINAPI GetSystemMetrics(int nIndex);
-#endif
-
-#ifndef NOMENUS
-
-#define LoadMenu __MINGW_NAME_AW(LoadMenu)
-#define LoadMenuIndirect __MINGW_NAME_AW(LoadMenuIndirect)
-#define ChangeMenu __MINGW_NAME_AW(ChangeMenu)
-#define GetMenuString __MINGW_NAME_AW(GetMenuString)
-#define InsertMenu __MINGW_NAME_AW(InsertMenu)
-#define AppendMenu __MINGW_NAME_AW(AppendMenu)
-#define ModifyMenu __MINGW_NAME_AW(ModifyMenu)
-
-  WINUSERAPI HMENU WINAPI LoadMenuA(HINSTANCE hInstance,LPCSTR lpMenuName);
-  WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE hInstance,LPCWSTR lpMenuName);
-  WINUSERAPI HMENU WINAPI LoadMenuIndirectA(CONST MENUTEMPLATEA *lpMenuTemplate);
-  WINUSERAPI HMENU WINAPI LoadMenuIndirectW(CONST MENUTEMPLATEW *lpMenuTemplate);
-  WINUSERAPI HMENU WINAPI GetMenu(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI SetMenu(HWND hWnd,HMENU hMenu);
-  WINUSERAPI WINBOOL WINAPI ChangeMenuA(HMENU hMenu,UINT cmd,LPCSTR lpszNewItem,UINT cmdInsert,UINT flags);
-  WINUSERAPI WINBOOL WINAPI ChangeMenuW(HMENU hMenu,UINT cmd,LPCWSTR lpszNewItem,UINT cmdInsert,UINT flags);
-  WINUSERAPI WINBOOL WINAPI HiliteMenuItem(HWND hWnd,HMENU hMenu,UINT uIDHiliteItem,UINT uHilite);
-  WINUSERAPI int WINAPI GetMenuStringA(HMENU hMenu,UINT uIDItem,LPSTR lpString,int cchMax,UINT flags);
-  WINUSERAPI int WINAPI GetMenuStringW(HMENU hMenu,UINT uIDItem,LPWSTR lpString,int cchMax,UINT flags);
-  WINUSERAPI UINT WINAPI GetMenuState(HMENU hMenu,UINT uId,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI DrawMenuBar(HWND hWnd);
-
-#define PMB_ACTIVE 0x00000001
-
-  WINUSERAPI HMENU WINAPI GetSystemMenu(HWND hWnd,WINBOOL bRevert);
-  WINUSERAPI HMENU WINAPI CreateMenu(VOID);
-  WINUSERAPI HMENU WINAPI CreatePopupMenu(VOID);
-  WINUSERAPI WINBOOL WINAPI DestroyMenu(HMENU hMenu);
-  WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU hMenu,UINT uIDCheckItem,UINT uCheck);
-  WINUSERAPI WINBOOL WINAPI EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable);
-  WINUSERAPI HMENU WINAPI GetSubMenu(HMENU hMenu,int nPos);
-  WINUSERAPI UINT WINAPI GetMenuItemID(HMENU hMenu,int nPos);
-  WINUSERAPI int WINAPI GetMenuItemCount(HMENU hMenu);
-  WINUSERAPI WINBOOL WINAPI InsertMenuA(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI InsertMenuW(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI AppendMenuA(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI AppendMenuW(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI ModifyMenuA(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI ModifyMenuW(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
-  WINUSERAPI WINBOOL WINAPI RemoveMenu(HMENU hMenu,UINT uPosition,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI SetMenuItemBitmaps(HMENU hMenu,UINT uPosition,UINT uFlags,HBITMAP hBitmapUnchecked,HBITMAP hBitmapChecked);
-  WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(VOID);
-  WINUSERAPI WINBOOL WINAPI TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT *prcRect);
-
-#define MNC_IGNORE 0
-#define MNC_CLOSE 1
-#define MNC_EXECUTE 2
-#define MNC_SELECT 3
-
-  typedef struct tagTPMPARAMS {
-    UINT cbSize;
-    RECT rcExclude;
-  } TPMPARAMS;
-
-  typedef TPMPARAMS *LPTPMPARAMS;
-
-  WINUSERAPI WINBOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
-
-#define MNS_NOCHECK 0x80000000
-#define MNS_MODELESS 0x40000000
-#define MNS_DRAGDROP 0x20000000
-#define MNS_AUTODISMISS 0x10000000
-#define MNS_NOTIFYBYPOS 0x08000000
-#define MNS_CHECKORBMP 0x04000000
-
-#define MIM_MAXHEIGHT 0x00000001
-#define MIM_BACKGROUND 0x00000002
-#define MIM_HELPID 0x00000004
-#define MIM_MENUDATA 0x00000008
-#define MIM_STYLE 0x00000010
-#define MIM_APPLYTOSUBMENUS 0x80000000
-
-  typedef struct tagMENUINFO {
-    DWORD cbSize;
-    DWORD fMask;
-    DWORD dwStyle;
-    UINT cyMax;
-    HBRUSH hbrBack;
-    DWORD dwContextHelpID;
-    ULONG_PTR dwMenuData;
-  } MENUINFO,*LPMENUINFO;
-
-  typedef MENUINFO CONST *LPCMENUINFO;
-
-  WINUSERAPI WINBOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-  WINUSERAPI WINBOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
-  WINUSERAPI WINBOOL WINAPI EndMenu(VOID);
-
-#define MND_CONTINUE 0
-#define MND_ENDMENU 1
-
-  typedef struct tagMENUGETOBJECTINFO {
-    DWORD dwFlags;
-    UINT uPos;
-    HMENU hmenu;
-    PVOID riid;
-    PVOID pvObj;
-  } MENUGETOBJECTINFO,*PMENUGETOBJECTINFO;
-
-#define MNGOF_TOPGAP 0x00000001
-#define MNGOF_BOTTOMGAP 0x00000002
-
-#define MNGO_NOINTERFACE 0x00000000
-#define MNGO_NOERROR 0x00000001
-
-#define MIIM_STATE 0x00000001
-#define MIIM_ID 0x00000002
-#define MIIM_SUBMENU 0x00000004
-#define MIIM_CHECKMARKS 0x00000008
-#define MIIM_TYPE 0x00000010
-#define MIIM_DATA 0x00000020
-
-#define MIIM_STRING 0x00000040
-#define MIIM_BITMAP 0x00000080
-#define MIIM_FTYPE 0x00000100
-
-#define HBMMENU_CALLBACK ((HBITMAP) -1)
-#define HBMMENU_SYSTEM ((HBITMAP) 1)
-#define HBMMENU_MBAR_RESTORE ((HBITMAP) 2)
-#define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3)
-#define HBMMENU_MBAR_CLOSE ((HBITMAP) 5)
-#define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6)
-#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7)
-#define HBMMENU_POPUP_CLOSE ((HBITMAP) 8)
-#define HBMMENU_POPUP_RESTORE ((HBITMAP) 9)
-#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10)
-#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11)
-
-  typedef struct tagMENUITEMINFOA {
-    UINT cbSize;
-    UINT fMask;
-    UINT fType;
-    UINT fState;
-    UINT wID;
-    HMENU hSubMenu;
-    HBITMAP hbmpChecked;
-    HBITMAP hbmpUnchecked;
-    ULONG_PTR dwItemData;
-    LPSTR dwTypeData;
-    UINT cch;
-    HBITMAP hbmpItem;
-  } MENUITEMINFOA,*LPMENUITEMINFOA;
-
-  typedef struct tagMENUITEMINFOW {
-    UINT cbSize;
-    UINT fMask;
-    UINT fType;
-    UINT fState;
-    UINT wID;
-    HMENU hSubMenu;
-    HBITMAP hbmpChecked;
-    HBITMAP hbmpUnchecked;
-    ULONG_PTR dwItemData;
-    LPWSTR dwTypeData;
-    UINT cch;
-    HBITMAP hbmpItem;
-  } MENUITEMINFOW,*LPMENUITEMINFOW;
-
-  __MINGW_TYPEDEF_AW(MENUITEMINFO)
-  __MINGW_TYPEDEF_AW(LPMENUITEMINFO)
-
-  typedef MENUITEMINFOA CONST *LPCMENUITEMINFOA;
-  typedef MENUITEMINFOW CONST *LPCMENUITEMINFOW;
-
-  __MINGW_TYPEDEF_AW(LPCMENUITEMINFO)
-
-#define InsertMenuItem __MINGW_NAME_AW(InsertMenuItem)
-#define GetMenuItemInfo __MINGW_NAME_AW(GetMenuItemInfo)
-#define SetMenuItemInfo __MINGW_NAME_AW(SetMenuItemInfo)
-
-  WINUSERAPI WINBOOL WINAPI InsertMenuItemA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOA lpmi);
-  WINUSERAPI WINBOOL WINAPI InsertMenuItemW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOW lpmi);
-  WINUSERAPI WINBOOL WINAPI GetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOA lpmii);
-  WINUSERAPI WINBOOL WINAPI GetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOW lpmii);
-  WINUSERAPI WINBOOL WINAPI SetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOA lpmii);
-  WINUSERAPI WINBOOL WINAPI SetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOW lpmii);
-
-#define GMDI_USEDISABLED __MSABI_LONG(0x0001)
-#define GMDI_GOINTOPOPUPS __MSABI_LONG(0x0002)
-
-  WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU hMenu,UINT fByPos,UINT gmdiFlags);
-  WINUSERAPI WINBOOL WINAPI SetMenuDefaultItem(HMENU hMenu,UINT uItem,UINT fByPos);
-  WINUSERAPI WINBOOL WINAPI GetMenuItemRect(HWND hWnd,HMENU hMenu,UINT uItem,LPRECT lprcItem);
-  WINUSERAPI int WINAPI MenuItemFromPoint(HWND hWnd,HMENU hMenu,POINT ptScreen);
-
-#define TPM_LEFTBUTTON __MSABI_LONG(0x0000)
-#define TPM_RIGHTBUTTON __MSABI_LONG(0x0002)
-#define TPM_LEFTALIGN __MSABI_LONG(0x0000)
-#define TPM_CENTERALIGN __MSABI_LONG(0x0004)
-#define TPM_RIGHTALIGN __MSABI_LONG(0x0008)
-#define TPM_TOPALIGN __MSABI_LONG(0x0000)
-#define TPM_VCENTERALIGN __MSABI_LONG(0x0010)
-#define TPM_BOTTOMALIGN __MSABI_LONG(0x0020)
-
-#define TPM_HORIZONTAL __MSABI_LONG(0x0000)
-#define TPM_VERTICAL __MSABI_LONG(0x0040)
-#define TPM_NONOTIFY __MSABI_LONG(0x0080)
-#define TPM_RETURNCMD __MSABI_LONG(0x0100)
-#define TPM_RECURSE __MSABI_LONG(0x0001)
-#define TPM_HORPOSANIMATION __MSABI_LONG(0x0400)
-#define TPM_HORNEGANIMATION __MSABI_LONG(0x0800)
-#define TPM_VERPOSANIMATION __MSABI_LONG(0x1000)
-#define TPM_VERNEGANIMATION __MSABI_LONG(0x2000)
-#define TPM_NOANIMATION __MSABI_LONG(0x4000)
-#define TPM_LAYOUTRTL __MSABI_LONG(0x8000)
-#endif
-
-  typedef struct tagDROPSTRUCT {
-    HWND hwndSource;
-    HWND hwndSink;
-    DWORD wFmt;
-    ULONG_PTR dwData;
-    POINT ptDrop;
-    DWORD dwControlData;
-  } DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
-
-#define DOF_EXECUTABLE 0x8001
-#define DOF_DOCUMENT 0x8002
-#define DOF_DIRECTORY 0x8003
-#define DOF_MULTIPLE 0x8004
-#define DOF_PROGMAN 0x0001
-#define DOF_SHELLDATA 0x0002
-
-#define DO_DROPFILE __MSABI_LONG(0x454C4946)
-#define DO_PRINTFILE __MSABI_LONG(0x544E5250)
-
-  WINUSERAPI DWORD WINAPI DragObject(HWND hwndParent,HWND hwndFrom,UINT fmt,ULONG_PTR data,HCURSOR hcur);
-  WINUSERAPI WINBOOL WINAPI DragDetect(HWND hwnd,POINT pt);
-  WINUSERAPI WINBOOL WINAPI DrawIcon(HDC hDC,int X,int Y,HICON hIcon);
-
-#ifndef NODRAWTEXT
-
-#define DT_TOP 0x00000000
-#define DT_LEFT 0x00000000
-#define DT_CENTER 0x00000001
-#define DT_RIGHT 0x00000002
-#define DT_VCENTER 0x00000004
-#define DT_BOTTOM 0x00000008
-#define DT_WORDBREAK 0x00000010
-#define DT_SINGLELINE 0x00000020
-#define DT_EXPANDTABS 0x00000040
-#define DT_TABSTOP 0x00000080
-#define DT_NOCLIP 0x00000100
-#define DT_EXTERNALLEADING 0x00000200
-#define DT_CALCRECT 0x00000400
-#define DT_NOPREFIX 0x00000800
-#define DT_INTERNAL 0x00001000
-
-#define DT_EDITCONTROL 0x00002000
-#define DT_PATH_ELLIPSIS 0x00004000
-#define DT_END_ELLIPSIS 0x00008000
-#define DT_MODIFYSTRING 0x00010000
-#define DT_RTLREADING 0x00020000
-#define DT_WORD_ELLIPSIS 0x00040000
-#define DT_NOFULLWIDTHCHARBREAK 0x00080000
-#define DT_HIDEPREFIX 0x00100000
-#define DT_PREFIXONLY 0x00200000
-
-  typedef struct tagDRAWTEXTPARAMS {
-    UINT cbSize;
-    int iTabLength;
-    int iLeftMargin;
-    int iRightMargin;
-    UINT uiLengthDrawn;
-  } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
-
-#define DrawText __MINGW_NAME_AW(DrawText)
-#define DrawTextEx __MINGW_NAME_AW(DrawTextEx)
-
-  WINUSERAPI int WINAPI DrawTextA(HDC hdc,LPCSTR lpchText,int cchText,LPRECT lprc,UINT format);
-  WINUSERAPI int WINAPI DrawTextW(HDC hdc,LPCWSTR lpchText,int cchText,LPRECT lprc,UINT format);
-  WINUSERAPI int WINAPI DrawTextExA(HDC hdc,LPSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp);
-  WINUSERAPI int WINAPI DrawTextExW(HDC hdc,LPWSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp);
-#endif
-
-#define GrayString __MINGW_NAME_AW(GrayString)
-#define DrawState __MINGW_NAME_AW(DrawState)
-#define TabbedTextOut __MINGW_NAME_AW(TabbedTextOut)
-#define GetTabbedTextExtent __MINGW_NAME_AW(GetTabbedTextExtent)
-
-  WINUSERAPI WINBOOL WINAPI GrayStringA(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight);
-  WINUSERAPI WINBOOL WINAPI GrayStringW(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight);
-
-#define DST_COMPLEX 0x0000
-#define DST_TEXT 0x0001
-#define DST_PREFIXTEXT 0x0002
-#define DST_ICON 0x0003
-#define DST_BITMAP 0x0004
-
-#define DSS_NORMAL 0x0000
-#define DSS_UNION 0x0010
-#define DSS_DISABLED 0x0020
-#define DSS_MONO 0x0080
-#define DSS_HIDEPREFIX 0x0200
-#define DSS_PREFIXONLY 0x0400
-#define DSS_RIGHT 0x8000
-
-  WINUSERAPI WINBOOL WINAPI DrawStateA(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags);
-  WINUSERAPI WINBOOL WINAPI DrawStateW(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags);
-  WINUSERAPI LONG WINAPI TabbedTextOutA(HDC hdc,int x,int y,LPCSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions,int nTabOrigin);
-  WINUSERAPI LONG WINAPI TabbedTextOutW(HDC hdc,int x,int y,LPCWSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions,int nTabOrigin);
-  WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC hdc,LPCSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions);
-  WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC hdc,LPCWSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions);
-  WINUSERAPI WINBOOL WINAPI UpdateWindow(HWND hWnd);
-  WINUSERAPI HWND WINAPI SetActiveWindow(HWND hWnd);
-  WINUSERAPI HWND WINAPI GetForegroundWindow(VOID);
-  WINUSERAPI WINBOOL WINAPI PaintDesktop(HDC hdc);
-  WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND hwnd,WINBOOL fUnknown);
-  WINUSERAPI WINBOOL WINAPI SetForegroundWindow(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI AllowSetForegroundWindow(DWORD dwProcessId);
-
-#define ASFW_ANY ((DWORD)-1)
-
-  WINUSERAPI WINBOOL WINAPI LockSetForegroundWindow(UINT uLockCode);
-
-#define LSFW_LOCK 1
-#define LSFW_UNLOCK 2
-
-  WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC);
-  WINUSERAPI HDC WINAPI GetDC(HWND hWnd);
-  WINUSERAPI HDC WINAPI GetDCEx(HWND hWnd,HRGN hrgnClip,DWORD flags);
-
-#define DCX_WINDOW __MSABI_LONG(0x00000001)
-#define DCX_CACHE __MSABI_LONG(0x00000002)
-#define DCX_NORESETATTRS __MSABI_LONG(0x00000004)
-#define DCX_CLIPCHILDREN __MSABI_LONG(0x00000008)
-#define DCX_CLIPSIBLINGS __MSABI_LONG(0x00000010)
-#define DCX_PARENTCLIP __MSABI_LONG(0x00000020)
-#define DCX_EXCLUDERGN __MSABI_LONG(0x00000040)
-#define DCX_INTERSECTRGN __MSABI_LONG(0x00000080)
-#define DCX_EXCLUDEUPDATE __MSABI_LONG(0x00000100)
-#define DCX_INTERSECTUPDATE __MSABI_LONG(0x00000200)
-#define DCX_LOCKWINDOWUPDATE __MSABI_LONG(0x00000400)
-
-#define DCX_VALIDATE __MSABI_LONG(0x00200000)
-
-  WINUSERAPI HDC WINAPI GetWindowDC(HWND hWnd);
-  WINUSERAPI int WINAPI ReleaseDC(HWND hWnd,HDC hDC);
-  WINUSERAPI HDC WINAPI BeginPaint(HWND hWnd,LPPAINTSTRUCT lpPaint);
-  WINUSERAPI WINBOOL WINAPI EndPaint(HWND hWnd,CONST PAINTSTRUCT *lpPaint);
-  WINUSERAPI WINBOOL WINAPI GetUpdateRect(HWND hWnd,LPRECT lpRect,WINBOOL bErase);
-  WINUSERAPI int WINAPI GetUpdateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase);
-  WINUSERAPI int WINAPI SetWindowRgn(HWND hWnd,HRGN hRgn,WINBOOL bRedraw);
-  WINUSERAPI int WINAPI GetWindowRgn(HWND hWnd,HRGN hRgn);
-  WINUSERAPI int WINAPI GetWindowRgnBox(HWND hWnd,LPRECT lprc);
-  WINUSERAPI int WINAPI ExcludeUpdateRgn(HDC hDC,HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI InvalidateRect(HWND hWnd,CONST RECT *lpRect,WINBOOL bErase);
-  WINUSERAPI WINBOOL WINAPI ValidateRect(HWND hWnd,CONST RECT *lpRect);
-  WINUSERAPI WINBOOL WINAPI InvalidateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase);
-  WINUSERAPI WINBOOL WINAPI ValidateRgn(HWND hWnd,HRGN hRgn);
-  WINUSERAPI WINBOOL WINAPI RedrawWindow(HWND hWnd,CONST RECT *lprcUpdate,HRGN hrgnUpdate,UINT flags);
-
-#define RDW_INVALIDATE 0x0001
-#define RDW_INTERNALPAINT 0x0002
-#define RDW_ERASE 0x0004
-
-#define RDW_VALIDATE 0x0008
-#define RDW_NOINTERNALPAINT 0x0010
-#define RDW_NOERASE 0x0020
-
-#define RDW_NOCHILDREN 0x0040
-#define RDW_ALLCHILDREN 0x0080
-
-#define RDW_UPDATENOW 0x0100
-#define RDW_ERASENOW 0x0200
-
-#define RDW_FRAME 0x0400
-#define RDW_NOFRAME 0x0800
-
-  WINUSERAPI WINBOOL WINAPI LockWindowUpdate(HWND hWndLock);
-  WINUSERAPI WINBOOL WINAPI ScrollWindow(HWND hWnd,int XAmount,int YAmount,CONST RECT *lpRect,CONST RECT *lpClipRect);
-  WINUSERAPI WINBOOL WINAPI ScrollDC(HDC hDC,int dx,int dy,CONST RECT *lprcScroll,CONST RECT *lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate);
-  WINUSERAPI int WINAPI ScrollWindowEx(HWND hWnd,int dx,int dy,CONST RECT *prcScroll,CONST RECT *prcClip,HRGN hrgnUpdate,LPRECT prcUpdate,UINT flags);
-
-#define SW_SCROLLCHILDREN 0x0001
-#define SW_INVALIDATE 0x0002
-#define SW_ERASE 0x0004
-#define SW_SMOOTHSCROLL 0x0010
-
-#ifndef NOSCROLL
-  WINUSERAPI int WINAPI SetScrollPos(HWND hWnd,int nBar,int nPos,WINBOOL bRedraw);
-  WINUSERAPI int WINAPI GetScrollPos(HWND hWnd,int nBar);
-  WINUSERAPI WINBOOL WINAPI SetScrollRange(HWND hWnd,int nBar,int nMinPos,int nMaxPos,WINBOOL bRedraw);
-  WINUSERAPI WINBOOL WINAPI GetScrollRange(HWND hWnd,int nBar,LPINT lpMinPos,LPINT lpMaxPos);
-  WINUSERAPI WINBOOL WINAPI ShowScrollBar(HWND hWnd,int wBar,WINBOOL bShow);
-  WINUSERAPI WINBOOL WINAPI EnableScrollBar(HWND hWnd,UINT wSBflags,UINT wArrows);
-
-#define ESB_ENABLE_BOTH 0x0000
-#define ESB_DISABLE_BOTH 0x0003
-
-#define ESB_DISABLE_LEFT 0x0001
-#define ESB_DISABLE_RIGHT 0x0002
-
-#define ESB_DISABLE_UP 0x0001
-#define ESB_DISABLE_DOWN 0x0002
-
-#define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
-#define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
-#endif
-
-#define SetProp __MINGW_NAME_AW(SetProp)
-#define GetProp __MINGW_NAME_AW(GetProp)
-#define RemoveProp __MINGW_NAME_AW(RemoveProp)
-#define EnumPropsEx __MINGW_NAME_AW(EnumPropsEx)
-#define EnumProps __MINGW_NAME_AW(EnumProps)
-#define SetWindowText __MINGW_NAME_AW(SetWindowText)
-#define GetWindowText __MINGW_NAME_AW(GetWindowText)
-#define GetWindowTextLength __MINGW_NAME_AW(GetWindowTextLength)
-
-  WINUSERAPI WINBOOL WINAPI SetPropA(HWND hWnd,LPCSTR lpString,HANDLE hData);
-  WINUSERAPI WINBOOL WINAPI SetPropW(HWND hWnd,LPCWSTR lpString,HANDLE hData);
-  WINUSERAPI HANDLE WINAPI GetPropA(HWND hWnd,LPCSTR lpString);
-  WINUSERAPI HANDLE WINAPI GetPropW(HWND hWnd,LPCWSTR lpString);
-  WINUSERAPI HANDLE WINAPI RemovePropA(HWND hWnd,LPCSTR lpString);
-  WINUSERAPI HANDLE WINAPI RemovePropW(HWND hWnd,LPCWSTR lpString);
-  WINUSERAPI int WINAPI EnumPropsExA(HWND hWnd,PROPENUMPROCEXA lpEnumFunc,LPARAM lParam);
-  WINUSERAPI int WINAPI EnumPropsExW(HWND hWnd,PROPENUMPROCEXW lpEnumFunc,LPARAM lParam);
-  WINUSERAPI int WINAPI EnumPropsA(HWND hWnd,PROPENUMPROCA lpEnumFunc);
-  WINUSERAPI int WINAPI EnumPropsW(HWND hWnd,PROPENUMPROCW lpEnumFunc);
-  WINUSERAPI WINBOOL WINAPI SetWindowTextA(HWND hWnd,LPCSTR lpString);
-  WINUSERAPI WINBOOL WINAPI SetWindowTextW(HWND hWnd,LPCWSTR lpString);
-  WINUSERAPI int WINAPI GetWindowTextA(HWND hWnd,LPSTR lpString,int nMaxCount);
-  WINUSERAPI int WINAPI GetWindowTextW(HWND hWnd,LPWSTR lpString,int nMaxCount);
-  WINUSERAPI int WINAPI GetWindowTextLengthA(HWND hWnd);
-  WINUSERAPI int WINAPI GetWindowTextLengthW(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI GetClientRect(HWND hWnd,LPRECT lpRect);
-  WINUSERAPI WINBOOL WINAPI GetWindowRect(HWND hWnd,LPRECT lpRect);
-  WINUSERAPI WINBOOL WINAPI AdjustWindowRect(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu);
-  WINUSERAPI WINBOOL WINAPI AdjustWindowRectEx(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu,DWORD dwExStyle);
-
-#define HELPINFO_WINDOW 0x0001
-#define HELPINFO_MENUITEM 0x0002
-
-  typedef struct tagHELPINFO {
-    UINT cbSize;
-    int iContextType;
-    int iCtrlId;
-    HANDLE hItemHandle;
-    DWORD_PTR dwContextId;
-    POINT MousePos;
-  } HELPINFO,*LPHELPINFO;
-
-  WINUSERAPI WINBOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
-  WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
-  WINUSERAPI WINBOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
-  WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
-
-#ifndef NOMB
-
-#define MB_OK __MSABI_LONG(0x00000000)
-#define MB_OKCANCEL __MSABI_LONG(0x00000001)
-#define MB_ABORTRETRYIGNORE __MSABI_LONG(0x00000002)
-#define MB_YESNOCANCEL __MSABI_LONG(0x00000003)
-#define MB_YESNO __MSABI_LONG(0x00000004)
-#define MB_RETRYCANCEL __MSABI_LONG(0x00000005)
-#define MB_CANCELTRYCONTINUE __MSABI_LONG(0x00000006)
-#define MB_ICONHAND __MSABI_LONG(0x00000010)
-#define MB_ICONQUESTION __MSABI_LONG(0x00000020)
-#define MB_ICONEXCLAMATION __MSABI_LONG(0x00000030)
-#define MB_ICONASTERISK __MSABI_LONG(0x00000040)
-#define MB_USERICON __MSABI_LONG(0x00000080)
-#define MB_ICONWARNING MB_ICONEXCLAMATION
-#define MB_ICONERROR MB_ICONHAND
-#define MB_ICONINFORMATION MB_ICONASTERISK
-#define MB_ICONSTOP MB_ICONHAND
-#define MB_DEFBUTTON1 __MSABI_LONG(0x00000000)
-#define MB_DEFBUTTON2 __MSABI_LONG(0x00000100)
-#define MB_DEFBUTTON3 __MSABI_LONG(0x00000200)
-#define MB_DEFBUTTON4 __MSABI_LONG(0x00000300)
-#define MB_APPLMODAL __MSABI_LONG(0x00000000)
-#define MB_SYSTEMMODAL __MSABI_LONG(0x00001000)
-#define MB_TASKMODAL __MSABI_LONG(0x00002000)
-#define MB_HELP __MSABI_LONG(0x00004000)
-#define MB_NOFOCUS __MSABI_LONG(0x00008000)
-#define MB_SETFOREGROUND __MSABI_LONG(0x00010000)
-#define MB_DEFAULT_DESKTOP_ONLY __MSABI_LONG(0x00020000)
-#define MB_TOPMOST __MSABI_LONG(0x00040000)
-#define MB_RIGHT __MSABI_LONG(0x00080000)
-#define MB_RTLREADING __MSABI_LONG(0x00100000)
-#define MB_SERVICE_NOTIFICATION __MSABI_LONG(0x00200000)
-#define MB_SERVICE_NOTIFICATION_NT3X __MSABI_LONG(0x00040000)
-#define MB_TYPEMASK __MSABI_LONG(0x0000000F)
-#define MB_ICONMASK __MSABI_LONG(0x000000F0)
-#define MB_DEFMASK __MSABI_LONG(0x00000F00)
-#define MB_MODEMASK __MSABI_LONG(0x00003000)
-#define MB_MISCMASK __MSABI_LONG(0x0000C000)
-
-#define MessageBox __MINGW_NAME_AW(MessageBox)
-#define MessageBoxEx __MINGW_NAME_AW(MessageBoxEx)
-
-  WINUSERAPI int WINAPI MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType);
-  WINUSERAPI int WINAPI MessageBoxW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType);
-  WINUSERAPI int WINAPI MessageBoxExA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType,WORD wLanguageId);
-  WINUSERAPI int WINAPI MessageBoxExW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType,WORD wLanguageId);
-
-  typedef VOID (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
-
-  typedef struct tagMSGBOXPARAMSA {
-    UINT cbSize;
-    HWND hwndOwner;
-    HINSTANCE hInstance;
-    LPCSTR lpszText;
-    LPCSTR lpszCaption;
-    DWORD dwStyle;
-    LPCSTR lpszIcon;
-    DWORD_PTR dwContextHelpId;
-    MSGBOXCALLBACK lpfnMsgBoxCallback;
-    DWORD dwLanguageId;
-  } MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
-
-  typedef struct tagMSGBOXPARAMSW {
-    UINT cbSize;
-    HWND hwndOwner;
-    HINSTANCE hInstance;
-    LPCWSTR lpszText;
-    LPCWSTR lpszCaption;
-    DWORD dwStyle;
-    LPCWSTR lpszIcon;
-    DWORD_PTR dwContextHelpId;
-    MSGBOXCALLBACK lpfnMsgBoxCallback;
-    DWORD dwLanguageId;
-  } MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
-
-  __MINGW_TYPEDEF_AW(MSGBOXPARAMS)
-  __MINGW_TYPEDEF_AW(PMSGBOXPARAMS)
-  __MINGW_TYPEDEF_AW(LPMSGBOXPARAMS)
-
-#define MessageBoxIndirect __MINGW_NAME_AW(MessageBoxIndirect)
-
-  WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA *lpmbp);
-  WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW *lpmbp);
-  WINUSERAPI WINBOOL WINAPI MessageBeep(UINT uType);
-#endif
-
-  WINUSERAPI int WINAPI ShowCursor(WINBOOL bShow);
-  WINUSERAPI WINBOOL WINAPI SetCursorPos(int X,int Y);
-  WINUSERAPI HCURSOR WINAPI SetCursor(HCURSOR hCursor);
-  WINUSERAPI WINBOOL WINAPI GetCursorPos(LPPOINT lpPoint);
-  WINUSERAPI WINBOOL WINAPI ClipCursor(CONST RECT *lpRect);
-  WINUSERAPI WINBOOL WINAPI GetClipCursor(LPRECT lpRect);
-  WINUSERAPI HCURSOR WINAPI GetCursor(VOID);
-  WINUSERAPI WINBOOL WINAPI CreateCaret(HWND hWnd,HBITMAP hBitmap,int nWidth,int nHeight);
-  WINUSERAPI UINT WINAPI GetCaretBlinkTime(VOID);
-  WINUSERAPI WINBOOL WINAPI SetCaretBlinkTime(UINT uMSeconds);
-  WINUSERAPI WINBOOL WINAPI DestroyCaret(VOID);
-  WINUSERAPI WINBOOL WINAPI HideCaret(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI ShowCaret(HWND hWnd);
-  WINUSERAPI WINBOOL WINAPI SetCaretPos(int X,int Y);
-  WINUSERAPI WINBOOL WINAPI GetCaretPos(LPPOINT lpPoint);
-  WINUSERAPI WINBOOL WINAPI ClientToScreen(HWND hWnd,LPPOINT lpPoint);
-  WINUSERAPI WINBOOL WINAPI ScreenToClient(HWND hWnd,LPPOINT lpPoint);
-  WINUSERAPI int WINAPI MapWindowPoints(HWND hWndFrom,HWND hWndTo,LPPOINT lpPoints,UINT cPoints);
-  WINUSERAPI HWND WINAPI WindowFromPoint(POINT Point);
-  WINUSERAPI HWND WINAPI ChildWindowFromPoint(HWND hWndParent,POINT Point);
-
-#define CWP_ALL 0x0000
-#define CWP_SKIPINVISIBLE 0x0001
-#define CWP_SKIPDISABLED 0x0002
-#define CWP_SKIPTRANSPARENT 0x0004
-
-  WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND hwnd,POINT pt,UINT flags);
-
-#ifndef NOCOLOR
-
-#define CTLCOLOR_MSGBOX 0
-#define CTLCOLOR_EDIT 1
-#define CTLCOLOR_LISTBOX 2
-#define CTLCOLOR_BTN 3
-#define CTLCOLOR_DLG 4
-#define CTLCOLOR_SCROLLBAR 5
-#define CTLCOLOR_STATIC 6
-#define CTLCOLOR_MAX 7
-
-#define COLOR_SCROLLBAR 0
-#define COLOR_BACKGROUND 1
-#define COLOR_ACTIVECAPTION 2
-#define COLOR_INACTIVECAPTION 3
-#define COLOR_MENU 4
-#define COLOR_WINDOW 5
-#define COLOR_WINDOWFRAME 6
-#define COLOR_MENUTEXT 7
-#define COLOR_WINDOWTEXT 8
-#define COLOR_CAPTIONTEXT 9
-#define COLOR_ACTIVEBORDER 10
-#define COLOR_INACTIVEBORDER 11
-#define COLOR_APPWORKSPACE 12
-#define COLOR_HIGHLIGHT 13
-#define COLOR_HIGHLIGHTTEXT 14
-#define COLOR_BTNFACE 15
-#define COLOR_BTNSHADOW 16
-#define COLOR_GRAYTEXT 17
-#define COLOR_BTNTEXT 18
-#define COLOR_INACTIVECAPTIONTEXT 19
-#define COLOR_BTNHIGHLIGHT 20
-
-#define COLOR_3DDKSHADOW 21
-#define COLOR_3DLIGHT 22
-#define COLOR_INFOTEXT 23
-#define COLOR_INFOBK 24
-
-#define COLOR_HOTLIGHT 26
-#define COLOR_GRADIENTACTIVECAPTION 27
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#define COLOR_MENUHILIGHT 29
-#define COLOR_MENUBAR 30
-
-#define COLOR_DESKTOP COLOR_BACKGROUND
-#define COLOR_3DFACE COLOR_BTNFACE
-#define COLOR_3DSHADOW COLOR_BTNSHADOW
-#define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
-#define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
-#define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
-
-  WINUSERAPI DWORD WINAPI GetSysColor(int nIndex);
-  WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int nIndex);
-  WINUSERAPI WINBOOL WINAPI SetSysColors(int cElements,CONST INT *lpaElements,CONST COLORREF *lpaRgbValues);
-#endif
-
-  WINUSERAPI WINBOOL WINAPI DrawFocusRect(HDC hDC,CONST RECT *lprc);
-  WINUSERAPI int WINAPI FillRect(HDC hDC,CONST RECT *lprc,HBRUSH hbr);
-  WINUSERAPI int WINAPI FrameRect(HDC hDC,CONST RECT *lprc,HBRUSH hbr);
-  WINUSERAPI WINBOOL WINAPI InvertRect(HDC hDC,CONST RECT *lprc);
-  WINUSERAPI WINBOOL WINAPI SetRect(LPRECT lprc,int xLeft,int yTop,int xRight,int yBottom);
-  WINUSERAPI WINBOOL WINAPI SetRectEmpty(LPRECT lprc);
-  WINUSERAPI WINBOOL WINAPI CopyRect(LPRECT lprcDst,CONST RECT *lprcSrc);
-  WINUSERAPI WINBOOL WINAPI InflateRect(LPRECT lprc,int dx,int dy);
-  WINUSERAPI WINBOOL WINAPI IntersectRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2);
-  WINUSERAPI WINBOOL WINAPI UnionRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2);
-  WINUSERAPI WINBOOL WINAPI SubtractRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2);
-  WINUSERAPI WINBOOL WINAPI OffsetRect(LPRECT lprc,int dx,int dy);
-  WINUSERAPI WINBOOL WINAPI IsRectEmpty(CONST RECT *lprc);
-  WINUSERAPI WINBOOL WINAPI EqualRect(CONST RECT *lprc1,CONST RECT *lprc2);
-  WINUSERAPI WINBOOL WINAPI PtInRect(CONST RECT *lprc,POINT pt);
-
-#ifndef NOWINOFFSETS
-
-#define GetWindowLong __MINGW_NAME_AW(GetWindowLong)
-#define SetWindowLong __MINGW_NAME_AW(SetWindowLong)
-
-  WINUSERAPI WORD WINAPI GetWindowWord(HWND hWnd,int nIndex);
-  WINUSERAPI WORD WINAPI SetWindowWord(HWND hWnd,int nIndex,WORD wNewWord);
-  WINUSERAPI LONG WINAPI GetWindowLongA(HWND hWnd,int nIndex);
-  WINUSERAPI LONG WINAPI GetWindowLongW(HWND hWnd,int nIndex);
-  WINUSERAPI LONG WINAPI SetWindowLongA(HWND hWnd,int nIndex,LONG dwNewLong);
-  WINUSERAPI LONG WINAPI SetWindowLongW(HWND hWnd,int nIndex,LONG dwNewLong);
-
-#ifdef _WIN64
-
-#define GetWindowLongPtr __MINGW_NAME_AW(GetWindowLongPtr)
-#define SetWindowLongPtr __MINGW_NAME_AW(SetWindowLongPtr)
-
-  WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND hWnd,int nIndex);
-  WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND hWnd,int nIndex);
-  WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
-  WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
-#else
-
-#define GetWindowLongPtr __MINGW_NAME_AW(GetWindowLongPtr)
-#define SetWindowLongPtr __MINGW_NAME_AW(SetWindowLongPtr)
-
-#define GetWindowLongPtrA GetWindowLongA
-#define GetWindowLongPtrW GetWindowLongW
-#define SetWindowLongPtrA SetWindowLongA
-#define SetWindowLongPtrW SetWindowLongW
-#endif
-
-#define GetClassLong __MINGW_NAME_AW(GetClassLong)
-#define SetClassLong __MINGW_NAME_AW(SetClassLong)
-
-  WINUSERAPI WORD WINAPI GetClassWord(HWND hWnd,int nIndex);
-  WINUSERAPI WORD WINAPI SetClassWord(HWND hWnd,int nIndex,WORD wNewWord);
-  WINUSERAPI DWORD WINAPI GetClassLongA(HWND hWnd,int nIndex);
-  WINUSERAPI DWORD WINAPI GetClassLongW(HWND hWnd,int nIndex);
-  WINUSERAPI DWORD WINAPI SetClassLongA(HWND hWnd,int nIndex,LONG dwNewLong);
-  WINUSERAPI DWORD WINAPI SetClassLongW(HWND hWnd,int nIndex,LONG dwNewLong);
-
-#ifdef _WIN64
-
-#define GetClassLongPtr __MINGW_NAME_AW(GetClassLongPtr)
-#define SetClassLongPtr __MINGW_NAME_AW(SetClassLongPtr)
-
-  WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND hWnd,int nIndex);
-  WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND hWnd,int nIndex);
-  WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
-  WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
-#else
-#define GetClassLongPtr __MINGW_NAME_AW(GetClassLongPtr)
-#define SetClassLongPtr __MINGW_NAME_AW(SetClassLongPtr)
-
-#define GetClassLongPtrA GetClassLongA
-#define GetClassLongPtrW GetClassLongW
-#define SetClassLongPtrA SetClassLongA
-#define SetClassLongPtrW SetClassLongW
-#endif
-#endif
-
-#define FindWindow __MINGW_NAME_AW(FindWindow)
-#define FindWindowEx __MINGW_NAME_AW(FindWindowEx)
-#define GetClassName __MINGW_NAME_AW(GetClassName)
-
-  WINUSERAPI WINBOOL WINAPI GetProcessDefaultLayout(DWORD *pdwDefaultLayout);
-  WINUSERAPI WINBOOL WINAPI SetProcessDefaultLayout(DWORD dwDefaultLayout);
-  WINUSERAPI HWND WINAPI GetDesktopWindow(VOID);
-  WINUSERAPI HWND WINAPI GetParent(HWND hWnd);
-  WINUSERAPI HWND WINAPI SetParent(HWND hWndChild,HWND hWndNewParent);
-  WINUSERAPI WINBOOL WINAPI EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc,LPARAM lParam);
-  WINUSERAPI HWND WINAPI FindWindowA(LPCSTR lpClassName,LPCSTR lpWindowName);
-  WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName);
-  WINUSERAPI HWND WINAPI FindWindowExA(HWND hWndParent,HWND hWndChildAfter,LPCSTR lpszClass,LPCSTR lpszWindow);
-  WINUSERAPI HWND WINAPI FindWindowExW(HWND hWndParent,HWND hWndChildAfter,LPCWSTR lpszClass,LPCWSTR lpszWindow);
-  WINUSERAPI HWND WINAPI GetShellWindow(VOID);
-  WINUSERAPI WINBOOL WINAPI RegisterShellHookWindow(HWND hwnd);
-  WINUSERAPI WINBOOL WINAPI DeregisterShellHookWindow(HWND hwnd);
-  WINUSERAPI WINBOOL WINAPI EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);
-  WINUSERAPI WINBOOL WINAPI EnumThreadWindows(DWORD dwThreadId,WNDENUMPROC lpfn,LPARAM lParam);
-
-#define EnumTaskWindows(hTask,lpfn,lParam) EnumThreadWindows(HandleToUlong(hTask),lpfn,lParam)
-
-  WINUSERAPI int WINAPI GetClassNameA(HWND hWnd,LPSTR lpClassName,int nMaxCount);
-  WINUSERAPI int WINAPI GetClassNameW(HWND hWnd,LPWSTR lpClassName,int nMaxCount);
-  WINUSERAPI HWND WINAPI GetTopWindow(HWND hWnd);
-
-#define GetNextWindow(hWnd,wCmd) GetWindow(hWnd,wCmd)
-#define GetSysModalWindow() (NULL)
-#define SetSysModalWindow(hWnd) (NULL)
-
-  WINUSERAPI DWORD WINAPI GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId);
-  WINUSERAPI WINBOOL WINAPI IsGUIThread(WINBOOL bConvert);
-
-#define GetWindowTask(hWnd) ((HANDLE)(DWORD_PTR)GetWindowThreadProcessId(hWnd,NULL))
-
-  WINUSERAPI HWND WINAPI GetLastActivePopup(HWND hWnd);
-
-#define GW_HWNDFIRST 0
-#define GW_HWNDLAST 1
-#define GW_HWNDNEXT 2
-#define GW_HWNDPREV 3
-#define GW_OWNER 4
-#define GW_CHILD 5
-#define GW_ENABLEDPOPUP 6
-#define GW_MAX 6
-
-  WINUSERAPI HWND WINAPI GetWindow(HWND hWnd,UINT uCmd);
-
-#ifndef NOWH
-
-#define SetWindowsHook __MINGW_NAME_AW(SetWindowsHook)
-#define SetWindowsHookEx __MINGW_NAME_AW(SetWindowsHookEx)
-
-  WINUSERAPI HHOOK WINAPI SetWindowsHookA(int nFilterType,HOOKPROC pfnFilterProc);
-  WINUSERAPI HHOOK WINAPI SetWindowsHookW(int nFilterType,HOOKPROC pfnFilterProc);
-  WINUSERAPI WINBOOL WINAPI UnhookWindowsHook(int nCode,HOOKPROC pfnFilterProc);
-  WINUSERAPI HHOOK WINAPI SetWindowsHookExA(int idHook,HOOKPROC lpfn,HINSTANCE hmod,DWORD dwThreadId);
-  WINUSERAPI HHOOK WINAPI SetWindowsHookExW(int idHook,HOOKPROC lpfn,HINSTANCE hmod,DWORD dwThreadId);
-  WINUSERAPI WINBOOL WINAPI UnhookWindowsHookEx(HHOOK hhk);
-  WINUSERAPI LRESULT WINAPI CallNextHookEx(HHOOK hhk,int nCode,WPARAM wParam,LPARAM lParam);
-#define DefHookProc(nCode,wParam,lParam,phhk) CallNextHookEx(*phhk,nCode,wParam,lParam)
-#endif
-
-#ifndef NOMENUS
-
-#define MF_INSERT __MSABI_LONG(0x00000000)
-#define MF_CHANGE __MSABI_LONG(0x00000080)
-#define MF_APPEND __MSABI_LONG(0x00000100)
-#define MF_DELETE __MSABI_LONG(0x00000200)
-#define MF_REMOVE __MSABI_LONG(0x00001000)
-#define MF_BYCOMMAND __MSABI_LONG(0x00000000)
-#define MF_BYPOSITION __MSABI_LONG(0x00000400)
-#define MF_SEPARATOR __MSABI_LONG(0x00000800)
-#define MF_ENABLED __MSABI_LONG(0x00000000)
-#define MF_GRAYED __MSABI_LONG(0x00000001)
-#define MF_DISABLED __MSABI_LONG(0x00000002)
-#define MF_UNCHECKED __MSABI_LONG(0x00000000)
-#define MF_CHECKED __MSABI_LONG(0x00000008)
-#define MF_USECHECKBITMAPS __MSABI_LONG(0x00000200)
-#define MF_STRING __MSABI_LONG(0x00000000)
-#define MF_BITMAP __MSABI_LONG(0x00000004)
-#define MF_OWNERDRAW __MSABI_LONG(0x00000100)
-#define MF_POPUP __MSABI_LONG(0x00000010)
-#define MF_MENUBARBREAK __MSABI_LONG(0x00000020)
-#define MF_MENUBREAK __MSABI_LONG(0x00000040)
-#define MF_UNHILITE __MSABI_LONG(0x00000000)
-#define MF_HILITE __MSABI_LONG(0x00000080)
-#define MF_DEFAULT __MSABI_LONG(0x00001000)
-#define MF_SYSMENU __MSABI_LONG(0x00002000)
-#define MF_HELP __MSABI_LONG(0x00004000)
-#define MF_RIGHTJUSTIFY __MSABI_LONG(0x00004000)
-#define MF_MOUSESELECT __MSABI_LONG(0x00008000)
-#define MF_END __MSABI_LONG(0x00000080)
-
-#define MFT_STRING MF_STRING
-#define MFT_BITMAP MF_BITMAP
-#define MFT_MENUBARBREAK MF_MENUBARBREAK
-#define MFT_MENUBREAK MF_MENUBREAK
-#define MFT_OWNERDRAW MF_OWNERDRAW
-#define MFT_RADIOCHECK __MSABI_LONG(0x00000200)
-#define MFT_SEPARATOR MF_SEPARATOR
-#define MFT_RIGHTORDER __MSABI_LONG(0x00002000)
-#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
-
-#define MFS_GRAYED __MSABI_LONG(0x00000003)
-#define MFS_DISABLED MFS_GRAYED
-#define MFS_CHECKED MF_CHECKED
-#define MFS_HILITE MF_HILITE
-#define MFS_ENABLED MF_ENABLED
-#define MFS_UNCHECKED MF_UNCHECKED
-#define MFS_UNHILITE MF_UNHILITE
-#define MFS_DEFAULT MF_DEFAULT
-
-  WINUSERAPI WINBOOL WINAPI CheckMenuRadioItem(HMENU hmenu,UINT first,UINT last,UINT check,UINT flags);
-
-  typedef struct {
-    WORD versionNumber;
-    WORD offset;
-  } MENUITEMTEMPLATEHEADER,*PMENUITEMTEMPLATEHEADER;
-
-  typedef struct {
-    WORD mtOption;
-    WORD mtID;
-    WCHAR mtString[1];
-  } MENUITEMTEMPLATE,*PMENUITEMTEMPLATE;
-#define MF_END __MSABI_LONG(0x00000080)
-#endif
-
-#ifndef NOSYSCOMMANDS
-
-#define SC_SIZE 0xF000
-#define SC_MOVE 0xF010
-#define SC_MINIMIZE 0xF020
-#define SC_MAXIMIZE 0xF030
-#define SC_NEXTWINDOW 0xF040
-#define SC_PREVWINDOW 0xF050
-#define SC_CLOSE 0xF060
-#define SC_VSCROLL 0xF070
-#define SC_HSCROLL 0xF080
-#define SC_MOUSEMENU 0xF090
-#define SC_KEYMENU 0xF100
-#define SC_ARRANGE 0xF110
-#define SC_RESTORE 0xF120
-#define SC_TASKLIST 0xF130
-#define SC_SCREENSAVE 0xF140
-#define SC_HOTKEY 0xF150
-#define SC_DEFAULT 0xF160
-#define SC_MONITORPOWER 0xF170
-#define SC_CONTEXTHELP 0xF180
-#define SC_SEPARATOR 0xF00F
-#define SC_ICON SC_MINIMIZE
-#define SC_ZOOM SC_MAXIMIZE
-#endif
-
-#define LoadBitmap __MINGW_NAME_AW(LoadBitmap)
-#define LoadCursor __MINGW_NAME_AW(LoadCursor)
-#define LoadCursorFromFile __MINGW_NAME_AW(LoadCursorFromFile)
-
-  WINUSERAPI HBITMAP WINAPI LoadBitmapA(HINSTANCE hInstance,LPCSTR lpBitmapName);
-  WINUSERAPI HBITMAP WINAPI LoadBitmapW(HINSTANCE hInstance,LPCWSTR lpBitmapName);
-  WINUSERAPI HCURSOR WINAPI LoadCursorA(HINSTANCE hInstance,LPCSTR lpCursorName);
-  WINUSERAPI HCURSOR WINAPI LoadCursorW(HINSTANCE hInstance,LPCWSTR lpCursorName);
-  WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA(LPCSTR lpFileName);
-  WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR lpFileName);
-  WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,CONST VOID *pvANDPlane,CONST VOID *pvXORPlane);
-  WINUSERAPI WINBOOL WINAPI DestroyCursor(HCURSOR hCursor);
-
-#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))
-
-#define IDC_ARROW MAKEINTRESOURCE(32512)
-#define IDC_IBEAM MAKEINTRESOURCE(32513)
-#define IDC_WAIT MAKEINTRESOURCE(32514)
-#define IDC_CROSS MAKEINTRESOURCE(32515)
-#define IDC_UPARROW MAKEINTRESOURCE(32516)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
-#define IDC_SIZENESW MAKEINTRESOURCE(32643)
-#define IDC_SIZEWE MAKEINTRESOURCE(32644)
-#define IDC_SIZENS MAKEINTRESOURCE(32645)
-#define IDC_SIZEALL MAKEINTRESOURCE(32646)
-#define IDC_NO MAKEINTRESOURCE(32648)
-#define IDC_HAND MAKEINTRESOURCE(32649)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
-
-  WINUSERAPI WINBOOL WINAPI SetSystemCursor(HCURSOR hcur,DWORD id);
-
-  typedef struct _ICONINFO {
-    WINBOOL fIcon;
-    DWORD xHotspot;
-    DWORD yHotspot;
-    HBITMAP hbmMask;
-    HBITMAP hbmColor;
-  } ICONINFO;
-  typedef ICONINFO *PICONINFO;
-
-#define LoadIcon __MINGW_NAME_AW(LoadIcon)
-#define PrivateExtractIcons __MINGW_NAME_AW(PrivateExtractIcons)
-
-  WINUSERAPI HICON WINAPI LoadIconA(HINSTANCE hInstance,LPCSTR lpIconName);
-  WINUSERAPI HICON WINAPI LoadIconW(HINSTANCE hInstance,LPCWSTR lpIconName);
-  WINUSERAPI UINT WINAPI PrivateExtractIconsA(LPCSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags);
-  WINUSERAPI UINT WINAPI PrivateExtractIconsW(LPCWSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags);
-  WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE hInstance,int nWidth,int nHeight,BYTE cPlanes,BYTE cBitsPixel,CONST BYTE *lpbANDbits,CONST BYTE *lpbXORbits);
-  WINUSERAPI WINBOOL WINAPI DestroyIcon(HICON hIcon);
-  WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE presbits,WINBOOL fIcon);
-  WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE presbits,WINBOOL fIcon,int cxDesired,int cyDesired,UINT Flags);
-  WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer);
-  WINUSERAPI HICON WINAPI CreateIconFromResourceEx(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer,int cxDesired,int cyDesired,UINT Flags);
-
-  typedef struct tagCURSORSHAPE {
-    int xHotSpot;
-    int yHotSpot;
-    int cx;
-    int cy;
-    int cbWidth;
-    BYTE Planes;
-    BYTE BitsPixel;
-  } CURSORSHAPE,*LPCURSORSHAPE;
-
-#define IMAGE_BITMAP 0
-#define IMAGE_ICON 1
-#define IMAGE_CURSOR 2
-#define IMAGE_ENHMETAFILE 3
-
-#define LR_DEFAULTCOLOR 0x0000
-#define LR_MONOCHROME 0x0001
-#define LR_COLOR 0x0002
-#define LR_COPYRETURNORG 0x0004
-#define LR_COPYDELETEORG 0x0008
-#define LR_LOADFROMFILE 0x0010
-#define LR_LOADTRANSPARENT 0x0020
-#define LR_DEFAULTSIZE 0x0040
-#define LR_VGACOLOR 0x0080
-#define LR_LOADMAP3DCOLORS 0x1000
-#define LR_CREATEDIBSECTION 0x2000
-#define LR_COPYFROMRESOURCE 0x4000
-#define LR_SHARED 0x8000
-
-#define LoadImage __MINGW_NAME_AW(LoadImage)
-
-  WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE hInst,LPCSTR name,UINT type,int cx,int cy,UINT fuLoad);
-  WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE hInst,LPCWSTR name,UINT type,int cx,int cy,UINT fuLoad);
-  WINUSERAPI HANDLE WINAPI CopyImage(HANDLE h,UINT type,int cx,int cy,UINT flags);
-
-#define DI_MASK 0x0001
-#define DI_IMAGE 0x0002
-#define DI_NORMAL 0x0003
-#define DI_COMPAT 0x0004
-#define DI_DEFAULTSIZE 0x0008
-#define DI_NOMIRROR 0x0010
-
-  WINUSERAPI WINBOOL WINAPI DrawIconEx(HDC hdc,int xLeft,int yTop,HICON hIcon,int cxWidth,int cyWidth,UINT istepIfAniCur,HBRUSH hbrFlickerFreeDraw,UINT diFlags);
-  WINUSERAPI HICON WINAPI CreateIconIndirect(PICONINFO piconinfo);
-  WINUSERAPI HICON WINAPI CopyIcon(HICON hIcon);
-  WINUSERAPI WINBOOL WINAPI GetIconInfo(HICON hIcon,PICONINFO piconinfo);
-
-#define RES_ICON 1
-#define RES_CURSOR 2
-
-#ifdef OEMRESOURCE
-
-#define OBM_CLOSE 32754
-#define OBM_UPARROW 32753
-#define OBM_DNARROW 32752
-#define OBM_RGARROW 32751
-#define OBM_LFARROW 32750
-#define OBM_REDUCE 32749
-#define OBM_ZOOM 32748
-#define OBM_RESTORE 32747
-#define OBM_REDUCED 32746
-#define OBM_ZOOMD 32745
-#define OBM_RESTORED 32744
-#define OBM_UPARROWD 32743
-#define OBM_DNARROWD 32742
-#define OBM_RGARROWD 32741
-#define OBM_LFARROWD 32740
-#define OBM_MNARROW 32739
-#define OBM_COMBO 32738
-#define OBM_UPARROWI 32737
-#define OBM_DNARROWI 32736
-#define OBM_RGARROWI 32735
-#define OBM_LFARROWI 32734
-
-#define OBM_OLD_CLOSE 32767
-#define OBM_SIZE 32766
-#define OBM_OLD_UPARROW 32765
-#define OBM_OLD_DNARROW 32764
-#define OBM_OLD_RGARROW 32763
-#define OBM_OLD_LFARROW 32762
-#define OBM_BTSIZE 32761
-#define OBM_CHECK 32760
-#define OBM_CHECKBOXES 32759
-#define OBM_BTNCORNERS 32758
-#define OBM_OLD_REDUCE 32757
-#define OBM_OLD_ZOOM 32756
-#define OBM_OLD_RESTORE 32755
-
-#define OCR_NORMAL 32512
-#define OCR_IBEAM 32513
-#define OCR_WAIT 32514
-#define OCR_CROSS 32515
-#define OCR_UP 32516
-#define OCR_SIZE 32640
-#define OCR_ICON 32641
-#define OCR_SIZENWSE 32642
-#define OCR_SIZENESW 32643
-#define OCR_SIZEWE 32644
-#define OCR_SIZENS 32645
-#define OCR_SIZEALL 32646
-#define OCR_ICOCUR 32647
-#define OCR_NO 32648
-#define OCR_HAND 32649
-#define OCR_APPSTARTING 32650
-
-#define OIC_SAMPLE 32512
-#define OIC_HAND 32513
-#define OIC_QUES 32514
-#define OIC_BANG 32515
-#define OIC_NOTE 32516
-#define OIC_WINLOGO 32517
-#define OIC_WARNING OIC_BANG
-#define OIC_ERROR OIC_HAND
-#define OIC_INFORMATION OIC_NOTE
-#endif
-
-#define ORD_LANGDRIVER 1
-
-#ifndef NOICONS
-
-#ifdef RC_INVOKED
-#define IDI_APPLICATION 32512
-#define IDI_HAND 32513
-#define IDI_QUESTION 32514
-#define IDI_EXCLAMATION 32515
-#define IDI_ASTERISK 32516
-#define IDI_WINLOGO 32517
-#else
-#define IDI_APPLICATION MAKEINTRESOURCE(32512)
-#define IDI_HAND MAKEINTRESOURCE(32513)
-#define IDI_QUESTION MAKEINTRESOURCE(32514)
-#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
-#define IDI_ASTERISK MAKEINTRESOURCE(32516)
-#define IDI_WINLOGO MAKEINTRESOURCE(32517)
-#endif
-
-#define IDI_WARNING IDI_EXCLAMATION
-#define IDI_ERROR IDI_HAND
-#define IDI_INFORMATION IDI_ASTERISK
-#endif
-
-#define LoadString __MINGW_NAME_AW(LoadString)
-
-  WINUSERAPI int WINAPI LoadStringA(HINSTANCE hInstance,UINT uID,LPSTR lpBuffer,int cchBufferMax);
-  WINUSERAPI int WINAPI LoadStringW(HINSTANCE hInstance,UINT uID,LPWSTR lpBuffer,int cchBufferMax);
-
-#define IDOK 1
-#define IDCANCEL 2
-#define IDABORT 3
-#define IDRETRY 4
-#define IDIGNORE 5
-#define IDYES 6
-#define IDNO 7
-#define IDCLOSE 8
-#define IDHELP 9
-#define IDTRYAGAIN 10
-#define IDCONTINUE 11
-
-#ifndef IDTIMEOUT
-#define IDTIMEOUT 32000
-#endif
-
-#ifndef NOCTLMGR
-
-#ifndef NOWINSTYLES
-#define ES_LEFT __MSABI_LONG(0x0000)
-#define ES_CENTER __MSABI_LONG(0x0001)
-#define ES_RIGHT __MSABI_LONG(0x0002)
-#define ES_MULTILINE __MSABI_LONG(0x0004)
-#define ES_UPPERCASE __MSABI_LONG(0x0008)
-#define ES_LOWERCASE __MSABI_LONG(0x0010)
-#define ES_PASSWORD __MSABI_LONG(0x0020)
-#define ES_AUTOVSCROLL __MSABI_LONG(0x0040)
-#define ES_AUTOHSCROLL __MSABI_LONG(0x0080)
-#define ES_NOHIDESEL __MSABI_LONG(0x0100)
-#define ES_OEMCONVERT __MSABI_LONG(0x0400)
-#define ES_READONLY __MSABI_LONG(0x0800)
-#define ES_WANTRETURN __MSABI_LONG(0x1000)
-#define ES_NUMBER __MSABI_LONG(0x2000)
-#endif
-
-#define EN_SETFOCUS 0x0100
-#define EN_KILLFOCUS 0x0200
-#define EN_CHANGE 0x0300
-#define EN_UPDATE 0x0400
-#define EN_ERRSPACE 0x0500
-#define EN_MAXTEXT 0x0501
-#define EN_HSCROLL 0x0601
-#define EN_VSCROLL 0x0602
-#define EN_ALIGN_LTR_EC 0x0700
-#define EN_ALIGN_RTL_EC 0x0701
-
-#define EC_LEFTMARGIN 0x0001
-#define EC_RIGHTMARGIN 0x0002
-#define EC_USEFONTINFO 0xffff
-
-#define EMSIS_COMPOSITIONSTRING 0x0001
-
-#define EIMES_GETCOMPSTRATONCE 0x0001
-#define EIMES_CANCELCOMPSTRINFOCUS 0x0002
-#define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004
-
-#ifndef NOWINMESSAGES
-
-#define EM_GETSEL 0x00B0
-#define EM_SETSEL 0x00B1
-#define EM_GETRECT 0x00B2
-#define EM_SETRECT 0x00B3
-#define EM_SETRECTNP 0x00B4
-#define EM_SCROLL 0x00B5
-#define EM_LINESCROLL 0x00B6
-#define EM_SCROLLCARET 0x00B7
-#define EM_GETMODIFY 0x00B8
-#define EM_SETMODIFY 0x00B9
-#define EM_GETLINECOUNT 0x00BA
-#define EM_LINEINDEX 0x00BB
-#define EM_SETHANDLE 0x00BC
-#define EM_GETHANDLE 0x00BD
-#define EM_GETTHUMB 0x00BE
-#define EM_LINELENGTH 0x00C1
-#define EM_REPLACESEL 0x00C2
-#define EM_GETLINE 0x00C4
-#define EM_LIMITTEXT 0x00C5
-#define EM_CANUNDO 0x00C6
-#define EM_UNDO 0x00C7
-#define EM_FMTLINES 0x00C8
-#define EM_LINEFROMCHAR 0x00C9
-#define EM_SETTABSTOPS 0x00CB
-#define EM_SETPASSWORDCHAR 0x00CC
-#define EM_EMPTYUNDOBUFFER 0x00CD
-#define EM_GETFIRSTVISIBLELINE 0x00CE
-#define EM_SETREADONLY 0x00CF
-#define EM_SETWORDBREAKPROC 0x00D0
-#define EM_GETWORDBREAKPROC 0x00D1
-#define EM_GETPASSWORDCHAR 0x00D2
-#define EM_SETMARGINS 0x00D3
-#define EM_GETMARGINS 0x00D4
-#define EM_SETLIMITTEXT EM_LIMITTEXT
-#define EM_GETLIMITTEXT 0x00D5
-#define EM_POSFROMCHAR 0x00D6
-#define EM_CHARFROMPOS 0x00D7
-#define EM_SETIMESTATUS 0x00D8
-#define EM_GETIMESTATUS 0x00D9
-#endif
-
-#define WB_LEFT 0
-#define WB_RIGHT 1
-#define WB_ISDELIMITER 2
-
-#define BS_PUSHBUTTON __MSABI_LONG(0x00000000)
-#define BS_DEFPUSHBUTTON __MSABI_LONG(0x00000001)
-#define BS_CHECKBOX __MSABI_LONG(0x00000002)
-#define BS_AUTOCHECKBOX __MSABI_LONG(0x00000003)
-#define BS_RADIOBUTTON __MSABI_LONG(0x00000004)
-#define BS_3STATE __MSABI_LONG(0x00000005)
-#define BS_AUTO3STATE __MSABI_LONG(0x00000006)
-#define BS_GROUPBOX __MSABI_LONG(0x00000007)
-#define BS_USERBUTTON __MSABI_LONG(0x00000008)
-#define BS_AUTORADIOBUTTON __MSABI_LONG(0x00000009)
-#define BS_PUSHBOX __MSABI_LONG(0x0000000A)
-#define BS_OWNERDRAW __MSABI_LONG(0x0000000B)
-#define BS_TYPEMASK __MSABI_LONG(0x0000000F)
-#define BS_LEFTTEXT __MSABI_LONG(0x00000020)
-#define BS_TEXT __MSABI_LONG(0x00000000)
-#define BS_ICON __MSABI_LONG(0x00000040)
-#define BS_BITMAP __MSABI_LONG(0x00000080)
-#define BS_LEFT __MSABI_LONG(0x00000100)
-#define BS_RIGHT __MSABI_LONG(0x00000200)
-#define BS_CENTER __MSABI_LONG(0x00000300)
-#define BS_TOP __MSABI_LONG(0x00000400)
-#define BS_BOTTOM __MSABI_LONG(0x00000800)
-#define BS_VCENTER __MSABI_LONG(0x00000C00)
-#define BS_PUSHLIKE __MSABI_LONG(0x00001000)
-#define BS_MULTILINE __MSABI_LONG(0x00002000)
-#define BS_NOTIFY __MSABI_LONG(0x00004000)
-#define BS_FLAT __MSABI_LONG(0x00008000)
-#define BS_RIGHTBUTTON BS_LEFTTEXT
-
-#define BN_CLICKED 0
-#define BN_PAINT 1
-#define BN_HILITE 2
-#define BN_UNHILITE 3
-#define BN_DISABLE 4
-#define BN_DOUBLECLICKED 5
-#define BN_PUSHED BN_HILITE
-#define BN_UNPUSHED BN_UNHILITE
-#define BN_DBLCLK BN_DOUBLECLICKED
-#define BN_SETFOCUS 6
-#define BN_KILLFOCUS 7
-
-#define BM_GETCHECK 0x00F0
-#define BM_SETCHECK 0x00F1
-#define BM_GETSTATE 0x00F2
-#define BM_SETSTATE 0x00F3
-#define BM_SETSTYLE 0x00F4
-#define BM_CLICK 0x00F5
-#define BM_GETIMAGE 0x00F6
-#define BM_SETIMAGE 0x00F7
-
-#define BST_UNCHECKED 0x0000
-#define BST_CHECKED 0x0001
-#define BST_INDETERMINATE 0x0002
-#define BST_PUSHED 0x0004
-#define BST_FOCUS 0x0008
-
-#define SS_LEFT __MSABI_LONG(0x00000000)
-#define SS_CENTER __MSABI_LONG(0x00000001)
-#define SS_RIGHT __MSABI_LONG(0x00000002)
-#define SS_ICON __MSABI_LONG(0x00000003)
-#define SS_BLACKRECT __MSABI_LONG(0x00000004)
-#define SS_GRAYRECT __MSABI_LONG(0x00000005)
-#define SS_WHITERECT __MSABI_LONG(0x00000006)
-#define SS_BLACKFRAME __MSABI_LONG(0x00000007)
-#define SS_GRAYFRAME __MSABI_LONG(0x00000008)
-#define SS_WHITEFRAME __MSABI_LONG(0x00000009)
-#define SS_USERITEM __MSABI_LONG(0x0000000A)
-#define SS_SIMPLE __MSABI_LONG(0x0000000B)
-#define SS_LEFTNOWORDWRAP __MSABI_LONG(0x0000000C)
-#define SS_OWNERDRAW __MSABI_LONG(0x0000000D)
-#define SS_BITMAP __MSABI_LONG(0x0000000E)
-#define SS_ENHMETAFILE __MSABI_LONG(0x0000000F)
-#define SS_ETCHEDHORZ __MSABI_LONG(0x00000010)
-#define SS_ETCHEDVERT __MSABI_LONG(0x00000011)
-#define SS_ETCHEDFRAME __MSABI_LONG(0x00000012)
-#define SS_TYPEMASK __MSABI_LONG(0x0000001F)
-#define SS_REALSIZECONTROL __MSABI_LONG(0x00000040)
-#define SS_NOPREFIX __MSABI_LONG(0x00000080)
-#define SS_NOTIFY __MSABI_LONG(0x00000100)
-#define SS_CENTERIMAGE __MSABI_LONG(0x00000200)
-#define SS_RIGHTJUST __MSABI_LONG(0x00000400)
-#define SS_REALSIZEIMAGE __MSABI_LONG(0x00000800)
-#define SS_SUNKEN __MSABI_LONG(0x00001000)
-#define SS_EDITCONTROL __MSABI_LONG(0x00002000)
-#define SS_ENDELLIPSIS __MSABI_LONG(0x00004000)
-#define SS_PATHELLIPSIS __MSABI_LONG(0x00008000)
-#define SS_WORDELLIPSIS __MSABI_LONG(0x0000C000)
-#define SS_ELLIPSISMASK __MSABI_LONG(0x0000C000)
-
-#ifndef NOWINMESSAGES
-
-#define STM_SETICON 0x0170
-#define STM_GETICON 0x0171
-#define STM_SETIMAGE 0x0172
-#define STM_GETIMAGE 0x0173
-#define STN_CLICKED 0
-#define STN_DBLCLK 1
-#define STN_ENABLE 2
-#define STN_DISABLE 3
-#define STM_MSGMAX 0x0174
-#endif
-
-#define WC_DIALOG (MAKEINTATOM(0x8002))
-
-#define DWL_MSGRESULT 0
-#define DWL_DLGPROC 4
-#define DWL_USER 8
-
-#ifdef _WIN64
-
-#undef DWL_MSGRESULT
-#undef DWL_DLGPROC
-#undef DWL_USER
-#endif
-
-#define DWLP_MSGRESULT 0
-#define DWLP_DLGPROC DWLP_MSGRESULT + sizeof(LRESULT)
-#define DWLP_USER DWLP_DLGPROC + sizeof(DLGPROC)
-
-#ifndef NOMSG
-
-#define IsDialogMessage __MINGW_NAME_AW(IsDialogMessage)
-
-  WINUSERAPI WINBOOL WINAPI IsDialogMessageA(HWND hDlg,LPMSG lpMsg);
-  WINUSERAPI WINBOOL WINAPI IsDialogMessageW(HWND hDlg,LPMSG lpMsg);
-#endif
-
-#define DlgDirList __MINGW_NAME_AW(DlgDirList)
-#define DlgDirSelectEx __MINGW_NAME_AW(DlgDirSelectEx)
-#define DlgDirListComboBox __MINGW_NAME_AW(DlgDirListComboBox)
-#define DlgDirSelectComboBoxEx __MINGW_NAME_AW(DlgDirSelectComboBoxEx)
-
-  WINUSERAPI WINBOOL WINAPI MapDialogRect(HWND hDlg,LPRECT lpRect);
-  WINUSERAPI int WINAPI DlgDirListA(HWND hDlg,LPSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType);
-  WINUSERAPI int WINAPI DlgDirListW(HWND hDlg,LPWSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType);
-
-#define DDL_READWRITE 0x0000
-#define DDL_READONLY 0x0001
-#define DDL_HIDDEN 0x0002
-#define DDL_SYSTEM 0x0004
-#define DDL_DIRECTORY 0x0010
-#define DDL_ARCHIVE 0x0020
-
-#define DDL_POSTMSGS 0x2000
-#define DDL_DRIVES 0x4000
-#define DDL_EXCLUSIVE 0x8000
-
-  WINUSERAPI WINBOOL WINAPI DlgDirSelectExA(HWND hwndDlg,LPSTR lpString,int chCount,int idListBox);
-  WINUSERAPI WINBOOL WINAPI DlgDirSelectExW(HWND hwndDlg,LPWSTR lpString,int chCount,int idListBox);
-  WINUSERAPI int WINAPI DlgDirListComboBoxA(HWND hDlg,LPSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype);
-  WINUSERAPI int WINAPI DlgDirListComboBoxW(HWND hDlg,LPWSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype);
-  WINUSERAPI WINBOOL WINAPI DlgDirSelectComboBoxExA(HWND hwndDlg,LPSTR lpString,int cchOut,int idComboBox);
-  WINUSERAPI WINBOOL WINAPI DlgDirSelectComboBoxExW(HWND hwndDlg,LPWSTR lpString,int cchOut,int idComboBox);
-
-#define DS_ABSALIGN __MSABI_LONG(0x01)
-#define DS_SYSMODAL __MSABI_LONG(0x02)
-#define DS_LOCALEDIT __MSABI_LONG(0x20)
-#define DS_SETFONT __MSABI_LONG(0x40)
-#define DS_MODALFRAME __MSABI_LONG(0x80)
-#define DS_NOIDLEMSG __MSABI_LONG(0x100)
-#define DS_SETFOREGROUND __MSABI_LONG(0x200)
-
-#define DS_3DLOOK __MSABI_LONG(0x0004)
-#define DS_FIXEDSYS __MSABI_LONG(0x0008)
-#define DS_NOFAILCREATE __MSABI_LONG(0x0010)
-#define DS_CONTROL __MSABI_LONG(0x0400)
-#define DS_CENTER __MSABI_LONG(0x0800)
-#define DS_CENTERMOUSE __MSABI_LONG(0x1000)
-#define DS_CONTEXTHELP __MSABI_LONG(0x2000)
-
-#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
-
-#if(_WIN32_WCE >= 0x0500)
-#define DS_USEPIXELS __MSABI_LONG(0x8000)
-#endif
-
-#define DM_GETDEFID (WM_USER+0)
-#define DM_SETDEFID (WM_USER+1)
-#define DM_REPOSITION (WM_USER+2)
-
-#define DC_HASDEFID 0x534B
-
-#define DLGC_WANTARROWS 0x0001
-#define DLGC_WANTTAB 0x0002
-#define DLGC_WANTALLKEYS 0x0004
-#define DLGC_WANTMESSAGE 0x0004
-#define DLGC_HASSETSEL 0x0008
-#define DLGC_DEFPUSHBUTTON 0x0010
-#define DLGC_UNDEFPUSHBUTTON 0x0020
-#define DLGC_RADIOBUTTON 0x0040
-#define DLGC_WANTCHARS 0x0080
-#define DLGC_STATIC 0x0100
-#define DLGC_BUTTON 0x2000
-
-#define LB_CTLCODE __MSABI_LONG(0)
-
-#define LB_OKAY 0
-#define LB_ERR (-1)
-#define LB_ERRSPACE (-2)
-
-#define LBN_ERRSPACE (-2)
-#define LBN_SELCHANGE 1
-#define LBN_DBLCLK 2
-#define LBN_SELCANCEL 3
-#define LBN_SETFOCUS 4
-#define LBN_KILLFOCUS 5
-
-#ifndef NOWINMESSAGES
-
-#define LB_ADDSTRING 0x0180
-#define LB_INSERTSTRING 0x0181
-#define LB_DELETESTRING 0x0182
-#define LB_SELITEMRANGEEX 0x0183
-#define LB_RESETCONTENT 0x0184
-#define LB_SETSEL 0x0185
-#define LB_SETCURSEL 0x0186
-#define LB_GETSEL 0x0187
-#define LB_GETCURSEL 0x0188
-#define LB_GETTEXT 0x0189
-#define LB_GETTEXTLEN 0x018A
-#define LB_GETCOUNT 0x018B
-#define LB_SELECTSTRING 0x018C
-#define LB_DIR 0x018D
-#define LB_GETTOPINDEX 0x018E
-#define LB_FINDSTRING 0x018F
-#define LB_GETSELCOUNT 0x0190
-#define LB_GETSELITEMS 0x0191
-#define LB_SETTABSTOPS 0x0192
-#define LB_GETHORIZONTALEXTENT 0x0193
-#define LB_SETHORIZONTALEXTENT 0x0194
-#define LB_SETCOLUMNWIDTH 0x0195
-#define LB_ADDFILE 0x0196
-#define LB_SETTOPINDEX 0x0197
-#define LB_GETITEMRECT 0x0198
-#define LB_GETITEMDATA 0x0199
-#define LB_SETITEMDATA 0x019A
-#define LB_SELITEMRANGE 0x019B
-#define LB_SETANCHORINDEX 0x019C
-#define LB_GETANCHORINDEX 0x019D
-#define LB_SETCARETINDEX 0x019E
-#define LB_GETCARETINDEX 0x019F
-#define LB_SETITEMHEIGHT 0x01A0
-#define LB_GETITEMHEIGHT 0x01A1
-#define LB_FINDSTRINGEXACT 0x01A2
-#define LB_SETLOCALE 0x01A5
-#define LB_GETLOCALE 0x01A6
-#define LB_SETCOUNT 0x01A7
-#define LB_INITSTORAGE 0x01A8
-#define LB_ITEMFROMPOINT 0x01A9
-#if(_WIN32_WCE >= 0x0400)
-#define LB_MULTIPLEADDSTRING 0x01B1
-#endif
-#define LB_GETLISTBOXINFO 0x01B2
-#define LB_MSGMAX 0x01B3
-#endif
-
-#ifndef NOWINSTYLES
-
-#define LBS_NOTIFY __MSABI_LONG(0x0001)
-#define LBS_SORT __MSABI_LONG(0x0002)
-#define LBS_NOREDRAW __MSABI_LONG(0x0004)
-#define LBS_MULTIPLESEL __MSABI_LONG(0x0008)
-#define LBS_OWNERDRAWFIXED __MSABI_LONG(0x0010)
-#define LBS_OWNERDRAWVARIABLE __MSABI_LONG(0x0020)
-#define LBS_HASSTRINGS __MSABI_LONG(0x0040)
-#define LBS_USETABSTOPS __MSABI_LONG(0x0080)
-#define LBS_NOINTEGRALHEIGHT __MSABI_LONG(0x0100)
-#define LBS_MULTICOLUMN __MSABI_LONG(0x0200)
-#define LBS_WANTKEYBOARDINPUT __MSABI_LONG(0x0400)
-#define LBS_EXTENDEDSEL __MSABI_LONG(0x0800)
-#define LBS_DISABLENOSCROLL __MSABI_LONG(0x1000)
-#define LBS_NODATA __MSABI_LONG(0x2000)
-#define LBS_NOSEL __MSABI_LONG(0x4000)
-#define LBS_COMBOBOX __MSABI_LONG(0x8000)
-
-#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
-#endif
-
-#define CB_OKAY 0
-#define CB_ERR (-1)
-#define CB_ERRSPACE (-2)
-
-#define CBN_ERRSPACE (-1)
-#define CBN_SELCHANGE 1
-#define CBN_DBLCLK 2
-#define CBN_SETFOCUS 3
-#define CBN_KILLFOCUS 4
-#define CBN_EDITCHANGE 5
-#define CBN_EDITUPDATE 6
-#define CBN_DROPDOWN 7
-#define CBN_CLOSEUP 8
-#define CBN_SELENDOK 9
-#define CBN_SELENDCANCEL 10
-
-#ifndef NOWINSTYLES
-
-#define CBS_SIMPLE __MSABI_LONG(0x0001)
-#define CBS_DROPDOWN __MSABI_LONG(0x0002)
-#define CBS_DROPDOWNLIST __MSABI_LONG(0x0003)
-#define CBS_OWNERDRAWFIXED __MSABI_LONG(0x0010)
-#define CBS_OWNERDRAWVARIABLE __MSABI_LONG(0x0020)
-#define CBS_AUTOHSCROLL __MSABI_LONG(0x0040)
-#define CBS_OEMCONVERT __MSABI_LONG(0x0080)
-#define CBS_SORT __MSABI_LONG(0x0100)
-#define CBS_HASSTRINGS __MSABI_LONG(0x0200)
-#define CBS_NOINTEGRALHEIGHT __MSABI_LONG(0x0400)
-#define CBS_DISABLENOSCROLL __MSABI_LONG(0x0800)
-#define CBS_UPPERCASE __MSABI_LONG(0x2000)
-#define CBS_LOWERCASE __MSABI_LONG(0x4000)
-#endif
-
-#ifndef NOWINMESSAGES
-#define CB_GETEDITSEL 0x0140
-#define CB_LIMITTEXT 0x0141
-#define CB_SETEDITSEL 0x0142
-#define CB_ADDSTRING 0x0143
-#define CB_DELETESTRING 0x0144
-#define CB_DIR 0x0145
-#define CB_GETCOUNT 0x0146
-#define CB_GETCURSEL 0x0147
-#define CB_GETLBTEXT 0x0148
-#define CB_GETLBTEXTLEN 0x0149
-#define CB_INSERTSTRING 0x014A
-#define CB_RESETCONTENT 0x014B
-#define CB_FINDSTRING 0x014C
-#define CB_SELECTSTRING 0x014D
-#define CB_SETCURSEL 0x014E
-#define CB_SHOWDROPDOWN 0x014F
-#define CB_GETITEMDATA 0x0150
-#define CB_SETITEMDATA 0x0151
-#define CB_GETDROPPEDCONTROLRECT 0x0152
-#define CB_SETITEMHEIGHT 0x0153
-#define CB_GETITEMHEIGHT 0x0154
-#define CB_SETEXTENDEDUI 0x0155
-#define CB_GETEXTENDEDUI 0x0156
-#define CB_GETDROPPEDSTATE 0x0157
-#define CB_FINDSTRINGEXACT 0x0158
-#define CB_SETLOCALE 0x0159
-#define CB_GETLOCALE 0x015A
-#define CB_GETTOPINDEX 0x015b
-#define CB_SETTOPINDEX 0x015c
-#define CB_GETHORIZONTALEXTENT 0x015d
-#define CB_SETHORIZONTALEXTENT 0x015e
-#define CB_GETDROPPEDWIDTH 0x015f
-#define CB_SETDROPPEDWIDTH 0x0160
-#define CB_INITSTORAGE 0x0161
-#if(_WIN32_WCE >= 0x0400)
-#define CB_MULTIPLEADDSTRING 0x0163
-#endif
-#define CB_GETCOMBOBOXINFO 0x0164
-#define CB_MSGMAX 0x0165
-#endif
-
-#ifndef NOWINSTYLES
-
-#define SBS_HORZ __MSABI_LONG(0x0000)
-#define SBS_VERT __MSABI_LONG(0x0001)
-#define SBS_TOPALIGN __MSABI_LONG(0x0002)
-#define SBS_LEFTALIGN __MSABI_LONG(0x0002)
-#define SBS_BOTTOMALIGN __MSABI_LONG(0x0004)
-#define SBS_RIGHTALIGN __MSABI_LONG(0x0004)
-#define SBS_SIZEBOXTOPLEFTALIGN __MSABI_LONG(0x0002)
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN __MSABI_LONG(0x0004)
-#define SBS_SIZEBOX __MSABI_LONG(0x0008)
-#define SBS_SIZEGRIP __MSABI_LONG(0x0010)
-#endif
-
-#ifndef NOWINMESSAGES
-#define SBM_SETPOS 0x00E0
-#define SBM_GETPOS 0x00E1
-#define SBM_SETRANGE 0x00E2
-#define SBM_SETRANGEREDRAW 0x00E6
-#define SBM_GETRANGE 0x00E3
-#define SBM_ENABLE_ARROWS 0x00E4
-#define SBM_SETSCROLLINFO 0x00E9
-#define SBM_GETSCROLLINFO 0x00EA
-#define SBM_GETSCROLLBARINFO 0x00EB
-
-#define SIF_RANGE 0x0001
-#define SIF_PAGE 0x0002
-#define SIF_POS 0x0004
-#define SIF_DISABLENOSCROLL 0x0008
-#define SIF_TRACKPOS 0x0010
-#define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
-
-  typedef struct tagSCROLLINFO {
-    UINT cbSize;
-    UINT fMask;
-    int nMin;
-    int nMax;
-    UINT nPage;
-    int nPos;
-    int nTrackPos;
-  } SCROLLINFO,*LPSCROLLINFO;
-  typedef SCROLLINFO CONST *LPCSCROLLINFO;
-
-  WINUSERAPI int WINAPI SetScrollInfo(HWND hwnd,int nBar,LPCSCROLLINFO lpsi,WINBOOL redraw);
-  WINUSERAPI WINBOOL WINAPI GetScrollInfo(HWND hwnd,int nBar,LPSCROLLINFO lpsi);
-#endif
-#endif
-
-#ifndef NOMDI
-
-#define MDIS_ALLCHILDSTYLES 0x0001
-
-#define MDITILE_VERTICAL 0x0000
-#define MDITILE_HORIZONTAL 0x0001
-#define MDITILE_SKIPDISABLED 0x0002
-#define MDITILE_ZORDER 0x0004
-
-  typedef struct tagMDICREATESTRUCTA {
-    LPCSTR szClass;
-    LPCSTR szTitle;
-    HANDLE hOwner;
-    int x;
-    int y;
-    int cx;
-    int cy;
-    DWORD style;
-    LPARAM lParam;
-  } MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
-
-  typedef struct tagMDICREATESTRUCTW {
-    LPCWSTR szClass;
-    LPCWSTR szTitle;
-    HANDLE hOwner;
-    int x;
-    int y;
-    int cx;
-    int cy;
-    DWORD style;
-    LPARAM lParam;
-  } MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
-
-  __MINGW_TYPEDEF_AW(MDICREATESTRUCT)
-  __MINGW_TYPEDEF_AW(LPMDICREATESTRUCT)
-
-  typedef struct tagCLIENTCREATESTRUCT {
-    HANDLE hWindowMenu;
-    UINT idFirstChild;
-  } CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
-
-#define DefFrameProc __MINGW_NAME_AW(DefFrameProc)
-#define DefMDIChildProc __MINGW_NAME_AW(DefMDIChildProc)
-#define CreateMDIWindow __MINGW_NAME_AW(CreateMDIWindow)
-
-  WINUSERAPI LRESULT WINAPI DefFrameProcA(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
-  WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
-
-#ifndef NOMSG
-  WINUSERAPI WINBOOL WINAPI TranslateMDISysAccel(HWND hWndClient,LPMSG lpMsg);
-#endif
-
-  WINUSERAPI UINT WINAPI ArrangeIconicWindows(HWND hWnd);
-  WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam);
-  WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam);
-  WINUSERAPI WORD WINAPI TileWindows(HWND hwndParent,UINT wHow,CONST RECT *lpRect,UINT cKids,const HWND *lpKids);
-  WINUSERAPI WORD WINAPI CascadeWindows(HWND hwndParent,UINT wHow,CONST RECT *lpRect,UINT cKids,const HWND *lpKids);
-#endif
-#endif
-
-#ifndef NOHELP
-
-  typedef DWORD HELPPOLY;
-  typedef struct tagMULTIKEYHELPA {
-    DWORD mkSize;
-    CHAR mkKeylist;
-    CHAR szKeyphrase[1];
-  } MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
-
-  typedef struct tagMULTIKEYHELPW {
-    DWORD mkSize;
-    WCHAR mkKeylist;
-    WCHAR szKeyphrase[1];
-  } MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
-
-  __MINGW_TYPEDEF_AW(MULTIKEYHELP)
-  __MINGW_TYPEDEF_AW(PMULTIKEYHELP)
-  __MINGW_TYPEDEF_AW(LPMULTIKEYHELP)
-
-  typedef struct tagHELPWININFOA {
-    int wStructSize;
-    int x;
-    int y;
-    int dx;
-    int dy;
-    int wMax;
-    CHAR rgchMember[2];
-  } HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
-
-  typedef struct tagHELPWININFOW {
-    int wStructSize;
-    int x;
-    int y;
-    int dx;
-    int dy;
-    int wMax;
-    WCHAR rgchMember[2];
-  } HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
-
-  __MINGW_TYPEDEF_AW(HELPWININFO)
-  __MINGW_TYPEDEF_AW(PHELPWININFO)
-  __MINGW_TYPEDEF_AW(LPHELPWININFO)
-
-#define HELP_CONTEXT 0x0001
-#define HELP_QUIT 0x0002
-#define HELP_INDEX 0x0003
-#define HELP_CONTENTS 0x0003
-#define HELP_HELPONHELP 0x0004
-#define HELP_SETINDEX 0x0005
-#define HELP_SETCONTENTS 0x0005
-#define HELP_CONTEXTPOPUP 0x0008
-#define HELP_FORCEFILE 0x0009
-#define HELP_KEY 0x0101
-#define HELP_COMMAND 0x0102
-#define HELP_PARTIALKEY 0x0105
-#define HELP_MULTIKEY 0x0201
-#define HELP_SETWINPOS 0x0203
-#define HELP_CONTEXTMENU 0x000a
-#define HELP_FINDER 0x000b
-#define HELP_WM_HELP 0x000c
-#define HELP_SETPOPUP_POS 0x000d
-
-#define HELP_TCARD 0x8000
-#define HELP_TCARD_DATA 0x0010
-#define HELP_TCARD_OTHER_CALLER 0x0011
-
-#define IDH_NO_HELP 28440
-#define IDH_MISSING_CONTEXT 28441
-#define IDH_GENERIC_HELP_BUTTON 28442
-#define IDH_OK 28443
-#define IDH_CANCEL 28444
-#define IDH_HELP 28445
-
-#define WinHelp __MINGW_NAME_AW(WinHelp)
-
-  WINUSERAPI WINBOOL WINAPI WinHelpA(HWND hWndMain,LPCSTR lpszHelp,UINT uCommand,ULONG_PTR dwData);
-  WINUSERAPI WINBOOL WINAPI WinHelpW(HWND hWndMain,LPCWSTR lpszHelp,UINT uCommand,ULONG_PTR dwData);
-#endif
-
-#define GR_GDIOBJECTS 0
-#define GR_USEROBJECTS 1
-
-  WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE hProcess,DWORD uiFlags);
-
-#ifndef NOSYSPARAMSINFO
-
-#define SPI_GETBEEP 0x0001
-#define SPI_SETBEEP 0x0002
-#define SPI_GETMOUSE 0x0003
-#define SPI_SETMOUSE 0x0004
-#define SPI_GETBORDER 0x0005
-#define SPI_SETBORDER 0x0006
-#define SPI_GETKEYBOARDSPEED 0x000A
-#define SPI_SETKEYBOARDSPEED 0x000B
-#define SPI_LANGDRIVER 0x000C
-#define SPI_ICONHORIZONTALSPACING 0x000D
-#define SPI_GETSCREENSAVETIMEOUT 0x000E
-#define SPI_SETSCREENSAVETIMEOUT 0x000F
-#define SPI_GETSCREENSAVEACTIVE 0x0010
-#define SPI_SETSCREENSAVEACTIVE 0x0011
-#define SPI_GETGRIDGRANULARITY 0x0012
-#define SPI_SETGRIDGRANULARITY 0x0013
-#define SPI_SETDESKWALLPAPER 0x0014
-#define SPI_SETDESKPATTERN 0x0015
-#define SPI_GETKEYBOARDDELAY 0x0016
-#define SPI_SETKEYBOARDDELAY 0x0017
-#define SPI_ICONVERTICALSPACING 0x0018
-#define SPI_GETICONTITLEWRAP 0x0019
-#define SPI_SETICONTITLEWRAP 0x001A
-#define SPI_GETMENUDROPALIGNMENT 0x001B
-#define SPI_SETMENUDROPALIGNMENT 0x001C
-#define SPI_SETDOUBLECLKWIDTH 0x001D
-#define SPI_SETDOUBLECLKHEIGHT 0x001E
-#define SPI_GETICONTITLELOGFONT 0x001F
-#define SPI_SETDOUBLECLICKTIME 0x0020
-#define SPI_SETMOUSEBUTTONSWAP 0x0021
-#define SPI_SETICONTITLELOGFONT 0x0022
-#define SPI_GETFASTTASKSWITCH 0x0023
-#define SPI_SETFASTTASKSWITCH 0x0024
-#define SPI_SETDRAGFULLWINDOWS 0x0025
-#define SPI_GETDRAGFULLWINDOWS 0x0026
-#define SPI_GETNONCLIENTMETRICS 0x0029
-#define SPI_SETNONCLIENTMETRICS 0x002A
-#define SPI_GETMINIMIZEDMETRICS 0x002B
-#define SPI_SETMINIMIZEDMETRICS 0x002C
-#define SPI_GETICONMETRICS 0x002D
-#define SPI_SETICONMETRICS 0x002E
-#define SPI_SETWORKAREA 0x002F
-#define SPI_GETWORKAREA 0x0030
-#define SPI_SETPENWINDOWS 0x0031
-
-#define SPI_GETHIGHCONTRAST 0x0042
-#define SPI_SETHIGHCONTRAST 0x0043
-#define SPI_GETKEYBOARDPREF 0x0044
-#define SPI_SETKEYBOARDPREF 0x0045
-#define SPI_GETSCREENREADER 0x0046
-#define SPI_SETSCREENREADER 0x0047
-#define SPI_GETANIMATION 0x0048
-#define SPI_SETANIMATION 0x0049
-#define SPI_GETFONTSMOOTHING 0x004A
-#define SPI_SETFONTSMOOTHING 0x004B
-#define SPI_SETDRAGWIDTH 0x004C
-#define SPI_SETDRAGHEIGHT 0x004D
-#define SPI_SETHANDHELD 0x004E
-#define SPI_GETLOWPOWERTIMEOUT 0x004F
-#define SPI_GETPOWEROFFTIMEOUT 0x0050
-#define SPI_SETLOWPOWERTIMEOUT 0x0051
-#define SPI_SETPOWEROFFTIMEOUT 0x0052
-#define SPI_GETLOWPOWERACTIVE 0x0053
-#define SPI_GETPOWEROFFACTIVE 0x0054
-#define SPI_SETLOWPOWERACTIVE 0x0055
-#define SPI_SETPOWEROFFACTIVE 0x0056
-#define SPI_SETCURSORS 0x0057
-#define SPI_SETICONS 0x0058
-#define SPI_GETDEFAULTINPUTLANG 0x0059
-#define SPI_SETDEFAULTINPUTLANG 0x005A
-#define SPI_SETLANGTOGGLE 0x005B
-#define SPI_GETWINDOWSEXTENSION 0x005C
-#define SPI_SETMOUSETRAILS 0x005D
-#define SPI_GETMOUSETRAILS 0x005E
-#define SPI_SETSCREENSAVERRUNNING 0x0061
-#define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
-#define SPI_GETFILTERKEYS 0x0032
-#define SPI_SETFILTERKEYS 0x0033
-#define SPI_GETTOGGLEKEYS 0x0034
-#define SPI_SETTOGGLEKEYS 0x0035
-#define SPI_GETMOUSEKEYS 0x0036
-#define SPI_SETMOUSEKEYS 0x0037
-#define SPI_GETSHOWSOUNDS 0x0038
-#define SPI_SETSHOWSOUNDS 0x0039
-#define SPI_GETSTICKYKEYS 0x003A
-#define SPI_SETSTICKYKEYS 0x003B
-#define SPI_GETACCESSTIMEOUT 0x003C
-#define SPI_SETACCESSTIMEOUT 0x003D
-#define SPI_GETSERIALKEYS 0x003E
-#define SPI_SETSERIALKEYS 0x003F
-#define SPI_GETSOUNDSENTRY 0x0040
-#define SPI_SETSOUNDSENTRY 0x0041
-#define SPI_GETSNAPTODEFBUTTON 0x005F
-#define SPI_SETSNAPTODEFBUTTON 0x0060
-#define SPI_GETMOUSEHOVERWIDTH 0x0062
-#define SPI_SETMOUSEHOVERWIDTH 0x0063
-#define SPI_GETMOUSEHOVERHEIGHT 0x0064
-#define SPI_SETMOUSEHOVERHEIGHT 0x0065
-#define SPI_GETMOUSEHOVERTIME 0x0066
-#define SPI_SETMOUSEHOVERTIME 0x0067
-#define SPI_GETWHEELSCROLLLINES 0x0068
-#define SPI_SETWHEELSCROLLLINES 0x0069
-#define SPI_GETMENUSHOWDELAY 0x006A
-#define SPI_SETMENUSHOWDELAY 0x006B
-#define SPI_GETWHEELSCROLLCHARS 0x006C
-#define SPI_SETWHEELSCROLLCHARS 0x006D
-#define SPI_GETSHOWIMEUI 0x006E
-#define SPI_SETSHOWIMEUI 0x006F
-#define SPI_GETMOUSESPEED 0x0070
-#define SPI_SETMOUSESPEED 0x0071
-#define SPI_GETSCREENSAVERRUNNING 0x0072
-#define SPI_GETDESKWALLPAPER 0x0073
-#define SPI_GETAUDIODESCRIPTION 0x0074
-#define SPI_SETAUDIODESCRIPTION 0x0075
-#define SPI_GETSCREENSAVESECURE 0x0076
-#define SPI_SETSCREENSAVESECURE 0x0077
-#define SPI_GETHUNGAPPTIMEOUT 0x0078
-#define SPI_SETHUNGAPPTIMEOUT 0x0079
-#define SPI_GETWAITTOKILLTIMEOUT 0x007A
-#define SPI_SETWAITTOKILLTIMEOUT 0x007B
-#define SPI_GETWAITTOKILLSERVICETIMEOUT 0x007C
-#define SPI_SETWAITTOKILLSERVICETIMEOUT 0x007D
-#define SPI_GETMOUSEDOCKTHRESHOLD 0x007E
-#define SPI_SETMOUSEDOCKTHRESHOLD 0x007F
-#define SPI_GETPENDOCKTHRESHOLD 0x0080
-#define SPI_SETPENDOCKTHRESHOLD 0x0081
-#define SPI_GETWINARRANGING 0x0082
-#define SPI_SETWINARRANGING 0x0083
-#define SPI_GETMOUSEDRAGOUTTHRESHOLD 0x0084
-#define SPI_SETMOUSEDRAGOUTTHRESHOLD 0x0085
-#define SPI_GETPENDRAGOUTTHRESHOLD 0x0086
-#define SPI_SETPENDRAGOUTTHRESHOLD 0x0087
-#define SPI_GETMOUSESIDEMOVETHRESHOLD 0x0088
-#define SPI_SETMOUSESIDEMOVETHRESHOLD 0x0089
-#define SPI_GETPENSIDEMOVETHRESHOLD 0x008A
-#define SPI_SETPENSIDEMOVETHRESHOLD 0x008B
-#define SPI_GETDRAGFROMMAXIMIZE 0x008C
-#define SPI_SETDRAGFROMMAXIMIZE 0x008D
-#define SPI_GETSNAPSIZING 0x008E
-#define SPI_GETDOCKMOVING 0x0090
-#define SPI_SETDOCKMOVING 0x0091
-
-#if (_WIN32_WINNT >= 0x0600)
-#define SPI_GETAUDIODESCRIPTION 0x0074
-#define SPI_SETAUDIODESCRIPTION 0x0075
-#endif
-
-#define SPI_GETACTIVEWINDOWTRACKING 0x1000
-#define SPI_SETACTIVEWINDOWTRACKING 0x1001
-#define SPI_GETMENUANIMATION 0x1002
-#define SPI_SETMENUANIMATION 0x1003
-#define SPI_GETCOMBOBOXANIMATION 0x1004
-#define SPI_SETCOMBOBOXANIMATION 0x1005
-#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
-#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#define SPI_SETGRADIENTCAPTIONS 0x1009
-#define SPI_GETKEYBOARDCUES 0x100A
-#define SPI_SETKEYBOARDCUES 0x100B
-#define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES
-#define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES
-#define SPI_GETACTIVEWNDTRKZORDER 0x100C
-#define SPI_SETACTIVEWNDTRKZORDER 0x100D
-#define SPI_GETHOTTRACKING 0x100E
-#define SPI_SETHOTTRACKING 0x100F
-#define SPI_GETMENUFADE 0x1012
-#define SPI_SETMENUFADE 0x1013
-#define SPI_GETSELECTIONFADE 0x1014
-#define SPI_SETSELECTIONFADE 0x1015
-#define SPI_GETTOOLTIPANIMATION 0x1016
-#define SPI_SETTOOLTIPANIMATION 0x1017
-#define SPI_GETTOOLTIPFADE 0x1018
-#define SPI_SETTOOLTIPFADE 0x1019
-#define SPI_GETCURSORSHADOW 0x101A
-#define SPI_SETCURSORSHADOW 0x101B
-#define SPI_GETMOUSESONAR 0x101C
-#define SPI_SETMOUSESONAR 0x101D
-#define SPI_GETMOUSECLICKLOCK 0x101E
-#define SPI_SETMOUSECLICKLOCK 0x101F
-#define SPI_GETMOUSEVANISH 0x1020
-#define SPI_SETMOUSEVANISH 0x1021
-#define SPI_GETFLATMENU 0x1022
-#define SPI_SETFLATMENU 0x1023
-#define SPI_GETDROPSHADOW 0x1024
-#define SPI_SETDROPSHADOW 0x1025
-#define SPI_GETBLOCKSENDINPUTRESETS 0x1026
-#define SPI_SETBLOCKSENDINPUTRESETS 0x1027
-#define SPI_GETUIEFFECTS 0x103E
-#define SPI_SETUIEFFECTS 0x103F
-#define SPI_GETDISABLEOVERLAPPEDCONTENT 0x1040
-#define SPI_SETDISABLEOVERLAPPEDCONTENT 0x1041
-#define SPI_GETCLIENTAREAANIMATION 0x1042
-#define SPI_SETCLIENTAREAANIMATION 0x1043
-#define SPI_GETCLEARTYPE 0x1048
-#define SPI_SETCLEARTYPE 0x1049
-#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
-#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
-#define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
-#define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
-#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
-#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
-#define SPI_GETCARETWIDTH 0x2006
-#define SPI_SETCARETWIDTH 0x2007
-#define SPI_GETMOUSECLICKLOCKTIME 0x2008
-#define SPI_SETMOUSECLICKLOCKTIME 0x2009
-#define SPI_GETFONTSMOOTHINGTYPE 0x200A
-#define SPI_SETFONTSMOOTHINGTYPE 0x200B
-
-#define FE_FONTSMOOTHINGSTANDARD 0x0001
-#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
-#define FE_FONTSMOOTHINGDOCKING 0x8000
-
-#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
-#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
-#define SPI_GETFOCUSBORDERWIDTH 0x200E
-#define SPI_SETFOCUSBORDERWIDTH 0x200F
-#define SPI_GETFOCUSBORDERHEIGHT 0x2010
-#define SPI_SETFOCUSBORDERHEIGHT 0x2011
-#define SPI_GETFONTSMOOTHINGORIENTATION 0x2012
-#define SPI_SETFONTSMOOTHINGORIENTATION 0x2013
-#define SPI_GETMESSAGEDURATION 0x2016
-#define SPI_SETMESSAGEDURATION 0x2017
-
-#define FE_FONTSMOOTHINGORIENTATIONBGR 0x0000
-#define FE_FONTSMOOTHINGORIENTATIONRGB 0x0001
-
-#define SPIF_UPDATEINIFILE 0x0001
-#define SPIF_SENDWININICHANGE 0x0002
-#define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
-
-#define METRICS_USEDEFAULT -1
-#ifdef _WINGDI_
-#ifndef NOGDI
-  typedef struct tagNONCLIENTMETRICSA {
-    UINT cbSize;
-    int iBorderWidth;
-    int iScrollWidth;
-    int iScrollHeight;
-    int iCaptionWidth;
-    int iCaptionHeight;
-    LOGFONTA lfCaptionFont;
-    int iSmCaptionWidth;
-    int iSmCaptionHeight;
-    LOGFONTA lfSmCaptionFont;
-    int iMenuWidth;
-    int iMenuHeight;
-    LOGFONTA lfMenuFont;
-    LOGFONTA lfStatusFont;
-    LOGFONTA lfMessageFont;
-  } NONCLIENTMETRICSA,*PNONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
-
-  typedef struct tagNONCLIENTMETRICSW {
-    UINT cbSize;
-    int iBorderWidth;
-    int iScrollWidth;
-    int iScrollHeight;
-    int iCaptionWidth;
-    int iCaptionHeight;
-    LOGFONTW lfCaptionFont;
-    int iSmCaptionWidth;
-    int iSmCaptionHeight;
-    LOGFONTW lfSmCaptionFont;
-    int iMenuWidth;
-    int iMenuHeight;
-    LOGFONTW lfMenuFont;
-    LOGFONTW lfStatusFont;
-    LOGFONTW lfMessageFont;
-  } NONCLIENTMETRICSW,*PNONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
-
-  __MINGW_TYPEDEF_AW(NONCLIENTMETRICS)
-  __MINGW_TYPEDEF_AW(PNONCLIENTMETRICS)
-  __MINGW_TYPEDEF_AW(LPNONCLIENTMETRICS)
-#endif
-#endif
-
-#define ARW_BOTTOMLEFT __MSABI_LONG(0x0000)
-#define ARW_BOTTOMRIGHT __MSABI_LONG(0x0001)
-#define ARW_TOPLEFT __MSABI_LONG(0x0002)
-#define ARW_TOPRIGHT __MSABI_LONG(0x0003)
-#define ARW_STARTMASK __MSABI_LONG(0x0003)
-#define ARW_STARTRIGHT __MSABI_LONG(0x0001)
-#define ARW_STARTTOP __MSABI_LONG(0x0002)
-
-#define ARW_LEFT __MSABI_LONG(0x0000)
-#define ARW_RIGHT __MSABI_LONG(0x0000)
-#define ARW_UP __MSABI_LONG(0x0004)
-#define ARW_DOWN __MSABI_LONG(0x0004)
-#define ARW_HIDE __MSABI_LONG(0x0008)
-
-  typedef struct tagMINIMIZEDMETRICS {
-    UINT cbSize;
-    int iWidth;
-    int iHorzGap;
-    int iVertGap;
-    int iArrange;
-  } MINIMIZEDMETRICS,*PMINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
-
-#ifdef _WINGDI_
-#ifndef NOGDI
-  typedef struct tagICONMETRICSA {
-    UINT cbSize;
-    int iHorzSpacing;
-    int iVertSpacing;
-    int iTitleWrap;
-    LOGFONTA lfFont;
-  } ICONMETRICSA,*PICONMETRICSA,*LPICONMETRICSA;
-
-  typedef struct tagICONMETRICSW {
-    UINT cbSize;
-    int iHorzSpacing;
-    int iVertSpacing;
-    int iTitleWrap;
-    LOGFONTW lfFont;
-  } ICONMETRICSW,*PICONMETRICSW,*LPICONMETRICSW;
-
-  __MINGW_TYPEDEF_AW(ICONMETRICS)
-  __MINGW_TYPEDEF_AW(PICONMETRICS)
-  __MINGW_TYPEDEF_AW(LPICONMETRICS)
-#endif
-#endif
-
-  typedef struct tagANIMATIONINFO {
-    UINT cbSize;
-    int iMinAnimate;
-  } ANIMATIONINFO,*LPANIMATIONINFO;
-
-  typedef struct tagSERIALKEYSA {
-    UINT cbSize;
-    DWORD dwFlags;
-    LPSTR lpszActivePort;
-    LPSTR lpszPort;
-    UINT iBaudRate;
-    UINT iPortState;
-    UINT iActive;
-  } SERIALKEYSA,*LPSERIALKEYSA;
-
-  typedef struct tagSERIALKEYSW {
-    UINT cbSize;
-    DWORD dwFlags;
-    LPWSTR lpszActivePort;
-    LPWSTR lpszPort;
-    UINT iBaudRate;
-    UINT iPortState;
-    UINT iActive;
-  } SERIALKEYSW,*LPSERIALKEYSW;
-
-  __MINGW_TYPEDEF_AW(SERIALKEYS)
-  __MINGW_TYPEDEF_AW(LPSERIALKEYS)
-
-#define SERKF_SERIALKEYSON 0x00000001
-#define SERKF_AVAILABLE 0x00000002
-#define SERKF_INDICATOR 0x00000004
-
-  typedef struct tagHIGHCONTRASTA {
-    UINT cbSize;
-    DWORD dwFlags;
-    LPSTR lpszDefaultScheme;
-  } HIGHCONTRASTA,*LPHIGHCONTRASTA;
-
-  typedef struct tagHIGHCONTRASTW {
-    UINT cbSize;
-    DWORD dwFlags;
-    LPWSTR lpszDefaultScheme;
-  } HIGHCONTRASTW,*LPHIGHCONTRASTW;
-
-  __MINGW_TYPEDEF_AW(HIGHCONTRAST)
-  __MINGW_TYPEDEF_AW(LPHIGHCONTRAST)
-
-#define HCF_HIGHCONTRASTON 0x00000001
-#define HCF_AVAILABLE 0x00000002
-#define HCF_HOTKEYACTIVE 0x00000004
-#define HCF_CONFIRMHOTKEY 0x00000008
-#define HCF_HOTKEYSOUND 0x00000010
-#define HCF_INDICATOR 0x00000020
-#define HCF_HOTKEYAVAILABLE 0x00000040
-#define HCF_LOGONDESKTOP 0x00000100
-#define HCF_DEFAULTDESKTOP 0x00000200
-
-#define CDS_UPDATEREGISTRY 0x00000001
-#define CDS_TEST 0x00000002
-#define CDS_FULLSCREEN 0x00000004
-#define CDS_GLOBAL 0x00000008
-#define CDS_SET_PRIMARY 0x00000010
-#define CDS_VIDEOPARAMETERS 0x00000020
-#define CDS_RESET 0x40000000
-#define CDS_NORESET 0x10000000
-
-#include <tvout.h>
-
-#define DISP_CHANGE_SUCCESSFUL 0
-#define DISP_CHANGE_RESTART 1
-#define DISP_CHANGE_FAILED -1
-#define DISP_CHANGE_BADMODE -2
-#define DISP_CHANGE_NOTUPDATED -3
-#define DISP_CHANGE_BADFLAGS -4
-#define DISP_CHANGE_BADPARAM -5
-#define DISP_CHANGE_BADDUALVIEW -6
-
-#ifdef _WINGDI_
-#ifndef NOGDI
-
-#define ChangeDisplaySettings __MINGW_NAME_AW(ChangeDisplaySettings)
-#define ChangeDisplaySettingsEx __MINGW_NAME_AW(ChangeDisplaySettingsEx)
-#define EnumDisplaySettings __MINGW_NAME_AW(EnumDisplaySettings)
-#define EnumDisplaySettingsEx __MINGW_NAME_AW(EnumDisplaySettingsEx)
-#define EnumDisplayDevices __MINGW_NAME_AW(EnumDisplayDevices)
-
-  WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA lpDevMode,DWORD dwFlags);
-  WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW lpDevMode,DWORD dwFlags);
-  WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR lpszDeviceName,LPDEVMODEA lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam);
-  WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR lpszDeviceName,LPDEVMODEW lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam);
-
-#define ENUM_CURRENT_SETTINGS ((DWORD)-1)
-#define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
-
-  WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode);
-  WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode);
-  WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsExA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode,DWORD dwFlags);
-  WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsExW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode,DWORD dwFlags);
-
-#define EDS_RAWMODE 0x00000002
-
-  WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesA(LPCSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEA lpDisplayDevice,DWORD dwFlags);
-  WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesW(LPCWSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEW lpDisplayDevice,DWORD dwFlags);
-#endif
-#endif
-
-#define SystemParametersInfo __MINGW_NAME_AW(SystemParametersInfo)
-
-  WINUSERAPI WINBOOL WINAPI SystemParametersInfoA(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni);
-  WINUSERAPI WINBOOL WINAPI SystemParametersInfoW(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni);
-#endif
-
-  typedef struct tagFILTERKEYS {
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iWaitMSec;
-    DWORD iDelayMSec;
-    DWORD iRepeatMSec;
-    DWORD iBounceMSec;
-  } FILTERKEYS,*LPFILTERKEYS;
-
-#define FKF_FILTERKEYSON 0x00000001
-#define FKF_AVAILABLE 0x00000002
-#define FKF_HOTKEYACTIVE 0x00000004
-#define FKF_CONFIRMHOTKEY 0x00000008
-#define FKF_HOTKEYSOUND 0x00000010
-#define FKF_INDICATOR 0x00000020
-#define FKF_CLICKON 0x00000040
-
-  typedef struct tagSTICKYKEYS {
-    UINT cbSize;
-    DWORD dwFlags;
-  } STICKYKEYS,*LPSTICKYKEYS;
-
-#define SKF_STICKYKEYSON 0x00000001
-#define SKF_AVAILABLE 0x00000002
-#define SKF_HOTKEYACTIVE 0x00000004
-#define SKF_CONFIRMHOTKEY 0x00000008
-#define SKF_HOTKEYSOUND 0x00000010
-#define SKF_INDICATOR 0x00000020
-#define SKF_AUDIBLEFEEDBACK 0x00000040
-#define SKF_TRISTATE 0x00000080
-#define SKF_TWOKEYSOFF 0x00000100
-#define SKF_LALTLATCHED 0x10000000
-#define SKF_LCTLLATCHED 0x04000000
-#define SKF_LSHIFTLATCHED 0x01000000
-#define SKF_RALTLATCHED 0x20000000
-#define SKF_RCTLLATCHED 0x08000000
-#define SKF_RSHIFTLATCHED 0x02000000
-#define SKF_LWINLATCHED 0x40000000
-#define SKF_RWINLATCHED 0x80000000
-#define SKF_LALTLOCKED 0x00100000
-#define SKF_LCTLLOCKED 0x00040000
-#define SKF_LSHIFTLOCKED 0x00010000
-#define SKF_RALTLOCKED 0x00200000
-#define SKF_RCTLLOCKED 0x00080000
-#define SKF_RSHIFTLOCKED 0x00020000
-#define SKF_LWINLOCKED 0x00400000
-#define SKF_RWINLOCKED 0x00800000
-
-  typedef struct tagMOUSEKEYS {
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iMaxSpeed;
-    DWORD iTimeToMaxSpeed;
-    DWORD iCtrlSpeed;
-    DWORD dwReserved1;
-    DWORD dwReserved2;
-  } MOUSEKEYS,*LPMOUSEKEYS;
-
-#define MKF_MOUSEKEYSON 0x00000001
-#define MKF_AVAILABLE 0x00000002
-#define MKF_HOTKEYACTIVE 0x00000004
-#define MKF_CONFIRMHOTKEY 0x00000008
-#define MKF_HOTKEYSOUND 0x00000010
-#define MKF_INDICATOR 0x00000020
-#define MKF_MODIFIERS 0x00000040
-#define MKF_REPLACENUMBERS 0x00000080
-#define MKF_LEFTBUTTONSEL 0x10000000
-#define MKF_RIGHTBUTTONSEL 0x20000000
-#define MKF_LEFTBUTTONDOWN 0x01000000
-#define MKF_RIGHTBUTTONDOWN 0x02000000
-#define MKF_MOUSEMODE 0x80000000
-
-  typedef struct tagACCESSTIMEOUT {
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iTimeOutMSec;
-  } ACCESSTIMEOUT,*LPACCESSTIMEOUT;
-
-#define ATF_TIMEOUTON 0x00000001
-#define ATF_ONOFFFEEDBACK 0x00000002
-
-#define SSGF_NONE 0
-#define SSGF_DISPLAY 3
-
-#define SSTF_NONE 0
-#define SSTF_CHARS 1
-#define SSTF_BORDER 2
-#define SSTF_DISPLAY 3
-
-#define SSWF_NONE 0
-#define SSWF_TITLE 1
-#define SSWF_WINDOW 2
-#define SSWF_DISPLAY 3
-#define SSWF_CUSTOM 4
-
-  typedef struct tagSOUNDSENTRYA {
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iFSTextEffect;
-    DWORD iFSTextEffectMSec;
-    DWORD iFSTextEffectColorBits;
-    DWORD iFSGrafEffect;
-    DWORD iFSGrafEffectMSec;
-    DWORD iFSGrafEffectColor;
-    DWORD iWindowsEffect;
-    DWORD iWindowsEffectMSec;
-    LPSTR lpszWindowsEffectDLL;
-    DWORD iWindowsEffectOrdinal;
-  } SOUNDSENTRYA,*LPSOUNDSENTRYA;
-
-  typedef struct tagSOUNDSENTRYW {
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iFSTextEffect;
-    DWORD iFSTextEffectMSec;
-    DWORD iFSTextEffectColorBits;
-    DWORD iFSGrafEffect;
-    DWORD iFSGrafEffectMSec;
-    DWORD iFSGrafEffectColor;
-    DWORD iWindowsEffect;
-    DWORD iWindowsEffectMSec;
-    LPWSTR lpszWindowsEffectDLL;
-    DWORD iWindowsEffectOrdinal;
-  } SOUNDSENTRYW,*LPSOUNDSENTRYW;
-
-  __MINGW_TYPEDEF_AW(SOUNDSENTRY)
-  __MINGW_TYPEDEF_AW(LPSOUNDSENTRY)
-
-#define SSF_SOUNDSENTRYON 0x00000001
-#define SSF_AVAILABLE 0x00000002
-#define SSF_INDICATOR 0x00000004
-
-  typedef struct tagTOGGLEKEYS {
-    UINT cbSize;
-    DWORD dwFlags;
-  } TOGGLEKEYS,*LPTOGGLEKEYS;
-
-#define TKF_TOGGLEKEYSON 0x00000001
-#define TKF_AVAILABLE 0x00000002
-#define TKF_HOTKEYACTIVE 0x00000004
-#define TKF_CONFIRMHOTKEY 0x00000008
-#define TKF_HOTKEYSOUND 0x00000010
-#define TKF_INDICATOR 0x00000020
-
-  WINUSERAPI VOID WINAPI SetDebugErrorLevel(DWORD dwLevel);
-
-#define SLE_ERROR 0x00000001
-#define SLE_MINORERROR 0x00000002
-#define SLE_WARNING 0x00000003
-
-  WINUSERAPI VOID WINAPI SetLastErrorEx(DWORD dwErrCode,DWORD dwType);
-  WINUSERAPI int WINAPI InternalGetWindowText(HWND hWnd,LPWSTR pString,int cchMaxCount);
-
-#ifdef WINNT
-  WINUSERAPI WINBOOL WINAPI EndTask(HWND hWnd,WINBOOL fShutDown,WINBOOL fForce);
-#endif
-
-#define MONITOR_DEFAULTTONULL 0x00000000
-#define MONITOR_DEFAULTTOPRIMARY 0x00000001
-#define MONITOR_DEFAULTTONEAREST 0x00000002
-
-  WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT pt,DWORD dwFlags);
-  WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT lprc,DWORD dwFlags);
-  WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND hwnd,DWORD dwFlags);
-
-#define MONITORINFOF_PRIMARY 0x00000001
-
-#ifndef CCHDEVICENAME
-#define CCHDEVICENAME 32
-#endif
-
-  typedef struct tagMONITORINFO {
-    DWORD cbSize;
-    RECT rcMonitor;
-    RECT rcWork;
-    DWORD dwFlags;
-  } MONITORINFO,*LPMONITORINFO;
-
-#ifdef __cplusplus
-  typedef struct tagMONITORINFOEXA : public tagMONITORINFO {
-    CHAR szDevice[CCHDEVICENAME];
-  } MONITORINFOEXA,*LPMONITORINFOEXA;
-
-  typedef struct tagMONITORINFOEXW : public tagMONITORINFO {
-    WCHAR szDevice[CCHDEVICENAME];
-  } MONITORINFOEXW,*LPMONITORINFOEXW;
-
-  __MINGW_TYPEDEF_AW(MONITORINFOEX)
-  __MINGW_TYPEDEF_AW(LPMONITORINFOEX)
-#else
-  typedef struct tagMONITORINFOEXA {
-    __C89_NAMELESS struct {
-      DWORD cbSize;
-      RECT rcMonitor;
-      RECT rcWork;
-      DWORD dwFlags;
-    };
-    CHAR szDevice[CCHDEVICENAME];
-  } MONITORINFOEXA,*LPMONITORINFOEXA;
-
-  typedef struct tagMONITORINFOEXW {
-    __C89_NAMELESS struct {
-      DWORD cbSize;
-      RECT rcMonitor;
-      RECT rcWork;
-      DWORD dwFlags;
-    };
-    WCHAR szDevice[CCHDEVICENAME];
-  } MONITORINFOEXW,*LPMONITORINFOEXW;
-
-  __MINGW_TYPEDEF_AW(MONITORINFOEX)
-  __MINGW_TYPEDEF_AW(LPMONITORINFOEX)
-#endif
-
-#define GetMonitorInfo __MINGW_NAME_AW(GetMonitorInfo)
-
-  WINUSERAPI WINBOOL WINAPI GetMonitorInfoA(HMONITOR hMonitor,LPMONITORINFO lpmi);
-  WINUSERAPI WINBOOL WINAPI GetMonitorInfoW(HMONITOR hMonitor,LPMONITORINFO lpmi);
-
-  typedef WINBOOL (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
-
-  WINUSERAPI WINBOOL WINAPI EnumDisplayMonitors(HDC hdc,LPCRECT lprcClip,MONITORENUMPROC lpfnEnum,LPARAM dwData);
-
-#ifndef NOWINABLE
-  WINUSERAPI VOID WINAPI NotifyWinEvent(DWORD event,HWND hwnd,LONG idObject,LONG idChild);
-
-  typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK hWinEventHook,DWORD event,HWND hwnd,LONG idObject,LONG idChild,DWORD idEventThread,DWORD dwmsEventTime);
-
-  WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(DWORD eventMin,DWORD eventMax,HMODULE hmodWinEventProc,WINEVENTPROC pfnWinEventProc,DWORD idProcess,DWORD idThread,DWORD dwFlags);
-  WINUSERAPI WINBOOL WINAPI IsWinEventHookInstalled(DWORD event);
-
-#define WINEVENT_OUTOFCONTEXT 0x0000
-#define WINEVENT_SKIPOWNTHREAD 0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT 0x0004
-
-  WINUSERAPI WINBOOL WINAPI UnhookWinEvent(HWINEVENTHOOK hWinEventHook);
-
-#define CHILDID_SELF 0
-#define INDEXID_OBJECT 0
-#define INDEXID_CONTAINER 0
-
-#define OBJID_WINDOW ((LONG)0x00000000)
-#define OBJID_SYSMENU ((LONG)0xFFFFFFFF)
-#define OBJID_TITLEBAR ((LONG)0xFFFFFFFE)
-#define OBJID_MENU ((LONG)0xFFFFFFFD)
-#define OBJID_CLIENT ((LONG)0xFFFFFFFC)
-#define OBJID_VSCROLL ((LONG)0xFFFFFFFB)
-#define OBJID_HSCROLL ((LONG)0xFFFFFFFA)
-#define OBJID_SIZEGRIP ((LONG)0xFFFFFFF9)
-#define OBJID_CARET ((LONG)0xFFFFFFF8)
-#define OBJID_CURSOR ((LONG)0xFFFFFFF7)
-#define OBJID_ALERT ((LONG)0xFFFFFFF6)
-#define OBJID_SOUND ((LONG)0xFFFFFFF5)
-#define OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4)
-#define OBJID_NATIVEOM ((LONG)0xFFFFFFF0)
-
-#define EVENT_MIN 0x00000001
-#define EVENT_MAX 0x7FFFFFFF
-
-#define EVENT_SYSTEM_SOUND 0x0001
-#define EVENT_SYSTEM_ALERT 0x0002
-#define EVENT_SYSTEM_FOREGROUND 0x0003
-#define EVENT_SYSTEM_MENUSTART 0x0004
-#define EVENT_SYSTEM_MENUEND 0x0005
-#define EVENT_SYSTEM_MENUPOPUPSTART 0x0006
-#define EVENT_SYSTEM_MENUPOPUPEND 0x0007
-#define EVENT_SYSTEM_CAPTURESTART 0x0008
-#define EVENT_SYSTEM_CAPTUREEND 0x0009
-#define EVENT_SYSTEM_MOVESIZESTART 0x000A
-#define EVENT_SYSTEM_MOVESIZEEND 0x000B
-#define EVENT_SYSTEM_CONTEXTHELPSTART 0x000C
-#define EVENT_SYSTEM_CONTEXTHELPEND 0x000D
-#define EVENT_SYSTEM_DRAGDROPSTART 0x000E
-#define EVENT_SYSTEM_DRAGDROPEND 0x000F
-#define EVENT_SYSTEM_DIALOGSTART 0x0010
-#define EVENT_SYSTEM_DIALOGEND 0x0011
-#define EVENT_SYSTEM_SCROLLINGSTART 0x0012
-#define EVENT_SYSTEM_SCROLLINGEND 0x0013
-#define EVENT_SYSTEM_SWITCHSTART 0x0014
-#define EVENT_SYSTEM_SWITCHEND 0x0015
-#define EVENT_SYSTEM_MINIMIZESTART 0x0016
-#define EVENT_SYSTEM_MINIMIZEEND 0x0017
-
-#define EVENT_CONSOLE_CARET 0x4001
-#define EVENT_CONSOLE_UPDATE_REGION 0x4002
-#define EVENT_CONSOLE_UPDATE_SIMPLE 0x4003
-#define EVENT_CONSOLE_UPDATE_SCROLL 0x4004
-#define EVENT_CONSOLE_LAYOUT 0x4005
-#define EVENT_CONSOLE_START_APPLICATION 0x4006
-#define EVENT_CONSOLE_END_APPLICATION 0x4007
-
-#define CONSOLE_APPLICATION_16BIT 0x0001
-
-#define CONSOLE_CARET_SELECTION 0x0001
-#define CONSOLE_CARET_VISIBLE 0x0002
-
-#define EVENT_OBJECT_CREATE 0x8000
-#define EVENT_OBJECT_DESTROY 0x8001
-#define EVENT_OBJECT_SHOW 0x8002
-#define EVENT_OBJECT_HIDE 0x8003
-#define EVENT_OBJECT_REORDER 0x8004
-
-#define EVENT_OBJECT_FOCUS 0x8005
-#define EVENT_OBJECT_SELECTION 0x8006
-#define EVENT_OBJECT_SELECTIONADD 0x8007
-#define EVENT_OBJECT_SELECTIONREMOVE 0x8008
-#define EVENT_OBJECT_SELECTIONWITHIN 0x8009
-
-#define EVENT_OBJECT_STATECHANGE 0x800A
-
-#define EVENT_OBJECT_LOCATIONCHANGE 0x800B
-
-#define EVENT_OBJECT_NAMECHANGE 0x800C
-#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x800D
-#define EVENT_OBJECT_VALUECHANGE 0x800E
-#define EVENT_OBJECT_PARENTCHANGE 0x800F
-#define EVENT_OBJECT_HELPCHANGE 0x8010
-#define EVENT_OBJECT_DEFACTIONCHANGE 0x8011
-#define EVENT_OBJECT_ACCELERATORCHANGE 0x8012
-
-#define SOUND_SYSTEM_STARTUP 1
-#define SOUND_SYSTEM_SHUTDOWN 2
-#define SOUND_SYSTEM_BEEP 3
-#define SOUND_SYSTEM_ERROR 4
-#define SOUND_SYSTEM_QUESTION 5
-#define SOUND_SYSTEM_WARNING 6
-#define SOUND_SYSTEM_INFORMATION 7
-#define SOUND_SYSTEM_MAXIMIZE 8
-#define SOUND_SYSTEM_MINIMIZE 9
-#define SOUND_SYSTEM_RESTOREUP 10
-#define SOUND_SYSTEM_RESTOREDOWN 11
-#define SOUND_SYSTEM_APPSTART 12
-#define SOUND_SYSTEM_FAULT 13
-#define SOUND_SYSTEM_APPEND 14
-#define SOUND_SYSTEM_MENUCOMMAND 15
-#define SOUND_SYSTEM_MENUPOPUP 16
-#define CSOUND_SYSTEM 16
-
-#define ALERT_SYSTEM_INFORMATIONAL 1
-#define ALERT_SYSTEM_WARNING 2
-#define ALERT_SYSTEM_ERROR 3
-#define ALERT_SYSTEM_QUERY 4
-#define ALERT_SYSTEM_CRITICAL 5
-#define CALERT_SYSTEM 6
-
-  typedef struct tagGUITHREADINFO {
-    DWORD cbSize;
-    DWORD flags;
-    HWND hwndActive;
-    HWND hwndFocus;
-    HWND hwndCapture;
-    HWND hwndMenuOwner;
-    HWND hwndMoveSize;
-    HWND hwndCaret;
-    RECT rcCaret;
-  } GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#define GUI_16BITTASK 0x00000020
-
-#define GetWindowModuleFileName __MINGW_NAME_AW(GetWindowModuleFileName)
-
-  WINUSERAPI WINBOOL WINAPI GetGUIThreadInfo(DWORD idThread,PGUITHREADINFO pgui);
-  WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND hwnd,LPSTR pszFileName,UINT cchFileNameMax);
-  WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND hwnd,LPWSTR pszFileName,UINT cchFileNameMax);
-
-#ifndef NO_STATE_FLAGS
-#define STATE_SYSTEM_UNAVAILABLE 0x00000001
-#define STATE_SYSTEM_SELECTED 0x00000002
-#define STATE_SYSTEM_FOCUSED 0x00000004
-#define STATE_SYSTEM_PRESSED 0x00000008
-#define STATE_SYSTEM_CHECKED 0x00000010
-#define STATE_SYSTEM_MIXED 0x00000020
-#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED
-#define STATE_SYSTEM_READONLY 0x00000040
-#define STATE_SYSTEM_HOTTRACKED 0x00000080
-#define STATE_SYSTEM_DEFAULT 0x00000100
-#define STATE_SYSTEM_EXPANDED 0x00000200
-#define STATE_SYSTEM_COLLAPSED 0x00000400
-#define STATE_SYSTEM_BUSY 0x00000800
-#define STATE_SYSTEM_FLOATING 0x00001000
-#define STATE_SYSTEM_MARQUEED 0x00002000
-#define STATE_SYSTEM_ANIMATED 0x00004000
-#define STATE_SYSTEM_INVISIBLE 0x00008000
-#define STATE_SYSTEM_OFFSCREEN 0x00010000
-#define STATE_SYSTEM_SIZEABLE 0x00020000
-#define STATE_SYSTEM_MOVEABLE 0x00040000
-#define STATE_SYSTEM_SELFVOICING 0x00080000
-#define STATE_SYSTEM_FOCUSABLE 0x00100000
-#define STATE_SYSTEM_SELECTABLE 0x00200000
-#define STATE_SYSTEM_LINKED 0x00400000
-#define STATE_SYSTEM_TRAVERSED 0x00800000
-#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
-#define STATE_SYSTEM_EXTSELECTABLE 0x02000000
-#define STATE_SYSTEM_ALERT_LOW 0x04000000
-#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
-#define STATE_SYSTEM_ALERT_HIGH 0x10000000
-#define STATE_SYSTEM_PROTECTED 0x20000000
-#define STATE_SYSTEM_VALID 0x3FFFFFFF
-#endif
-
-#define CCHILDREN_TITLEBAR 5
-#define CCHILDREN_SCROLLBAR 5
-
-  typedef struct tagCURSORINFO {
-    DWORD cbSize;
-    DWORD flags;
-    HCURSOR hCursor;
-    POINT ptScreenPos;
-  } CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
-
-#define CURSOR_SHOWING 0x00000001
-
-  WINUSERAPI WINBOOL WINAPI GetCursorInfo(PCURSORINFO pci);
-
-  typedef struct tagWINDOWINFO {
-    DWORD cbSize;
-    RECT rcWindow;
-    RECT rcClient;
-    DWORD dwStyle;
-    DWORD dwExStyle;
-    DWORD dwWindowStatus;
-    UINT cxWindowBorders;
-    UINT cyWindowBorders;
-    ATOM atomWindowType;
-    WORD wCreatorVersion;
-  } WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
-
-#define WS_ACTIVECAPTION 0x0001
-
-  WINUSERAPI WINBOOL WINAPI GetWindowInfo(HWND hwnd,PWINDOWINFO pwi);
-
-  typedef struct tagTITLEBARINFO {
-    DWORD cbSize;
-    RECT rcTitleBar;
-    DWORD rgstate[CCHILDREN_TITLEBAR + 1];
-  } TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
-
-  WINUSERAPI WINBOOL WINAPI GetTitleBarInfo(HWND hwnd,PTITLEBARINFO pti);
-
-  typedef struct tagMENUBARINFO {
-    DWORD cbSize;
-    RECT rcBar;
-    HMENU hMenu;
-    HWND hwndMenu;
-    WINBOOL fBarFocused:1;
-    WINBOOL fFocused:1;
-  } MENUBARINFO,*PMENUBARINFO,*LPMENUBARINFO;
-
-  WINUSERAPI WINBOOL WINAPI GetMenuBarInfo(HWND hwnd,LONG idObject,LONG idItem,PMENUBARINFO pmbi);
-
-  typedef struct tagSCROLLBARINFO {
-    DWORD cbSize;
-    RECT rcScrollBar;
-    int dxyLineButton;
-    int xyThumbTop;
-    int xyThumbBottom;
-    int reserved;
-    DWORD rgstate[CCHILDREN_SCROLLBAR + 1];
-  } SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
-
-  WINUSERAPI WINBOOL WINAPI GetScrollBarInfo(HWND hwnd,LONG idObject,PSCROLLBARINFO psbi);
-
-  typedef struct tagCOMBOBOXINFO {
-    DWORD cbSize;
-    RECT rcItem;
-    RECT rcButton;
-    DWORD stateButton;
-    HWND hwndCombo;
-    HWND hwndItem;
-    HWND hwndList;
-  } COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
-
-  WINUSERAPI WINBOOL WINAPI GetComboBoxInfo(HWND hwndCombo,PCOMBOBOXINFO pcbi);
-
-#define GA_PARENT 1
-#define GA_ROOT 2
-#define GA_ROOTOWNER 3
-
-  WINUSERAPI HWND WINAPI GetAncestor(HWND hwnd,UINT gaFlags);
-  WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND hwndParent,POINT ptParentClientCoords);
-  WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND hwnd,LPSTR ptszClassName,UINT cchClassNameMax);
-  WINUSERAPI UINT WINAPI RealGetWindowClassW(HWND hwnd,LPWSTR ptszClassName,UINT cchClassNameMax);
-
-#define RealGetWindowClass __MINGW_NAME_AW(RealGetWindowClass)
-
-  typedef struct tagALTTABINFO {
-    DWORD cbSize;
-    int cItems;
-    int cColumns;
-    int cRows;
-    int iColFocus;
-    int iRowFocus;
-    int cxItem;
-    int cyItem;
-    POINT ptStart;
-  } ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
-
-#define GetAltTabInfo __MINGW_NAME_AW(GetAltTabInfo)
-
-  WINUSERAPI WINBOOL WINAPI GetAltTabInfoA(HWND hwnd,int iItem,PALTTABINFO pati,LPSTR pszItemText,UINT cchItemText);
-  WINUSERAPI WINBOOL WINAPI GetAltTabInfoW(HWND hwnd,int iItem,PALTTABINFO pati,LPWSTR pszItemText,UINT cchItemText);
-  WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND hwnd);
-#endif
-
-  WINUSERAPI WINBOOL WINAPI LockWorkStation(VOID);
-  WINUSERAPI WINBOOL WINAPI UserHandleGrantAccess(HANDLE hUserHandle,HANDLE hJob,WINBOOL bGrant);
-
-  DECLARE_HANDLE(HRAWINPUT);
-
-#define GET_RAWINPUT_CODE_WPARAM(wParam) ((wParam) & 0xff)
-
-#define RIM_INPUT 0
-#define RIM_INPUTSINK 1
-
-  typedef struct tagRAWINPUTHEADER {
-    DWORD dwType;
-    DWORD dwSize;
-    HANDLE hDevice;
-    WPARAM wParam;
-  } RAWINPUTHEADER,*PRAWINPUTHEADER,*LPRAWINPUTHEADER;
-
-#define RIM_TYPEMOUSE 0
-#define RIM_TYPEKEYBOARD 1
-#define RIM_TYPEHID 2
-
-  typedef struct tagRAWMOUSE {
-    USHORT usFlags;
-    __C89_NAMELESS union {
-      ULONG ulButtons;
-      __C89_NAMELESS struct {
-	USHORT usButtonFlags;
-	USHORT usButtonData;
-      };
-    };
-    ULONG ulRawButtons;
-    LONG lLastX;
-    LONG lLastY;
-    ULONG ulExtraInformation;
-  } RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
-
-#define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001
-#define RI_MOUSE_LEFT_BUTTON_UP 0x0002
-#define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004
-#define RI_MOUSE_RIGHT_BUTTON_UP 0x0008
-#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define RI_MOUSE_MIDDLE_BUTTON_UP 0x0020
-
-#define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP
-#define RI_MOUSE_BUTTON_2_DOWN RI_MOUSE_RIGHT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_2_UP RI_MOUSE_RIGHT_BUTTON_UP
-#define RI_MOUSE_BUTTON_3_DOWN RI_MOUSE_MIDDLE_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_3_UP RI_MOUSE_MIDDLE_BUTTON_UP
-
-#define RI_MOUSE_BUTTON_4_DOWN 0x0040
-#define RI_MOUSE_BUTTON_4_UP 0x0080
-#define RI_MOUSE_BUTTON_5_DOWN 0x0100
-#define RI_MOUSE_BUTTON_5_UP 0x0200
-
-#define RI_MOUSE_WHEEL 0x0400
-
-#define MOUSE_MOVE_RELATIVE 0
-#define MOUSE_MOVE_ABSOLUTE 1
-#define MOUSE_VIRTUAL_DESKTOP 0x02
-#define MOUSE_ATTRIBUTES_CHANGED 0x04
-
-  typedef struct tagRAWKEYBOARD {
-    USHORT MakeCode;
-    USHORT Flags;
-    USHORT Reserved;
-    USHORT VKey;
-    UINT Message;
-    ULONG ExtraInformation;
-  } RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
-
-#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
-
-#define RI_KEY_MAKE 0
-#define RI_KEY_BREAK 1
-#define RI_KEY_E0 2
-#define RI_KEY_E1 4
-#define RI_KEY_TERMSRV_SET_LED 8
-#define RI_KEY_TERMSRV_SHADOW 0x10
-
-  typedef struct tagRAWHID {
-    DWORD dwSizeHid;
-    DWORD dwCount;
-    BYTE bRawData[1];
-  } RAWHID,*PRAWHID,*LPRAWHID;
-
-  typedef struct tagRAWINPUT {
-    RAWINPUTHEADER header;
-    union {
-      RAWMOUSE mouse;
-      RAWKEYBOARD keyboard;
-      RAWHID hid;
-    } data;
-  } RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
-
-#ifdef _WIN64
-#define RAWINPUT_ALIGN(x) (((x) + sizeof(QWORD) - 1) & ~(sizeof(QWORD) - 1))
-#else
-#define RAWINPUT_ALIGN(x) (((x) + sizeof(DWORD) - 1) & ~(sizeof(DWORD) - 1))
-#endif
-
-#define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize)))
-
-#define RID_INPUT 0x10000003
-#define RID_HEADER 0x10000005
-
-  WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT hRawInput,UINT uiCommand,LPVOID pData,PUINT pcbSize,UINT cbSizeHeader);
-
-#define RIDI_PREPARSEDDATA 0x20000005
-#define RIDI_DEVICENAME 0x20000007
-#define RIDI_DEVICEINFO 0x2000000b
-
-  typedef struct tagRID_DEVICE_INFO_MOUSE {
-    DWORD dwId;
-    DWORD dwNumberOfButtons;
-    DWORD dwSampleRate;
-  } RID_DEVICE_INFO_MOUSE,*PRID_DEVICE_INFO_MOUSE;
-
-  typedef struct tagRID_DEVICE_INFO_KEYBOARD {
-    DWORD dwType;
-    DWORD dwSubType;
-    DWORD dwKeyboardMode;
-    DWORD dwNumberOfFunctionKeys;
-    DWORD dwNumberOfIndicators;
-    DWORD dwNumberOfKeysTotal;
-  } RID_DEVICE_INFO_KEYBOARD,*PRID_DEVICE_INFO_KEYBOARD;
-
-  typedef struct tagRID_DEVICE_INFO_HID {
-    DWORD dwVendorId;
-    DWORD dwProductId;
-    DWORD dwVersionNumber;
-    USHORT usUsagePage;
-    USHORT usUsage;
-  } RID_DEVICE_INFO_HID,*PRID_DEVICE_INFO_HID;
-
-  typedef struct tagRID_DEVICE_INFO {
-    DWORD cbSize;
-    DWORD dwType;
-    __C89_NAMELESS union {
-      RID_DEVICE_INFO_MOUSE mouse;
-      RID_DEVICE_INFO_KEYBOARD keyboard;
-      RID_DEVICE_INFO_HID hid;
-    } DUMMYUNIONNAME;
-  } RID_DEVICE_INFO,*PRID_DEVICE_INFO,*LPRID_DEVICE_INFO;
-
-#define GetRawInputDeviceInfo __MINGW_NAME_AW(GetRawInputDeviceInfo)
-
-  WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize);
-  WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize);
-  WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT pData,PUINT pcbSize,UINT cbSizeHeader);
-
-  typedef struct tagRAWINPUTDEVICE {
-    USHORT usUsagePage;
-    USHORT usUsage;
-    DWORD dwFlags;
-    HWND hwndTarget;
-  } RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
-
-  typedef CONST RAWINPUTDEVICE *PCRAWINPUTDEVICE;
-
-#define RIDEV_REMOVE 0x00000001
-#define RIDEV_EXCLUDE 0x00000010
-#define RIDEV_PAGEONLY 0x00000020
-#define RIDEV_NOLEGACY 0x00000030
-#define RIDEV_INPUTSINK 0x00000100
-#define RIDEV_CAPTUREMOUSE 0x00000200
-#define RIDEV_NOHOTKEYS 0x00000200
-#define RIDEV_APPKEYS 0x00000400
-#define RIDEV_EXMODEMASK 0x000000F0
-#define RIDEV_EXMODE(mode) ((mode) & RIDEV_EXMODEMASK)
-
-#define MAPVK_VK_TO_VSC    0
-#define MAPVK_VSC_TO_VK    1
-#define MAPVK_VK_TO_CHAR   2
-#define MAPVK_VSC_TO_VK_EX 3
-#if (_WIN32_WINNT >= 0x0600)
-#define MAPVK_VK_TO_VSC_EX 4
-#endif
-
-#if (_WIN32_WINNT >= 0x0601)
-#define WM_TOUCHMOVE 576
-#define WM_TOUCHDOWN 577
-#define WM_TOUCHUP 578
-
-#define TOUCHEVENTF_MOVE        0x0001
-#define TOUCHEVENTF_DOWN        0x0002
-#define TOUCHEVENTF_UP          0x0004
-#define TOUCHEVENTF_INRANGE     0x0008
-#define TOUCHEVENTF_PRIMARY     0x0010
-#define TOUCHEVENTF_NOCOALESCE  0x0020
-#define TOUCHEVENTF_PEN         0x0040
-#define TOUCHEVENTF_PALM        0x0080
-
-#define TOUCHINPUTMASKF_TIMEFROMSYSTEM  0x0001
-#define TOUCHINPUTMASKF_EXTRAINFO       0x0002
-#define TOUCHINPUTMASKF_CONTACTAREA     0x0004
-
-DECLARE_HANDLE(HTOUCHINPUT);
-
-  typedef struct _TOUCHINPUT {
-    LONG x;
-    LONG y;
-    HANDLE hSource;
-    DWORD dwID;
-    DWORD dwFlags;
-    DWORD dwMask;
-    DWORD dwTime;
-    ULONG_PTR dwExtraInfo;
-    DWORD cxContact;
-    DWORD cyContact;
-  } TOUCHINPUT,*PTOUCHINPUT;
-
-  WINUSERAPI WINBOOL WINAPI CloseTouchInputHandle(HANDLE hTouchInput);
-  WINUSERAPI WINBOOL WINAPI GetTouchInputInfo(HANDLE hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize);
-  WINUSERAPI WINBOOL WINAPI IsTouchWindow(HWND hWnd,PULONG pulFlags);
-  WINUSERAPI WINBOOL WINAPI RegisterTouchWindow(HWND hWnd,ULONG ulFlags);
-  WINUSERAPI WINBOOL WINAPI UnregisterTouchWindow(HWND hWnd);
-
-#endif /* (_WIN32_WINNT >= 0x0601) */
-
-  WINUSERAPI WINBOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE pRawInputDevices,UINT uiNumDevices,UINT cbSize);
-  WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE pRawInputDevices,PUINT puiNumDevices,UINT cbSize);
-
-  typedef struct tagRAWINPUTDEVICELIST {
-    HANDLE hDevice;
-    DWORD dwType;
-  } RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
-
-  WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST pRawInputDeviceList,PUINT puiNumDevices,UINT cbSize);
-  WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT *paRawInput,INT nInput,UINT cbSizeHeader);
-
-#if (_WIN32_WINNT >= 0x0600)
-typedef struct _AUDIODESCRIPTION {
-  UINT cbSize;
-  BOOL Enabled;
-  LCID Locale;
-} AUDIODESCRIPTION, *PAUDIODESCRIPTION;
-
-#ifndef NOGDI
-#define CreateDesktopEx __MINGW_NAME_AW(CreateDesktopEx)
-
-WINUSERAPI HDESK WINAPI CreateDesktopExA(
-  LPCSTR lpszDesktop,
-  LPCSTR lpszDevice,
-  DEVMODE *pDevmode,
-  DWORD dwFlags,
-  ACCESS_MASK dwDesiredAccess,
-  LPSECURITY_ATTRIBUTES lpsa,
-  ULONG ulHeapSize,
-  PVOID pvoid
-);
-
-WINUSERAPI HDESK WINAPI CreateDesktopExW(
-  LPCWSTR lpszDesktop,
-  LPCWSTR lpszDevice,
-  DEVMODE *pDevmode,
-  DWORD dwFlags,
-  ACCESS_MASK dwDesiredAccess,
-  LPSECURITY_ATTRIBUTES lpsa,
-  ULONG ulHeapSize,
-  PVOID pvoid
-);
-#endif	/* NOGDI */
-
-WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonCreate(
-  HWND hWnd,
-  LPCWSTR pwszReason
-);
-
-WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonDestroy(
-  HWND hWnd
-);
-
-WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonQuery(
-  HWND hWnd,
-  LPWSTR pwszBuff,
-  DWORD *pcchBuff
-);
-
-#endif /*(_WIN32_WINNT >= 0x0600)*/
-
-#if (_WIN32_WINNT >= 0x0601)
-
-#define GF_BEGIN 0x00000001
-#define GF_INERTIA 0x00000002
-#define GF_END 0x00000004
-
-#define GID_BEGIN 1
-#define GID_END 2
-#define GID_ZOOM 3
-#define GID_PAN 4
-#define GID_ROTATE 5
-#define GID_TWOFINGERTAP 6
-#define GID_PRESSANDTAP 7
-#define GID_ROLLOVER GID_PRESSANDTAP
-
-#define GC_ALLGESTURES 0x00000001
-#define GC_ZOOM 0x00000001
-
-#define GC_PAN 0x00000001
-#define GC_PAN_WITH_SINGLE_FINGER_VERTICALLY 0x00000002
-#define GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY 0x00000004
-#define GC_PAN_WITH_GUTTER 0x00000008
-#define GC_PAN_WITH_INERTIA 0x00000010
-
-#define GC_ROTATE 0x00000001
-#define GC_TWOFINGERTAP 0x00000001
-#define GC_PRESSANDTAP 0x00000001
-#define GC_ROLLOVER GC_PRESSANDTAP
-
-#define GCF_INCLUDE_ANCESTORS 0x00000001
-
-#define GESTURECONFIGMAXCOUNT 256
-
-DECLARE_HANDLE(HGESTUREINFO);
-
-#define GID_ROTATE_ANGLE_TO_ARGUMENT(_arg_) ((USHORT)((((_arg_) + 2.0 * 3.14159265) / (4.0 * 3.14159265)) * 65535.0))
-#define GID_ROTATE_ANGLE_FROM_ARGUMENT(_arg_) ((((double)(_arg_) /65535.0) * 4.0 * 3.14159265) - 2.0 * 3.14159265)
-
-typedef struct _GESTUREINFO {
-  UINT      cbSize;
-  DWORD     dwFlags;
-  DWORD     dwID;
-  HWND      hwndTarget;
-  POINTS    ptsLocation;
-  DWORD     dwInstanceID;
-  DWORD     dwSequenceID;
-  ULONGLONG ullArguments;
-  UINT      cbExtraArgs;
-} GESTUREINFO, *PGESTUREINFO;
-
-typedef GESTUREINFO const * PCGESTUREINFO;
-
-typedef struct tagGESTURENOTIFYSTRUCT {
-  UINT   cbSize;
-  DWORD  dwFlags;
-  HWND   hwndTarget;
-  POINTS ptsLocation;
-  DWORD  dwInstanceID;
-} GESTURENOTIFYSTRUCT, *PGESTURENOTIFYSTRUCT;
-
-typedef struct _GESTURECONFIG {
-  DWORD dwID;
-  DWORD dwWant;
-  DWORD dwBlock;
-} GESTURECONFIG, *PGESTURECONFIG;
-
-WINUSERAPI WINBOOL WINAPI SetGestureConfig(
-  HWND hwnd,
-  DWORD dwReserved,
-  UINT cIDs,
-  PGESTURECONFIG pGestureConfig,
-  UINT cbSize
-);
-
-WINUSERAPI WINBOOL WINAPI GetGestureConfig(
-  HWND hwnd,
-  DWORD dwReserved,
-  DWORD dwFlags,
-  PUINT pcIDs,
-  PGESTURECONFIG pGestureConfig,
-  UINT cbSize
-);
-
-WINUSERAPI WINBOOL WINAPI GetGestureInfo(
-  HGESTUREINFO hGestureInfo,
-  PGESTUREINFO pGestureInfo
-);
-
-WINUSERAPI WINBOOL WINAPI GetGestureExtraArgs(
-  HGESTUREINFO hGestureInfo,
-  UINT cbExtraArgs,
-  PBYTE pExtraArgs
-);
-
-WINUSERAPI WINBOOL WINAPI CloseGestureInfoHandle(
-    HGESTUREINFO hGestureInfo
-);
-
-#endif /*(_WIN32_WINNT >= 0x0601)*/
-
-#endif /* NOUSER */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/debian/rules b/debian/rules
index 0a96acf..ede5427 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,9 +4,6 @@ VERSION=-1.6
 
 # This package doesn't support parallel builds at the top level
 
-# This provides various headers until mingw-w64 ships them
-export CPPFLAGS=-I$(CURDIR)/debian/include
-
 wine_gecko$(VERSION)-x86/dist:
 	dh_testdir
 	wine/make_package

-- 
Debian Wine Gecko packaging



More information about the pkg-wine-party mailing list