    !
    ! ********************************************************************
    ! *                                                                  *
    ! *  Copyright 2001 Compaq Computer Corporation                      *
    ! *                                                                  *
    ! *  COMPAQ Registered in U.S. Patent and Trademark Office.          *
    ! *                                                                  *
    ! *  Confidential computer software. Valid license from Compaq or    *
    ! *  authorized sublicensor required for possession, use or copying. *
    ! *  Consistent with FAR 12.211 and 12.212, Commercial Computer      *
    ! *  Software, Computer Software Documentation, and Technical Data   *
    ! *  for Commercial Items are licensed to the U.S. Government under  *
    ! *  vendor's standard commercial license.                           *
    ! *                                                                  *
    ! ********************************************************************
    !
    !DEC$ IF .NOT. DEFINED (MSFWINTY_ )
    !DEC$ DEFINE xMSFWINTY_  
                                
    !DEC$ IF .NOT. DEFINED(__DFWINTY_INCLUDE)
        MODULE DFWINTY
    !DEC$ ENDIF
    !DEC$ IF DEFINED(_M_IX86)
    !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
    !DEC$ ELSEIF DEFINED(_M_IA64)
    !DEC$ OPTIONS /ALIGN=RECORDS=NATURAL /WARN=NOALIGN
    !DEC$ ENDIF
    !DEC$OBJCOMMENT LIB:"DFWIN.LIB"
    ! 
        ! 
        !
        !                               *****DFWINTY*****
        ! 
        !     This module defines Fortran parameter constants and
        !     derived data types  for use with both the 32-bit (_M_IX86)
        !     and 64-bit versions of the NT4 and WIN2000 operating systems.  
        !
        ! 
        !     The base version is: 
        !
        !           Microsoft Platform Software Development Kit (SDK)
        !                Win64 Pre-alpha February 2000
        !
        !     As with the C header files distributed with the SDK, there
        !     is only one common set of files for both 64-bit and 32-bit
        !     operating systems.
        !   
        !     Within the Fortran versions of the header files, the
        !     following symbols are used to control the compilation.
        ! 
        !     _M_IA64 conditionally compiles items for 64 bit systems.
        !     _M_IX86 conditionally compiles items for 32 bit systesm.
        !
        !Items in dfwinty which might be more usefully treated as
	!Fortran character strings have been conditionally
	!defined that way.  Look for the following and define the
	!symbol if you wish to keep the old C-like definitions of these
        !items as arrays of characters.
	!
        !IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        !
        !
        !In some cases, we really do want the character array.
        !So the conditional will on the following symbol:
        !DEC$ DEFINE __SELECT_CHARACTER_ARRAYS  
        !**********************************************************
        !*Note: the above line actually defines the symbol, and we*
        !*      always want it to be defined.                     *
        !**********************************************************
        !
        !
        !     Known problems: 
        !
        !   
        !     03-16-01 There are a number of derived types which should be
        !              packed rather than naturally aligned.  This is
        !              controlled by ALIGNMENT_IS_PACKED_IA64.  If this
        !              symbol is defined if _M_IA64 is defined, several
        !              of the samples which use T_OPENFILENAME fail.
        !              Until it is determined why the more recent PSKDs
        !              show some structures as packed when they only work
        !              when naturely aligned, this symbol will not be defined.
        !
        !              Note: T_BITMAPFILEHEADER does need to be packed.
        !
        !
        !    04-25-01  Access to the latest PSDK in INCLUDE\PRERELEASE has given
        !              us the opportunity to determine which data types should be
        !              packed, and which data types should not be packed. The
        !              directives will be edited, and then turned on.
        !


! Turn on editing directives
!dec$ if defined(_M_IA64)
!dec$ define ALIGNMENT_IS_PACKED_IA64=1
!dec$ endif
        ! 
        !First some base types
        !Number of bytes in a pointer
        integer, parameter :: POINTER_LEN = INT_PTR_KIND() ! 4 for WIN32 systems
                                                           ! 8 for IA64 systems
        !DEC$ IF DEFINED (_ALPHA_) .or. DEFINED(_M_IA64)
        TYPE T_LARGE_INTEGERX
           SEQUENCE
           integer(8) value
         end TYPE T_LARGE_INTEGERX
        !DEC$ ELSE
        TYPE T_LARGE_INTEGERX
           SEQUENCE
           integer(4) LowPart
           integer(4) HighPart
         end TYPE T_LARGE_INTEGERX
        !DEC$ ENDIF
        
    !   integer, parameter :: ANYSIZE_ARRAY = 1 ! used for foo[]
        integer, parameter :: DOUBLE = 8        ! REAL(8)
    	! The S (for single) is to avoid conflict with the FLOAT intrinsic
        integer, parameter :: SFLOAT  = 4        ! REAL(4)
        integer, parameter :: HANDLE = POINTER_LEN ! INTEGER(4/8)
        integer, parameter :: DWORD  = 4        ! INTEGER(4)
        integer, parameter :: ULONG  = 4        ! INTEGER(4) 
        integer, parameter :: LONG   = 4        ! INTEGER(4) 
        integer, parameter :: UINT   = 4        ! INTEGER(4) 
            ! The S (for signed) is to avoid conflict with the INT intrinsic
        integer, parameter :: SINT   = 4        ! INTEGER(4) 
        integer, parameter :: ENUM   = 4        ! INTEGER(4) 
        integer, parameter :: BOOL   = 4        ! INTEGER(4)
        integer, parameter :: WORD   = 2        ! INTEGER(2)
        integer, parameter :: USHORT = 2        ! INTEGER(2)
        integer, parameter :: SHORT  = 2        ! INTEGER(2)
        integer, parameter :: BYTE   = 1        ! INTEGER(1)
        integer, parameter :: UCHAR  = 1        ! INTEGER(1)
    	! The S (for signed) is to avoid conflict with the CHAR intrinsic
        integer, parameter :: SCHAR  = 1        ! INTEGER(1)
        integer, parameter :: WCHAR  = 2        ! INTEGER(2)
            ! __int64 based types
        integer, parameter :: DWORDLONG = 8     ! INTEGER(8)
        integer, parameter :: LONG64 = 8        ! INTEGER(8)
        integer, parameter :: INT64  = 8        ! INTEGER(8)
        integer, parameter :: ULONG64 =8        ! INTEGER(8)
        integer, parameter :: DWORD64 =8        ! INTEGER(8)
        integer, parameter :: UINT64  =8        ! INTEGER(8)
        integer, parameter :: PVOID64 = 8       ! INTEGER(8)
            ! Some pointer names, can be integer(4) or integer(8)
        integer, parameter :: INT_PTR  = POINTER_LEN
        integer, parameter :: UINT_PTR = POINTER_LEN
        integer, parameter :: fWPARAM  = UINT_PTR
        integer, parameter :: LONG_PTR = POINTER_LEN
        integer, parameter :: fLPARAM  = LONG_PTR
        integer, parameter :: ULONG_PTR= POINTER_LEN
        integer, parameter :: DWORD_PTR= POINTER_LEN
        integer, parameter :: HANDLE_PTR=POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PDOUBLE  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PFLOAT   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PHANDLE  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PDWORD   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PULONG   = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: PLONG    = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: PUINT    = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: PINT     = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: PBOOL    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PWORD    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PUSHORT  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PSHORT   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PBYTE    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PUCHAR   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PCHAR    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PVOID    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PCVOID   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PCSTR    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PCWSTR   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PWSTR    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: PSTR     = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPDOUBLE = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPFLOAT  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPHANDLE = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPDWORD  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPULONG  = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: LPLONG   = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: LPUINT   = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: LPINT    = POINTER_LEN      ! INTEGER(4) 
        integer, parameter :: LPBOOL   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPWORD   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPUSHORT = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPSHORT  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPBYTE   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPUCHAR  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPCHAR   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPVOID   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPCVOID  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPCSTR   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPCWSTR  = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPWSTR   = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LPSTR    = POINTER_LEN      ! INTEGER(4)
        integer, parameter :: LRESULT  = POINTER_LEN
            ! SIZE_T items must be able to hold a pointer
        integer, parameter :: SIZE_T   = POINTER_LEN
        integer, parameter :: SSIZE_T  = POINTER_LEN
     
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WINVER = #0500
    !DEC$ ENDIF
          integer, parameter :: STRICT = 1
          integer, parameter :: MAX_PATH = 260
          integer(LPVOID), parameter :: NULL = 0
          integer, parameter :: FALSE = 0
          integer, parameter :: TRUE = 1
          integer, parameter :: ANYSIZE_ARRAY = 1
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MAX_NATURAL_ALIGNMENT = 8 ! sizeof(ULONGLONG)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: MAX_NATURAL_ALIGNMENT = 4 ! sizeof(DWORD)
          integer, parameter :: NOP_FUNCTION =  0
    !DEC$ ENDIF
          integer, parameter :: APPLICATION_ERROR_MASK = #20000000
          integer, parameter :: ERROR_SEVERITY_SUCCESS = #00000000
          integer, parameter :: ERROR_SEVERITY_INFORMATIONAL = #40000000
          integer, parameter :: ERROR_SEVERITY_WARNING = #80000000
          integer, parameter :: ERROR_SEVERITY_ERROR = #C0000000
    !DEC$ IF DEFINED( _M_IA64)
          integer(DWORD64), parameter :: MAXLONGLONG = (#7fffffffffffffff)
    !DEC$ ENDIF
          integer, parameter :: ANSI_NULL = ( 0)
          integer, parameter :: UNICODE_NULL = ( 0)
          integer, parameter :: MINCHAR = #80
          integer, parameter :: MAXCHAR = #7f
          integer, parameter :: MINSHORT = #8000
          integer, parameter :: MAXSHORT = #7fff
          integer, parameter :: MINLONG = #80000000
          integer, parameter :: MAXLONG = #7fffffff
          integer, parameter :: MAXBYTE = #ff
          integer, parameter :: MAXWORD = #ffff
          integer, parameter :: MAXDWORD = #ffffffff
          integer, parameter :: VER_SERVER_NT = #80000000
          integer, parameter :: VER_WORKSTATION_NT = #40000000
          integer, parameter :: VER_SUITE_SMALLBUSINESS = #00000001
          integer, parameter :: VER_SUITE_ENTERPRISE = #00000002
          integer, parameter :: VER_SUITE_BACKOFFICE = #00000004
          integer, parameter :: VER_SUITE_COMMUNICATIONS = #00000008
          integer, parameter :: VER_SUITE_TERMINAL = #00000010
          integer, parameter :: VER_SUITE_SMALLBUSINESS_RESTRICTED = #00000020
          integer, parameter :: VER_SUITE_EMBEDDEDNT = #00000040
          integer, parameter :: VER_SUITE_DATACENTER = #00000080
          integer, parameter :: VER_SUITE_SINGLEUSERTS = #00000100
          integer, parameter :: LANG_NEUTRAL = #00
          integer, parameter :: LANG_AFRIKAANS = #36
          integer, parameter :: LANG_ALBANIAN = #1c
          integer, parameter :: LANG_ARABIC = #01
          integer, parameter :: LANG_ARMENIAN = #2b
          integer, parameter :: LANG_ASSAMESE = #4d
          integer, parameter :: LANG_AZERI = #2c
          integer, parameter :: LANG_BASQUE = #2d
          integer, parameter :: LANG_BELARUSIAN = #23
          integer, parameter :: LANG_BENGALI = #45
          integer, parameter :: LANG_BULGARIAN = #02
          integer, parameter :: LANG_CATALAN = #03
          integer, parameter :: LANG_CHINESE = #04
          integer, parameter :: LANG_CROATIAN = #1a
          integer, parameter :: LANG_CZECH = #05
          integer, parameter :: LANG_DANISH = #06
          integer, parameter :: LANG_DUTCH = #13
          integer, parameter :: LANG_ENGLISH = #09
          integer, parameter :: LANG_ESTONIAN = #25
          integer, parameter :: LANG_FAEROESE = #38
          integer, parameter :: LANG_FARSI = #29
          integer, parameter :: LANG_FINNISH = #0b
          integer, parameter :: LANG_FRENCH = #0c
          integer, parameter :: LANG_GEORGIAN = #37
          integer, parameter :: LANG_GERMAN = #07
          integer, parameter :: LANG_GREEK = #08
          integer, parameter :: LANG_GUJARATI = #47
          integer, parameter :: LANG_HEBREW = #0d
          integer, parameter :: LANG_HINDI = #39
          integer, parameter :: LANG_HUNGARIAN = #0e
          integer, parameter :: LANG_ICELANDIC = #0f
          integer, parameter :: LANG_INDONESIAN = #21
          integer, parameter :: LANG_ITALIAN = #10
          integer, parameter :: LANG_JAPANESE = #11
          integer, parameter :: LANG_KANNADA = #4b
          integer, parameter :: LANG_KASHMIRI = #60
          integer, parameter :: LANG_KAZAK = #3f
          integer, parameter :: LANG_KONKANI = #57
          integer, parameter :: LANG_KOREAN = #12
          integer, parameter :: LANG_LATVIAN = #26
          integer, parameter :: LANG_LITHUANIAN = #27
          integer, parameter :: LANG_MACEDONIAN = #2f
          integer, parameter :: LANG_MALAY = #3e
          integer, parameter :: LANG_MALAYALAM = #4c
          integer, parameter :: LANG_MANIPURI = #58
          integer, parameter :: LANG_MARATHI = #4e
          integer, parameter :: LANG_NEPALI = #61
          integer, parameter :: LANG_NORWEGIAN = #14
          integer, parameter :: LANG_ORIYA = #48
          integer, parameter :: LANG_POLISH = #15
          integer, parameter :: LANG_PORTUGUESE = #16
          integer, parameter :: LANG_PUNJABI = #46
          integer, parameter :: LANG_ROMANIAN = #18
          integer, parameter :: LANG_RUSSIAN = #19
          integer, parameter :: LANG_SANSKRIT = #4f
          integer, parameter :: LANG_SERBIAN = #1a
          integer, parameter :: LANG_SINDHI = #59
          integer, parameter :: LANG_SLOVAK = #1b
          integer, parameter :: LANG_SLOVENIAN = #24
          integer, parameter :: LANG_SPANISH = #0a
          integer, parameter :: LANG_SWAHILI = #41
          integer, parameter :: LANG_SWEDISH = #1d
          integer, parameter :: LANG_TAMIL = #49
          integer, parameter :: LANG_TATAR = #44
          integer, parameter :: LANG_TELUGU = #4a
          integer, parameter :: LANG_THAI = #1e
          integer, parameter :: LANG_TURKISH = #1f
          integer, parameter :: LANG_UKRAINIAN = #22
          integer, parameter :: LANG_URDU = #20
          integer, parameter :: LANG_UZBEK = #43
          integer, parameter :: LANG_VIETNAMESE = #2a
          integer, parameter :: SUBLANG_NEUTRAL = #00
          integer, parameter :: SUBLANG_DEFAULT = #01
          integer, parameter :: SUBLANG_SYS_DEFAULT = #02
          integer, parameter :: SUBLANG_ARABIC_SAUDI_ARABIA = #01
          integer, parameter :: SUBLANG_ARABIC_IRAQ = #02
          integer, parameter :: SUBLANG_ARABIC_EGYPT = #03
          integer, parameter :: SUBLANG_ARABIC_LIBYA = #04
          integer, parameter :: SUBLANG_ARABIC_ALGERIA = #05
          integer, parameter :: SUBLANG_ARABIC_MOROCCO = #06
          integer, parameter :: SUBLANG_ARABIC_TUNISIA = #07
          integer, parameter :: SUBLANG_ARABIC_OMAN = #08
          integer, parameter :: SUBLANG_ARABIC_YEMEN = #09
          integer, parameter :: SUBLANG_ARABIC_SYRIA = #0a
          integer, parameter :: SUBLANG_ARABIC_JORDAN = #0b
          integer, parameter :: SUBLANG_ARABIC_LEBANON = #0c
          integer, parameter :: SUBLANG_ARABIC_KUWAIT = #0d
          integer, parameter :: SUBLANG_ARABIC_UAE = #0e
          integer, parameter :: SUBLANG_ARABIC_BAHRAIN = #0f
          integer, parameter :: SUBLANG_ARABIC_QATAR = #10
          integer, parameter :: SUBLANG_AZERI_LATIN = #01
          integer, parameter :: SUBLANG_AZERI_CYRILLIC = #02
          integer, parameter :: SUBLANG_CHINESE_TRADITIONAL = #01
          integer, parameter :: SUBLANG_CHINESE_SIMPLIFIED = #02
          integer, parameter :: SUBLANG_CHINESE_HONGKONG = #03
          integer, parameter :: SUBLANG_CHINESE_SINGAPORE = #04
          integer, parameter :: SUBLANG_CHINESE_MACAU = #05
          integer, parameter :: SUBLANG_DUTCH = #01
          integer, parameter :: SUBLANG_DUTCH_BELGIAN = #02
          integer, parameter :: SUBLANG_ENGLISH_US = #01
          integer, parameter :: SUBLANG_ENGLISH_UK = #02
          integer, parameter :: SUBLANG_ENGLISH_AUS = #03
          integer, parameter :: SUBLANG_ENGLISH_CAN = #04
          integer, parameter :: SUBLANG_ENGLISH_NZ = #05
          integer, parameter :: SUBLANG_ENGLISH_EIRE = #06
          integer, parameter :: SUBLANG_ENGLISH_SOUTH_AFRICA = #07
          integer, parameter :: SUBLANG_ENGLISH_JAMAICA = #08
          integer, parameter :: SUBLANG_ENGLISH_CARIBBEAN = #09
          integer, parameter :: SUBLANG_ENGLISH_BELIZE = #0a
          integer, parameter :: SUBLANG_ENGLISH_TRINIDAD = #0b
          integer, parameter :: SUBLANG_ENGLISH_ZIMBABWE = #0c
          integer, parameter :: SUBLANG_ENGLISH_PHILIPPINES = #0d
          integer, parameter :: SUBLANG_FRENCH = #01
          integer, parameter :: SUBLANG_FRENCH_BELGIAN = #02
          integer, parameter :: SUBLANG_FRENCH_CANADIAN = #03
          integer, parameter :: SUBLANG_FRENCH_SWISS = #04
          integer, parameter :: SUBLANG_FRENCH_LUXEMBOURG = #05
          integer, parameter :: SUBLANG_FRENCH_MONACO = #06
          integer, parameter :: SUBLANG_GERMAN = #01
          integer, parameter :: SUBLANG_GERMAN_SWISS = #02
          integer, parameter :: SUBLANG_GERMAN_AUSTRIAN = #03
          integer, parameter :: SUBLANG_GERMAN_LUXEMBOURG = #04
          integer, parameter :: SUBLANG_GERMAN_LIECHTENSTEIN = #05
          integer, parameter :: SUBLANG_ITALIAN = #01
          integer, parameter :: SUBLANG_ITALIAN_SWISS = #02
          integer, parameter :: SUBLANG_KASHMIRI_INDIA = #02
          integer, parameter :: SUBLANG_KOREAN = #01
          integer, parameter :: SUBLANG_LITHUANIAN = #01
          integer, parameter :: SUBLANG_MALAY_MALAYSIA = #01
          integer, parameter :: SUBLANG_MALAY_BRUNEI_DARUSSALAM = #02
          integer, parameter :: SUBLANG_NEPALI_INDIA = #02
          integer, parameter :: SUBLANG_NORWEGIAN_BOKMAL = #01
          integer, parameter :: SUBLANG_NORWEGIAN_NYNORSK = #02
          integer, parameter :: SUBLANG_PORTUGUESE = #02
          integer, parameter :: SUBLANG_PORTUGUESE_BRAZILIAN = #01
          integer, parameter :: SUBLANG_SERBIAN_LATIN = #02
          integer, parameter :: SUBLANG_SERBIAN_CYRILLIC = #03
          integer, parameter :: SUBLANG_SPANISH = #01
          integer, parameter :: SUBLANG_SPANISH_MEXICAN = #02
          integer, parameter :: SUBLANG_SPANISH_MODERN = #03
          integer, parameter :: SUBLANG_SPANISH_GUATEMALA = #04
          integer, parameter :: SUBLANG_SPANISH_COSTA_RICA = #05
          integer, parameter :: SUBLANG_SPANISH_PANAMA = #06
          integer, parameter :: SUBLANG_SPANISH_DOMINICAN_REPUBLIC = #07
          integer, parameter :: SUBLANG_SPANISH_VENEZUELA = #08
          integer, parameter :: SUBLANG_SPANISH_COLOMBIA = #09
          integer, parameter :: SUBLANG_SPANISH_PERU = #0a
          integer, parameter :: SUBLANG_SPANISH_ARGENTINA = #0b
          integer, parameter :: SUBLANG_SPANISH_ECUADOR = #0c
          integer, parameter :: SUBLANG_SPANISH_CHILE = #0d
          integer, parameter :: SUBLANG_SPANISH_URUGUAY = #0e
          integer, parameter :: SUBLANG_SPANISH_PARAGUAY = #0f
          integer, parameter :: SUBLANG_SPANISH_BOLIVIA = #10
          integer, parameter :: SUBLANG_SPANISH_EL_SALVADOR = #11
          integer, parameter :: SUBLANG_SPANISH_HONDURAS = #12
          integer, parameter :: SUBLANG_SPANISH_NICARAGUA = #13
          integer, parameter :: SUBLANG_SPANISH_PUERTO_RICO = #14
          integer, parameter :: SUBLANG_SWEDISH = #01
          integer, parameter :: SUBLANG_SWEDISH_FINLAND = #02
          integer, parameter :: SUBLANG_URDU_PAKISTAN = #01
          integer, parameter :: SUBLANG_URDU_INDIA = #02
          integer, parameter :: SUBLANG_UZBEK_LATIN = #01
          integer, parameter :: SUBLANG_UZBEK_CYRILLIC = #02
          integer, parameter :: SORT_DEFAULT = #0
          integer, parameter :: SORT_JAPANESE_XJIS = #0
          integer, parameter :: SORT_JAPANESE_UNICODE = #1
          integer, parameter :: SORT_CHINESE_BIG5 = #0
          integer, parameter :: SORT_CHINESE_PRCP = #0
          integer, parameter :: SORT_CHINESE_UNICODE = #1
          integer, parameter :: SORT_CHINESE_PRC = #2
          integer, parameter :: SORT_CHINESE_BOPOMOFO = #3
          integer, parameter :: SORT_KOREAN_KSC = #0
          integer, parameter :: SORT_KOREAN_UNICODE = #1
          integer, parameter :: SORT_GERMAN_PHONE_BOOK = #1
          integer, parameter :: SORT_HUNGARIAN_DEFAULT = #0
          integer, parameter :: SORT_HUNGARIAN_TECHNICAL = #1
          integer, parameter :: SORT_GEORGIAN_TRADITIONAL = #0
          integer, parameter :: SORT_GEORGIAN_MODERN = #1
          integer, parameter :: NLS_VALID_LOCALE_MASK = #000fffff
          integer, parameter :: LANG_SYSTEM_DEFAULT = (((( (#02)) * 2** 10) .OR.  (#00)))
          integer, parameter :: LANG_USER_DEFAULT = (((( (#01)) * 2** 10) .OR.  (#00)))
          integer, parameter :: LOCALE_SYSTEM_DEFAULT = (( ((( ( (#0))) * 2** 16) .OR. ( ( ((((( (#02)) * 2** 10) .OR.  (#00)))))))))
          integer, parameter :: LOCALE_USER_DEFAULT = (( ((( ( (#0))) * 2** 16) .OR. ( ( ((((( (#01)) * 2** 10) .OR.  (#00)))))))))
          integer, parameter :: LOCALE_NEUTRAL = (( ((( ( (#0))) * 2** 16) .OR. ( ( (((( (#00)) * 2** 10) .OR.  (#00))))))))
    !DEC$ IF DEFINED( _M_IA64)
    !???      integer, parameter :: DEFAULT_UNREACHABLE = default: __assume(0)
    !DEC$ ENDIF
          integer, parameter :: STATUS_WAIT_0 = ( #00000000)
          integer, parameter :: STATUS_ABANDONED_WAIT_0 = ( #00000080)
          integer, parameter :: STATUS_USER_APC = ( #000000C0)
          integer, parameter :: STATUS_TIMEOUT = ( #00000102)
          integer, parameter :: STATUS_PENDING = ( #00000103)
          integer, parameter :: DBG_CONTINUE = ( #00010002)
          integer, parameter :: STATUS_SEGMENT_NOTIFICATION = ( #40000005)
          integer, parameter :: DBG_TERMINATE_THREAD = ( #40010003)
          integer, parameter :: DBG_TERMINATE_PROCESS = ( #40010004)
          integer, parameter :: DBG_CONTROL_C = ( #40010005)
          integer, parameter :: DBG_CONTROL_BREAK = ( #40010008)
          integer, parameter :: STATUS_GUARD_PAGE_VIOLATION = ( #80000001)
          integer, parameter :: STATUS_DATATYPE_MISALIGNMENT = ( #80000002)
          integer, parameter :: STATUS_BREAKPOINT = ( #80000003)
          integer, parameter :: STATUS_SINGLE_STEP = ( #80000004)
          integer, parameter :: DBG_EXCEPTION_NOT_HANDLED = ( #80010001)
          integer, parameter :: STATUS_ACCESS_VIOLATION = ( #C0000005)
          integer, parameter :: STATUS_IN_PAGE_ERROR = ( #C0000006)
          integer, parameter :: STATUS_INVALID_HANDLE = ( #C0000008)
          integer, parameter :: STATUS_NO_MEMORY = ( #C0000017)
          integer, parameter :: STATUS_ILLEGAL_INSTRUCTION = ( #C000001D)
          integer, parameter :: STATUS_NONCONTINUABLE_EXCEPTION = ( #C0000025)
          integer, parameter :: STATUS_INVALID_DISPOSITION = ( #C0000026)
          integer, parameter :: STATUS_ARRAY_BOUNDS_EXCEEDED = ( #C000008C)
          integer, parameter :: STATUS_FLOAT_DENORMAL_OPERAND = ( #C000008D)
          integer, parameter :: STATUS_FLOAT_DIVIDE_BY_ZERO = ( #C000008E)
          integer, parameter :: STATUS_FLOAT_INEXACT_RESULT = ( #C000008F)
          integer, parameter :: STATUS_FLOAT_INVALID_OPERATION = ( #C0000090)
          integer, parameter :: STATUS_FLOAT_OVERFLOW = ( #C0000091)
          integer, parameter :: STATUS_FLOAT_STACK_CHECK = ( #C0000092)
          integer, parameter :: STATUS_FLOAT_UNDERFLOW = ( #C0000093)
          integer, parameter :: STATUS_INTEGER_DIVIDE_BY_ZERO = ( #C0000094)
          integer, parameter :: STATUS_INTEGER_OVERFLOW = ( #C0000095)
          integer, parameter :: STATUS_PRIVILEGED_INSTRUCTION = ( #C0000096)
          integer, parameter :: STATUS_STACK_OVERFLOW = ( #C00000FD)
          integer, parameter :: STATUS_CONTROL_C_EXIT = ( #C000013A)
          integer, parameter :: STATUS_FLOAT_MULTIPLE_FAULTS = ( #C00002B4)
          integer, parameter :: STATUS_FLOAT_MULTIPLE_TRAPS = ( #C00002B5)
          integer, parameter :: STATUS_REG_NAT_CONSUMPTION = ( #C00002C9)
          integer, parameter :: MAXIMUM_WAIT_OBJECTS = 64
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: CONTEXT_IA64 = #00080000
          integer, parameter :: CONTEXT_CONTROL = (#00080000 .OR. #00000001)
          integer, parameter :: CONTEXT_LOWER_FLOATING_POINT = (#00080000 .OR. #00000002)
          integer, parameter :: CONTEXT_HIGHER_FLOATING_POINT = (#00080000 .OR. #00000004)
          integer, parameter :: CONTEXT_INTEGER = (#00080000 .OR. #00000008)
          integer, parameter :: CONTEXT_DEBUG = (#00080000 .OR. #00000010)
          integer, parameter :: CONTEXT_FLOATING_POINT = ((#00080000 .OR. #00000002) .OR. (#00080000 .OR. #00000004))
          integer, parameter :: CONTEXT_FULL = ((#00080000 .OR. #00000001) .OR. ((#00080000 .OR. #00000002) .OR. (#00080000 .OR. #00000004)) .OR. (#00080000 .OR. #00000008))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: SIZE_OF_80387_REGISTERS = 80
          integer, parameter :: CONTEXT_i386 = #00010000
          integer, parameter :: CONTEXT_i486 = #00010000
          integer, parameter :: CONTEXT_CONTROL = (#00010000 .OR. #00000001)
          integer, parameter :: CONTEXT_INTEGER = (#00010000 .OR. #00000002)
          integer, parameter :: CONTEXT_SEGMENTS = (#00010000 .OR. #00000004)
          integer, parameter :: CONTEXT_FLOATING_POINT = (#00010000 .OR. #00000008)
          integer, parameter :: CONTEXT_DEBUG_REGISTERS = (#00010000 .OR. #00000010)
          integer, parameter :: CONTEXT_EXTENDED_REGISTERS = (#00010000 .OR. #00000020)
          integer, parameter :: CONTEXT_FULL = ((#00010000 .OR. #00000001) .OR. (#00010000 .OR. #00000002) .OR. (#00010000 .OR. #00000004))
          integer, parameter :: MAXIMUM_SUPPORTED_EXTENSION = 512
    !DEC$ ENDIF
          integer, parameter :: EXCEPTION_NONCONTINUABLE = #1
          integer, parameter :: EXCEPTION_MAXIMUM_PARAMETERS = 15
!added by hand
          integer, parameter :: EXCEPTION_EXECUTE_HANDLER = 1
          integer, parameter :: EXCEPTION_CONTINUE_SEARCH = 0
          integer, parameter :: EXCEPTION_CONTINUE_EXECUTION = -1

          integer, parameter :: DELETE = (#00010000)
          integer, parameter :: READ_CONTROL = (#00020000)
          integer, parameter :: WRITE_DAC = (#00040000)
          integer, parameter :: WRITE_OWNER = (#00080000)
          integer, parameter :: SYNCHRONIZE = (#00100000)
          integer, parameter :: STANDARD_RIGHTS_REQUIRED = (#000F0000)
          integer, parameter :: STANDARD_RIGHTS_READ = ((#00020000))
          integer, parameter :: STANDARD_RIGHTS_WRITE = ((#00020000))
          integer, parameter :: STANDARD_RIGHTS_EXECUTE = ((#00020000))
          integer, parameter :: STANDARD_RIGHTS_ALL = (#001F0000)
          integer, parameter :: SPECIFIC_RIGHTS_ALL = (#0000FFFF)
          integer, parameter :: ACCESS_SYSTEM_SECURITY = (#01000000)
          integer, parameter :: MAXIMUM_ALLOWED = (#02000000)
          integer, parameter :: GENERIC_READ = (#80000000)
          integer, parameter :: GENERIC_WRITE = (#40000000)
          integer, parameter :: GENERIC_EXECUTE = (#20000000)
          integer, parameter :: GENERIC_ALL = (#10000000)
          integer, parameter :: SID_REVISION = (1)
          integer, parameter :: SID_MAX_SUB_AUTHORITIES = (15)
          integer, parameter :: SID_RECOMMENDED_SUB_AUTHORITIES = (1)
          integer, parameter ::   SidTypeUser = 1
          integer, parameter ::   SidTypeGroup = 2
          integer, parameter ::   SidTypeDomain = 3
          integer, parameter ::   SidTypeAlias = 4
          integer, parameter ::   SidTypeWellKnownGroup = 5
          integer, parameter ::   SidTypeDeletedAccount = 6
          integer, parameter ::   SidTypeInvalid = 7
          integer, parameter ::   SidTypeUnknown = 8
          integer, parameter ::   SidTypeComputer  = 9
          integer, parameter :: SECURITY_NULL_RID = (#00000000)
          integer, parameter :: SECURITY_WORLD_RID = (#00000000)
          integer, parameter :: SECURITY_LOCAL_RID = (#00000000)
          integer, parameter :: SECURITY_CREATOR_OWNER_RID = (#00000000)
          integer, parameter :: SECURITY_CREATOR_GROUP_RID = (#00000001)
          integer, parameter :: SECURITY_CREATOR_OWNER_SERVER_RID = (#00000002)
          integer, parameter :: SECURITY_CREATOR_GROUP_SERVER_RID = (#00000003)
          integer, parameter :: SECURITY_DIALUP_RID = (#00000001)
          integer, parameter :: SECURITY_NETWORK_RID = (#00000002)
          integer, parameter :: SECURITY_BATCH_RID = (#00000003)
          integer, parameter :: SECURITY_INTERACTIVE_RID = (#00000004)
          integer, parameter :: SECURITY_SERVICE_RID = (#00000006)
          integer, parameter :: SECURITY_ANONYMOUS_LOGON_RID = (#00000007)
          integer, parameter :: SECURITY_PROXY_RID = (#00000008)
          integer, parameter :: SECURITY_ENTERPRISE_CONTROLLERS_RID = (#00000009)
          integer, parameter :: SECURITY_PRINCIPAL_SELF_RID = (#0000000A)
          integer, parameter :: SECURITY_AUTHENTICATED_USER_RID = (#0000000B)
          integer, parameter :: SECURITY_RESTRICTED_CODE_RID = (#0000000C)
          integer, parameter :: SECURITY_TERMINAL_SERVER_RID = (#0000000D)
          integer, parameter :: SECURITY_LOGON_IDS_RID = (#00000005)
          integer, parameter :: SECURITY_LOGON_IDS_RID_COUNT = (3)
          integer, parameter :: SECURITY_LOCAL_SYSTEM_RID = (#00000012)
          integer, parameter :: SECURITY_NT_NON_UNIQUE = (#00000015)
          integer, parameter :: SECURITY_BUILTIN_DOMAIN_RID = (#00000020)
          integer, parameter :: DOMAIN_USER_RID_ADMIN = (#000001F4)
          integer, parameter :: DOMAIN_USER_RID_GUEST = (#000001F5)
          integer, parameter :: DOMAIN_USER_RID_KRBTGT = (#000001F6)
          integer, parameter :: DOMAIN_GROUP_RID_ADMINS = (#00000200)
          integer, parameter :: DOMAIN_GROUP_RID_USERS = (#00000201)
          integer, parameter :: DOMAIN_GROUP_RID_GUESTS = (#00000202)
          integer, parameter :: DOMAIN_GROUP_RID_COMPUTERS = (#00000203)
          integer, parameter :: DOMAIN_GROUP_RID_CONTROLLERS = (#00000204)
          integer, parameter :: DOMAIN_GROUP_RID_CERT_ADMINS = (#00000205)
          integer, parameter :: DOMAIN_GROUP_RID_SCHEMA_ADMINS = (#00000206)
          integer, parameter :: DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = (#00000207)
          integer, parameter :: DOMAIN_GROUP_RID_POLICY_ADMINS = (#00000208)
          integer, parameter :: DOMAIN_ALIAS_RID_ADMINS = (#00000220)
          integer, parameter :: DOMAIN_ALIAS_RID_USERS = (#00000221)
          integer, parameter :: DOMAIN_ALIAS_RID_GUESTS = (#00000222)
          integer, parameter :: DOMAIN_ALIAS_RID_POWER_USERS = (#00000223)
          integer, parameter :: DOMAIN_ALIAS_RID_ACCOUNT_OPS = (#00000224)
          integer, parameter :: DOMAIN_ALIAS_RID_SYSTEM_OPS = (#00000225)
          integer, parameter :: DOMAIN_ALIAS_RID_PRINT_OPS = (#00000226)
          integer, parameter :: DOMAIN_ALIAS_RID_BACKUP_OPS = (#00000227)
          integer, parameter :: DOMAIN_ALIAS_RID_REPLICATOR = (#00000228)
          integer, parameter :: DOMAIN_ALIAS_RID_RAS_SERVERS = (#00000229)
          integer, parameter :: DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = (#0000022A)
          integer, parameter :: SE_GROUP_MANDATORY = (#00000001)
          integer, parameter :: SE_GROUP_ENABLED_BY_DEFAULT = (#00000002)
          integer, parameter :: SE_GROUP_ENABLED = (#00000004)
          integer, parameter :: SE_GROUP_OWNER = (#00000008)
          integer, parameter :: SE_GROUP_USE_FOR_DENY_ONLY = (#00000010)
          integer, parameter :: SE_GROUP_LOGON_ID = (#C0000000)
          integer, parameter :: SE_GROUP_RESOURCE = (#20000000)
          integer, parameter :: ACL_REVISION = (2)
          integer, parameter :: ACL_REVISION_DS = (4)
          integer, parameter :: ACL_REVISION1 = (1)
          integer, parameter :: ACL_REVISION2 = (2)
          integer, parameter :: ACL_REVISION3 = (3)
          integer, parameter :: ACL_REVISION4 = (4)
          integer, parameter :: ACCESS_MIN_MS_ACE_TYPE = (#0)
          integer, parameter :: ACCESS_ALLOWED_ACE_TYPE = (#0)
          integer, parameter :: ACCESS_DENIED_ACE_TYPE = (#1)
          integer, parameter :: SYSTEM_AUDIT_ACE_TYPE = (#2)
          integer, parameter :: SYSTEM_ALARM_ACE_TYPE = (#3)
          integer, parameter :: ACCESS_MAX_MS_V2_ACE_TYPE = (#3)
          integer, parameter :: ACCESS_ALLOWED_COMPOUND_ACE_TYPE = (#4)
          integer, parameter :: ACCESS_MAX_MS_V3_ACE_TYPE = (#4)
          integer, parameter :: ACCESS_MIN_MS_OBJECT_ACE_TYPE = (#5)
          integer, parameter :: ACCESS_ALLOWED_OBJECT_ACE_TYPE = (#5)
          integer, parameter :: ACCESS_DENIED_OBJECT_ACE_TYPE = (#6)
          integer, parameter :: SYSTEM_AUDIT_OBJECT_ACE_TYPE = (#7)
          integer, parameter :: SYSTEM_ALARM_OBJECT_ACE_TYPE = (#8)
          integer, parameter :: ACCESS_MAX_MS_OBJECT_ACE_TYPE = (#8)
          integer, parameter :: ACCESS_MAX_MS_V4_ACE_TYPE = (#8)
          integer, parameter :: ACCESS_MAX_MS_ACE_TYPE = (#8)
          integer, parameter :: OBJECT_INHERIT_ACE = (#1)
          integer, parameter :: CONTAINER_INHERIT_ACE = (#2)
          integer, parameter :: NO_PROPAGATE_INHERIT_ACE = (#4)
          integer, parameter :: INHERIT_ONLY_ACE = (#8)
          integer, parameter :: INHERITED_ACE = (#10)
          integer, parameter :: VALID_INHERIT_FLAGS = (#1F)
          integer, parameter :: SUCCESSFUL_ACCESS_ACE_FLAG = (#40)
          integer, parameter :: FAILED_ACCESS_ACE_FLAG = (#80)
          integer, parameter :: ACE_OBJECT_TYPE_PRESENT = #1
          integer, parameter :: ACE_INHERITED_OBJECT_TYPE_PRESENT = #2
          integer, parameter ::   AclRevisionInformation = 1
          integer, parameter ::   AclSizeInformation  = 2
          integer, parameter :: SECURITY_DESCRIPTOR_REVISION = (1)
          integer, parameter :: SECURITY_DESCRIPTOR_REVISION1 = (1)
    !???  integer, parameter :: SECURITY_DESCRIPTOR_MIN_LENGTH = (sizeof(SECURITY_DESCRIPTOR))
          integer, parameter :: SE_OWNER_DEFAULTED = (#0001)
          integer, parameter :: SE_GROUP_DEFAULTED = (#0002)
          integer, parameter :: SE_DACL_PRESENT = (#0004)
          integer, parameter :: SE_DACL_DEFAULTED = (#0008)
          integer, parameter :: SE_SACL_PRESENT = (#0010)
          integer, parameter :: SE_SACL_DEFAULTED = (#0020)
          integer, parameter :: SE_DACL_AUTO_INHERIT_REQ = (#0100)
          integer, parameter :: SE_SACL_AUTO_INHERIT_REQ = (#0200)
          integer, parameter :: SE_DACL_AUTO_INHERITED = (#0400)
          integer, parameter :: SE_SACL_AUTO_INHERITED = (#0800)
          integer, parameter :: SE_DACL_PROTECTED = (#1000)
          integer, parameter :: SE_SACL_PROTECTED = (#2000)
          integer, parameter :: SE_RM_CONTROL_VALID = (#4000)
          integer, parameter :: SE_SELF_RELATIVE = (#8000)
          integer, parameter :: ACCESS_OBJECT_GUID = 0
          integer, parameter :: ACCESS_PROPERTY_SET_GUID = 1
          integer, parameter :: ACCESS_PROPERTY_GUID = 2
          integer, parameter :: ACCESS_MAX_LEVEL = 4
          integer, parameter ::   AuditEventObjectAccess = 0
          integer, parameter ::   AuditEventDirectoryServiceAccess  = 1
          integer, parameter :: AUDIT_ALLOW_NO_PRIVILEGE = #1
          character*2, parameter :: ACCESS_DS_SOURCE_ = "DS"
          character*2, parameter :: ACCESS_DS_SOURCE_A = "DS"
    !???  character*2, parameter :: ACCESS_DS_SOURCE_W = L"DS"
          character*24, parameter :: ACCESS_DS_OBJECT_TYPE_NAME_ = "Directory Service Object"
          character*24, parameter :: ACCESS_DS_OBJECT_TYPE_NAME_A = "Directory Service Object"
    !???  character*24, parameter :: ACCESS_DS_OBJECT_TYPE_NAME_W = L"Directory Service Object"
          integer, parameter :: SE_PRIVILEGE_ENABLED_BY_DEFAULT = (#00000001)
          integer, parameter :: SE_PRIVILEGE_ENABLED = (#00000002)
          integer, parameter :: SE_PRIVILEGE_USED_FOR_ACCESS = (#80000000)
          integer, parameter :: PRIVILEGE_SET_ALL_NECESSARY = (1)
          character*22, parameter :: SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"
          character*29, parameter :: SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"
          character*21, parameter :: SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"
          character*24, parameter :: SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"
          character*27, parameter :: SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"
          character*25, parameter :: SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"
          character*14, parameter :: SE_TCB_NAME = "SeTcbPrivilege"
          character*19, parameter :: SE_SECURITY_NAME = "SeSecurityPrivilege"
          character*24, parameter :: SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"
          character*21, parameter :: SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"
          character*24, parameter :: SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"
          character*21, parameter :: SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"
          character*31, parameter :: SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"
          character*31, parameter :: SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"
          character*25, parameter :: SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"
          character*26, parameter :: SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"
          character*17, parameter :: SE_BACKUP_NAME = "SeBackupPrivilege"
          character*18, parameter :: SE_RESTORE_NAME = "SeRestorePrivilege"
          character*19, parameter :: SE_SHUTDOWN_NAME = "SeShutdownPrivilege"
          character*16, parameter :: SE_DEBUG_NAME = "SeDebugPrivilege"
          character*16, parameter :: SE_AUDIT_NAME = "SeAuditPrivilege"
          character*28, parameter :: SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"
          character*23, parameter :: SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"
          character*25, parameter :: SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"
          character*17, parameter :: SE_UNDOCK_NAME = "SeUndockPrivilege"
          character*20, parameter :: SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"
          character*27, parameter :: SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"
          integer, parameter ::   SecurityAnonymous = 0
          integer, parameter ::   SecurityIdentification = 1
          integer, parameter ::   SecurityImpersonation = 2
          integer, parameter ::   SecurityDelegation   = 3
          integer, parameter :: TOKEN_ASSIGN_PRIMARY = (#0001)
          integer, parameter :: TOKEN_DUPLICATE = (#0002)
          integer, parameter :: TOKEN_IMPERSONATE = (#0004)
          integer, parameter :: TOKEN_QUERY = (#0008)
          integer, parameter :: TOKEN_QUERY_SOURCE = (#0010)
          integer, parameter :: TOKEN_ADJUST_PRIVILEGES = (#0020)
          integer, parameter :: TOKEN_ADJUST_GROUPS = (#0040)
          integer, parameter :: TOKEN_ADJUST_DEFAULT = (#0080)
          integer, parameter :: TOKEN_ADJUST_SESSIONID = (#0100)
          integer, parameter :: TOKEN_ALL_ACCESS_P = ((#000F0000) .OR. (#0001) .OR. (#0002) .OR. (#0004) .OR. (#0008) .OR. (#0010) .OR. (#0020) .OR. (#0040) .OR. (#0080) )
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: TOKEN_ALL_ACCESS = (((#000F0000) .OR. (#0001) .OR. (#0002) .OR. (#0004) .OR. (#0008) .OR. (#0010) .OR. (#0020) .OR. (#0040) .OR. (#0080) ) .OR. (#0100) )
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: TOKEN_ALL_ACCESS = (((#000F0000) .OR. (#0001) .OR. (#0002) .OR. (#0004) .OR. (#0008) .OR. (#0010) .OR. (#0020) .OR. (#0040) .OR. (#0080) ))
    !DEC$ ENDIF
          integer, parameter :: TOKEN_READ = (((#00020000)) .OR. (#0008))
          integer, parameter :: TOKEN_WRITE = (((#00020000)) .OR. (#0020) .OR. (#0040) .OR. (#0080))
          integer, parameter :: TOKEN_EXECUTE = (((#00020000)))
          integer, parameter ::   TokenPrimary = 1
          integer, parameter ::   TokenImpersonation   = 2
          integer, parameter ::   TokenUser = 1
          integer, parameter ::   TokenGroups = 2
          integer, parameter ::   TokenPrivileges = 3
          integer, parameter ::   TokenOwner = 4
          integer, parameter ::   TokenPrimaryGroup = 5
          integer, parameter ::   TokenDefaultDacl = 6
          integer, parameter ::   TokenSource = 7
          integer, parameter ::   TokenType = 8
          integer, parameter ::   TokenImpersonationLevel = 9
          integer, parameter ::   TokenStatistics = 10
          integer, parameter ::   TokenRestrictedSids = 11
          integer, parameter ::   TokenSessionId  = 12
          integer, parameter :: TOKEN_SOURCE_LENGTH = 8
          integer, parameter :: SECURITY_DYNAMIC_TRACKING = (1)
          integer, parameter :: SECURITY_STATIC_TRACKING = (0)
          integer, parameter :: DISABLE_MAX_PRIVILEGE = #1
          integer, parameter :: OWNER_SECURITY_INFORMATION = (#00000001)
          integer, parameter :: GROUP_SECURITY_INFORMATION = (#00000002)
          integer, parameter :: DACL_SECURITY_INFORMATION = (#00000004)
          integer, parameter :: SACL_SECURITY_INFORMATION = (#00000008)
          integer, parameter :: PROTECTED_DACL_SECURITY_INFORMATION = (#80000000)
          integer, parameter :: PROTECTED_SACL_SECURITY_INFORMATION = (#40000000)
          integer, parameter :: UNPROTECTED_DACL_SECURITY_INFORMATION = (#20000000)
          integer, parameter :: UNPROTECTED_SACL_SECURITY_INFORMATION = (#10000000)
          integer, parameter :: PROCESS_TERMINATE = (#0001)
          integer, parameter :: PROCESS_CREATE_THREAD = (#0002)
          integer, parameter :: PROCESS_SET_SESSIONID = (#0004)
          integer, parameter :: PROCESS_VM_OPERATION = (#0008)
          integer, parameter :: PROCESS_VM_READ = (#0010)
          integer, parameter :: PROCESS_VM_WRITE = (#0020)
          integer, parameter :: PROCESS_DUP_HANDLE = (#0040)
          integer, parameter :: PROCESS_CREATE_PROCESS = (#0080)
          integer, parameter :: PROCESS_SET_QUOTA = (#0100)
          integer, parameter :: PROCESS_SET_INFORMATION = (#0200)
          integer, parameter :: PROCESS_QUERY_INFORMATION = (#0400)
          integer, parameter :: PROCESS_ALL_ACCESS = ((#000F0000) .OR. (#00100000) .OR.  #FFF)
          integer, parameter :: MAXIMUM_PROCESSORS = 32
          integer, parameter :: THREAD_TERMINATE = (#0001)
          integer, parameter :: THREAD_SUSPEND_RESUME = (#0002)
          integer, parameter :: THREAD_GET_CONTEXT = (#0008)
          integer, parameter :: THREAD_SET_CONTEXT = (#0010)
          integer, parameter :: THREAD_SET_INFORMATION = (#0020)
          integer, parameter :: THREAD_QUERY_INFORMATION = (#0040)
          integer, parameter :: THREAD_SET_THREAD_TOKEN = (#0080)
          integer, parameter :: THREAD_IMPERSONATE = (#0100)
          integer, parameter :: THREAD_DIRECT_IMPERSONATION = (#0200)
          integer, parameter :: THREAD_ALL_ACCESS = ((#000F0000) .OR. (#00100000) .OR.  #3FF)
          integer, parameter :: JOB_OBJECT_ASSIGN_PROCESS = (#0001)
          integer, parameter :: JOB_OBJECT_SET_ATTRIBUTES = (#0002)
          integer, parameter :: JOB_OBJECT_QUERY = (#0004)
          integer, parameter :: JOB_OBJECT_TERMINATE = (#0008)
          integer, parameter :: JOB_OBJECT_SET_SECURITY_ATTRIBUTES = (#0010)
          integer, parameter :: JOB_OBJECT_ALL_ACCESS = ((#000F0000) .OR. (#00100000) .OR.  #1F )
          integer, parameter :: TLS_MINIMUM_AVAILABLE = 64
          integer, parameter :: THREAD_BASE_PRIORITY_LOWRT = 15
          integer, parameter :: THREAD_BASE_PRIORITY_MAX = 2
          integer, parameter :: THREAD_BASE_PRIORITY_MIN = -2
          integer, parameter :: THREAD_BASE_PRIORITY_IDLE = -15
          integer, parameter :: JOB_OBJECT_TERMINATE_AT_END_OF_JOB = 0
          integer, parameter :: JOB_OBJECT_POST_AT_END_OF_JOB = 1
          integer, parameter :: JOB_OBJECT_MSG_END_OF_JOB_TIME = 1
          integer, parameter :: JOB_OBJECT_MSG_END_OF_PROCESS_TIME = 2
          integer, parameter :: JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT = 3
          integer, parameter :: JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO = 4
          integer, parameter :: JOB_OBJECT_MSG_NEW_PROCESS = 6
          integer, parameter :: JOB_OBJECT_MSG_EXIT_PROCESS = 7
          integer, parameter :: JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8
          integer, parameter :: JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT = 9
          integer, parameter :: JOB_OBJECT_MSG_JOB_MEMORY_LIMIT = 10
          integer, parameter :: JOB_OBJECT_LIMIT_WORKINGSET = #00000001
          integer, parameter :: JOB_OBJECT_LIMIT_PROCESS_TIME = #00000002
          integer, parameter :: JOB_OBJECT_LIMIT_JOB_TIME = #00000004
          integer, parameter :: JOB_OBJECT_LIMIT_ACTIVE_PROCESS = #00000008
          integer, parameter :: JOB_OBJECT_LIMIT_AFFINITY = #00000010
          integer, parameter :: JOB_OBJECT_LIMIT_PRIORITY_CLASS = #00000020
          integer, parameter :: JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = #00000040
          integer, parameter :: JOB_OBJECT_LIMIT_SCHEDULING_CLASS = #00000080
          integer, parameter :: JOB_OBJECT_LIMIT_PROCESS_MEMORY = #00000100
          integer, parameter :: JOB_OBJECT_LIMIT_JOB_MEMORY = #00000200
          integer, parameter :: JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = #00000400
          integer, parameter :: JOB_OBJECT_LIMIT_BREAKAWAY_OK = #00000800
          integer, parameter :: JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = #00001000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED1 = #00002000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED2 = #00004000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED3 = #00008000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED4 = #00010000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED5 = #00020000
          integer, parameter :: JOB_OBJECT_LIMIT_RESERVED6 = #00040000
          integer, parameter :: JOB_OBJECT_LIMIT_VALID_FLAGS = #0007ffff
          integer, parameter :: JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS = #000000ff
          integer, parameter :: JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS = #00001fff
          integer, parameter :: JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS = #0007ffff
          integer, parameter :: JOB_OBJECT_UILIMIT_NONE = #00000000
          integer, parameter :: JOB_OBJECT_UILIMIT_HANDLES = #00000001
          integer, parameter :: JOB_OBJECT_UILIMIT_READCLIPBOARD = #00000002
          integer, parameter :: JOB_OBJECT_UILIMIT_WRITECLIPBOARD = #00000004
          integer, parameter :: JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = #00000008
          integer, parameter :: JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = #00000010
          integer, parameter :: JOB_OBJECT_UILIMIT_GLOBALATOMS = #00000020
          integer, parameter :: JOB_OBJECT_UILIMIT_DESKTOP = #00000040
          integer, parameter :: JOB_OBJECT_UILIMIT_EXITWINDOWS = #00000080
          integer, parameter :: JOB_OBJECT_UILIMIT_ALL = #000000FF
          integer, parameter :: JOB_OBJECT_UI_VALID_FLAGS = #000000FF
          integer, parameter :: JOB_OBJECT_SECURITY_NO_ADMIN = #00000001
          integer, parameter :: JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = #00000002
          integer, parameter :: JOB_OBJECT_SECURITY_ONLY_TOKEN = #00000004
          integer, parameter :: JOB_OBJECT_SECURITY_FILTER_TOKENS = #00000008
          integer, parameter :: JOB_OBJECT_SECURITY_VALID_FLAGS = #0000000f
          integer, parameter ::   JobObjectBasicAccountingInformation = 1
          integer, parameter ::   JobObjectBasicLimitInformation = 2
          integer, parameter ::   JobObjectBasicProcessIdList = 3
          integer, parameter ::   JobObjectBasicUIRestrictions = 4
          integer, parameter ::   JobObjectSecurityLimitInformation = 5
          integer, parameter ::   JobObjectEndOfJobTimeInformation = 6
          integer, parameter ::   JobObjectAssociateCompletionPortInformation = 7
          integer, parameter ::   JobObjectBasicAndIoAccountingInformation = 8
          integer, parameter ::   JobObjectExtendedLimitInformation = 9
          integer, parameter ::   MaxJobObjectInfoClass   = 10
          integer, parameter :: EVENT_MODIFY_STATE = #0002
          integer, parameter :: EVENT_ALL_ACCESS = ((#000F0000).OR.(#00100000).OR.#3)
          integer, parameter :: MUTANT_QUERY_STATE = #0001
          integer, parameter :: MUTANT_ALL_ACCESS = ((#000F0000).OR.(#00100000).OR. #0001)
          integer, parameter :: SEMAPHORE_MODIFY_STATE = #0002
          integer, parameter :: SEMAPHORE_ALL_ACCESS = ((#000F0000).OR.(#00100000).OR.#3)
          integer, parameter :: TIMER_QUERY_STATE = #0001
          integer, parameter :: TIMER_MODIFY_STATE = #0002
          integer, parameter :: TIMER_ALL_ACCESS = ((#000F0000).OR.(#00100000).OR. #0001.OR.#0002)
          integer, parameter :: TIME_ZONE_ID_UNKNOWN = 0
          integer, parameter :: TIME_ZONE_ID_STANDARD = 1
          integer, parameter :: TIME_ZONE_ID_DAYLIGHT = 2
          integer, parameter :: PROCESSOR_INTEL_386 = 386
          integer, parameter :: PROCESSOR_INTEL_486 = 486
          integer, parameter :: PROCESSOR_INTEL_PENTIUM = 586
          integer, parameter :: PROCESSOR_INTEL_IA64 = 2200
          integer, parameter :: PROCESSOR_MIPS_R4000 = 4000
          integer, parameter :: PROCESSOR_ALPHA_21064 = 21064
          integer, parameter :: PROCESSOR_PPC_601 = 601
          integer, parameter :: PROCESSOR_PPC_603 = 603
          integer, parameter :: PROCESSOR_PPC_604 = 604
          integer, parameter :: PROCESSOR_PPC_620 = 620
          integer, parameter :: PROCESSOR_HITACHI_SH3 = 10003
          integer, parameter :: PROCESSOR_HITACHI_SH3E = 10004
          integer, parameter :: PROCESSOR_HITACHI_SH4 = 10005
          integer, parameter :: PROCESSOR_MOTOROLA_821 = 821
          integer, parameter :: PROCESSOR_SHx_SH3 = 103
          integer, parameter :: PROCESSOR_SHx_SH4 = 104
          integer, parameter :: PROCESSOR_STRONGARM = 2577
          integer, parameter :: PROCESSOR_ARM720 = 1824
          integer, parameter :: PROCESSOR_ARM820 = 2080
          integer, parameter :: PROCESSOR_ARM920 = 2336
          integer, parameter :: PROCESSOR_ARM_7TDMI = 70001
          integer, parameter :: PROCESSOR_OPTIL = #494f
          integer, parameter :: PROCESSOR_ARCHITECTURE_INTEL = 0
          integer, parameter :: PROCESSOR_ARCHITECTURE_MIPS = 1
          integer, parameter :: PROCESSOR_ARCHITECTURE_ALPHA = 2
          integer, parameter :: PROCESSOR_ARCHITECTURE_PPC = 3
          integer, parameter :: PROCESSOR_ARCHITECTURE_SHX = 4
          integer, parameter :: PROCESSOR_ARCHITECTURE_ARM = 5
          integer, parameter :: PROCESSOR_ARCHITECTURE_IA64 = 6
          integer, parameter :: PROCESSOR_ARCHITECTURE_ALPHA64 = 7
          integer, parameter :: PROCESSOR_ARCHITECTURE_MSIL = 8
          integer, parameter :: PROCESSOR_ARCHITECTURE_UNKNOWN = #FFFF
          integer, parameter :: PF_FLOATING_POINT_PRECISION_ERRATA = 0
          integer, parameter :: PF_FLOATING_POINT_EMULATED = 1
          integer, parameter :: PF_COMPARE_EXCHANGE_DOUBLE = 2
          integer, parameter :: PF_MMX_INSTRUCTIONS_AVAILABLE = 3
          integer, parameter :: PF_PPC_MOVEMEM_64BIT_OK = 4
          integer, parameter :: PF_ALPHA_BYTE_INSTRUCTIONS = 5
          integer, parameter :: PF_XMMI_INSTRUCTIONS_AVAILABLE = 6
          integer, parameter :: PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7
          integer, parameter :: PF_RDTSC_INSTRUCTION_AVAILABLE = 8
          integer, parameter :: PF_PAE_ENABLED = 9
          integer, parameter :: PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10
          integer, parameter :: SECTION_QUERY = #0001
          integer, parameter :: SECTION_MAP_WRITE = #0002
          integer, parameter :: SECTION_MAP_READ = #0004
          integer, parameter :: SECTION_MAP_EXECUTE = #0008
          integer, parameter :: SECTION_EXTEND_SIZE = #0010
          integer, parameter :: SECTION_ALL_ACCESS = ((#000F0000).OR.#0001.OR. #0002 .OR.  #0004 .OR.  #0008 .OR.  #0010)
          integer, parameter :: PAGE_NOACCESS = #01
          integer, parameter :: PAGE_READONLY = #02
          integer, parameter :: PAGE_READWRITE = #04
          integer, parameter :: PAGE_WRITECOPY = #08
          integer, parameter :: PAGE_EXECUTE = #10
          integer, parameter :: PAGE_EXECUTE_READ = #20
          integer, parameter :: PAGE_EXECUTE_READWRITE = #40
          integer, parameter :: PAGE_EXECUTE_WRITECOPY = #80
          integer, parameter :: PAGE_GUARD = #100
          integer, parameter :: PAGE_NOCACHE = #200
          integer, parameter :: PAGE_WRITECOMBINE = #400
          integer, parameter :: MEM_COMMIT = #1000
          integer, parameter :: MEM_RESERVE = #2000
          integer, parameter :: MEM_DECOMMIT = #4000
          integer, parameter :: MEM_RELEASE = #8000
          integer, parameter :: MEM_FREE = #10000
          integer, parameter :: MEM_PRIVATE = #20000
          integer, parameter :: MEM_MAPPED = #40000
          integer, parameter :: MEM_RESET = #80000
          integer, parameter :: MEM_TOP_DOWN = #100000
          integer, parameter :: MEM_WRITE_WATCH = #200000
          integer, parameter :: MEM_PHYSICAL = #400000
          integer, parameter :: MEM_4MB_PAGES = #80000000
          integer, parameter :: SEC_FILE = #800000
          integer, parameter :: SEC_IMAGE = #1000000
          integer, parameter :: SEC_RESERVE = #4000000
          integer, parameter :: SEC_COMMIT = #8000000
          integer, parameter :: SEC_NOCACHE = #10000000
          integer, parameter :: WRITE_WATCH_FLAG_RESET = #01
          integer, parameter :: FILE_READ_DATA = ( #0001 )
          integer, parameter :: FILE_LIST_DIRECTORY = ( #0001 )
          integer, parameter :: FILE_WRITE_DATA = ( #0002 )
          integer, parameter :: FILE_ADD_FILE = ( #0002 )
          integer, parameter :: FILE_APPEND_DATA = ( #0004 )
          integer, parameter :: FILE_ADD_SUBDIRECTORY = ( #0004 )
          integer, parameter :: FILE_CREATE_PIPE_INSTANCE = ( #0004 )
          integer, parameter :: FILE_READ_EA = ( #0008 )
          integer, parameter :: FILE_WRITE_EA = ( #0010 )
          integer, parameter :: FILE_EXECUTE = ( #0020 )
          integer, parameter :: FILE_TRAVERSE = ( #0020 )
          integer, parameter :: FILE_DELETE_CHILD = ( #0040 )
          integer, parameter :: FILE_READ_ATTRIBUTES = ( #0080 )
          integer, parameter :: FILE_WRITE_ATTRIBUTES = ( #0100 )
          integer, parameter :: FILE_ALL_ACCESS = ((#000F0000) .OR. (#00100000) .OR. #1FF)
          integer, parameter :: FILE_GENERIC_READ = (((#00020000)) .OR. ( #0001 ) .OR. ( #0080 ) .OR. ( #0008 ) .OR. (#00100000))
          integer, parameter :: FILE_GENERIC_WRITE = (((#00020000)) .OR. ( #0002 ) .OR. ( #0100 ) .OR. ( #0010 ) .OR. ( #0004 ) .OR. (#00100000))
          integer, parameter :: FILE_GENERIC_EXECUTE = (((#00020000)) .OR. ( #0080 ) .OR. ( #0020 ) .OR. (#00100000))
          integer, parameter :: FILE_SHARE_READ = #00000001
          integer, parameter :: FILE_SHARE_WRITE = #00000002
          integer, parameter :: FILE_SHARE_DELETE = #00000004
          integer, parameter :: FILE_ATTRIBUTE_READONLY = #00000001
          integer, parameter :: FILE_ATTRIBUTE_HIDDEN = #00000002
          integer, parameter :: FILE_ATTRIBUTE_SYSTEM = #00000004
          integer, parameter :: FILE_ATTRIBUTE_DIRECTORY = #00000010
          integer, parameter :: FILE_ATTRIBUTE_ARCHIVE = #00000020
          integer, parameter :: FILE_ATTRIBUTE_DEVICE = #00000040
          integer, parameter :: FILE_ATTRIBUTE_NORMAL = #00000080
          integer, parameter :: FILE_ATTRIBUTE_TEMPORARY = #00000100
          integer, parameter :: FILE_ATTRIBUTE_SPARSE_FILE = #00000200
          integer, parameter :: FILE_ATTRIBUTE_REPARSE_POINT = #00000400
          integer, parameter :: FILE_ATTRIBUTE_COMPRESSED = #00000800
          integer, parameter :: FILE_ATTRIBUTE_OFFLINE = #00001000
          integer, parameter :: FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = #00002000
          integer, parameter :: FILE_ATTRIBUTE_ENCRYPTED = #00004000
          integer, parameter :: FILE_NOTIFY_CHANGE_FILE_NAME = #00000001
          integer, parameter :: FILE_NOTIFY_CHANGE_DIR_NAME = #00000002
          integer, parameter :: FILE_NOTIFY_CHANGE_ATTRIBUTES = #00000004
          integer, parameter :: FILE_NOTIFY_CHANGE_SIZE = #00000008
          integer, parameter :: FILE_NOTIFY_CHANGE_LAST_WRITE = #00000010
          integer, parameter :: FILE_NOTIFY_CHANGE_LAST_ACCESS = #00000020
          integer, parameter :: FILE_NOTIFY_CHANGE_CREATION = #00000040
          integer, parameter :: FILE_NOTIFY_CHANGE_SECURITY = #00000100
          integer, parameter :: FILE_ACTION_ADDED = #00000001
          integer, parameter :: FILE_ACTION_REMOVED = #00000002
          integer, parameter :: FILE_ACTION_MODIFIED = #00000003
          integer, parameter :: FILE_ACTION_RENAMED_OLD_NAME = #00000004
          integer, parameter :: FILE_ACTION_RENAMED_NEW_NAME = #00000005
          integer, parameter :: MAILSLOT_NO_MESSAGE = ( -1)
          integer, parameter :: MAILSLOT_WAIT_FOREVER = ( -1)
          integer, parameter :: FILE_CASE_SENSITIVE_SEARCH = #00000001
          integer, parameter :: FILE_CASE_PRESERVED_NAMES = #00000002
          integer, parameter :: FILE_UNICODE_ON_DISK = #00000004
          integer, parameter :: FILE_PERSISTENT_ACLS = #00000008
          integer, parameter :: FILE_FILE_COMPRESSION = #00000010
          integer, parameter :: FILE_VOLUME_QUOTAS = #00000020
          integer, parameter :: FILE_SUPPORTS_SPARSE_FILES = #00000040
          integer, parameter :: FILE_SUPPORTS_REPARSE_POINTS = #00000080
          integer, parameter :: FILE_SUPPORTS_REMOTE_STORAGE = #00000100
          integer, parameter :: FILE_VOLUME_IS_COMPRESSED = #00008000
          integer, parameter :: FILE_SUPPORTS_OBJECT_IDS = #00010000
          integer, parameter :: FILE_SUPPORTS_ENCRYPTION = #00020000
          integer, parameter :: FILE_NAMED_STREAMS = #00040000
    !???  integer, parameter :: REPARSE_GUID_DATA_BUFFER_HEADER_SIZE = ((LONG)(LONG_PTR).AND.(((REPARSE_GUID_DATA_BUFFER *)0)->GenericReparseBuffer))
          integer, parameter :: MAXIMUM_REPARSE_DATA_BUFFER_SIZE = ( 16 * 1024 )
          integer, parameter :: IO_REPARSE_TAG_RESERVED_ZERO = (0)
          integer, parameter :: IO_REPARSE_TAG_RESERVED_ONE = (1)
          integer, parameter :: IO_REPARSE_TAG_MOUNT_POINT = (#A0000003)
          integer, parameter :: IO_REPARSE_TAG_HSM = (#C0000004)
          integer, parameter :: IO_REPARSE_TAG_SIS = (#80000007)
          integer, parameter :: IO_COMPLETION_MODIFY_STATE = #0002
          integer, parameter :: IO_COMPLETION_ALL_ACCESS = ((#000F0000).OR.(#00100000).OR.#3)
          integer, parameter :: DUPLICATE_CLOSE_SOURCE = #00000001
          integer, parameter :: DUPLICATE_SAME_ACCESS = #00000002
          integer, parameter :: ES_SYSTEM_REQUIRED = ( #00000001)
          integer, parameter :: ES_DISPLAY_REQUIRED = ( #00000002)
          integer, parameter :: ES_USER_PRESENT = ( #00000004)
          integer, parameter :: ES_CONTINUOUS = ( #80000000)
          integer, parameter ::   LT_DONT_CARE = 0
          integer, parameter ::   LT_LOWEST_LATENCY  = 1
          integer, parameter :: IMAGE_DOS_SIGNATURE = #5A4D
          integer, parameter :: IMAGE_OS2_SIGNATURE = #454E
          integer, parameter :: IMAGE_OS2_SIGNATURE_LE = #454C
          integer, parameter :: IMAGE_VXD_SIGNATURE = #454C
          integer, parameter :: IMAGE_NT_SIGNATURE = #00004550
          integer, parameter :: IMAGE_SIZEOF_FILE_HEADER = 20
          integer, parameter :: IMAGE_FILE_RELOCS_STRIPPED = #0001
          integer, parameter :: IMAGE_FILE_EXECUTABLE_IMAGE = #0002
          integer, parameter :: IMAGE_FILE_LINE_NUMS_STRIPPED = #0004
          integer, parameter :: IMAGE_FILE_LOCAL_SYMS_STRIPPED = #0008
          integer, parameter :: IMAGE_FILE_AGGRESIVE_WS_TRIM = #0010
          integer, parameter :: IMAGE_FILE_LARGE_ADDRESS_AWARE = #0020
          integer, parameter :: IMAGE_FILE_BYTES_REVERSED_LO = #0080
          integer, parameter :: IMAGE_FILE_32BIT_MACHINE = #0100
          integer, parameter :: IMAGE_FILE_DEBUG_STRIPPED = #0200
          integer, parameter :: IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = #0400
          integer, parameter :: IMAGE_FILE_NET_RUN_FROM_SWAP = #0800
          integer, parameter :: IMAGE_FILE_SYSTEM = #1000
          integer, parameter :: IMAGE_FILE_DLL = #2000
          integer, parameter :: IMAGE_FILE_UP_SYSTEM_ONLY = #4000
          integer, parameter :: IMAGE_FILE_BYTES_REVERSED_HI = #8000
          integer, parameter :: IMAGE_FILE_MACHINE_UNKNOWN = 0
          integer, parameter :: IMAGE_FILE_MACHINE_I386 = #014c
          integer, parameter :: IMAGE_FILE_MACHINE_R3000 = #0162
          integer, parameter :: IMAGE_FILE_MACHINE_R4000 = #0166
          integer, parameter :: IMAGE_FILE_MACHINE_R10000 = #0168
          integer, parameter :: IMAGE_FILE_MACHINE_WCEMIPSV2 = #0169
          integer, parameter :: IMAGE_FILE_MACHINE_ALPHA = #0184
          integer, parameter :: IMAGE_FILE_MACHINE_POWERPC = #01F0
          integer, parameter :: IMAGE_FILE_MACHINE_SH3 = #01a2
          integer, parameter :: IMAGE_FILE_MACHINE_SH3E = #01a4
          integer, parameter :: IMAGE_FILE_MACHINE_SH4 = #01a6
          integer, parameter :: IMAGE_FILE_MACHINE_ARM = #01c0
          integer, parameter :: IMAGE_FILE_MACHINE_THUMB = #01c2
          integer, parameter :: IMAGE_FILE_MACHINE_IA64 = #0200
          integer, parameter :: IMAGE_FILE_MACHINE_MIPS16 = #0266
          integer, parameter :: IMAGE_FILE_MACHINE_MIPSFPU = #0366
          integer, parameter :: IMAGE_FILE_MACHINE_MIPSFPU16 = #0466
          integer, parameter :: IMAGE_FILE_MACHINE_ALPHA64 = #0284
          integer, parameter :: IMAGE_FILE_MACHINE_CEF = #0CEF
          integer, parameter :: IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16
          integer, parameter :: IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56
          integer, parameter :: IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28
          integer, parameter :: IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224
          integer, parameter :: IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240
          integer, parameter :: IMAGE_NT_OPTIONAL_HDR32_MAGIC = #10b
          integer, parameter :: IMAGE_NT_OPTIONAL_HDR64_MAGIC = #20b
          integer, parameter :: IMAGE_ROM_OPTIONAL_HDR_MAGIC = #107
          integer, parameter :: IMAGE_SUBSYSTEM_UNKNOWN = 0
          integer, parameter :: IMAGE_SUBSYSTEM_NATIVE = 1
          integer, parameter :: IMAGE_SUBSYSTEM_WINDOWS_GUI = 2
          integer, parameter :: IMAGE_SUBSYSTEM_WINDOWS_CUI = 3
          integer, parameter :: IMAGE_SUBSYSTEM_OS2_CUI = 5
          integer, parameter :: IMAGE_SUBSYSTEM_POSIX_CUI = 7
          integer, parameter :: IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8
          integer, parameter :: IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9
          integer, parameter :: IMAGE_SUBSYSTEM_EFI_APPLICATION = 10
          integer, parameter :: IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11
          integer, parameter :: IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12
          integer, parameter :: IMAGE_DLLCHARACTERISTICS_NO_BIND = #0800
          integer, parameter :: IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = #2000
          integer, parameter :: IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = #8000
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_EXPORT = 0
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_IMPORT = 1
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_RESOURCE = 2
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_SECURITY = 4
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_BASERELOC = 5
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_DEBUG = 6
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_TLS = 9
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_IAT = 12
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13
          integer, parameter :: IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14
          integer, parameter :: IMAGE_SIZEOF_SHORT_NAME = 8
          integer, parameter :: IMAGE_SIZEOF_SECTION_HEADER = 40
          integer, parameter :: IMAGE_SCN_TYPE_NO_PAD = #00000008
          integer, parameter :: IMAGE_SCN_CNT_CODE = #00000020
          integer, parameter :: IMAGE_SCN_CNT_INITIALIZED_DATA = #00000040
          integer, parameter :: IMAGE_SCN_CNT_UNINITIALIZED_DATA = #00000080
          integer, parameter :: IMAGE_SCN_LNK_OTHER = #00000100
          integer, parameter :: IMAGE_SCN_LNK_INFO = #00000200
          integer, parameter :: IMAGE_SCN_LNK_REMOVE = #00000800
          integer, parameter :: IMAGE_SCN_LNK_COMDAT = #00001000
          integer, parameter :: IMAGE_SCN_NO_DEFER_SPEC_EXC = #00004000
          integer, parameter :: IMAGE_SCN_GPREL = #00008000
          integer, parameter :: IMAGE_SCN_MEM_FARDATA = #00008000
          integer, parameter :: IMAGE_SCN_MEM_PURGEABLE = #00020000
          integer, parameter :: IMAGE_SCN_MEM_16BIT = #00020000
          integer, parameter :: IMAGE_SCN_MEM_LOCKED = #00040000
          integer, parameter :: IMAGE_SCN_MEM_PRELOAD = #00080000
          integer, parameter :: IMAGE_SCN_ALIGN_1BYTES = #00100000
          integer, parameter :: IMAGE_SCN_ALIGN_2BYTES = #00200000
          integer, parameter :: IMAGE_SCN_ALIGN_4BYTES = #00300000
          integer, parameter :: IMAGE_SCN_ALIGN_8BYTES = #00400000
          integer, parameter :: IMAGE_SCN_ALIGN_16BYTES = #00500000
          integer, parameter :: IMAGE_SCN_ALIGN_32BYTES = #00600000
          integer, parameter :: IMAGE_SCN_ALIGN_64BYTES = #00700000
          integer, parameter :: IMAGE_SCN_ALIGN_128BYTES = #00800000
          integer, parameter :: IMAGE_SCN_ALIGN_256BYTES = #00900000
          integer, parameter :: IMAGE_SCN_ALIGN_512BYTES = #00A00000
          integer, parameter :: IMAGE_SCN_ALIGN_1024BYTES = #00B00000
          integer, parameter :: IMAGE_SCN_ALIGN_2048BYTES = #00C00000
          integer, parameter :: IMAGE_SCN_ALIGN_4096BYTES = #00D00000
          integer, parameter :: IMAGE_SCN_ALIGN_8192BYTES = #00E00000
          integer, parameter :: IMAGE_SCN_ALIGN_MASK = #00F00000
          integer, parameter :: IMAGE_SCN_LNK_NRELOC_OVFL = #01000000
          integer, parameter :: IMAGE_SCN_MEM_DISCARDABLE = #02000000
          integer, parameter :: IMAGE_SCN_MEM_NOT_CACHED = #04000000
          integer, parameter :: IMAGE_SCN_MEM_NOT_PAGED = #08000000
          integer, parameter :: IMAGE_SCN_MEM_SHARED = #10000000
          integer, parameter :: IMAGE_SCN_MEM_EXECUTE = #20000000
          integer, parameter :: IMAGE_SCN_MEM_READ = #40000000
          integer, parameter :: IMAGE_SCN_MEM_WRITE = #80000000
          integer, parameter :: IMAGE_SCN_SCALE_INDEX = #00000001
          integer, parameter :: IMAGE_SIZEOF_SYMBOL = 18
          integer(2), parameter :: IMAGE_SYM_UNDEFINED =  0
          integer(2), parameter :: IMAGE_SYM_ABSOLUTE =  -1
          integer(2), parameter :: IMAGE_SYM_DEBUG =  -2
          integer, parameter :: IMAGE_SYM_TYPE_NULL = #0000
          integer, parameter :: IMAGE_SYM_TYPE_VOID = #0001
          integer, parameter :: IMAGE_SYM_TYPE_CHAR = #0002
          integer, parameter :: IMAGE_SYM_TYPE_SHORT = #0003
          integer, parameter :: IMAGE_SYM_TYPE_INT = #0004
          integer, parameter :: IMAGE_SYM_TYPE_LONG = #0005
          integer, parameter :: IMAGE_SYM_TYPE_FLOAT = #0006
          integer, parameter :: IMAGE_SYM_TYPE_DOUBLE = #0007
          integer, parameter :: IMAGE_SYM_TYPE_STRUCT = #0008
          integer, parameter :: IMAGE_SYM_TYPE_UNION = #0009
          integer, parameter :: IMAGE_SYM_TYPE_ENUM = #000A
          integer, parameter :: IMAGE_SYM_TYPE_MOE = #000B
          integer, parameter :: IMAGE_SYM_TYPE_BYTE = #000C
          integer, parameter :: IMAGE_SYM_TYPE_WORD = #000D
          integer, parameter :: IMAGE_SYM_TYPE_UINT = #000E
          integer, parameter :: IMAGE_SYM_TYPE_DWORD = #000F
          integer, parameter :: IMAGE_SYM_TYPE_PCODE = #8000
          integer, parameter :: IMAGE_SYM_DTYPE_NULL = 0
          integer, parameter :: IMAGE_SYM_DTYPE_POINTER = 1
          integer, parameter :: IMAGE_SYM_DTYPE_FUNCTION = 2
          integer, parameter :: IMAGE_SYM_DTYPE_ARRAY = 3
          integer, parameter :: IMAGE_SYM_CLASS_END_OF_FUNCTION =  -1
          integer, parameter :: IMAGE_SYM_CLASS_NULL = #0000
          integer, parameter :: IMAGE_SYM_CLASS_AUTOMATIC = #0001
          integer, parameter :: IMAGE_SYM_CLASS_EXTERNAL = #0002
          integer, parameter :: IMAGE_SYM_CLASS_STATIC = #0003
          integer, parameter :: IMAGE_SYM_CLASS_REGISTER = #0004
          integer, parameter :: IMAGE_SYM_CLASS_EXTERNAL_DEF = #0005
          integer, parameter :: IMAGE_SYM_CLASS_LABEL = #0006
          integer, parameter :: IMAGE_SYM_CLASS_UNDEFINED_LABEL = #0007
          integer, parameter :: IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = #0008
          integer, parameter :: IMAGE_SYM_CLASS_ARGUMENT = #0009
          integer, parameter :: IMAGE_SYM_CLASS_STRUCT_TAG = #000A
          integer, parameter :: IMAGE_SYM_CLASS_MEMBER_OF_UNION = #000B
          integer, parameter :: IMAGE_SYM_CLASS_UNION_TAG = #000C
          integer, parameter :: IMAGE_SYM_CLASS_TYPE_DEFINITION = #000D
          integer, parameter :: IMAGE_SYM_CLASS_UNDEFINED_STATIC = #000E
          integer, parameter :: IMAGE_SYM_CLASS_ENUM_TAG = #000F
          integer, parameter :: IMAGE_SYM_CLASS_MEMBER_OF_ENUM = #0010
          integer, parameter :: IMAGE_SYM_CLASS_REGISTER_PARAM = #0011
          integer, parameter :: IMAGE_SYM_CLASS_BIT_FIELD = #0012
          integer, parameter :: IMAGE_SYM_CLASS_FAR_EXTERNAL = #0044
          integer, parameter :: IMAGE_SYM_CLASS_BLOCK = #0064
          integer, parameter :: IMAGE_SYM_CLASS_FUNCTION = #0065
          integer, parameter :: IMAGE_SYM_CLASS_END_OF_STRUCT = #0066
          integer, parameter :: IMAGE_SYM_CLASS_FILE = #0067
          integer, parameter :: IMAGE_SYM_CLASS_SECTION = #0068
          integer, parameter :: IMAGE_SYM_CLASS_WEAK_EXTERNAL = #0069
          integer, parameter :: N_BTMASK = #000F
          integer, parameter :: N_TMASK = #0030
          integer, parameter :: N_TMASK1 = #00C0
          integer, parameter :: N_TMASK2 = #00F0
          integer, parameter :: N_BTSHFT = 4
          integer, parameter :: N_TSHIFT = 2
          integer, parameter :: IMAGE_SIZEOF_AUX_SYMBOL = 18
          integer, parameter :: IMAGE_COMDAT_SELECT_NODUPLICATES = 1
          integer, parameter :: IMAGE_COMDAT_SELECT_ANY = 2
          integer, parameter :: IMAGE_COMDAT_SELECT_SAME_SIZE = 3
          integer, parameter :: IMAGE_COMDAT_SELECT_EXACT_MATCH = 4
          integer, parameter :: IMAGE_COMDAT_SELECT_ASSOCIATIVE = 5
          integer, parameter :: IMAGE_COMDAT_SELECT_LARGEST = 6
          integer, parameter :: IMAGE_COMDAT_SELECT_NEWEST = 7
          integer, parameter :: IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1
          integer, parameter :: IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2
          integer, parameter :: IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3
          integer, parameter :: IMAGE_SIZEOF_RELOCATION = 10
          integer, parameter :: IMAGE_REL_I386_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_I386_DIR16 = #0001
          integer, parameter :: IMAGE_REL_I386_REL16 = #0002
          integer, parameter :: IMAGE_REL_I386_DIR32 = #0006
          integer, parameter :: IMAGE_REL_I386_DIR32NB = #0007
          integer, parameter :: IMAGE_REL_I386_SEG12 = #0009
          integer, parameter :: IMAGE_REL_I386_SECTION = #000A
          integer, parameter :: IMAGE_REL_I386_SECREL = #000B
          integer, parameter :: IMAGE_REL_I386_REL32 = #0014
          integer, parameter :: IMAGE_REL_MIPS_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_MIPS_REFHALF = #0001
          integer, parameter :: IMAGE_REL_MIPS_REFWORD = #0002
          integer, parameter :: IMAGE_REL_MIPS_JMPADDR = #0003
          integer, parameter :: IMAGE_REL_MIPS_REFHI = #0004
          integer, parameter :: IMAGE_REL_MIPS_REFLO = #0005
          integer, parameter :: IMAGE_REL_MIPS_GPREL = #0006
          integer, parameter :: IMAGE_REL_MIPS_LITERAL = #0007
          integer, parameter :: IMAGE_REL_MIPS_SECTION = #000A
          integer, parameter :: IMAGE_REL_MIPS_SECREL = #000B
          integer, parameter :: IMAGE_REL_MIPS_SECRELLO = #000C
          integer, parameter :: IMAGE_REL_MIPS_SECRELHI = #000D
          integer, parameter :: IMAGE_REL_MIPS_JMPADDR16 = #0010
          integer, parameter :: IMAGE_REL_MIPS_REFWORDNB = #0022
          integer, parameter :: IMAGE_REL_MIPS_PAIR = #0025
          integer, parameter :: IMAGE_REL_ALPHA_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_ALPHA_REFLONG = #0001
          integer, parameter :: IMAGE_REL_ALPHA_REFQUAD = #0002
          integer, parameter :: IMAGE_REL_ALPHA_GPREL32 = #0003
          integer, parameter :: IMAGE_REL_ALPHA_LITERAL = #0004
          integer, parameter :: IMAGE_REL_ALPHA_LITUSE = #0005
          integer, parameter :: IMAGE_REL_ALPHA_GPDISP = #0006
          integer, parameter :: IMAGE_REL_ALPHA_BRADDR = #0007
          integer, parameter :: IMAGE_REL_ALPHA_HINT = #0008
          integer, parameter :: IMAGE_REL_ALPHA_INLINE_REFLONG = #0009
          integer, parameter :: IMAGE_REL_ALPHA_REFHI = #000A
          integer, parameter :: IMAGE_REL_ALPHA_REFLO = #000B
          integer, parameter :: IMAGE_REL_ALPHA_PAIR = #000C
          integer, parameter :: IMAGE_REL_ALPHA_MATCH = #000D
          integer, parameter :: IMAGE_REL_ALPHA_SECTION = #000E
          integer, parameter :: IMAGE_REL_ALPHA_SECREL = #000F
          integer, parameter :: IMAGE_REL_ALPHA_REFLONGNB = #0010
          integer, parameter :: IMAGE_REL_ALPHA_SECRELLO = #0011
          integer, parameter :: IMAGE_REL_ALPHA_SECRELHI = #0012
          integer, parameter :: IMAGE_REL_ALPHA_REFQ3 = #0013
          integer, parameter :: IMAGE_REL_ALPHA_REFQ2 = #0014
          integer, parameter :: IMAGE_REL_ALPHA_REFQ1 = #0015
          integer, parameter :: IMAGE_REL_ALPHA_GPRELLO = #0016
          integer, parameter :: IMAGE_REL_ALPHA_GPRELHI = #0017
          integer, parameter :: IMAGE_REL_PPC_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_PPC_ADDR64 = #0001
          integer, parameter :: IMAGE_REL_PPC_ADDR32 = #0002
          integer, parameter :: IMAGE_REL_PPC_ADDR24 = #0003
          integer, parameter :: IMAGE_REL_PPC_ADDR16 = #0004
          integer, parameter :: IMAGE_REL_PPC_ADDR14 = #0005
          integer, parameter :: IMAGE_REL_PPC_REL24 = #0006
          integer, parameter :: IMAGE_REL_PPC_REL14 = #0007
          integer, parameter :: IMAGE_REL_PPC_TOCREL16 = #0008
          integer, parameter :: IMAGE_REL_PPC_TOCREL14 = #0009
          integer, parameter :: IMAGE_REL_PPC_ADDR32NB = #000A
          integer, parameter :: IMAGE_REL_PPC_SECREL = #000B
          integer, parameter :: IMAGE_REL_PPC_SECTION = #000C
          integer, parameter :: IMAGE_REL_PPC_IFGLUE = #000D
          integer, parameter :: IMAGE_REL_PPC_IMGLUE = #000E
          integer, parameter :: IMAGE_REL_PPC_SECREL16 = #000F
          integer, parameter :: IMAGE_REL_PPC_REFHI = #0010
          integer, parameter :: IMAGE_REL_PPC_REFLO = #0011
          integer, parameter :: IMAGE_REL_PPC_PAIR = #0012
          integer, parameter :: IMAGE_REL_PPC_SECRELLO = #0013
          integer, parameter :: IMAGE_REL_PPC_SECRELHI = #0014
          integer, parameter :: IMAGE_REL_PPC_GPREL = #0015
          integer, parameter :: IMAGE_REL_PPC_TYPEMASK = #00FF
          integer, parameter :: IMAGE_REL_PPC_NEG = #0100
          integer, parameter :: IMAGE_REL_PPC_BRTAKEN = #0200
          integer, parameter :: IMAGE_REL_PPC_BRNTAKEN = #0400
          integer, parameter :: IMAGE_REL_PPC_TOCDEFN = #0800
          integer, parameter :: IMAGE_REL_SH3_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_SH3_DIRECT16 = #0001
          integer, parameter :: IMAGE_REL_SH3_DIRECT32 = #0002
          integer, parameter :: IMAGE_REL_SH3_DIRECT8 = #0003
          integer, parameter :: IMAGE_REL_SH3_DIRECT8_WORD = #0004
          integer, parameter :: IMAGE_REL_SH3_DIRECT8_LONG = #0005
          integer, parameter :: IMAGE_REL_SH3_DIRECT4 = #0006
          integer, parameter :: IMAGE_REL_SH3_DIRECT4_WORD = #0007
          integer, parameter :: IMAGE_REL_SH3_DIRECT4_LONG = #0008
          integer, parameter :: IMAGE_REL_SH3_PCREL8_WORD = #0009
          integer, parameter :: IMAGE_REL_SH3_PCREL8_LONG = #000A
          integer, parameter :: IMAGE_REL_SH3_PCREL12_WORD = #000B
          integer, parameter :: IMAGE_REL_SH3_STARTOF_SECTION = #000C
          integer, parameter :: IMAGE_REL_SH3_SIZEOF_SECTION = #000D
          integer, parameter :: IMAGE_REL_SH3_SECTION = #000E
          integer, parameter :: IMAGE_REL_SH3_SECREL = #000F
          integer, parameter :: IMAGE_REL_SH3_DIRECT32_NB = #0010
          integer, parameter :: IMAGE_REL_SH3_GPREL4_LONG = #0011
          integer, parameter :: IMAGE_REL_ARM_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_ARM_ADDR32 = #0001
          integer, parameter :: IMAGE_REL_ARM_ADDR32NB = #0002
          integer, parameter :: IMAGE_REL_ARM_BRANCH24 = #0003
          integer, parameter :: IMAGE_REL_ARM_BRANCH11 = #0004
          integer, parameter :: IMAGE_REL_ARM_GPREL12 = #0006
          integer, parameter :: IMAGE_REL_ARM_GPREL7 = #0007
          integer, parameter :: IMAGE_REL_ARM_SECTION = #000E
          integer, parameter :: IMAGE_REL_ARM_SECREL = #000F
          integer, parameter :: IMAGE_REL_M_IA64ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_M_IA64IMM14 = #0001
          integer, parameter :: IMAGE_REL_M_IA64IMM22 = #0002
          integer, parameter :: IMAGE_REL_M_IA64IMM64 = #0003
          integer, parameter :: IMAGE_REL_M_IA64DIR32 = #0004
          integer, parameter :: IMAGE_REL_M_IA64DIR64 = #0005
          integer, parameter :: IMAGE_REL_M_IA64PCREL21B = #0006
          integer, parameter :: IMAGE_REL_M_IA64PCREL21M = #0007
          integer, parameter :: IMAGE_REL_M_IA64PCREL21F = #0008
          integer, parameter :: IMAGE_REL_M_IA64GPREL22 = #0009
          integer, parameter :: IMAGE_REL_M_IA64LTOFF22 = #000A
          integer, parameter :: IMAGE_REL_M_IA64SECTION = #000B
          integer, parameter :: IMAGE_REL_M_IA64SECREL22 = #000C
          integer, parameter :: IMAGE_REL_M_IA64SECREL64I = #000D
          integer, parameter :: IMAGE_REL_M_IA64SECREL32 = #000E
          integer, parameter :: IMAGE_REL_M_IA64LTOFF64 = #000F
          integer, parameter :: IMAGE_REL_M_IA64DIR32NB = #0010
          integer, parameter :: IMAGE_REL_M_IA64SREL14 = #0011
          integer, parameter :: IMAGE_REL_M_IA64SREL22 = #0012
          integer, parameter :: IMAGE_REL_M_IA64SREL32 = #0013
          integer, parameter :: IMAGE_REL_M_IA64UREL32 = #0014
          integer, parameter :: IMAGE_REL_M_IA64PCREL60X = #0015
          integer, parameter :: IMAGE_REL_M_IA64PCREL60B = #0016
          integer, parameter :: IMAGE_REL_M_IA64PCREL60F = #0017
          integer, parameter :: IMAGE_REL_M_IA64PCREL60I = #0018
          integer, parameter :: IMAGE_REL_M_IA64PCREL60M = #0019
          integer, parameter :: IMAGE_REL_M_IA64IMMGPREL64 = #001A
          integer, parameter :: IMAGE_REL_M_IA64ADDEND = #001F
          integer, parameter :: IMAGE_REL_CEF_ABSOLUTE = #0000
          integer, parameter :: IMAGE_REL_CEF_ADDR32 = #0001
          integer, parameter :: IMAGE_REL_CEF_ADDR64 = #0002
          integer, parameter :: IMAGE_REL_CEF_ADDR32NB = #0003
          integer, parameter :: IMAGE_REL_CEF_SECTION = #0004
          integer, parameter :: IMAGE_REL_CEF_SECREL = #0005
          integer, parameter :: IMAGE_REL_CEF_TOKEN = #0006
          integer, parameter :: EMARCH_ENC_I17_IMM7B_INST_WORD_X = 3
          integer, parameter :: EMARCH_ENC_I17_IMM7B_SIZE_X = 7
          integer, parameter :: EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X = 4
          integer, parameter :: EMARCH_ENC_I17_IMM7B_VAL_POS_X = 0
          integer, parameter :: EMARCH_ENC_I17_IMM9D_INST_WORD_X = 3
          integer, parameter :: EMARCH_ENC_I17_IMM9D_SIZE_X = 9
          integer, parameter :: EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X = 18
          integer, parameter :: EMARCH_ENC_I17_IMM9D_VAL_POS_X = 7
          integer, parameter :: EMARCH_ENC_I17_IMM5C_INST_WORD_X = 3
          integer, parameter :: EMARCH_ENC_I17_IMM5C_SIZE_X = 5
          integer, parameter :: EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X = 13
          integer, parameter :: EMARCH_ENC_I17_IMM5C_VAL_POS_X = 16
          integer, parameter :: EMARCH_ENC_I17_IC_INST_WORD_X = 3
          integer, parameter :: EMARCH_ENC_I17_IC_SIZE_X = 1
          integer, parameter :: EMARCH_ENC_I17_IC_INST_WORD_POS_X = 12
          integer, parameter :: EMARCH_ENC_I17_IC_VAL_POS_X = 21
          integer, parameter :: EMARCH_ENC_I17_IMM41a_INST_WORD_X = 1
          integer, parameter :: EMARCH_ENC_I17_IMM41a_SIZE_X = 10
          integer, parameter :: EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X = 14
          integer, parameter :: EMARCH_ENC_I17_IMM41a_VAL_POS_X = 22
          integer, parameter :: EMARCH_ENC_I17_IMM41b_INST_WORD_X = 1
          integer, parameter :: EMARCH_ENC_I17_IMM41b_SIZE_X = 8
          integer, parameter :: EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X = 24
          integer, parameter :: EMARCH_ENC_I17_IMM41b_VAL_POS_X = 32
          integer, parameter :: EMARCH_ENC_I17_IMM41c_INST_WORD_X = 2
          integer, parameter :: EMARCH_ENC_I17_IMM41c_SIZE_X = 23
          integer, parameter :: EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X = 0
          integer, parameter :: EMARCH_ENC_I17_IMM41c_VAL_POS_X = 40
          integer, parameter :: EMARCH_ENC_I17_SIGN_INST_WORD_X = 3
          integer, parameter :: EMARCH_ENC_I17_SIGN_SIZE_X = 1
          integer, parameter :: EMARCH_ENC_I17_SIGN_INST_WORD_POS_X = 27
          integer, parameter :: EMARCH_ENC_I17_SIGN_VAL_POS_X = 63
          integer, parameter :: IMAGE_SIZEOF_LINENUMBER = 6
          integer, parameter :: IMAGE_SIZEOF_BASE_RELOCATION = 8
          integer, parameter :: IMAGE_REL_BASED_ABSOLUTE = 0
          integer, parameter :: IMAGE_REL_BASED_HIGH = 1
          integer, parameter :: IMAGE_REL_BASED_LOW = 2
          integer, parameter :: IMAGE_REL_BASED_HIGHLOW = 3
          integer, parameter :: IMAGE_REL_BASED_HIGHADJ = 4
          integer, parameter :: IMAGE_REL_BASED_MIPS_JMPADDR = 5
          integer, parameter :: IMAGE_REL_BASED_SECTION = 6
          integer, parameter :: IMAGE_REL_BASED_REL32 = 7
          integer, parameter :: IMAGE_REL_BASED_MIPS_JMPADDR16 = 9
          integer, parameter :: IMAGE_REL_BASED_M_IA64IMM64 = 9
          integer, parameter :: IMAGE_REL_BASED_DIR64 = 10
          integer, parameter :: IMAGE_REL_BASED_HIGH3ADJ = 11
          integer, parameter :: IMAGE_ARCHIVE_START_SIZE = 8
          character*9, parameter :: IMAGE_ARCHIVE_START = "!<arch>\n"
          character*3, parameter :: IMAGE_ARCHIVE_END = "`\n"
          character*2, parameter :: IMAGE_ARCHIVE_PAD = "\n"
          character*2, parameter :: IMAGE_ARCHIVE_LINKER_MEMBER = "/ "
          character*3, parameter :: IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "
          integer, parameter :: IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60
    !DEC$ IF DEFINED( _M_IA64)
          integer(DWORD64), parameter :: IMAGE_ORDINAL_FLAG64 = #8000000000000000
    !DEC$ ENDIF
          integer, parameter :: IMAGE_ORDINAL_FLAG32 = #80000000
          integer, parameter :: IMAGE_RESOURCE_NAME_IS_STRING = #80000000
          integer, parameter :: IMAGE_RESOURCE_DATA_IS_DIRECTORY = #80000000
          integer, parameter :: IMAGE_DEBUG_TYPE_UNKNOWN = 0
          integer, parameter :: IMAGE_DEBUG_TYPE_COFF = 1
          integer, parameter :: IMAGE_DEBUG_TYPE_CODEVIEW = 2
          integer, parameter :: IMAGE_DEBUG_TYPE_FPO = 3
          integer, parameter :: IMAGE_DEBUG_TYPE_MISC = 4
          integer, parameter :: IMAGE_DEBUG_TYPE_EXCEPTION = 5
          integer, parameter :: IMAGE_DEBUG_TYPE_FIXUP = 6
          integer, parameter :: IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7
          integer, parameter :: IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8
          integer, parameter :: IMAGE_DEBUG_TYPE_BORLAND = 9
          integer, parameter :: IMAGE_DEBUG_TYPE_RESERVED10 = 10
          integer, parameter :: IMAGE_DEBUG_TYPE_CLSID = 11
          integer, parameter :: FRAME_FPO = 0
          integer, parameter :: FRAME_TRAP = 1
          integer, parameter :: FRAME_TSS = 2
          integer, parameter :: FRAME_NONFPO = 3
          integer, parameter :: SIZEOF_RFPO_DATA = 16
          integer, parameter :: IMAGE_DEBUG_MISC_EXENAME = 1
          integer, parameter :: IMAGE_SEPARATE_DEBUG_SIGNATURE = #4944
          integer, parameter :: IMAGE_SEPARATE_DEBUG_FLAGS_MASK = #8000
          integer, parameter :: IMAGE_SEPARATE_DEBUG_MISMATCH = #8000
          integer, parameter :: IMPORT_OBJECT_HDR_SIG2 = #ffff
          integer, parameter ::   IMPORT_OBJECT_CODE = 0
          integer, parameter ::   IMPORT_OBJECT_DATA = 1
          integer, parameter ::   IMPORT_OBJECT_CONST = 2
          integer, parameter ::   IMPORT_OBJECT_ORDINAL = 0
          integer, parameter ::    IMPORT_OBJECT_NAME = 1
          integer, parameter ::    IMPORT_OBJECT_NAME_NO_PREFIX = 2
          integer, parameter ::    IMPORT_OBJECT_NAME_UNDECORATE = 3
          integer, parameter :: HEAP_NO_SERIALIZE = #00000001
          integer, parameter :: HEAP_GROWABLE = #00000002
          integer, parameter :: HEAP_GENERATE_EXCEPTIONS = #00000004
          integer, parameter :: HEAP_ZERO_MEMORY = #00000008
          integer, parameter :: HEAP_REALLOC_IN_PLACE_ONLY = #00000010
          integer, parameter :: HEAP_TAIL_CHECKING_ENABLED = #00000020
          integer, parameter :: HEAP_FREE_CHECKING_ENABLED = #00000040
          integer, parameter :: HEAP_DISABLE_COALESCE_ON_FREE = #00000080
          integer, parameter :: HEAP_CREATE_ALIGN_16 = #00010000
          integer, parameter :: HEAP_CREATE_ENABLE_TRACING = #00020000
          integer, parameter :: HEAP_MAXIMUM_TAG = #0FFF
          integer, parameter :: HEAP_PSEUDO_TAG_FLAG = #8000
          integer, parameter :: HEAP_TAG_SHIFT = 18
          integer, parameter :: IS_TEXT_UNICODE_ASCII16 = #0001
          integer, parameter :: IS_TEXT_UNICODE_REVERSE_ASCII16 = #0010
          integer, parameter :: IS_TEXT_UNICODE_STATISTICS = #0002
          integer, parameter :: IS_TEXT_UNICODE_REVERSE_STATISTICS = #0020
          integer, parameter :: IS_TEXT_UNICODE_CONTROLS = #0004
          integer, parameter :: IS_TEXT_UNICODE_REVERSE_CONTROLS = #0040
          integer, parameter :: IS_TEXT_UNICODE_SIGNATURE = #0008
          integer, parameter :: IS_TEXT_UNICODE_REVERSE_SIGNATURE = #0080
          integer, parameter :: IS_TEXT_UNICODE_ILLEGAL_CHARS = #0100
          integer, parameter :: IS_TEXT_UNICODE_ODD_LENGTH = #0200
          integer, parameter :: IS_TEXT_UNICODE_DBCS_LEADBYTE = #0400
          integer, parameter :: IS_TEXT_UNICODE_NULL_BYTES = #1000
          integer, parameter :: IS_TEXT_UNICODE_UNICODE_MASK = #000F
          integer, parameter :: IS_TEXT_UNICODE_REVERSE_MASK = #00F0
          integer, parameter :: IS_TEXT_UNICODE_NOT_UNICODE_MASK = #0F00
          integer, parameter :: IS_TEXT_UNICODE_NOT_ASCII_MASK = #F000
          integer, parameter :: COMPRESSION_FORMAT_NONE = (#0000)
          integer, parameter :: COMPRESSION_FORMAT_DEFAULT = (#0001)
          integer, parameter :: COMPRESSION_FORMAT_LZNT1 = (#0002)
          integer, parameter :: COMPRESSION_ENGINE_STANDARD = (#0000)
          integer, parameter :: COMPRESSION_ENGINE_MAXIMUM = (#0100)
          integer, parameter :: COMPRESSION_ENGINE_HIBER = (#0200)
          integer, parameter :: MESSAGE_RESOURCE_UNICODE = #0001
          integer, parameter :: VER_EQUAL = 1
          integer, parameter :: VER_GREATER = 2
          integer, parameter :: VER_GREATER_EQUAL = 3
          integer, parameter :: VER_LESS = 4
          integer, parameter :: VER_LESS_EQUAL = 5
          integer, parameter :: VER_AND = 6
          integer, parameter :: VER_OR = 7
          integer, parameter :: VER_CONDITION_MASK = 7
          integer, parameter :: VER_NUM_BITS_PER_CONDITION_MASK = 3
          integer, parameter :: VER_MINORVERSION = #0000001
          integer, parameter :: VER_MAJORVERSION = #0000002
          integer, parameter :: VER_BUILDNUMBER = #0000004
          integer, parameter :: VER_PLATFORMID = #0000008
          integer, parameter :: VER_SERVICEPACKMINOR = #0000010
          integer, parameter :: VER_SERVICEPACKMAJOR = #0000020
          integer, parameter :: VER_SUITENAME = #0000040
          integer, parameter :: VER_PRODUCT_TYPE = #0000080
          integer, parameter :: VER_NT_WORKSTATION = #0000001
          integer, parameter :: VER_NT_DOMAIN_CONTROLLER = #0000002
          integer, parameter :: VER_NT_SERVER = #0000003
          integer, parameter :: VER_PLATFORM_WIN32s = 0
          integer, parameter :: VER_PLATFORM__WIN32WINDOWS = 1
          integer, parameter :: VER_PLATFORM__WIN32NT = 2
          integer, parameter :: RTL_CRITSECT_TYPE = 0
          integer, parameter :: RTL_RESOURCE_TYPE = 1
          integer, parameter :: SEF_DACL_AUTO_INHERIT = #01
          integer, parameter :: SEF_SACL_AUTO_INHERIT = #02
          integer, parameter :: SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = #04
          integer, parameter :: SEF_AVOID_PRIVILEGE_CHECK = #08
          integer, parameter :: SEF_AVOID_OWNER_CHECK = #10
          integer, parameter :: SEF_DEFAULT_OWNER_FROM_PARENT = #20
          integer, parameter :: SEF_DEFAULT_GROUP_FROM_PARENT = #40
          integer, parameter :: WT_EXECUTEDEFAULT = #00000000
          integer, parameter :: WT_EXECUTEINIOTHREAD = #00000001
          integer, parameter :: WT_EXECUTEINUITHREAD = #00000002
          integer, parameter :: WT_EXECUTEINWAITTHREAD = #00000004
          integer, parameter :: WT_EXECUTEONLYONCE = #00000008
          integer, parameter :: WT_EXECUTEINTIMERTHREAD = #00000020
          integer, parameter :: WT_EXECUTELONGFUNCTION = #00000010
          integer, parameter :: WT_EXECUTEINPERSISTENTIOTHREAD = #00000040
          integer, parameter :: WT_EXECUTEINPERSISTENTTHREAD = #00000080
          integer, parameter :: WT_EXECUTEINLONGTHREAD = #00000010
          integer, parameter :: WT_EXECUTEDELETEWAIT = #00000008
          integer, parameter :: DLL_PROCESS_ATTACH = 1
          integer, parameter :: DLL_THREAD_ATTACH = 2
          integer, parameter :: DLL_THREAD_DETACH = 3
          integer, parameter :: DLL_PROCESS_DETACH = 0
          integer, parameter :: EVENTLOG_SEQUENTIAL_READ = #0001
          integer, parameter :: EVENTLOG_SEEK_READ = #0002
          integer, parameter :: EVENTLOG_FORWARDS_READ = #0004
          integer, parameter :: EVENTLOG_BACKWARDS_READ = #0008
          integer, parameter :: EVENTLOG_SUCCESS = #0000
          integer, parameter :: EVENTLOG_ERROR_TYPE = #0001
          integer, parameter :: EVENTLOG_WARNING_TYPE = #0002
          integer, parameter :: EVENTLOG_INFORMATION_TYPE = #0004
          integer, parameter :: EVENTLOG_AUDIT_SUCCESS = #0008
          integer, parameter :: EVENTLOG_AUDIT_FAILURE = #0010
          integer, parameter :: EVENTLOG_START_PAIRED_EVENT = #0001
          integer, parameter :: EVENTLOG_END_PAIRED_EVENT = #0002
          integer, parameter :: EVENTLOG_END_ALL_PAIRED_EVENTS = #0004
          integer, parameter :: EVENTLOG_PAIRED_EVENT_ACTIVE = #0008
          integer, parameter :: EVENTLOG_PAIRED_EVENT_INACTIVE = #0010
          integer, parameter :: MAXLOGICALLOGNAMESIZE = 256
          integer, parameter :: KEY_QUERY_VALUE = (#0001)
          integer, parameter :: KEY_SET_VALUE = (#0002)
          integer, parameter :: KEY_CREATE_SUB_KEY = (#0004)
          integer, parameter :: KEY_ENUMERATE_SUB_KEYS = (#0008)
          integer, parameter :: KEY_NOTIFY = (#0010)
          integer, parameter :: KEY_CREATE_LINK = (#0020)
          integer, parameter :: KEY_WOW64_RES = (#0300)
          integer, parameter :: KEY_READ = ((((#00020000)) .OR. (#0001) .OR. (#0008) .OR. (#0010))  .AND.  (.NOT.(#00100000)))
          integer, parameter :: KEY_WRITE = ((((#00020000)) .OR. (#0002) .OR. (#0004))  .AND.  (.NOT.(#00100000)))
          integer, parameter :: KEY_EXECUTE = ((((((#00020000)) .OR. (#0001) .OR. (#0008) .OR. (#0010)) .AND. (.NOT.(#00100000))))  .AND.  (.NOT.(#00100000)))
          integer, parameter :: KEY_ALL_ACCESS = (((#001F0000) .OR. (#0001) .OR. (#0002) .OR. (#0004) .OR. (#0008) .OR. (#0010) .OR. (#0020))  .AND.  (.NOT.(#00100000)))
          integer, parameter :: REG_OPTION_RESERVED = (#00000000)
          integer, parameter :: REG_OPTION_NON_VOLATILE = (#00000000)
          integer, parameter :: REG_OPTION_VOLATILE = (#00000001)
          integer, parameter :: REG_OPTION_CREATE_LINK = (#00000002)
          integer, parameter :: REG_OPTION_BACKUP_RESTORE = (#00000004)
          integer, parameter :: REG_OPTION_OPEN_LINK = (#00000008)
          integer, parameter :: REG_LEGAL_OPTION = ((#00000000) .OR. (#00000000) .OR. (#00000001) .OR. (#00000002) .OR. (#00000004) .OR. (#00000008))
          integer, parameter :: REG_CREATED_NEW_KEY = (#00000001)
          integer, parameter :: REG_OPENED_EXISTING_KEY = (#00000002)
          integer, parameter :: REG_WHOLE_HIVE_VOLATILE = (#00000001)
          integer, parameter :: REG_REFRESH_HIVE = (#00000002)
          integer, parameter :: REG_NO_LAZY_FLUSH = (#00000004)
          integer, parameter :: REG_FORCE_RESTORE = (#00000008)
          integer, parameter :: REG_NOTIFY_CHANGE_NAME = (#00000001)
          integer, parameter :: REG_NOTIFY_CHANGE_ATTRIBUTES = (#00000002)
          integer, parameter :: REG_NOTIFY_CHANGE_LAST_SET = (#00000004)
          integer, parameter :: REG_NOTIFY_CHANGE_SECURITY = (#00000008)
          integer, parameter :: REG_LEGAL_CHANGE_FILTER = ((#00000001) .OR. (#00000002) .OR. (#00000004) .OR. (#00000008))
          integer, parameter :: REG_NONE = ( 0 )
          integer, parameter :: REG_SZ = ( 1 )
          integer, parameter :: REG_EXPAND_SZ = ( 2 )
          integer, parameter :: REG_BINARY = ( 3 )
          integer, parameter :: REG_DWORD = ( 4 )
          integer, parameter :: REG_DWORD_LITTLE_ENDIAN = ( 4 )
          integer, parameter :: REG_DWORD_BIG_ENDIAN = ( 5 )
          integer, parameter :: REG_LINK = ( 6 )
          integer, parameter :: REG_MULTI_SZ = ( 7 )
          integer, parameter :: REG_RESOURCE_LIST = ( 8 )
          integer, parameter :: REG_FULL_RESOURCE_DESCRIPTOR = ( 9 )
          integer, parameter :: REG_RESOURCE_REQUIREMENTS_LIST = ( 10 )
          integer, parameter :: REG_QWORD = ( 11 )
          integer, parameter :: REG_QWORD_LITTLE_ENDIAN = ( 11 )
          integer, parameter :: SERVICE_KERNEL_DRIVER = #00000001
          integer, parameter :: SERVICE_FILE_SYSTEM_DRIVER = #00000002
          integer, parameter :: SERVICE_ADAPTER = #00000004
          integer, parameter :: SERVICE_RECOGNIZER_DRIVER = #00000008
          integer, parameter :: SERVICE_DRIVER = (#00000001 .OR.  #00000002 .OR.  #00000008)
          integer, parameter :: SERVICE__WIN32OWN_PROCESS = #00000010
          integer, parameter :: SERVICE__WIN32SHARE_PROCESS = #00000020
          integer, parameter :: SERVICE_WIN32 = (#00000010 .OR.  #00000020)
          integer, parameter :: SERVICE_INTERACTIVE_PROCESS = #00000100
          integer, parameter :: SERVICE_TYPE_ALL = ((#00000010 .OR. #00000020) .OR.  #00000004 .OR.  (#00000001 .OR. #00000002 .OR. #00000008) .OR.  #00000100)
          integer, parameter :: SERVICE_BOOT_START = #00000000
          integer, parameter :: SERVICE_SYSTEM_START = #00000001
          integer, parameter :: SERVICE_AUTO_START = #00000002
          integer, parameter :: SERVICE_DEMAND_START = #00000003
          integer, parameter :: SERVICE_DISABLED = #00000004
          integer, parameter :: SERVICE_ERROR_IGNORE = #00000000
          integer, parameter :: SERVICE_ERROR_NORMAL = #00000001
          integer, parameter :: SERVICE_ERROR_SEVERE = #00000002
          integer, parameter :: SERVICE_ERROR_CRITICAL = #00000003
          integer, parameter ::   DriverType = #00000001
          integer, parameter ::   FileSystemType = #00000002
          integer, parameter ::   Win32ServiceOwnProcess = #00000010
          integer, parameter ::   Win32ServiceShareProcess = #00000020
          integer, parameter ::   AdapterType = #00000004
          integer, parameter ::   RecognizerType = #00000008 
          integer, parameter ::   BootLoad = #00000000
          integer, parameter ::   SystemLoad = #00000001
          integer, parameter ::   AutoLoad = #00000002
          integer, parameter ::   DemandLoad = #00000003
          integer, parameter ::   DisableLoad = #00000004 
          integer, parameter ::   IgnoreError = #00000000
          integer, parameter ::   NormalError = #00000001
          integer, parameter ::   SevereError = #00000002
          integer, parameter ::   CriticalError = #00000003 
          integer, parameter :: TAPE_DRIVE_FIXED = #00000001
          integer, parameter :: TAPE_DRIVE_SELECT = #00000002
          integer, parameter :: TAPE_DRIVE_INITIATOR = #00000004
          integer, parameter :: TAPE_DRIVE_ERASE_SHORT = #00000010
          integer, parameter :: TAPE_DRIVE_ERASE_LONG = #00000020
          integer, parameter :: TAPE_DRIVE_ERASE_BOP_ONLY = #00000040
          integer, parameter :: TAPE_DRIVE_ERASE_IMMEDIATE = #00000080
          integer, parameter :: TAPE_DRIVE_TAPE_CAPACITY = #00000100
          integer, parameter :: TAPE_DRIVE_TAPE_REMAINING = #00000200
          integer, parameter :: TAPE_DRIVE_FIXED_BLOCK = #00000400
          integer, parameter :: TAPE_DRIVE_VARIABLE_BLOCK = #00000800
          integer, parameter :: TAPE_DRIVE_WRITE_PROTECT = #00001000
          integer, parameter :: TAPE_DRIVE_EOT_WZ_SIZE = #00002000
          integer, parameter :: TAPE_DRIVE_ECC = #00010000
          integer, parameter :: TAPE_DRIVE_COMPRESSION = #00020000
          integer, parameter :: TAPE_DRIVE_PADDING = #00040000
          integer, parameter :: TAPE_DRIVE_REPORT_SMKS = #00080000
          integer, parameter :: TAPE_DRIVE_GET_ABSOLUTE_BLK = #00100000
          integer, parameter :: TAPE_DRIVE_GET_LOGICAL_BLK = #00200000
          integer, parameter :: TAPE_DRIVE_SET_EOT_WZ_SIZE = #00400000
          integer, parameter :: TAPE_DRIVE_EJECT_MEDIA = #01000000
          integer, parameter :: TAPE_DRIVE_CLEAN_REQUESTS = #02000000
          integer, parameter :: TAPE_DRIVE_SET_CMP_BOP_ONLY = #04000000
          integer, parameter :: TAPE_DRIVE_RESERVED_BIT = #80000000
          integer, parameter :: TAPE_DRIVE_LOAD_UNLOAD = #80000001
          integer, parameter :: TAPE_DRIVE_TENSION = #80000002
          integer, parameter :: TAPE_DRIVE_LOCK_UNLOCK = #80000004
          integer, parameter :: TAPE_DRIVE_REWIND_IMMEDIATE = #80000008
          integer, parameter :: TAPE_DRIVE_SET_BLOCK_SIZE = #80000010
          integer, parameter :: TAPE_DRIVE_LOAD_UNLD_IMMED = #80000020
          integer, parameter :: TAPE_DRIVE_TENSION_IMMED = #80000040
          integer, parameter :: TAPE_DRIVE_LOCK_UNLK_IMMED = #80000080
          integer, parameter :: TAPE_DRIVE_SET_ECC = #80000100
          integer, parameter :: TAPE_DRIVE_SET_COMPRESSION = #80000200
          integer, parameter :: TAPE_DRIVE_SET_PADDING = #80000400
          integer, parameter :: TAPE_DRIVE_SET_REPORT_SMKS = #80000800
          integer, parameter :: TAPE_DRIVE_ABSOLUTE_BLK = #80001000
          integer, parameter :: TAPE_DRIVE_ABS_BLK_IMMED = #80002000
          integer, parameter :: TAPE_DRIVE_LOGICAL_BLK = #80004000
          integer, parameter :: TAPE_DRIVE_LOG_BLK_IMMED = #80008000
          integer, parameter :: TAPE_DRIVE_END_OF_DATA = #80010000
          integer, parameter :: TAPE_DRIVE_RELATIVE_BLKS = #80020000
          integer, parameter :: TAPE_DRIVE_FILEMARKS = #80040000
          integer, parameter :: TAPE_DRIVE_SEQUENTIAL_FMKS = #80080000
          integer, parameter :: TAPE_DRIVE_SETMARKS = #80100000
          integer, parameter :: TAPE_DRIVE_SEQUENTIAL_SMKS = #80200000
          integer, parameter :: TAPE_DRIVE_REVERSE_POSITION = #80400000
          integer, parameter :: TAPE_DRIVE_SPACE_IMMEDIATE = #80800000
          integer, parameter :: TAPE_DRIVE_WRITE_SETMARKS = #81000000
          integer, parameter :: TAPE_DRIVE_WRITE_FILEMARKS = #82000000
          integer, parameter :: TAPE_DRIVE_WRITE_SHORT_FMKS = #84000000
          integer, parameter :: TAPE_DRIVE_WRITE_LONG_FMKS = #88000000
          integer, parameter :: TAPE_DRIVE_WRITE_MARK_IMMED = #90000000
          integer, parameter :: TAPE_DRIVE_FORMAT = #A0000000
          integer, parameter :: TAPE_DRIVE_FORMAT_IMMEDIATE = #C0000000
          integer, parameter :: TAPE_DRIVE_HIGH_FEATURES = #80000000
          integer, parameter :: HFILE_ERROR = ( -1)
          integer, parameter :: INVALID_HANDLE_VALUE = ( -1)
          integer, parameter :: INVALID_FILE_SIZE = ( #FFFFFFFF)
          integer, parameter :: INVALID_SET_FILE_POINTER = ( -1)
          integer, parameter :: FILE_BEGIN = 0
          integer, parameter :: FILE_CURRENT = 1
          integer, parameter :: FILE_END = 2
          integer, parameter :: TIME_ZONE_ID_INVALID = ( #FFFFFFFF)
          integer, parameter :: WAIT_FAILED = ( #FFFFFFFF)
          integer, parameter :: WAIT_OBJECT_0 = ((( #00000000) ) + 0 )
          integer, parameter :: WAIT_ABANDONED = ((( #00000080) ) + 0 )
          integer, parameter :: WAIT_ABANDONED_0 = ((( #00000080) ) + 0 )
          integer, parameter :: FILE_FLAG_WRITE_THROUGH = #80000000
          integer, parameter :: FILE_FLAG_OVERLAPPED = #40000000
          integer, parameter :: FILE_FLAG_NO_BUFFERING = #20000000
          integer, parameter :: FILE_FLAG_RANDOM_ACCESS = #10000000
          integer, parameter :: FILE_FLAG_SEQUENTIAL_SCAN = #08000000
          integer, parameter :: FILE_FLAG_DELETE_ON_CLOSE = #04000000
          integer, parameter :: FILE_FLAG_BACKUP_SEMANTICS = #02000000
          integer, parameter :: FILE_FLAG_POSIX_SEMANTICS = #01000000
          integer, parameter :: FILE_FLAG_OPEN_REPARSE_POINT = #00200000
          integer, parameter :: FILE_FLAG_OPEN_NO_RECALL = #00100000
          integer, parameter :: CREATE_NEW = 1
          integer, parameter :: CREATE_ALWAYS = 2
          integer, parameter :: OPEN_EXISTING = 3
          integer, parameter :: OPEN_ALWAYS = 4
          integer, parameter :: TRUNCATE_EXISTING = 5
          integer, parameter :: PROGRESS_CONTINUE = 0
          integer, parameter :: PROGRESS_CANCEL = 1
          integer, parameter :: PROGRESS_STOP = 2
          integer, parameter :: PROGRESS_QUIET = 3
          integer, parameter :: CALLBACK_CHUNK_FINISHED = #00000000
          integer, parameter :: CALLBACK_STREAM_SWITCH = #00000001
          integer, parameter :: COPY_FILE_FAIL_IF_EXISTS = #00000001
          integer, parameter :: COPY_FILE_RESTARTABLE = #00000002
          integer, parameter :: COPY_FILE_OPEN_SOURCE_FOR_WRITE = #00000004
          integer, parameter :: PIPE_ACCESS_INBOUND = #00000001
          integer, parameter :: PIPE_ACCESS_OUTBOUND = #00000002
          integer, parameter :: PIPE_ACCESS_DUPLEX = #00000003
          integer, parameter :: PIPE_CLIENT_END = #00000000
          integer, parameter :: PIPE_SERVER_END = #00000001
          integer, parameter :: PIPE_WAIT = #00000000
          integer, parameter :: PIPE_NOWAIT = #00000001
          integer, parameter :: PIPE_READMODE_BYTE = #00000000
          integer, parameter :: PIPE_READMODE_MESSAGE = #00000002
          integer, parameter :: PIPE_TYPE_BYTE = #00000000
          integer, parameter :: PIPE_TYPE_MESSAGE = #00000004
          integer, parameter :: PIPE_UNLIMITED_INSTANCES = 255
          integer, parameter :: SECURITY_ANONYMOUS = ( SecurityAnonymous * 2** 16 )
          integer, parameter :: SECURITY_IDENTIFICATION = ( SecurityIdentification * 2** 16 )
          integer, parameter :: SECURITY_IMPERSONATION = ( SecurityImpersonation * 2** 16 )
          integer, parameter :: SECURITY_DELEGATION = ( SecurityDelegation * 2** 16 )
          integer, parameter :: SECURITY_CONTEXT_TRACKING = #00040000
          integer, parameter :: SECURITY_EFFECTIVE_ONLY = #00080000
          integer, parameter :: SECURITY_SQOS_PRESENT = #00100000
          integer, parameter :: SECURITY_VALID_SQOS_FLAGS = #001F0000
          integer, parameter :: SP_SERIALCOMM = ( #00000001)
          integer, parameter :: PST_UNSPECIFIED = ( #00000000)
          integer, parameter :: PST_RS232 = ( #00000001)
          integer, parameter :: PST_PARALLELPORT = ( #00000002)
          integer, parameter :: PST_RS422 = ( #00000003)
          integer, parameter :: PST_RS423 = ( #00000004)
          integer, parameter :: PST_RS449 = ( #00000005)
          integer, parameter :: PST_MODEM = ( #00000006)
          integer, parameter :: PST_FAX = ( #00000021)
          integer, parameter :: PST_SCANNER = ( #00000022)
          integer, parameter :: PST_NETWORK_BRIDGE = ( #00000100)
          integer, parameter :: PST_LAT = ( #00000101)
          integer, parameter :: PST_TCPIP_TELNET = ( #00000102)
          integer, parameter :: PST_X25 = ( #00000103)
          integer, parameter :: PCF_DTRDSR = ( #0001)
          integer, parameter :: PCF_RTSCTS = ( #0002)
          integer, parameter :: PCF_RLSD = ( #0004)
          integer, parameter :: PCF_PARITY_CHECK = ( #0008)
          integer, parameter :: PCF_XONXOFF = ( #0010)
          integer, parameter :: PCF_SETXCHAR = ( #0020)
          integer, parameter :: PCF_TOTALTIMEOUTS = ( #0040)
          integer, parameter :: PCF_INTTIMEOUTS = ( #0080)
          integer, parameter :: PCF_SPECIALCHARS = ( #0100)
          integer, parameter :: PCF_16BITMODE = ( #0200)
          integer, parameter :: SP_PARITY = ( #0001)
          integer, parameter :: SP_BAUD = ( #0002)
          integer, parameter :: SP_DATABITS = ( #0004)
          integer, parameter :: SP_STOPBITS = ( #0008)
          integer, parameter :: SP_HANDSHAKING = ( #0010)
          integer, parameter :: SP_PARITY_CHECK = ( #0020)
          integer, parameter :: SP_RLSD = ( #0040)
          integer, parameter :: BAUD_075 = ( #00000001)
          integer, parameter :: BAUD_110 = ( #00000002)
          integer, parameter :: BAUD_134_5 = ( #00000004)
          integer, parameter :: BAUD_150 = ( #00000008)
          integer, parameter :: BAUD_300 = ( #00000010)
          integer, parameter :: BAUD_600 = ( #00000020)
          integer, parameter :: BAUD_1200 = ( #00000040)
          integer, parameter :: BAUD_1800 = ( #00000080)
          integer, parameter :: BAUD_2400 = ( #00000100)
          integer, parameter :: BAUD_4800 = ( #00000200)
          integer, parameter :: BAUD_7200 = ( #00000400)
          integer, parameter :: BAUD_9600 = ( #00000800)
          integer, parameter :: BAUD_14400 = ( #00001000)
          integer, parameter :: BAUD_19200 = ( #00002000)
          integer, parameter :: BAUD_38400 = ( #00004000)
          integer, parameter :: BAUD_56K = ( #00008000)
          integer, parameter :: BAUD_128K = ( #00010000)
          integer, parameter :: BAUD_115200 = ( #00020000)
          integer, parameter :: BAUD_57600 = ( #00040000)
          integer, parameter :: BAUD_USER = ( #10000000)
          integer(2), parameter :: DATABITS_5        = (#0001)
          integer(2), parameter :: DATABITS_6        = (#0002)
          integer(2), parameter :: DATABITS_7        = (#0004)
          integer(2), parameter :: DATABITS_8        = (#0008)
          integer(2), parameter :: DATABITS_16       = (#0010)
          integer(2), parameter :: DATABITS_16X      = (#0020)
          integer(2), parameter :: STOPBITS_10       = (#0001)
          integer(2), parameter :: STOPBITS_15       = (#0002)
          integer(2), parameter :: STOPBITS_20       = (#0004)
          integer(2), parameter :: PARITY_NONE       = (#0100)
          integer(2), parameter :: PARITY_ODD        = (#0200)
          integer(2), parameter :: PARITY_EVEN       = (#0400)
          integer(2), parameter :: PARITY_MARK       = (#0800)
          integer(2), parameter :: PARITY_SPACE      = (#1000)
          integer, parameter :: COMMPROP_INITIALIZED = ( #E73CF52E)
          integer, parameter :: DTR_CONTROL_DISABLE = #00
          integer, parameter :: DTR_CONTROL_ENABLE = #01
          integer, parameter :: DTR_CONTROL_HANDSHAKE = #02
          integer, parameter :: RTS_CONTROL_DISABLE = #00
          integer, parameter :: RTS_CONTROL_ENABLE = #01
          integer, parameter :: RTS_CONTROL_HANDSHAKE = #02
          integer, parameter :: RTS_CONTROL_TOGGLE = #03
          integer, parameter :: GMEM_FIXED = #0000
          integer, parameter :: GMEM_MOVEABLE = #0002
          integer, parameter :: GMEM_NOCOMPACT = #0010
          integer, parameter :: GMEM_NODISCARD = #0020
          integer, parameter :: GMEM_ZEROINIT = #0040
          integer, parameter :: GMEM_MODIFY = #0080
          integer, parameter :: GMEM_DISCARDABLE = #0100
          integer, parameter :: GMEM_NOT_BANKED = #1000
          integer, parameter :: GMEM_SHARE = #2000
          integer, parameter :: GMEM_DDESHARE = #2000
          integer, parameter :: GMEM_NOTIFY = #4000
          integer, parameter :: GMEM_VALID_FLAGS = #7F72
          integer, parameter :: GMEM_INVALID_HANDLE = #8000
          integer, parameter :: GHND = (#0002 .OR. #0040)
          integer, parameter :: GPTR = (#0000 .OR. #0040)
          integer, parameter :: GMEM_DISCARDED = #4000
          integer, parameter :: GMEM_LOCKCOUNT = #00FF
          integer, parameter :: LMEM_FIXED = #0000
          integer, parameter :: LMEM_MOVEABLE = #0002
          integer, parameter :: LMEM_NOCOMPACT = #0010
          integer, parameter :: LMEM_NODISCARD = #0020
          integer, parameter :: LMEM_ZEROINIT = #0040
          integer, parameter :: LMEM_MODIFY = #0080
          integer, parameter :: LMEM_DISCARDABLE = #0F00
          integer, parameter :: LMEM_VALID_FLAGS = #0F72
          integer, parameter :: LMEM_INVALID_HANDLE = #8000
          integer, parameter :: LHND = (#0002 .OR. #0040)
          integer, parameter :: LPTR = (#0000 .OR. #0040)
          integer, parameter :: NONZEROLHND = (#0002)
          integer, parameter :: NONZEROLPTR = (#0000)
          integer, parameter :: LMEM_DISCARDED = #4000
          integer, parameter :: LMEM_LOCKCOUNT = #00FF
          integer, parameter :: DEBUG_PROCESS = #00000001
          integer, parameter :: DEBUG_ONLY_THIS_PROCESS = #00000002
          integer, parameter :: CREATE_SUSPENDED = #00000004
          integer, parameter :: DETACHED_PROCESS = #00000008
          integer, parameter :: CREATE_NEW_CONSOLE = #00000010
          integer, parameter :: NORMAL_PRIORITY_CLASS = #00000020
          integer, parameter :: IDLE_PRIORITY_CLASS = #00000040
          integer, parameter :: HIGH_PRIORITY_CLASS = #00000080
          integer, parameter :: REALTIME_PRIORITY_CLASS = #00000100
          integer, parameter :: CREATE_NEW_PROCESS_GROUP = #00000200
          integer, parameter :: CREATE_UNICODE_ENVIRONMENT = #00000400
          integer, parameter :: CREATE_SEPARATE_WOW_VDM = #00000800
          integer, parameter :: CREATE_SHARED_WOW_VDM = #00001000
          integer, parameter :: CREATE_FORCEDOS = #00002000
          integer, parameter :: BELOW_NORMAL_PRIORITY_CLASS = #00004000
          integer, parameter :: ABOVE_NORMAL_PRIORITY_CLASS = #00008000
          integer, parameter :: CREATE_BREAKAWAY_FROM_JOB = #01000000
          integer, parameter :: CREATE_WITH_USERPROFILE = #02000000
          integer, parameter :: CREATE_DEFAULT_ERROR_MODE = #04000000
          integer, parameter :: CREATE_NO_WINDOW = #08000000
          integer, parameter :: PROFILE_USER = #10000000
          integer, parameter :: PROFILE_KERNEL = #20000000
          integer, parameter :: PROFILE_SERVER = #40000000
          integer, parameter :: THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN         ! -2
          integer, parameter :: THREAD_PRIORITY_BELOW_NORMAL = (THREAD_PRIORITY_LOWEST+1) ! -1
          integer, parameter :: THREAD_PRIORITY_NORMAL = (THREAD_PRIORITY_LOWEST+2)       ! 0
          integer, parameter :: THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX        ! 2
          integer, parameter :: THREAD_PRIORITY_ABOVE_NORMAL = (THREAD_PRIORITY_HIGHEST-1)! 1
          integer, parameter :: THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT!15
          integer, parameter :: THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE          !-15
          integer, parameter :: THREAD_PRIORITY_ERROR_RETURN = (#7fffffff)
          integer, parameter :: EXCEPTION_DEBUG_EVENT = 1
          integer, parameter :: CREATE_THREAD_DEBUG_EVENT = 2
          integer, parameter :: CREATE_PROCESS_DEBUG_EVENT = 3
          integer, parameter :: EXIT_THREAD_DEBUG_EVENT = 4
          integer, parameter :: EXIT_PROCESS_DEBUG_EVENT = 5
          integer, parameter :: LOAD_DLL_DEBUG_EVENT = 6
          integer, parameter :: UNLOAD_DLL_DEBUG_EVENT = 7
          integer, parameter :: OUTPUT_DEBUG_STRING_EVENT = 8
          integer, parameter :: RIP_EVENT = 9
          integer, parameter :: DRIVE_UNKNOWN = 0
          integer, parameter :: DRIVE_NO_ROOT_DIR = 1
          integer, parameter :: DRIVE_REMOVABLE = 2
          integer, parameter :: DRIVE_FIXED = 3
          integer, parameter :: DRIVE_REMOTE = 4
          integer, parameter :: DRIVE_CDROM = 5
          integer, parameter :: DRIVE_RAMDISK = 6
          integer, parameter :: FILE_TYPE_UNKNOWN = #0000
          integer, parameter :: FILE_TYPE_DISK = #0001
          integer, parameter :: FILE_TYPE_CHAR = #0002
          integer, parameter :: FILE_TYPE_PIPE = #0003
          integer, parameter :: FILE_TYPE_REMOTE = #8000
          integer, parameter :: STD_INPUT_HANDLE = ( -10)
          integer, parameter :: STD_OUTPUT_HANDLE = ( -11)
          integer, parameter :: STD_ERROR_HANDLE = ( -12)
          integer, parameter :: NOPARITY = 0
          integer, parameter :: ODDPARITY = 1
          integer, parameter :: EVENPARITY = 2
          integer, parameter :: MARKPARITY = 3
          integer, parameter :: SPACEPARITY = 4
          integer, parameter :: ONESTOPBIT = 0
          integer, parameter :: ONE5STOPBITS = 1
          integer, parameter :: TWOSTOPBITS = 2
          integer, parameter :: IGNORE = 0
          integer, parameter :: INFINITE = #FFFFFFFF
          integer, parameter :: CBR_110 = 110
          integer, parameter :: CBR_300 = 300
          integer, parameter :: CBR_600 = 600
          integer, parameter :: CBR_1200 = 1200
          integer, parameter :: CBR_2400 = 2400
          integer, parameter :: CBR_4800 = 4800
          integer, parameter :: CBR_9600 = 9600
          integer, parameter :: CBR_14400 = 14400
          integer, parameter :: CBR_19200 = 19200
          integer, parameter :: CBR_38400 = 38400
          integer, parameter :: CBR_56000 = 56000
          integer, parameter :: CBR_57600 = 57600
          integer, parameter :: CBR_115200 = 115200
          integer, parameter :: CBR_128000 = 128000
          integer, parameter :: CBR_256000 = 256000
          integer, parameter :: CE_RXOVER = #0001
          integer, parameter :: CE_OVERRUN = #0002
          integer, parameter :: CE_RXPARITY = #0004
          integer, parameter :: CE_FRAME = #0008
          integer, parameter :: CE_BREAK = #0010
          integer, parameter :: CE_TXFULL = #0100
          integer, parameter :: CE_PTO = #0200
          integer, parameter :: CE_IOE = #0400
          integer, parameter :: CE_DNS = #0800
          integer, parameter :: CE_OOP = #1000
          integer, parameter :: CE_MODE = #8000
          integer, parameter :: IE_BADID = (-1)
          integer, parameter :: IE_OPEN = (-2)
          integer, parameter :: IE_NOPEN = (-3)
          integer, parameter :: IE_MEMORY = (-4)
          integer, parameter :: IE_DEFAULT = (-5)
          integer, parameter :: IE_HARDWARE = (-10)
          integer, parameter :: IE_BYTESIZE = (-11)
          integer, parameter :: IE_BAUDRATE = (-12)
          integer, parameter :: EV_RXCHAR = #0001
          integer, parameter :: EV_RXFLAG = #0002
          integer, parameter :: EV_TXEMPTY = #0004
          integer, parameter :: EV_CTS = #0008
          integer, parameter :: EV_DSR = #0010
          integer, parameter :: EV_RLSD = #0020
          integer, parameter :: EV_BREAK = #0040
          integer, parameter :: EV_ERR = #0080
          integer, parameter :: EV_RING = #0100
          integer, parameter :: EV_PERR = #0200
          integer, parameter :: EV_RX80FULL = #0400
          integer, parameter :: EV_EVENT1 = #0800
          integer, parameter :: EV_EVENT2 = #1000
          integer, parameter :: SETXOFF = 1
          integer, parameter :: SETXON = 2
          integer, parameter :: SETRTS = 3
          integer, parameter :: CLRRTS = 4
          integer, parameter :: SETDTR = 5
          integer, parameter :: CLRDTR = 6
          integer, parameter :: RESETDEV = 7
          integer, parameter :: SETBREAK = 8
          integer, parameter :: CLRBREAK = 9
          integer, parameter :: PURGE_TXABORT = #0001
          integer, parameter :: PURGE_RXABORT = #0002
          integer, parameter :: PURGE_TXCLEAR = #0004
          integer, parameter :: PURGE_RXCLEAR = #0008
          integer, parameter :: LPTx = #80
          integer, parameter :: MS_CTS_ON = ( #0010)
          integer, parameter :: MS_DSR_ON = ( #0020)
          integer, parameter :: MS_RING_ON = ( #0040)
          integer, parameter :: MS_RLSD_ON = ( #0080)
          integer, parameter :: S_QUEUEEMPTY = 0
          integer, parameter :: S_THRESHOLD = 1
          integer, parameter :: S_ALLTHRESHOLD = 2
          integer, parameter :: S_NORMAL = 0
          integer, parameter :: S_LEGATO = 1
          integer, parameter :: S_STACCATO = 2
          integer, parameter :: S_PERIOD512 = 0
          integer, parameter :: S_PERIOD1024 = 1
          integer, parameter :: S_PERIOD2048 = 2
          integer, parameter :: S_PERIODVOICE = 3
          integer, parameter :: S_WHITE512 = 4
          integer, parameter :: S_WHITE1024 = 5
          integer, parameter :: S_WHITE2048 = 6
          integer, parameter :: S_WHITEVOICE = 7
          integer, parameter :: S_SERDVNA = (-1)
          integer, parameter :: S_SEROFM = (-2)
          integer, parameter :: S_SERMACT = (-3)
          integer, parameter :: S_SERQFUL = (-4)
          integer, parameter :: S_SERBDNT = (-5)
          integer, parameter :: S_SERDLN = (-6)
          integer, parameter :: S_SERDCC = (-7)
          integer, parameter :: S_SERDTP = (-8)
          integer, parameter :: S_SERDVL = (-9)
          integer, parameter :: S_SERDMD = (-10)
          integer, parameter :: S_SERDSH = (-11)
          integer, parameter :: S_SERDPT = (-12)
          integer, parameter :: S_SERDFQ = (-13)
          integer, parameter :: S_SERDDR = (-14)
          integer, parameter :: S_SERDSR = (-15)
          integer, parameter :: S_SERDST = (-16)
          integer, parameter :: NMPWAIT_WAIT_FOREVER = #ffffffff
          integer, parameter :: NMPWAIT_NOWAIT = #00000001
          integer, parameter :: NMPWAIT_USE_DEFAULT_WAIT = #00000000
          integer, parameter :: FS_CASE_IS_PRESERVED = #00000002
          integer, parameter :: FS_CASE_SENSITIVE = #00000001
          integer, parameter :: FS_UNICODE_STORED_ON_DISK = #00000004
          integer, parameter :: FS_PERSISTENT_ACLS = #00000008
          integer, parameter :: FS_VOL_IS_COMPRESSED = #00008000
          integer, parameter :: FS_FILE_COMPRESSION = #00000010
          integer, parameter :: FILE_MAP_COPY = #0001
          integer, parameter :: FILE_MAP_WRITE = #0002
          integer, parameter :: FILE_MAP_READ = #0004
          integer, parameter :: FILE_MAP_EXECUTE = #0008
          integer, parameter :: FILE_EXTEND_SIZE = #0010
          integer, parameter :: FILE_MAP_ALL_ACCESS = ((#000F0000).OR.#0001.OR. #0002 .OR.  #0004 .OR.  #0008 .OR.  #0010)
          integer, parameter :: OF_READ = #00000000
          integer, parameter :: OF_WRITE = #00000001
          integer, parameter :: OF_READWRITE = #00000002
          integer, parameter :: OF_SHARE_COMPAT = #00000000
          integer, parameter :: OF_SHARE_EXCLUSIVE = #00000010
          integer, parameter :: OF_SHARE_DENY_WRITE = #00000020
          integer, parameter :: OF_SHARE_DENY_READ = #00000030
          integer, parameter :: OF_SHARE_DENY_NONE = #00000040
          integer, parameter :: OF_PARSE = #00000100
          integer, parameter :: OF_DELETE = #00000200
          integer, parameter :: OF_VERIFY = #00000400
          integer, parameter :: OF_CANCEL = #00000800
          integer, parameter :: OF_CREATE = #00001000
          integer, parameter :: OF_PROMPT = #00002000
          integer, parameter :: OF_EXIST = #00004000
          integer, parameter :: OF_REOPEN = #00008000
          integer, parameter :: OFS_MAXPATHNAME = 128
          integer, parameter :: MAXINTATOM = #C000
          integer, parameter :: INVALID_ATOM = ( 0)
          integer, parameter :: PROCESS_HEAP_REGION = #0001
          integer, parameter :: PROCESS_HEAP_UNCOMMITTED_RANGE = #0002
          integer, parameter :: PROCESS_HEAP_ENTRY_BUSY = #0004
          integer, parameter :: PROCESS_HEAP_ENTRY_MOVEABLE = #0010
          integer, parameter :: PROCESS_HEAP_ENTRY_DDESHARE = #0020
          integer, parameter :: SCS_32BIT_BINARY = 0
          integer, parameter :: SCS_DOS_BINARY = 1
          integer, parameter :: SCS_WOW_BINARY = 2
          integer, parameter :: SCS_PIF_BINARY = 3
          integer, parameter :: SCS_POSIX_BINARY = 4
          integer, parameter :: SCS_OS216_BINARY = 5
          integer, parameter :: SEM_FAILCRITICALERRORS = #0001
          integer, parameter :: SEM_NOGPFAULTERRORBOX = #0002
          integer, parameter :: SEM_NOALIGNMENTFAULTEXCEPT = #0004
          integer, parameter :: SEM_NOOPENFILEERRORBOX = #8000
          integer, parameter :: LOCKFILE_FAIL_IMMEDIATELY = #00000001
          integer, parameter :: LOCKFILE_EXCLUSIVE_LOCK = #00000002
          integer, parameter :: HANDLE_FLAG_INHERIT = #00000001
          integer, parameter :: HANDLE_FLAG_PROTECT_FROM_CLOSE = #00000002
          integer, parameter :: HINSTANCE_ERROR = 32
          integer, parameter :: GET_TAPE_MEDIA_INFORMATION = 0
          integer, parameter :: GET_TAPE_DRIVE_INFORMATION = 1
          integer, parameter :: SET_TAPE_MEDIA_INFORMATION = 0
          integer, parameter :: SET_TAPE_DRIVE_INFORMATION = 1
          integer, parameter :: FORMAT_MESSAGE_ALLOCATE_BUFFER = #00000100
          integer, parameter :: FORMAT_MESSAGE_IGNORE_INSERTS = #00000200
          integer, parameter :: FORMAT_MESSAGE_FROM_STRING = #00000400
          integer, parameter :: FORMAT_MESSAGE_FROM_HMODULE = #00000800
          integer, parameter :: FORMAT_MESSAGE_FROM_SYSTEM = #00001000
          integer, parameter :: FORMAT_MESSAGE_ARGUMENT_ARRAY = #00002000
          integer, parameter :: FORMAT_MESSAGE_MAX_WIDTH_MASK = #000000FF
          integer, parameter :: FILE_ENCRYPTABLE = 0
          integer, parameter :: FILE_IS_ENCRYPTED = 1
          integer, parameter :: FILE_SYSTEM_ATTR = 2
          integer, parameter :: FILE_ROOT_DIR = 3
          integer, parameter :: FILE_SYSTEM_DIR = 4
          integer, parameter :: FILE_UNKNOWN = 5
          integer, parameter :: FILE_SYSTEM_NOT_SUPPORT = 6
          integer, parameter :: FILE_USER_DISALLOWED = 7
          integer, parameter :: FILE_READ_ONLY = 8
          integer, parameter :: FILE_DIR_DISALLOWED = 9
          integer, parameter :: EFS_USE_RECOVERY_KEYS = (#1)
          integer, parameter :: CREATE_FOR_IMPORT = (1)
          integer, parameter :: CREATE_FOR_DIR = (2)
          integer, parameter :: TLS_OUT_OF_INDEXES =  #FFFFFFFF
          integer, parameter :: BACKUP_INVALID = #00000000
          integer, parameter :: BACKUP_DATA = #00000001
          integer, parameter :: BACKUP_EA_DATA = #00000002
          integer, parameter :: BACKUP_SECURITY_DATA = #00000003
          integer, parameter :: BACKUP_ALTERNATE_DATA = #00000004
          integer, parameter :: BACKUP_LINK = #00000005
          integer, parameter :: BACKUP_PROPERTY_DATA = #00000006
          integer, parameter :: BACKUP_OBJECT_ID = #00000007
          integer, parameter :: BACKUP_REPARSE_DATA = #00000008
          integer, parameter :: BACKUP_SPARSE_BLOCK = #00000009
          integer, parameter :: STREAM_NORMAL_ATTRIBUTE = #00000000
          integer, parameter :: STREAM_MODIFIED_WHEN_READ = #00000001
          integer, parameter :: STREAM_CONTAINS_SECURITY = #00000002
          integer, parameter :: STREAM_CONTAINS_PROPERTIES = #00000004
          integer, parameter :: STREAM_SPARSE_ATTRIBUTE = #00000008
          integer, parameter :: STARTF_USESHOWWINDOW = #00000001
          integer, parameter :: STARTF_USESIZE = #00000002
          integer, parameter :: STARTF_USEPOSITION = #00000004
          integer, parameter :: STARTF_USECOUNTCHARS = #00000008
          integer, parameter :: STARTF_USEFILLATTRIBUTE = #00000010
          integer, parameter :: STARTF_RUNFULLSCREEN = #00000020
          integer, parameter :: STARTF_FORCEONFEEDBACK = #00000040
          integer, parameter :: STARTF_FORCEOFFFEEDBACK = #00000080
          integer, parameter :: STARTF_USESTDHANDLES = #00000100
          integer, parameter :: STARTF_USEHOTKEY = #00000200
          integer, parameter :: SHUTDOWN_NORETRY = #00000001
          integer, parameter :: DONT_RESOLVE_DLL_REFERENCES = #00000001
          integer, parameter :: LOAD_LIBRARY_AS_DATAFILE = #00000002
          integer, parameter :: LOAD_WITH_ALTERED_SEARCH_PATH = #00000008
          integer, parameter :: DDD_RAW_TARGET_PATH = #00000001
          integer, parameter :: DDD_REMOVE_DEFINITION = #00000002
          integer, parameter :: DDD_EXACT_MATCH_ON_REMOVE = #00000004
          integer, parameter :: DDD_NO_BROADCAST_SYSTEM = #00000008
          integer, parameter ::   GetFileExInfoStandard = 0
          integer, parameter ::   GetFileExMaxInfoLevel  = 1
          integer, parameter ::   FindExInfoStandard = 0
          integer, parameter ::   FindExInfoMaxInfoLevel  = 1
          integer, parameter ::   FindExSearchNameMatch = 0
          integer, parameter ::   FindExSearchLimitToDirectories = 1
          integer, parameter ::   FindExSearchLimitToDevices = 2
          integer, parameter ::   FindExSearchMaxSearchOp  = 3
          integer, parameter :: FIND_FIRST_EX_CASE_SENSITIVE = #00000001
          integer, parameter :: MOVEFILE_REPLACE_EXISTING = #00000001
          integer, parameter :: MOVEFILE_COPY_ALLOWED = #00000002
          integer, parameter :: MOVEFILE_DELAY_UNTIL_REBOOT = #00000004
          integer, parameter :: MOVEFILE_WRITE_THROUGH = #00000008
          integer, parameter :: EVENTLOG_FULL_INFO = 0
          integer, parameter :: MAX_COMPUTERNAME_LENGTH = 15
          integer, parameter :: LOGON32_LOGON_INTERACTIVE = 2
          integer, parameter :: LOGON32_LOGON_NETWORK = 3
          integer, parameter :: LOGON32_LOGON_BATCH = 4
          integer, parameter :: LOGON32_LOGON_SERVICE = 5
          integer, parameter :: LOGON32_LOGON_UNLOCK = 7
          integer, parameter :: LOGON32_PROVIDER_DEFAULT = 0
          integer, parameter :: LOGON32_PROVIDER_WINNT35 = 1
          integer, parameter :: LOGON32_PROVIDER_WINNT40 = 2
          integer, parameter :: MAX_MANGLED_SITE = (27)
          integer, parameter :: HW_PROFILE_GUIDLEN = 39
          integer, parameter :: MAX_PROFILE_LEN = 80
          integer, parameter :: DOCKINFO_UNDOCKED = (#1)
          integer, parameter :: DOCKINFO_DOCKED = (#2)
          integer, parameter :: DOCKINFO_USER_SUPPLIED = (#4)
          integer, parameter :: DOCKINFO_USER_UNDOCKED = ((#4) .OR. (#1))
          integer, parameter :: DOCKINFO_USER_DOCKED = ((#4) .OR. (#2))
          integer, parameter :: FACILITY_WINDOWS = 8
          integer, parameter :: FACILITY_URT = 19
          integer, parameter :: FACILITY_STORAGE = 3
          integer, parameter :: FACILITY_SSPI = 9
          integer, parameter :: FACILITY_SCARD = 16
          integer, parameter :: FACILITY_SETUPAPI = 15
          integer, parameter :: FACILITY_SECURITY = 9
          integer, parameter :: FACILITY_RPC = 1
          integer, parameter :: FACILITY_WIN32 = 7
          integer, parameter :: FACILITY_CONTROL = 10
          integer, parameter :: FACILITY_NULL = 0
          integer, parameter :: FACILITY_MSMQ = 14
          integer, parameter :: FACILITY_MEDIASERVER = 13
          integer, parameter :: FACILITY_INTERNET = 12
          integer, parameter :: FACILITY_ITF = 4
          integer, parameter :: FACILITY_DISPATCH = 2
          integer, parameter :: FACILITY_COMPLUS = 17
          integer, parameter :: FACILITY_CERT = 11
          integer, parameter :: FACILITY_ACS = 20
          integer, parameter :: FACILITY_AAF = 18
          integer, parameter :: SEC_E_OK = ( #00000000)
          integer, parameter :: DNS_ERROR_RESPONSE_CODES_BASE = 9000
          integer, parameter :: DNS_ERROR_MASK = #00002328
          integer, parameter :: DNS_ERROR_PACKET_FMT_BASE = 9500
          integer, parameter :: DNS_ERROR_GENERAL_API_BASE = 9550
          integer, parameter :: DNS_ERROR_ZONE_BASE = 9600
          integer, parameter :: DNS_ERROR_DATAFILE_BASE = 9650
          integer, parameter :: DNS_ERROR_DATABASE_BASE = 9700
          integer, parameter :: DNS_ERROR_OPERATION_BASE = 9750
          integer, parameter :: DNS_ERROR_SECURE_BASE = 9800
          integer, parameter :: DNS_ERROR_SETUP_BASE = 9850
          integer, parameter :: WSABASEERR = 10000
          integer, parameter :: SEVERITY_SUCCESS = 0
          integer, parameter :: SEVERITY_ERROR = 1
          integer, parameter :: FACILITY_NT_BIT = #10000000
          integer, parameter :: NOERROR = 0
          integer, parameter :: E_UNEXPECTED = ( #8000FFFF)
          integer, parameter :: E_NOTIMPL = ( #80004001)
          integer, parameter :: E_OUTOFMEMORY = ( #8007000E)
          integer, parameter :: E_INVALIDARG = ( #80070057)
          integer, parameter :: E_NOINTERFACE = ( #80004002)
          integer, parameter :: E_POINTER = ( #80004003)
          integer, parameter :: E_HANDLE = ( #80070006)
          integer, parameter :: E_ABORT = ( #80004004)
          integer, parameter :: E_FAIL = ( #80004005)
          integer, parameter :: E_ACCESSDENIED = ( #80070005)
          integer, parameter :: E_PENDING = ( #8000000A)
          integer, parameter :: CO_E_INIT_TLS = ( #80004006)
          integer, parameter :: CO_E_INIT_SHARED_ALLOCATOR = ( #80004007)
          integer, parameter :: CO_E_INIT_MEMORY_ALLOCATOR = ( #80004008)
          integer, parameter :: CO_E_INIT_CLASS_CACHE = ( #80004009)
          integer, parameter :: CO_E_INIT_RPC_CHANNEL = ( #8000400A)
          integer, parameter :: CO_E_INIT_TLS_SET_CHANNEL_CONTROL = ( #8000400B)
          integer, parameter :: CO_E_INIT_TLS_CHANNEL_CONTROL = ( #8000400C)
          integer, parameter :: CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = ( #8000400D)
          integer, parameter :: CO_E_INIT_SCM_MUTEX_EXISTS = ( #8000400E)
          integer, parameter :: CO_E_INIT_SCM_FILE_MAPPING_EXISTS = ( #8000400F)
          integer, parameter :: CO_E_INIT_SCM_MAP_VIEW_OF_FILE = ( #80004010)
          integer, parameter :: CO_E_INIT_SCM_EXEC_FAILURE = ( #80004011)
          integer, parameter :: CO_E_INIT_ONLY_SINGLE_THREADED = ( #80004012)
          integer, parameter :: CO_E_CANT_REMOTE = ( #80004013)
          integer, parameter :: CO_E_BAD_SERVER_NAME = ( #80004014)
          integer, parameter :: CO_E_WRONG_SERVER_IDENTITY = ( #80004015)
          integer, parameter :: CO_E_OLE1DDE_DISABLED = ( #80004016)
          integer, parameter :: CO_E_RUNAS_SYNTAX = ( #80004017)
          integer, parameter :: CO_E_CREATEPROCESS_FAILURE = ( #80004018)
          integer, parameter :: CO_E_RUNAS_CREATEPROCESS_FAILURE = ( #80004019)
          integer, parameter :: CO_E_RUNAS_LOGON_FAILURE = ( #8000401A)
          integer, parameter :: CO_E_LAUNCH_PERMSSION_DENIED = ( #8000401B)
          integer, parameter :: CO_E_START_SERVICE_FAILURE = ( #8000401C)
          integer, parameter :: CO_E_REMOTE_COMMUNICATION_FAILURE = ( #8000401D)
          integer, parameter :: CO_E_SERVER_START_TIMEOUT = ( #8000401E)
          integer, parameter :: CO_E_CLSREG_INCONSISTENT = ( #8000401F)
          integer, parameter :: CO_E_IIDREG_INCONSISTENT = ( #80004020)
          integer, parameter :: CO_E_NOT_SUPPORTED = ( #80004021)
          integer, parameter :: CO_E_RELOAD_DLL = ( #80004022)
          integer, parameter :: CO_E_MSI_ERROR = ( #80004023)
          integer, parameter :: CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT = ( #80004024)
          integer, parameter :: S_OK = ( #00000000)
          integer, parameter :: S_FALSE = ( #00000001)
          integer, parameter :: OLE_E_FIRST = ( #80040000)
          integer, parameter :: OLE_E_LAST = ( #800400FF)
          integer, parameter :: OLE_S_FIRST = ( #00040000)
          integer, parameter :: OLE_S_LAST = ( #000400FF)
          integer, parameter :: OLE_E_OLEVERB = ( #80040000)
          integer, parameter :: OLE_E_ADVF = ( #80040001)
          integer, parameter :: OLE_E_ENUM_NOMORE = ( #80040002)
          integer, parameter :: OLE_E_ADVISENOTSUPPORTED = ( #80040003)
          integer, parameter :: OLE_E_NOCONNECTION = ( #80040004)
          integer, parameter :: OLE_E_NOTRUNNING = ( #80040005)
          integer, parameter :: OLE_E_NOCACHE = ( #80040006)
          integer, parameter :: OLE_E_BLANK = ( #80040007)
          integer, parameter :: OLE_E_CLASSDIFF = ( #80040008)
          integer, parameter :: OLE_E_CANT_GETMONIKER = ( #80040009)
          integer, parameter :: OLE_E_CANT_BINDTOSOURCE = ( #8004000A)
          integer, parameter :: OLE_E_STATIC = ( #8004000B)
          integer, parameter :: OLE_E_PROMPTSAVECANCELLED = ( #8004000C)
          integer, parameter :: OLE_E_INVALIDRECT = ( #8004000D)
          integer, parameter :: OLE_E_WRONGCOMPOBJ = ( #8004000E)
          integer, parameter :: OLE_E_INVALIDHWND = ( #8004000F)
          integer, parameter :: OLE_E_NOT_INPLACEACTIVE = ( #80040010)
          integer, parameter :: OLE_E_CANTCONVERT = ( #80040011)
          integer, parameter :: OLE_E_NOSTORAGE = ( #80040012)
          integer, parameter :: DV_E_FORMATETC = ( #80040064)
          integer, parameter :: DV_E_DVTARGETDEVICE = ( #80040065)
          integer, parameter :: DV_E_STGMEDIUM = ( #80040066)
          integer, parameter :: DV_E_STATDATA = ( #80040067)
          integer, parameter :: DV_E_LINDEX = ( #80040068)
          integer, parameter :: DV_E_TYMED = ( #80040069)
          integer, parameter :: DV_E_CLIPFORMAT = ( #8004006A)
          integer, parameter :: DV_E_DVASPECT = ( #8004006B)
          integer, parameter :: DV_E_DVTARGETDEVICE_SIZE = ( #8004006C)
          integer, parameter :: DV_E_NOIVIEWOBJECT = ( #8004006D)
          integer, parameter :: DRAGDROP_E_FIRST = #80040100
          integer, parameter :: DRAGDROP_E_LAST = #8004010F
          integer, parameter :: DRAGDROP_S_FIRST = #00040100
          integer, parameter :: DRAGDROP_S_LAST = #0004010F
          integer, parameter :: DRAGDROP_E_NOTREGISTERED = ( #80040100)
          integer, parameter :: DRAGDROP_E_ALREADYREGISTERED = ( #80040101)
          integer, parameter :: DRAGDROP_E_INVALIDHWND = ( #80040102)
          integer, parameter :: CLASSFACTORY_E_FIRST = #80040110
          integer, parameter :: CLASSFACTORY_E_LAST = #8004011F
          integer, parameter :: CLASSFACTORY_S_FIRST = #00040110
          integer, parameter :: CLASSFACTORY_S_LAST = #0004011F
          integer, parameter :: CLASS_E_NOAGGREGATION = ( #80040110)
          integer, parameter :: CLASS_E_CLASSNOTAVAILABLE = ( #80040111)
          integer, parameter :: CLASS_E_NOTLICENSED = ( #80040112)
          integer, parameter :: MARSHAL_E_FIRST = #80040120
          integer, parameter :: MARSHAL_E_LAST = #8004012F
          integer, parameter :: MARSHAL_S_FIRST = #00040120
          integer, parameter :: MARSHAL_S_LAST = #0004012F
          integer, parameter :: DATA_E_FIRST = #80040130
          integer, parameter :: DATA_E_LAST = #8004013F
          integer, parameter :: DATA_S_FIRST = #00040130
          integer, parameter :: DATA_S_LAST = #0004013F
          integer, parameter :: VIEW_E_FIRST = #80040140
          integer, parameter :: VIEW_E_LAST = #8004014F
          integer, parameter :: VIEW_S_FIRST = #00040140
          integer, parameter :: VIEW_S_LAST = #0004014F
          integer, parameter :: VIEW_E_DRAW = ( #80040140)
          integer, parameter :: REGDB_E_FIRST = #80040150
          integer, parameter :: REGDB_E_LAST = #8004015F
          integer, parameter :: REGDB_S_FIRST = #00040150
          integer, parameter :: REGDB_S_LAST = #0004015F
          integer, parameter :: REGDB_E_READREGDB = ( #80040150)
          integer, parameter :: REGDB_E_WRITEREGDB = ( #80040151)
          integer, parameter :: REGDB_E_KEYMISSING = ( #80040152)
          integer, parameter :: REGDB_E_INVALIDVALUE = ( #80040153)
          integer, parameter :: REGDB_E_CLASSNOTREG = ( #80040154)
          integer, parameter :: REGDB_E_IIDNOTREG = ( #80040155)
          integer, parameter :: REGDB_E_BADTHREADINGMODEL = ( #80040156)
          integer, parameter :: CAT_E_FIRST = #80040160
          integer, parameter :: CAT_E_LAST = #80040161
          integer, parameter :: CAT_E_CATIDNOEXIST = ( #80040160)
          integer, parameter :: CAT_E_NODESCRIPTION = ( #80040161)
          integer, parameter :: CS_E_FIRST = #80040164
          integer, parameter :: CS_E_LAST = #8004016F
          integer, parameter :: CS_E_PACKAGE_NOTFOUND = ( #80040164)
          integer, parameter :: CS_E_NOT_DELETABLE = ( #80040165)
          integer, parameter :: CS_E_CLASS_NOTFOUND = ( #80040166)
          integer, parameter :: CS_E_INVALID_VERSION = ( #80040167)
          integer, parameter :: CS_E_NO_CLASSSTORE = ( #80040168)
          integer, parameter :: CS_E_OBJECT_NOTFOUND = ( #80040169)
          integer, parameter :: CS_E_OBJECT_ALREADY_EXISTS = ( #8004016A)
          integer, parameter :: CS_E_INVALID_PATH = ( #8004016B)
          integer, parameter :: CS_E_NETWORK_ERROR = ( #8004016C)
          integer, parameter :: CS_E_ADMIN_LIMIT_EXCEEDED = ( #8004016D)
          integer, parameter :: CS_E_SCHEMA_MISMATCH = ( #8004016E)
          integer, parameter :: CS_E_INTERNAL_ERROR = ( #8004016F)
          integer, parameter :: CACHE_E_FIRST = #80040170
          integer, parameter :: CACHE_E_LAST = #8004017F
          integer, parameter :: CACHE_S_FIRST = #00040170
          integer, parameter :: CACHE_S_LAST = #0004017F
          integer, parameter :: CACHE_E_NOCACHE_UPDATED = ( #80040170)
          integer, parameter :: OLEOBJ_E_FIRST = #80040180
          integer, parameter :: OLEOBJ_E_LAST = #8004018F
          integer, parameter :: OLEOBJ_S_FIRST = #00040180
          integer, parameter :: OLEOBJ_S_LAST = #0004018F
          integer, parameter :: OLEOBJ_E_NOVERBS = ( #80040180)
          integer, parameter :: OLEOBJ_E_INVALIDVERB = ( #80040181)
          integer, parameter :: CLIENTSITE_E_FIRST = #80040190
          integer, parameter :: CLIENTSITE_E_LAST = #8004019F
          integer, parameter :: CLIENTSITE_S_FIRST = #00040190
          integer, parameter :: CLIENTSITE_S_LAST = #0004019F
          integer, parameter :: INPLACE_E_NOTUNDOABLE = ( #800401A0)
          integer, parameter :: INPLACE_E_NOTOOLSPACE = ( #800401A1)
          integer, parameter :: INPLACE_E_FIRST = #800401A0
          integer, parameter :: INPLACE_E_LAST = #800401AF
          integer, parameter :: INPLACE_S_FIRST = #000401A0
          integer, parameter :: INPLACE_S_LAST = #000401AF
          integer, parameter :: ENUM_E_FIRST = #800401B0
          integer, parameter :: ENUM_E_LAST = #800401BF
          integer, parameter :: ENUM_S_FIRST = #000401B0
          integer, parameter :: ENUM_S_LAST = #000401BF
          integer, parameter :: CONVERT10_E_FIRST = #800401C0
          integer, parameter :: CONVERT10_E_LAST = #800401CF
          integer, parameter :: CONVERT10_S_FIRST = #000401C0
          integer, parameter :: CONVERT10_S_LAST = #000401CF
          integer, parameter :: CONVERT10_E_OLESTREAM_GET = ( #800401C0)
          integer, parameter :: CONVERT10_E_OLESTREAM_PUT = ( #800401C1)
          integer, parameter :: CONVERT10_E_OLESTREAM_FMT = ( #800401C2)
          integer, parameter :: CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = ( #800401C3)
          integer, parameter :: CONVERT10_E_STG_FMT = ( #800401C4)
          integer, parameter :: CONVERT10_E_STG_NO_STD_STREAM = ( #800401C5)
          integer, parameter :: CONVERT10_E_STG_DIB_TO_BITMAP = ( #800401C6)
          integer, parameter :: CLIPBRD_E_FIRST = #800401D0
          integer, parameter :: CLIPBRD_E_LAST = #800401DF
          integer, parameter :: CLIPBRD_S_FIRST = #000401D0
          integer, parameter :: CLIPBRD_S_LAST = #000401DF
          integer, parameter :: CLIPBRD_E_CANT_OPEN = ( #800401D0)
          integer, parameter :: CLIPBRD_E_CANT_EMPTY = ( #800401D1)
          integer, parameter :: CLIPBRD_E_CANT_SET = ( #800401D2)
          integer, parameter :: CLIPBRD_E_BAD_DATA = ( #800401D3)
          integer, parameter :: CLIPBRD_E_CANT_CLOSE = ( #800401D4)
          integer, parameter :: MK_E_FIRST = #800401E0
          integer, parameter :: MK_E_LAST = #800401EF
          integer, parameter :: MK_S_FIRST = #000401E0
          integer, parameter :: MK_S_LAST = #000401EF
          integer, parameter :: MK_E_CONNECTMANUALLY = ( #800401E0)
          integer, parameter :: MK_E_EXCEEDEDDEADLINE = ( #800401E1)
          integer, parameter :: MK_E_NEEDGENERIC = ( #800401E2)
          integer, parameter :: MK_E_UNAVAILABLE = ( #800401E3)
          integer, parameter :: MK_E_SYNTAX = ( #800401E4)
          integer, parameter :: MK_E_NOOBJECT = ( #800401E5)
          integer, parameter :: MK_E_INVALIDEXTENSION = ( #800401E6)
          integer, parameter :: MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = ( #800401E7)
          integer, parameter :: MK_E_NOTBINDABLE = ( #800401E8)
          integer, parameter :: MK_E_NOTBOUND = ( #800401E9)
          integer, parameter :: MK_E_CANTOPENFILE = ( #800401EA)
          integer, parameter :: MK_E_MUSTBOTHERUSER = ( #800401EB)
          integer, parameter :: MK_E_NOINVERSE = ( #800401EC)
          integer, parameter :: MK_E_NOSTORAGE = ( #800401ED)
          integer, parameter :: MK_E_NOPREFIX = ( #800401EE)
          integer, parameter :: MK_E_ENUMERATION_FAILED = ( #800401EF)
          integer, parameter :: CO_E_FIRST = #800401F0
          integer, parameter :: CO_E_LAST = #800401FF
          integer, parameter :: CO_S_FIRST = #000401F0
          integer, parameter :: CO_S_LAST = #000401FF
          integer, parameter :: CO_E_NOTINITIALIZED = ( #800401F0)
          integer, parameter :: CO_E_ALREADYINITIALIZED = ( #800401F1)
          integer, parameter :: CO_E_CANTDETERMINECLASS = ( #800401F2)
          integer, parameter :: CO_E_CLASSSTRING = ( #800401F3)
          integer, parameter :: CO_E_IIDSTRING = ( #800401F4)
          integer, parameter :: CO_E_APPNOTFOUND = ( #800401F5)
          integer, parameter :: CO_E_APPSINGLEUSE = ( #800401F6)
          integer, parameter :: CO_E_ERRORINAPP = ( #800401F7)
          integer, parameter :: CO_E_DLLNOTFOUND = ( #800401F8)
          integer, parameter :: CO_E_ERRORINDLL = ( #800401F9)
          integer, parameter :: CO_E_WRONGOSFORAPP = ( #800401FA)
          integer, parameter :: CO_E_OBJNOTREG = ( #800401FB)
          integer, parameter :: CO_E_OBJISREG = ( #800401FC)
          integer, parameter :: CO_E_OBJNOTCONNECTED = ( #800401FD)
          integer, parameter :: CO_E_APPDIDNTREG = ( #800401FE)
          integer, parameter :: CO_E_RELEASED = ( #800401FF)
          integer, parameter :: EVENT_E_FIRST = #80040200
          integer, parameter :: EVENT_E_LAST = #8004021F
          integer, parameter :: EVENT_S_FIRST = #00040200
          integer, parameter :: EVENT_S_LAST = #0004021F
          integer, parameter :: EVENT_S_SOME_SUBSCRIBERS_FAILED = ( #00040200)
          integer, parameter :: EVENT_E_ALL_SUBSCRIBERS_FAILED = ( #80040201)
          integer, parameter :: EVENT_S_NOSUBSCRIBERS = ( #00040202)
          integer, parameter :: EVENT_E_QUERYSYNTAX = ( #80040203)
          integer, parameter :: EVENT_E_QUERYFIELD = ( #80040204)
          integer, parameter :: EVENT_E_INTERNALEXCEPTION = ( #80040205)
          integer, parameter :: EVENT_E_INTERNALERROR = ( #80040206)
          integer, parameter :: EVENT_E_INVALID_PER_USER_SID = ( #80040207)
          integer, parameter :: EVENT_E_USER_EXCEPTION = ( #80040208)
          integer, parameter :: EVENT_E_TOO_MANY_METHODS = ( #80040209)
          integer, parameter :: EVENT_E_MISSING_EVENTCLASS = ( #8004020A)
          integer, parameter :: EVENT_E_NOT_ALL_REMOVED = ( #8004020B)
          integer, parameter :: EVENT_E_COMPLUS_NOT_INSTALLED = ( #8004020C)
          integer, parameter :: CONTEXT_E_FIRST = #8004E000
          integer, parameter :: CONTEXT_E_LAST = #8004E02F
          integer, parameter :: CONTEXT_S_FIRST = #0004E000
          integer, parameter :: CONTEXT_S_LAST = #0004E02F
          integer, parameter :: CONTEXT_E_ABORTED = ( #8004E002)
          integer, parameter :: CONTEXT_E_ABORTING = ( #8004E003)
          integer, parameter :: CONTEXT_E_NOCONTEXT = ( #8004E004)
          integer, parameter :: CONTEXT_E_SYNCH_TIMEOUT = ( #8004E006)
          integer, parameter :: CONTEXT_E_OLDREF = ( #8004E007)
          integer, parameter :: CONTEXT_E_ROLENOTFOUND = ( #8004E00C)
          integer, parameter :: CONTEXT_E_TMNOTAVAILABLE = ( #8004E00F)
          integer, parameter :: CO_E_ACTIVATIONFAILED = ( #8004E021)
          integer, parameter :: CO_E_ACTIVATIONFAILED_EVENTLOGGED = ( #8004E022)
          integer, parameter :: CO_E_ACTIVATIONFAILED_CATALOGERROR = ( #8004E023)
          integer, parameter :: CO_E_ACTIVATIONFAILED_TIMEOUT = ( #8004E024)
          integer, parameter :: CO_E_INITIALIZATIONFAILED = ( #8004E025)
          integer, parameter :: CONTEXT_E_NOJIT = ( #8004E026)
          integer, parameter :: CONTEXT_E_NOTRANSACTION = ( #8004E027)
          integer, parameter :: CO_E_THREADINGMODEL_CHANGED = ( #8004E028)
          integer, parameter :: OLE_S_USEREG = ( #00040000)
          integer, parameter :: OLE_S_STATIC = ( #00040001)
          integer, parameter :: OLE_S_MAC_CLIPFORMAT = ( #00040002)
          integer, parameter :: DRAGDROP_S_DROP = ( #00040100)
          integer, parameter :: DRAGDROP_S_CANCEL = ( #00040101)
          integer, parameter :: DRAGDROP_S_USEDEFAULTCURSORS = ( #00040102)
          integer, parameter :: DATA_S_SAMEFORMATETC = ( #00040130)
          integer, parameter :: VIEW_S_ALREADY_FROZEN = ( #00040140)
          integer, parameter :: CACHE_S_FORMATETC_NOTSUPPORTED = ( #00040170)
          integer, parameter :: CACHE_S_SAMECACHE = ( #00040171)
          integer, parameter :: CACHE_S_SOMECACHES_NOTUPDATED = ( #00040172)
          integer, parameter :: OLEOBJ_S_INVALIDVERB = ( #00040180)
          integer, parameter :: OLEOBJ_S_CANNOT_DOVERB_NOW = ( #00040181)
          integer, parameter :: OLEOBJ_S_INVALIDHWND = ( #00040182)
          integer, parameter :: INPLACE_S_TRUNCATED = ( #000401A0)
          integer, parameter :: CONVERT10_S_NO_PRESENTATION = ( #000401C0)
          integer, parameter :: MK_S_REDUCED_TO_SELF = ( #000401E2)
          integer, parameter :: MK_S_ME = ( #000401E4)
          integer, parameter :: MK_S_HIM = ( #000401E5)
          integer, parameter :: MK_S_US = ( #000401E6)
          integer, parameter :: MK_S_MONIKERALREADYREGISTERED = ( #000401E7)
          integer, parameter :: SCHED_S_TASK_READY = ( #00041300)
          integer, parameter :: SCHED_S_TASK_RUNNING = ( #00041301)
          integer, parameter :: SCHED_S_TASK_DISABLED = ( #00041302)
          integer, parameter :: SCHED_S_TASK_HAS_NOT_RUN = ( #00041303)
          integer, parameter :: SCHED_S_TASK_NO_MORE_RUNS = ( #00041304)
          integer, parameter :: SCHED_S_TASK_NOT_SCHEDULED = ( #00041305)
          integer, parameter :: SCHED_S_TASK_TERMINATED = ( #00041306)
          integer, parameter :: SCHED_S_TASK_NO_VALID_TRIGGERS = ( #00041307)
          integer, parameter :: SCHED_S_EVENT_TRIGGER = ( #00041308)
          integer, parameter :: SCHED_E_TRIGGER_NOT_FOUND = ( #80041309)
          integer, parameter :: SCHED_E_TASK_NOT_READY = ( #8004130A)
          integer, parameter :: SCHED_E_TASK_NOT_RUNNING = ( #8004130B)
          integer, parameter :: SCHED_E_SERVICE_NOT_INSTALLED = ( #8004130C)
          integer, parameter :: SCHED_E_CANNOT_OPEN_TASK = ( #8004130D)
          integer, parameter :: SCHED_E_INVALID_TASK = ( #8004130E)
          integer, parameter :: SCHED_E_ACCOUNT_INFORMATION_NOT_SET = ( #8004130F)
          integer, parameter :: SCHED_E_ACCOUNT_NAME_NOT_FOUND = ( #80041310)
          integer, parameter :: SCHED_E_ACCOUNT_DBASE_CORRUPT = ( #80041311)
          integer, parameter :: SCHED_E_NO_SECURITY_SERVICES = ( #80041312)
          integer, parameter :: SCHED_E_UNKNOWN_OBJECT_VERSION = ( #80041313)
          integer, parameter :: SCHED_E_UNSUPPORTED_ACCOUNT_OPTION = ( #80041314)
          integer, parameter :: SCHED_E_SERVICE_NOT_RUNNING = ( #80041315)
          integer, parameter :: CO_E_CLASS_CREATE_FAILED = ( #80080001)
          integer, parameter :: CO_E_SCM_ERROR = ( #80080002)
          integer, parameter :: CO_E_SCM_RPC_FAILURE = ( #80080003)
          integer, parameter :: CO_E_BAD_PATH = ( #80080004)
          integer, parameter :: CO_E_SERVER_EXEC_FAILURE = ( #80080005)
          integer, parameter :: CO_E_OBJSRV_RPC_FAILURE = ( #80080006)
          integer, parameter :: MK_E_NO_NORMALIZED = ( #80080007)
          integer, parameter :: CO_E_SERVER_STOPPING = ( #80080008)
          integer, parameter :: MEM_E_INVALID_ROOT = ( #80080009)
          integer, parameter :: MEM_E_INVALID_LINK = ( #80080010)
          integer, parameter :: MEM_E_INVALID_SIZE = ( #80080011)
          integer, parameter :: CO_S_NOTALLINTERFACES = ( #00080012)
          integer, parameter :: DISP_E_UNKNOWNINTERFACE = ( #80020001)
          integer, parameter :: DISP_E_MEMBERNOTFOUND = ( #80020003)
          integer, parameter :: DISP_E_PARAMNOTFOUND = ( #80020004)
          integer, parameter :: DISP_E_TYPEMISMATCH = ( #80020005)
          integer, parameter :: DISP_E_UNKNOWNNAME = ( #80020006)
          integer, parameter :: DISP_E_NONAMEDARGS = ( #80020007)
          integer, parameter :: DISP_E_BADVARTYPE = ( #80020008)
          integer, parameter :: DISP_E_EXCEPTION = ( #80020009)
          integer, parameter :: DISP_E_OVERFLOW = ( #8002000A)
          integer, parameter :: DISP_E_BADINDEX = ( #8002000B)
          integer, parameter :: DISP_E_UNKNOWNLCID = ( #8002000C)
          integer, parameter :: DISP_E_ARRAYISLOCKED = ( #8002000D)
          integer, parameter :: DISP_E_BADPARAMCOUNT = ( #8002000E)
          integer, parameter :: DISP_E_PARAMNOTOPTIONAL = ( #8002000F)
          integer, parameter :: DISP_E_BADCALLEE = ( #80020010)
          integer, parameter :: DISP_E_NOTACOLLECTION = ( #80020011)
          integer, parameter :: DISP_E_DIVBYZERO = ( #80020012)
          integer, parameter :: DISP_E_BUFFERTOOSMALL = ( #80020013)
          integer, parameter :: TYPE_E_BUFFERTOOSMALL = ( #80028016)
          integer, parameter :: TYPE_E_FIELDNOTFOUND = ( #80028017)
          integer, parameter :: TYPE_E_INVDATAREAD = ( #80028018)
          integer, parameter :: TYPE_E_UNSUPFORMAT = ( #80028019)
          integer, parameter :: TYPE_E_REGISTRYACCESS = ( #8002801C)
          integer, parameter :: TYPE_E_LIBNOTREGISTERED = ( #8002801D)
          integer, parameter :: TYPE_E_UNDEFINEDTYPE = ( #80028027)
          integer, parameter :: TYPE_E_QUALIFIEDNAMEDISALLOWED = ( #80028028)
          integer, parameter :: TYPE_E_INVALIDSTATE = ( #80028029)
          integer, parameter :: TYPE_E_WRONGTYPEKIND = ( #8002802A)
          integer, parameter :: TYPE_E_ELEMENTNOTFOUND = ( #8002802B)
          integer, parameter :: TYPE_E_AMBIGUOUSNAME = ( #8002802C)
          integer, parameter :: TYPE_E_NAMECONFLICT = ( #8002802D)
          integer, parameter :: TYPE_E_UNKNOWNLCID = ( #8002802E)
          integer, parameter :: TYPE_E_DLLFUNCTIONNOTFOUND = ( #8002802F)
          integer, parameter :: TYPE_E_BADMODULEKIND = ( #800288BD)
          integer, parameter :: TYPE_E_SIZETOOBIG = ( #800288C5)
          integer, parameter :: TYPE_E_DUPLICATEID = ( #800288C6)
          integer, parameter :: TYPE_E_INVALIDID = ( #800288CF)
          integer, parameter :: TYPE_E_TYPEMISMATCH = ( #80028CA0)
          integer, parameter :: TYPE_E_OUTOFBOUNDS = ( #80028CA1)
          integer, parameter :: TYPE_E_IOERROR = ( #80028CA2)
          integer, parameter :: TYPE_E_CANTCREATETMPFILE = ( #80028CA3)
          integer, parameter :: TYPE_E_CANTLOADLIBRARY = ( #80029C4A)
          integer, parameter :: TYPE_E_INCONSISTENTPROPFUNCS = ( #80029C83)
          integer, parameter :: TYPE_E_CIRCULARTYPE = ( #80029C84)
          integer, parameter :: STG_E_INVALIDFUNCTION = ( #80030001)
          integer, parameter :: STG_E_FILENOTFOUND = ( #80030002)
          integer, parameter :: STG_E_PATHNOTFOUND = ( #80030003)
          integer, parameter :: STG_E_TOOMANYOPENFILES = ( #80030004)
          integer, parameter :: STG_E_ACCESSDENIED = ( #80030005)
          integer, parameter :: STG_E_INVALIDHANDLE = ( #80030006)
          integer, parameter :: STG_E_INSUFFICIENTMEMORY = ( #80030008)
          integer, parameter :: STG_E_INVALIDPOINTER = ( #80030009)
          integer, parameter :: STG_E_NOMOREFILES = ( #80030012)
          integer, parameter :: STG_E_DISKISWRITEPROTECTED = ( #80030013)
          integer, parameter :: STG_E_SEEKERROR = ( #80030019)
          integer, parameter :: STG_E_WRITEFAULT = ( #8003001D)
          integer, parameter :: STG_E_READFAULT = ( #8003001E)
          integer, parameter :: STG_E_SHAREVIOLATION = ( #80030020)
          integer, parameter :: STG_E_LOCKVIOLATION = ( #80030021)
          integer, parameter :: STG_E_FILEALREADYEXISTS = ( #80030050)
          integer, parameter :: STG_E_INVALIDPARAMETER = ( #80030057)
          integer, parameter :: STG_E_MEDIUMFULL = ( #80030070)
          integer, parameter :: STG_E_PROPSETMISMATCHED = ( #800300F0)
          integer, parameter :: STG_E_ABNORMALAPIEXIT = ( #800300FA)
          integer, parameter :: STG_E_INVALIDHEADER = ( #800300FB)
          integer, parameter :: STG_E_INVALIDNAME = ( #800300FC)
          integer, parameter :: STG_E_UNKNOWN = ( #800300FD)
          integer, parameter :: STG_E_UNIMPLEMENTEDFUNCTION = ( #800300FE)
          integer, parameter :: STG_E_INVALIDFLAG = ( #800300FF)
          integer, parameter :: STG_E_INUSE = ( #80030100)
          integer, parameter :: STG_E_NOTCURRENT = ( #80030101)
          integer, parameter :: STG_E_REVERTED = ( #80030102)
          integer, parameter :: STG_E_CANTSAVE = ( #80030103)
          integer, parameter :: STG_E_OLDFORMAT = ( #80030104)
          integer, parameter :: STG_E_OLDDLL = ( #80030105)
          integer, parameter :: STG_E_SHAREREQUIRED = ( #80030106)
          integer, parameter :: STG_E_NOTFILEBASEDSTORAGE = ( #80030107)
          integer, parameter :: STG_E_EXTANTMARSHALLINGS = ( #80030108)
          integer, parameter :: STG_E_DOCFILECORRUPT = ( #80030109)
          integer, parameter :: STG_E_BADBASEADDRESS = ( #80030110)
          integer, parameter :: STG_E_DOCFILETOOLARGE = ( #80030111)
          integer, parameter :: STG_E_NOTSIMPLEFORMAT = ( #80030112)
          integer, parameter :: STG_E_INCOMPLETE = ( #80030201)
          integer, parameter :: STG_E_TERMINATED = ( #80030202)
          integer, parameter :: STG_S_CONVERTED = ( #00030200)
          integer, parameter :: STG_S_BLOCK = ( #00030201)
          integer, parameter :: STG_S_RETRYNOW = ( #00030202)
          integer, parameter :: STG_S_MONITORING = ( #00030203)
          integer, parameter :: STG_S_MULTIPLEOPENS = ( #00030204)
          integer, parameter :: STG_S_CONSOLIDATIONFAILED = ( #00030205)
          integer, parameter :: STG_S_CANNOTCONSOLIDATE = ( #00030206)
          integer, parameter :: RPC_E_CALL_REJECTED = ( #80010001)
          integer, parameter :: RPC_E_CALL_CANCELED = ( #80010002)
          integer, parameter :: RPC_E_CANTPOST_INSENDCALL = ( #80010003)
          integer, parameter :: RPC_E_CANTCALLOUT_INASYNCCALL = ( #80010004)
          integer, parameter :: RPC_E_CANTCALLOUT_INEXTERNALCALL = ( #80010005)
          integer, parameter :: RPC_E_CONNECTION_TERMINATED = ( #80010006)
          integer, parameter :: RPC_E_SERVER_DIED = ( #80010007)
          integer, parameter :: RPC_E_CLIENT_DIED = ( #80010008)
          integer, parameter :: RPC_E_INVALID_DATAPACKET = ( #80010009)
          integer, parameter :: RPC_E_CANTTRANSMIT_CALL = ( #8001000A)
          integer, parameter :: RPC_E_CLIENT_CANTMARSHAL_DATA = ( #8001000B)
          integer, parameter :: RPC_E_CLIENT_CANTUNMARSHAL_DATA = ( #8001000C)
          integer, parameter :: RPC_E_SERVER_CANTMARSHAL_DATA = ( #8001000D)
          integer, parameter :: RPC_E_SERVER_CANTUNMARSHAL_DATA = ( #8001000E)
          integer, parameter :: RPC_E_INVALID_DATA = ( #8001000F)
          integer, parameter :: RPC_E_INVALID_PARAMETER = ( #80010010)
          integer, parameter :: RPC_E_CANTCALLOUT_AGAIN = ( #80010011)
          integer, parameter :: RPC_E_SERVER_DIED_DNE = ( #80010012)
          integer, parameter :: RPC_E_SYS_CALL_FAILED = ( #80010100)
          integer, parameter :: RPC_E_OUT_OF_RESOURCES = ( #80010101)
          integer, parameter :: RPC_E_ATTEMPTED_MULTITHREAD = ( #80010102)
          integer, parameter :: RPC_E_NOT_REGISTERED = ( #80010103)
          integer, parameter :: RPC_E_FAULT = ( #80010104)
          integer, parameter :: RPC_E_SERVERFAULT = ( #80010105)
          integer, parameter :: RPC_E_CHANGED_MODE = ( #80010106)
          integer, parameter :: RPC_E_INVALIDMETHOD = ( #80010107)
          integer, parameter :: RPC_E_DISCONNECTED = ( #80010108)
          integer, parameter :: RPC_E_RETRY = ( #80010109)
          integer, parameter :: RPC_E_SERVERCALL_RETRYLATER = ( #8001010A)
          integer, parameter :: RPC_E_SERVERCALL_REJECTED = ( #8001010B)
          integer, parameter :: RPC_E_INVALID_CALLDATA = ( #8001010C)
          integer, parameter :: RPC_E_CANTCALLOUT_ININPUTSYNCCALL = ( #8001010D)
          integer, parameter :: RPC_E_WRONG_THREAD = ( #8001010E)
          integer, parameter :: RPC_E_THREAD_NOT_INIT = ( #8001010F)
          integer, parameter :: RPC_E_VERSION_MISMATCH = ( #80010110)
          integer, parameter :: RPC_E_INVALID_HEADER = ( #80010111)
          integer, parameter :: RPC_E_INVALID_EXTENSION = ( #80010112)
          integer, parameter :: RPC_E_INVALID_IPID = ( #80010113)
          integer, parameter :: RPC_E_INVALID_OBJECT = ( #80010114)
          integer, parameter :: RPC_S_CALLPENDING = ( #80010115)
          integer, parameter :: RPC_S_WAITONTIMER = ( #80010116)
          integer, parameter :: RPC_E_CALL_COMPLETE = ( #80010117)
          integer, parameter :: RPC_E_UNSECURE_CALL = ( #80010118)
          integer, parameter :: RPC_E_TOO_LATE = ( #80010119)
          integer, parameter :: RPC_E_NO_GOOD_SECURITY_PACKAGES = ( #8001011A)
          integer, parameter :: RPC_E_ACCESS_DENIED = ( #8001011B)
          integer, parameter :: RPC_E_REMOTE_DISABLED = ( #8001011C)
          integer, parameter :: RPC_E_INVALID_OBJREF = ( #8001011D)
          integer, parameter :: RPC_E_NO_CONTEXT = ( #8001011E)
          integer, parameter :: RPC_E_TIMEOUT = ( #8001011F)
          integer, parameter :: RPC_E_NO_SYNC = ( #80010120)
          integer, parameter :: RPC_E_FULLSIC_REQUIRED = ( #80010121)
          integer, parameter :: RPC_E_INVALID_STD_NAME = ( #80010122)
          integer, parameter :: CO_E_FAILEDTOIMPERSONATE = ( #80010123)
          integer, parameter :: CO_E_FAILEDTOGETSECCTX = ( #80010124)
          integer, parameter :: CO_E_FAILEDTOOPENTHREADTOKEN = ( #80010125)
          integer, parameter :: CO_E_FAILEDTOGETTOKENINFO = ( #80010126)
          integer, parameter :: CO_E_TRUSTEEDOESNTMATCHCLIENT = ( #80010127)
          integer, parameter :: CO_E_FAILEDTOQUERYCLIENTBLANKET = ( #80010128)
          integer, parameter :: CO_E_FAILEDTOSETDACL = ( #80010129)
          integer, parameter :: CO_E_ACCESSCHECKFAILED = ( #8001012A)
          integer, parameter :: CO_E_NETACCESSAPIFAILED = ( #8001012B)
          integer, parameter :: CO_E_WRONGTRUSTEENAMESYNTAX = ( #8001012C)
          integer, parameter :: CO_E_INVALIDSID = ( #8001012D)
          integer, parameter :: CO_E_CONVERSIONFAILED = ( #8001012E)
          integer, parameter :: CO_E_NOMATCHINGSIDFOUND = ( #8001012F)
          integer, parameter :: CO_E_LOOKUPACCSIDFAILED = ( #80010130)
          integer, parameter :: CO_E_NOMATCHINGNAMEFOUND = ( #80010131)
          integer, parameter :: CO_E_LOOKUPACCNAMEFAILED = ( #80010132)
          integer, parameter :: CO_E_SETSERLHNDLFAILED = ( #80010133)
          integer, parameter :: CO_E_FAILEDTOGETWINDIR = ( #80010134)
          integer, parameter :: CO_E_PATHTOOLONG = ( #80010135)
          integer, parameter :: CO_E_FAILEDTOGENUUID = ( #80010136)
          integer, parameter :: CO_E_FAILEDTOCREATEFILE = ( #80010137)
          integer, parameter :: CO_E_FAILEDTOCLOSEHANDLE = ( #80010138)
          integer, parameter :: CO_E_EXCEEDSYSACLLIMIT = ( #80010139)
          integer, parameter :: CO_E_ACESINWRONGORDER = ( #8001013A)
          integer, parameter :: CO_E_INCOMPATIBLESTREAMVERSION = ( #8001013B)
          integer, parameter :: CO_E_FAILEDTOOPENPROCESSTOKEN = ( #8001013C)
          integer, parameter :: CO_E_DECODEFAILED = ( #8001013D)
          integer, parameter :: CO_E_ACNOTINITIALIZED = ( #8001013F)
          integer, parameter :: CO_E_CANCEL_DISABLED = ( #80010140)
          integer, parameter :: RPC_E_UNEXPECTED = ( #8001FFFF)
          integer, parameter :: NTE_BAD_UID = ( #80090001)
          integer, parameter :: NTE_BAD_HASH = ( #80090002)
          integer, parameter :: NTE_BAD_KEY = ( #80090003)
          integer, parameter :: NTE_BAD_LEN = ( #80090004)
          integer, parameter :: NTE_BAD_DATA = ( #80090005)
          integer, parameter :: NTE_BAD_SIGNATURE = ( #80090006)
          integer, parameter :: NTE_BAD_VER = ( #80090007)
          integer, parameter :: NTE_BAD_ALGID = ( #80090008)
          integer, parameter :: NTE_BAD_FLAGS = ( #80090009)
          integer, parameter :: NTE_BAD_TYPE = ( #8009000A)
          integer, parameter :: NTE_BAD_KEY_STATE = ( #8009000B)
          integer, parameter :: NTE_BAD_HASH_STATE = ( #8009000C)
          integer, parameter :: NTE_NO_KEY = ( #8009000D)
          integer, parameter :: NTE_NO_MEMORY = ( #8009000E)
          integer, parameter :: NTE_EXISTS = ( #8009000F)
          integer, parameter :: NTE_PERM = ( #80090010)
          integer, parameter :: NTE_NOT_FOUND = ( #80090011)
          integer, parameter :: NTE_DOUBLE_ENCRYPT = ( #80090012)
          integer, parameter :: NTE_BAD_PROVIDER = ( #80090013)
          integer, parameter :: NTE_BAD_PROV_TYPE = ( #80090014)
          integer, parameter :: NTE_BAD_PUBLIC_KEY = ( #80090015)
          integer, parameter :: NTE_BAD_KEYSET = ( #80090016)
          integer, parameter :: NTE_PROV_TYPE_NOT_DEF = ( #80090017)
          integer, parameter :: NTE_PROV_TYPE_ENTRY_BAD = ( #80090018)
          integer, parameter :: NTE_KEYSET_NOT_DEF = ( #80090019)
          integer, parameter :: NTE_KEYSET_ENTRY_BAD = ( #8009001A)
          integer, parameter :: NTE_PROV_TYPE_NO_MATCH = ( #8009001B)
          integer, parameter :: NTE_SIGNATURE_FILE_BAD = ( #8009001C)
          integer, parameter :: NTE_PROVIDER_DLL_FAIL = ( #8009001D)
          integer, parameter :: NTE_PROV_DLL_NOT_FOUND = ( #8009001E)
          integer, parameter :: NTE_BAD_KEYSET_PARAM = ( #8009001F)
          integer, parameter :: NTE_FAIL = ( #80090020)
          integer, parameter :: NTE_SYS_ERR = ( #80090021)
          integer, parameter :: NTE_SILENT_CONTEXT = ( #80090022)
          integer, parameter :: NTE_TOKEN_KEYSET_STORAGE_FULL = ( #80090023)
          integer, parameter :: NTE_TEMPORARY_PROFILE = ( #80090024)
          integer, parameter :: NTE_FIXEDPARAMETER = ( #80090025)
          integer, parameter :: SEC_E_INSUFFICIENT_MEMORY = ( #80090300)
          integer, parameter :: SEC_E_INVALID_HANDLE = ( #80090301)
          integer, parameter :: SEC_E_UNSUPPORTED_FUNCTION = ( #80090302)
          integer, parameter :: SEC_E_TARGET_UNKNOWN = ( #80090303)
          integer, parameter :: SEC_E_INTERNAL_ERROR = ( #80090304)
          integer, parameter :: SEC_E_SECPKG_NOT_FOUND = ( #80090305)
          integer, parameter :: SEC_E_NOT_OWNER = ( #80090306)
          integer, parameter :: SEC_E_CANNOT_INSTALL = ( #80090307)
          integer, parameter :: SEC_E_INVALID_TOKEN = ( #80090308)
          integer, parameter :: SEC_E_CANNOT_PACK = ( #80090309)
          integer, parameter :: SEC_E_QOP_NOT_SUPPORTED = ( #8009030A)
          integer, parameter :: SEC_E_NO_IMPERSONATION = ( #8009030B)
          integer, parameter :: SEC_E_LOGON_DENIED = ( #8009030C)
          integer, parameter :: SEC_E_UNKNOWN_CREDENTIALS = ( #8009030D)
          integer, parameter :: SEC_E_NO_CREDENTIALS = ( #8009030E)
          integer, parameter :: SEC_E_MESSAGE_ALTERED = ( #8009030F)
          integer, parameter :: SEC_E_OUT_OF_SEQUENCE = ( #80090310)
          integer, parameter :: SEC_E_NO_AUTHENTICATING_AUTHORITY = ( #80090311)
          integer, parameter :: SEC_I_CONTINUE_NEEDED = ( #00090312)
          integer, parameter :: SEC_I_COMPLETE_NEEDED = ( #00090313)
          integer, parameter :: SEC_I_COMPLETE_AND_CONTINUE = ( #00090314)
          integer, parameter :: SEC_I_LOCAL_LOGON = ( #00090315)
          integer, parameter :: SEC_E_BAD_PKGID = ( #80090316)
          integer, parameter :: SEC_E_CONTEXT_EXPIRED = ( #80090317)
          integer, parameter :: SEC_E_INCOMPLETE_MESSAGE = ( #80090318)
          integer, parameter :: SEC_E_INCOMPLETE_CREDENTIALS = ( #80090320)
          integer, parameter :: SEC_E_BUFFER_TOO_SMALL = ( #80090321)
          integer, parameter :: SEC_I_INCOMPLETE_CREDENTIALS = ( #00090320)
          integer, parameter :: SEC_I_RENEGOTIATE = ( #00090321)
          integer, parameter :: SEC_E_WRONG_PRINCIPAL = ( #80090322)
          integer, parameter :: SEC_I_NO_LSA_CONTEXT = ( #00090323)
          integer, parameter :: SEC_E_TIME_SKEW = ( #80090324)
          integer, parameter :: SEC_E_UNTRUSTED_ROOT = ( #80090325)
          integer, parameter :: SEC_E_ILLEGAL_MESSAGE = ( #80090326)
          integer, parameter :: SEC_E_CERT_UNKNOWN = ( #80090327)
          integer, parameter :: SEC_E_CERT_EXPIRED = ( #80090328)
          integer, parameter :: SEC_E_ENCRYPT_FAILURE = ( #80090329)
          integer, parameter :: SEC_E_DECRYPT_FAILURE = ( #80090330)
          integer, parameter :: SEC_E_ALGORITHM_MISMATCH = ( #80090331)
          integer, parameter :: SEC_E_SECURITY_QOS_FAILED = ( #80090332)
          integer, parameter :: CRYPT_E_MSG_ERROR = ( #80091001)
          integer, parameter :: CRYPT_E_UNKNOWN_ALGO = ( #80091002)
          integer, parameter :: CRYPT_E_OID_FORMAT = ( #80091003)
          integer, parameter :: CRYPT_E_INVALID_MSG_TYPE = ( #80091004)
          integer, parameter :: CRYPT_E_UNEXPECTED_ENCODING = ( #80091005)
          integer, parameter :: CRYPT_E_AUTH_ATTR_MISSING = ( #80091006)
          integer, parameter :: CRYPT_E_HASH_VALUE = ( #80091007)
          integer, parameter :: CRYPT_E_INVALID_INDEX = ( #80091008)
          integer, parameter :: CRYPT_E_ALREADY_DECRYPTED = ( #80091009)
          integer, parameter :: CRYPT_E_NOT_DECRYPTED = ( #8009100A)
          integer, parameter :: CRYPT_E_RECIPIENT_NOT_FOUND = ( #8009100B)
          integer, parameter :: CRYPT_E_CONTROL_TYPE = ( #8009100C)
          integer, parameter :: CRYPT_E_ISSUER_SERIALNUMBER = ( #8009100D)
          integer, parameter :: CRYPT_E_SIGNER_NOT_FOUND = ( #8009100E)
          integer, parameter :: CRYPT_E_ATTRIBUTES_MISSING = ( #8009100F)
          integer, parameter :: CRYPT_E_STREAM_MSG_NOT_READY = ( #80091010)
          integer, parameter :: CRYPT_E_STREAM_INSUFFICIENT_DATA = ( #80091011)
          integer, parameter :: CRYPT_E_BAD_LEN = ( #80092001)
          integer, parameter :: CRYPT_E_BAD_ENCODE = ( #80092002)
          integer, parameter :: CRYPT_E_FILE_ERROR = ( #80092003)
          integer, parameter :: CRYPT_E_NOT_FOUND = ( #80092004)
          integer, parameter :: CRYPT_E_EXISTS = ( #80092005)
          integer, parameter :: CRYPT_E_NO_PROVIDER = ( #80092006)
          integer, parameter :: CRYPT_E_SELF_SIGNED = ( #80092007)
          integer, parameter :: CRYPT_E_DELETED_PREV = ( #80092008)
          integer, parameter :: CRYPT_E_NO_MATCH = ( #80092009)
          integer, parameter :: CRYPT_E_UNEXPECTED_MSG_TYPE = ( #8009200A)
          integer, parameter :: CRYPT_E_NO_KEY_PROPERTY = ( #8009200B)
          integer, parameter :: CRYPT_E_NO_DECRYPT_CERT = ( #8009200C)
          integer, parameter :: CRYPT_E_BAD_MSG = ( #8009200D)
          integer, parameter :: CRYPT_E_NO_SIGNER = ( #8009200E)
          integer, parameter :: CRYPT_E_PENDING_CLOSE = ( #8009200F)
          integer, parameter :: CRYPT_E_REVOKED = ( #80092010)
          integer, parameter :: CRYPT_E_NO_REVOCATION_DLL = ( #80092011)
          integer, parameter :: CRYPT_E_NO_REVOCATION_CHECK = ( #80092012)
          integer, parameter :: CRYPT_E_REVOCATION_OFFLINE = ( #80092013)
          integer, parameter :: CRYPT_E_NOT_IN_REVOCATION_DATABASE = ( #80092014)
          integer, parameter :: CRYPT_E_INVALID_NUMERIC_STRING = ( #80092020)
          integer, parameter :: CRYPT_E_INVALID_PRINTABLE_STRING = ( #80092021)
          integer, parameter :: CRYPT_E_INVALID_IA5_STRING = ( #80092022)
          integer, parameter :: CRYPT_E_INVALID_X500_STRING = ( #80092023)
          integer, parameter :: CRYPT_E_NOT_CHAR_STRING = ( #80092024)
          integer, parameter :: CRYPT_E_FILERESIZED = ( #80092025)
          integer, parameter :: CRYPT_E_SECURITY_SETTINGS = ( #80092026)
          integer, parameter :: CRYPT_E_NO_VERIFY_USAGE_DLL = ( #80092027)
          integer, parameter :: CRYPT_E_NO_VERIFY_USAGE_CHECK = ( #80092028)
          integer, parameter :: CRYPT_E_VERIFY_USAGE_OFFLINE = ( #80092029)
          integer, parameter :: CRYPT_E_NOT_IN_CTL = ( #8009202A)
          integer, parameter :: CRYPT_E_NO_TRUSTED_SIGNER = ( #8009202B)
          integer, parameter :: CRYPT_E_MISSING_PUBKEY_PARA = ( #8009202C)
          integer, parameter :: CRYPT_E_OSS_ERROR = ( #80093000)
          integer, parameter :: OSS_MORE_BUF = ( #80093001)
          integer, parameter :: OSS_NEGATIVE_UINTEGER = ( #80093002)
          integer, parameter :: OSS_PDU_RANGE = ( #80093003)
          integer, parameter :: OSS_MORE_INPUT = ( #80093004)
          integer, parameter :: OSS_DATA_ERROR = ( #80093005)
          integer, parameter :: OSS_BAD_ARG = ( #80093006)
          integer, parameter :: OSS_BAD_VERSION = ( #80093007)
          integer, parameter :: OSS_OUT_MEMORY = ( #80093008)
          integer, parameter :: OSS_PDU_MISMATCH = ( #80093009)
          integer, parameter :: OSS_LIMITED = ( #8009300A)
          integer, parameter :: OSS_BAD_PTR = ( #8009300B)
          integer, parameter :: OSS_BAD_TIME = ( #8009300C)
          integer, parameter :: OSS_INDEFINITE_NOT_SUPPORTED = ( #8009300D)
          integer, parameter :: OSS_MEM_ERROR = ( #8009300E)
          integer, parameter :: OSS_BAD_TABLE = ( #8009300F)
          integer, parameter :: OSS_TOO_LONG = ( #80093010)
          integer, parameter :: OSS_CONSTRAINT_VIOLATED = ( #80093011)
          integer, parameter :: OSS_FATAL_ERROR = ( #80093012)
          integer, parameter :: OSS_ACCESS_SERIALIZATION_ERROR = ( #80093013)
          integer, parameter :: OSS_NULL_TBL = ( #80093014)
          integer, parameter :: OSS_NULL_FCN = ( #80093015)
          integer, parameter :: OSS_BAD_ENCRULES = ( #80093016)
          integer, parameter :: OSS_UNAVAIL_ENCRULES = ( #80093017)
          integer, parameter :: OSS_CANT_OPEN_TRACE_WINDOW = ( #80093018)
          integer, parameter :: OSS_UNIMPLEMENTED = ( #80093019)
          integer, parameter :: OSS_OID_DLL_NOT_LINKED = ( #8009301A)
          integer, parameter :: OSS_CANT_OPEN_TRACE_FILE = ( #8009301B)
          integer, parameter :: OSS_TRACE_FILE_ALREADY_OPEN = ( #8009301C)
          integer, parameter :: OSS_TABLE_MISMATCH = ( #8009301D)
          integer, parameter :: OSS_TYPE_NOT_SUPPORTED = ( #8009301E)
          integer, parameter :: OSS_REAL_DLL_NOT_LINKED = ( #8009301F)
          integer, parameter :: OSS_REAL_CODE_NOT_LINKED = ( #80093020)
          integer, parameter :: OSS_OUT_OF_RANGE = ( #80093021)
          integer, parameter :: OSS_COPIER_DLL_NOT_LINKED = ( #80093022)
          integer, parameter :: OSS_CONSTRAINT_DLL_NOT_LINKED = ( #80093023)
          integer, parameter :: OSS_COMPARATOR_DLL_NOT_LINKED = ( #80093024)
          integer, parameter :: OSS_COMPARATOR_CODE_NOT_LINKED = ( #80093025)
          integer, parameter :: OSS_MEM_MGR_DLL_NOT_LINKED = ( #80093026)
          integer, parameter :: OSS_PDV_DLL_NOT_LINKED = ( #80093027)
          integer, parameter :: OSS_PDV_CODE_NOT_LINKED = ( #80093028)
          integer, parameter :: OSS_API_DLL_NOT_LINKED = ( #80093029)
          integer, parameter :: OSS_BERDER_DLL_NOT_LINKED = ( #8009302A)
          integer, parameter :: OSS_PER_DLL_NOT_LINKED = ( #8009302B)
          integer, parameter :: OSS_OPEN_TYPE_ERROR = ( #8009302C)
          integer, parameter :: OSS_MUTEX_NOT_CREATED = ( #8009302D)
          integer, parameter :: OSS_CANT_CLOSE_TRACE_FILE = ( #8009302E)
          integer, parameter :: CRYPT_E_ASN1_ERROR = ( #80093100)
          integer, parameter :: CRYPT_E_ASN1_INTERNAL = ( #80093101)
          integer, parameter :: CRYPT_E_ASN1_EOD = ( #80093102)
          integer, parameter :: CRYPT_E_ASN1_CORRUPT = ( #80093103)
          integer, parameter :: CRYPT_E_ASN1_LARGE = ( #80093104)
          integer, parameter :: CRYPT_E_ASN1_CONSTRAINT = ( #80093105)
          integer, parameter :: CRYPT_E_ASN1_MEMORY = ( #80093106)
          integer, parameter :: CRYPT_E_ASN1_OVERFLOW = ( #80093107)
          integer, parameter :: CRYPT_E_ASN1_BADPDU = ( #80093108)
          integer, parameter :: CRYPT_E_ASN1_BADARGS = ( #80093109)
          integer, parameter :: CRYPT_E_ASN1_BADREAL = ( #8009310A)
          integer, parameter :: CRYPT_E_ASN1_BADTAG = ( #8009310B)
          integer, parameter :: CRYPT_E_ASN1_CHOICE = ( #8009310C)
          integer, parameter :: CRYPT_E_ASN1_RULE = ( #8009310D)
          integer, parameter :: CRYPT_E_ASN1_UTF8 = ( #8009310E)
          integer, parameter :: CRYPT_E_ASN1_PDU_TYPE = ( #80093133)
          integer, parameter :: CRYPT_E_ASN1_NYI = ( #80093134)
          integer, parameter :: CRYPT_E_ASN1_EXTENDED = ( #80093201)
          integer, parameter :: CRYPT_E_ASN1_NOEOD = ( #80093202)
          integer, parameter :: CERTSRV_E_BAD_REQUESTSUBJECT = ( #80094001)
          integer, parameter :: CERTSRV_E_NO_REQUEST = ( #80094002)
          integer, parameter :: CERTSRV_E_BAD_REQUESTSTATUS = ( #80094003)
          integer, parameter :: CERTSRV_E_PROPERTY_EMPTY = ( #80094004)
          integer, parameter :: CERTSRV_E_INVALID_CA_CERTIFICATE = ( #80094005)
          integer, parameter :: CERTSRV_E_SERVER_SUSPENDED = ( #80094006)
          integer, parameter :: CERTSRV_E_ENCODING_LENGTH = ( #80094007)
          integer, parameter :: CERTSRV_E_UNSUPPORTED_CERT_TYPE = ( #80094800)
          integer, parameter :: CERTSRV_E_NO_CERT_TYPE = ( #80094801)
          integer, parameter :: TRUST_E_SYSTEM_ERROR = ( #80096001)
          integer, parameter :: TRUST_E_NO_SIGNER_CERT = ( #80096002)
          integer, parameter :: TRUST_E_COUNTER_SIGNER = ( #80096003)
          integer, parameter :: TRUST_E_CERT_SIGNATURE = ( #80096004)
          integer, parameter :: TRUST_E_TIME_STAMP = ( #80096005)
          integer, parameter :: TRUST_E_BAD_DIGEST = ( #80096010)
          integer, parameter :: TRUST_E_BASIC_CONSTRAINTS = ( #80096019)
          integer, parameter :: TRUST_E_FINANCIAL_CRITERIA = ( #8009601E)
          integer, parameter :: MSSIPOTF_E_OUTOFMEMRANGE = ( #80097001)
          integer, parameter :: MSSIPOTF_E_CANTGETOBJECT = ( #80097002)
          integer, parameter :: MSSIPOTF_E_NOHEADTABLE = ( #80097003)
          integer, parameter :: MSSIPOTF_E_BAD_MAGICNUMBER = ( #80097004)
          integer, parameter :: MSSIPOTF_E_BAD_OFFSET_TABLE = ( #80097005)
          integer, parameter :: MSSIPOTF_E_TABLE_TAGORDER = ( #80097006)
          integer, parameter :: MSSIPOTF_E_TABLE_LONGWORD = ( #80097007)
          integer, parameter :: MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT = ( #80097008)
          integer, parameter :: MSSIPOTF_E_TABLES_OVERLAP = ( #80097009)
          integer, parameter :: MSSIPOTF_E_TABLE_PADBYTES = ( #8009700A)
          integer, parameter :: MSSIPOTF_E_FILETOOSMALL = ( #8009700B)
          integer, parameter :: MSSIPOTF_E_TABLE_CHECKSUM = ( #8009700C)
          integer, parameter :: MSSIPOTF_E_FILE_CHECKSUM = ( #8009700D)
          integer, parameter :: MSSIPOTF_E_FAILED_POLICY = ( #80097010)
          integer, parameter :: MSSIPOTF_E_FAILED_HINTS_CHECK = ( #80097011)
          integer, parameter :: MSSIPOTF_E_NOT_OPENTYPE = ( #80097012)
          integer, parameter :: MSSIPOTF_E_FILE = ( #80097013)
          integer, parameter :: MSSIPOTF_E_CRYPT = ( #80097014)
          integer, parameter :: MSSIPOTF_E_BADVERSION = ( #80097015)
          integer, parameter :: MSSIPOTF_E_DSIG_STRUCTURE = ( #80097016)
          integer, parameter :: MSSIPOTF_E_PCONST_CHECK = ( #80097017)
          integer, parameter :: MSSIPOTF_E_STRUCTURE = ( #80097018)
          integer, parameter :: NTE_OP_OK = 0
          integer, parameter :: TRUST_E_PROVIDER_UNKNOWN = ( #800B0001)
          integer, parameter :: TRUST_E_ACTION_UNKNOWN = ( #800B0002)
          integer, parameter :: TRUST_E_SUBJECT_FORM_UNKNOWN = ( #800B0003)
          integer, parameter :: TRUST_E_SUBJECT_NOT_TRUSTED = ( #800B0004)
          integer, parameter :: DIGSIG_E_ENCODE = ( #800B0005)
          integer, parameter :: DIGSIG_E_DECODE = ( #800B0006)
          integer, parameter :: DIGSIG_E_EXTENSIBILITY = ( #800B0007)
          integer, parameter :: DIGSIG_E_CRYPTO = ( #800B0008)
          integer, parameter :: PERSIST_E_SIZEDEFINITE = ( #800B0009)
          integer, parameter :: PERSIST_E_SIZEINDEFINITE = ( #800B000A)
          integer, parameter :: PERSIST_E_NOTSELFSIZING = ( #800B000B)
          integer, parameter :: TRUST_E_NOSIGNATURE = ( #800B0100)
          integer, parameter :: CERT_E_EXPIRED = ( #800B0101)
          integer, parameter :: CERT_E_VALIDITYPERIODNESTING = ( #800B0102)
          integer, parameter :: CERT_E_ROLE = ( #800B0103)
          integer, parameter :: CERT_E_PATHLENCONST = ( #800B0104)
          integer, parameter :: CERT_E_CRITICAL = ( #800B0105)
          integer, parameter :: CERT_E_PURPOSE = ( #800B0106)
          integer, parameter :: CERT_E_ISSUERCHAINING = ( #800B0107)
          integer, parameter :: CERT_E_MALFORMED = ( #800B0108)
          integer, parameter :: CERT_E_UNTRUSTEDROOT = ( #800B0109)
          integer, parameter :: CERT_E_CHAINING = ( #800B010A)
          integer, parameter :: TRUST_E_FAIL = ( #800B010B)
          integer, parameter :: CERT_E_REVOKED = ( #800B010C)
          integer, parameter :: CERT_E_UNTRUSTEDTESTROOT = ( #800B010D)
          integer, parameter :: CERT_E_REVOCATION_FAILURE = ( #800B010E)
          integer, parameter :: CERT_E_CN_NO_MATCH = ( #800B010F)
          integer, parameter :: CERT_E_WRONG_USAGE = ( #800B0110)
          integer, parameter :: TRUST_E_EXPLICIT_DISTRUST = ( #800B0111)
          integer, parameter :: CERT_E_UNTRUSTEDCA = ( #800B0112)
          integer, parameter :: SPAPI_E_EXPECTED_SECTION_NAME = ( #800F0000)
          integer, parameter :: SPAPI_E_BAD_SECTION_NAME_LINE = ( #800F0001)
          integer, parameter :: SPAPI_E_SECTION_NAME_TOO_LONG = ( #800F0002)
          integer, parameter :: SPAPI_E_GENERAL_SYNTAX = ( #800F0003)
          integer, parameter :: SPAPI_E_WRONG_INF_STYLE = ( #800F0100)
          integer, parameter :: SPAPI_E_SECTION_NOT_FOUND = ( #800F0101)
          integer, parameter :: SPAPI_E_LINE_NOT_FOUND = ( #800F0102)
          integer, parameter :: SPAPI_E_NO_BACKUP = ( #800F0103)
          integer, parameter :: SPAPI_E_NO_ASSOCIATED_CLASS = ( #800F0200)
          integer, parameter :: SPAPI_E_CLASS_MISMATCH = ( #800F0201)
          integer, parameter :: SPAPI_E_DUPLICATE_FOUND = ( #800F0202)
          integer, parameter :: SPAPI_E_NO_DRIVER_SELECTED = ( #800F0203)
          integer, parameter :: SPAPI_E_KEY_DOES_NOT_EXIST = ( #800F0204)
          integer, parameter :: SPAPI_E_INVALID_DEVINST_NAME = ( #800F0205)
          integer, parameter :: SPAPI_E_INVALID_CLASS = ( #800F0206)
          integer, parameter :: SPAPI_E_DEVINST_ALREADY_EXISTS = ( #800F0207)
          integer, parameter :: SPAPI_E_DEVINFO_NOT_REGISTERED = ( #800F0208)
          integer, parameter :: SPAPI_E_INVALID_REG_PROPERTY = ( #800F0209)
          integer, parameter :: SPAPI_E_NO_INF = ( #800F020A)
          integer, parameter :: SPAPI_E_NO_SUCH_DEVINST = ( #800F020B)
          integer, parameter :: SPAPI_E_CANT_LOAD_CLASS_ICON = ( #800F020C)
          integer, parameter :: SPAPI_E_INVALID_CLASS_INSTALLER = ( #800F020D)
          integer, parameter :: SPAPI_E_DI_DO_DEFAULT = ( #800F020E)
          integer, parameter :: SPAPI_E_DI_NOFILECOPY = ( #800F020F)
          integer, parameter :: SPAPI_E_INVALID_HWPROFILE = ( #800F0210)
          integer, parameter :: SPAPI_E_NO_DEVICE_SELECTED = ( #800F0211)
          integer, parameter :: SPAPI_E_DEVINFO_LIST_LOCKED = ( #800F0212)
          integer, parameter :: SPAPI_E_DEVINFO_DATA_LOCKED = ( #800F0213)
          integer, parameter :: SPAPI_E_DI_BAD_PATH = ( #800F0214)
          integer, parameter :: SPAPI_E_NO_CLASSINSTALL_PARAMS = ( #800F0215)
          integer, parameter :: SPAPI_E_FILEQUEUE_LOCKED = ( #800F0216)
          integer, parameter :: SPAPI_E_BAD_SERVICE_INSTALLSECT = ( #800F0217)
          integer, parameter :: SPAPI_E_NO_CLASS_DRIVER_LIST = ( #800F0218)
          integer, parameter :: SPAPI_E_NO_ASSOCIATED_SERVICE = ( #800F0219)
          integer, parameter :: SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE = ( #800F021A)
          integer, parameter :: SPAPI_E_DEVICE_INTERFACE_ACTIVE = ( #800F021B)
          integer, parameter :: SPAPI_E_DEVICE_INTERFACE_REMOVED = ( #800F021C)
          integer, parameter :: SPAPI_E_BAD_INTERFACE_INSTALLSECT = ( #800F021D)
          integer, parameter :: SPAPI_E_NO_SUCH_INTERFACE_CLASS = ( #800F021E)
          integer, parameter :: SPAPI_E_INVALID_REFERENCE_STRING = ( #800F021F)
          integer, parameter :: SPAPI_E_INVALID_MACHINENAME = ( #800F0220)
          integer, parameter :: SPAPI_E_REMOTE_COMM_FAILURE = ( #800F0221)
          integer, parameter :: SPAPI_E_MACHINE_UNAVAILABLE = ( #800F0222)
          integer, parameter :: SPAPI_E_NO_CONFIGMGR_SERVICES = ( #800F0223)
          integer, parameter :: SPAPI_E_INVALID_PROPPAGE_PROVIDER = ( #800F0224)
          integer, parameter :: SPAPI_E_NO_SUCH_DEVICE_INTERFACE = ( #800F0225)
          integer, parameter :: SPAPI_E_DI_POSTPROCESSING_REQUIRED = ( #800F0226)
          integer, parameter :: SPAPI_E_INVALID_COINSTALLER = ( #800F0227)
          integer, parameter :: SPAPI_E_NO_COMPAT_DRIVERS = ( #800F0228)
          integer, parameter :: SPAPI_E_NO_DEVICE_ICON = ( #800F0229)
          integer, parameter :: SPAPI_E_INVALID_INF_LOGCONFIG = ( #800F022A)
          integer, parameter :: SPAPI_E_DI_DONT_INSTALL = ( #800F022B)
          integer, parameter :: SPAPI_E_INVALID_FILTER_DRIVER = ( #800F022C)
          integer, parameter :: SPAPI_E_NON_WINDOWS_NT_DRIVER = ( #800F022D)
          integer, parameter :: SPAPI_E_NON_WINDOWS_DRIVER = ( #800F022E)
          integer, parameter :: SPAPI_E_NO_CATALOG_FOR_OEM_INF = ( #800F022F)
          integer, parameter :: SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE = ( #800F0230)
          integer, parameter :: SPAPI_E_NOT_DISABLEABLE = ( #800F0231)
          integer, parameter :: SPAPI_E_CANT_REMOVE_DEVINST = ( #800F0232)
          integer, parameter :: SPAPI_E_ERROR_NOT_INSTALLED = ( #800F1000)
          integer, parameter :: SCARD_F_INTERNAL_ERROR = ( #80100001)
          integer, parameter :: SCARD_E_CANCELLED = ( #80100002)
          integer, parameter :: SCARD_E_INVALID_HANDLE = ( #80100003)
          integer, parameter :: SCARD_E_INVALID_PARAMETER = ( #80100004)
          integer, parameter :: SCARD_E_INVALID_TARGET = ( #80100005)
          integer, parameter :: SCARD_E_NO_MEMORY = ( #80100006)
          integer, parameter :: SCARD_F_WAITED_TOO_LONG = ( #80100007)
          integer, parameter :: SCARD_E_INSUFFICIENT_BUFFER = ( #80100008)
          integer, parameter :: SCARD_E_UNKNOWN_READER = ( #80100009)
          integer, parameter :: SCARD_E_TIMEOUT = ( #8010000A)
          integer, parameter :: SCARD_E_SHARING_VIOLATION = ( #8010000B)
          integer, parameter :: SCARD_E_NO_SMARTCARD = ( #8010000C)
          integer, parameter :: SCARD_E_UNKNOWN_CARD = ( #8010000D)
          integer, parameter :: SCARD_E_CANT_DISPOSE = ( #8010000E)
          integer, parameter :: SCARD_E_PROTO_MISMATCH = ( #8010000F)
          integer, parameter :: SCARD_E_NOT_READY = ( #80100010)
          integer, parameter :: SCARD_E_INVALID_VALUE = ( #80100011)
          integer, parameter :: SCARD_E_SYSTEM_CANCELLED = ( #80100012)
          integer, parameter :: SCARD_F_COMM_ERROR = ( #80100013)
          integer, parameter :: SCARD_F_UNKNOWN_ERROR = ( #80100014)
          integer, parameter :: SCARD_E_INVALID_ATR = ( #80100015)
          integer, parameter :: SCARD_E_NOT_TRANSACTED = ( #80100016)
          integer, parameter :: SCARD_E_READER_UNAVAILABLE = ( #80100017)
          integer, parameter :: SCARD_P_SHUTDOWN = ( #80100018)
          integer, parameter :: SCARD_E_PCI_TOO_SMALL = ( #80100019)
          integer, parameter :: SCARD_E_READER_UNSUPPORTED = ( #8010001A)
          integer, parameter :: SCARD_E_DUPLICATE_READER = ( #8010001B)
          integer, parameter :: SCARD_E_CARD_UNSUPPORTED = ( #8010001C)
          integer, parameter :: SCARD_E_NO_SERVICE = ( #8010001D)
          integer, parameter :: SCARD_E_SERVICE_STOPPED = ( #8010001E)
          integer, parameter :: SCARD_E_UNEXPECTED = ( #8010001F)
          integer, parameter :: SCARD_E_ICC_INSTALLATION = ( #80100020)
          integer, parameter :: SCARD_E_ICC_CREATEORDER = ( #80100021)
          integer, parameter :: SCARD_E_UNSUPPORTED_FEATURE = ( #80100022)
          integer, parameter :: SCARD_E_DIR_NOT_FOUND = ( #80100023)
          integer, parameter :: SCARD_E_FILE_NOT_FOUND = ( #80100024)
          integer, parameter :: SCARD_E_NO_DIR = ( #80100025)
          integer, parameter :: SCARD_E_NO_FILE = ( #80100026)
          integer, parameter :: SCARD_E_NO_ACCESS = ( #80100027)
          integer, parameter :: SCARD_E_WRITE_TOO_MANY = ( #80100028)
          integer, parameter :: SCARD_E_BAD_SEEK = ( #80100029)
          integer, parameter :: SCARD_E_INVALID_CHV = ( #8010002A)
          integer, parameter :: SCARD_E_UNKNOWN_RES_MNG = ( #8010002B)
          integer, parameter :: SCARD_E_NO_SUCH_CERTIFICATE = ( #8010002C)
          integer, parameter :: SCARD_E_CERTIFICATE_UNAVAILABLE = ( #8010002D)
          integer, parameter :: SCARD_E_NO_READERS_AVAILABLE = ( #8010002E)
          integer, parameter :: SCARD_E_COMM_DATA_LOST = ( #8010002F)
          integer, parameter :: SCARD_W_UNSUPPORTED_CARD = ( #80100065)
          integer, parameter :: SCARD_W_UNRESPONSIVE_CARD = ( #80100066)
          integer, parameter :: SCARD_W_UNPOWERED_CARD = ( #80100067)
          integer, parameter :: SCARD_W_RESET_CARD = ( #80100068)
          integer, parameter :: SCARD_W_REMOVED_CARD = ( #80100069)
          integer, parameter :: SCARD_W_SECURITY_VIOLATION = ( #8010006A)
          integer, parameter :: SCARD_W_WRONG_CHV = ( #8010006B)
          integer, parameter :: SCARD_W_CHV_BLOCKED = ( #8010006C)
          integer, parameter :: SCARD_W_EOF = ( #8010006D)
          integer, parameter :: SCARD_W_CANCELLED_BY_USER = ( #8010006E)
          integer, parameter :: COMADMIN_E_OBJECTERRORS = ( #80110401)
          integer, parameter :: COMADMIN_E_OBJECTINVALID = ( #80110402)
          integer, parameter :: COMADMIN_E_KEYMISSING = ( #80110403)
          integer, parameter :: COMADMIN_E_ALREADYINSTALLED = ( #80110404)
          integer, parameter :: COMADMIN_E_APP_FILE_WRITEFAIL = ( #80110407)
          integer, parameter :: COMADMIN_E_APP_FILE_READFAIL = ( #80110408)
          integer, parameter :: COMADMIN_E_APP_FILE_VERSION = ( #80110409)
          integer, parameter :: COMADMIN_E_BADPATH = ( #8011040A)
          integer, parameter :: COMADMIN_E_APPLICATIONEXISTS = ( #8011040B)
          integer, parameter :: COMADMIN_E_ROLEEXISTS = ( #8011040C)
          integer, parameter :: COMADMIN_E_CANTCOPYFILE = ( #8011040D)
          integer, parameter :: COMADMIN_E_NOUSER = ( #8011040F)
          integer, parameter :: COMADMIN_E_INVALIDUSERIDS = ( #80110410)
          integer, parameter :: COMADMIN_E_NOREGISTRYCLSID = ( #80110411)
          integer, parameter :: COMADMIN_E_BADREGISTRYPROGID = ( #80110412)
          integer, parameter :: COMADMIN_E_AUTHENTICATIONLEVEL = ( #80110413)
          integer, parameter :: COMADMIN_E_USERPASSWDNOTVALID = ( #80110414)
          integer, parameter :: COMADMIN_E_CLSIDORIIDMISMATCH = ( #80110418)
          integer, parameter :: COMADMIN_E_REMOTEINTERFACE = ( #80110419)
          integer, parameter :: COMADMIN_E_DLLREGISTERSERVER = ( #8011041A)
          integer, parameter :: COMADMIN_E_NOSERVERSHARE = ( #8011041B)
          integer, parameter :: COMADMIN_E_DLLLOADFAILED = ( #8011041D)
          integer, parameter :: COMADMIN_E_BADREGISTRYLIBID = ( #8011041E)
          integer, parameter :: COMADMIN_E_APPDIRNOTFOUND = ( #8011041F)
          integer, parameter :: COMADMIN_E_REGISTRARFAILED = ( #80110423)
          integer, parameter :: COMADMIN_E_COMPFILE_DOESNOTEXIST = ( #80110424)
          integer, parameter :: COMADMIN_E_COMPFILE_LOADDLLFAIL = ( #80110425)
          integer, parameter :: COMADMIN_E_COMPFILE_GETCLASSOBJ = ( #80110426)
          integer, parameter :: COMADMIN_E_COMPFILE_CLASSNOTAVAIL = ( #80110427)
          integer, parameter :: COMADMIN_E_COMPFILE_BADTLB = ( #80110428)
          integer, parameter :: COMADMIN_E_COMPFILE_NOTINSTALLABLE = ( #80110429)
          integer, parameter :: COMADMIN_E_NOTCHANGEABLE = ( #8011042A)
          integer, parameter :: COMADMIN_E_NOTDELETEABLE = ( #8011042B)
          integer, parameter :: COMADMIN_E_SESSION = ( #8011042C)
          integer, parameter :: COMADMIN_E_COMP_MOVE_LOCKED = ( #8011042D)
          integer, parameter :: COMADMIN_E_COMP_MOVE_BAD_DEST = ( #8011042E)
          integer, parameter :: COMADMIN_E_REGISTERTLB = ( #80110430)
          integer, parameter :: COMADMIN_E_SYSTEMAPP = ( #80110433)
          integer, parameter :: COMADMIN_E_COMPFILE_NOREGISTRAR = ( #80110434)
          integer, parameter :: COMADMIN_E_COREQCOMPINSTALLED = ( #80110435)
          integer, parameter :: COMADMIN_E_SERVICENOTINSTALLED = ( #80110436)
          integer, parameter :: COMADMIN_E_PROPERTYSAVEFAILED = ( #80110437)
          integer, parameter :: COMADMIN_E_OBJECTEXISTS = ( #80110438)
          integer, parameter :: COMADMIN_E_REGFILE_CORRUPT = ( #8011043B)
          integer, parameter :: COMADMIN_E_PROPERTY_OVERFLOW = ( #8011043C)
          integer, parameter :: COMADMIN_E_NOTINREGISTRY = ( #8011043E)
          integer, parameter :: COMADMIN_E_OBJECTNOTPOOLABLE = ( #8011043F)
          integer, parameter :: COMADMIN_E_APPLID_MATCHES_CLSID = ( #80110446)
          integer, parameter :: COMADMIN_E_ROLE_DOES_NOT_EXIST = ( #80110447)
          integer, parameter :: COMADMIN_E_START_APP_NEEDS_COMPONENTS = ( #80110448)
          integer, parameter :: COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM = ( #80110449)
          integer, parameter :: COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY = ( #8011044A)
          integer, parameter :: COMADMIN_E_CAN_NOT_START_APP = ( #8011044B)
          integer, parameter :: COMADMIN_E_CAN_NOT_EXPORT_SYS_APP = ( #8011044C)
          integer, parameter :: COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT = ( #8011044D)
          integer, parameter :: COMADMIN_E_OBJECT_PARENT_MISSING = ( #80110808)
          integer, parameter :: COMADMIN_E_OBJECT_DOES_NOT_EXIST = ( #80110809)
          integer, parameter :: COMQC_E_APPLICATION_NOT_QUEUED = ( #80110600)
          integer, parameter :: COMQC_E_NO_QUEUEABLE_INTERFACES = ( #80110601)
          integer, parameter :: COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE = ( #80110602)
          integer, parameter :: TC_NORMAL = 0
          integer, parameter :: TC_HARDERR = 1
          integer, parameter :: TC_GP_TRAP = 2
          integer, parameter :: TC_SIGNAL = 3
          integer, parameter :: AC_LINE_OFFLINE = #00
          integer, parameter :: AC_LINE_ONLINE = #01
          integer, parameter :: AC_LINE_BACKUP_POWER = #02
          integer, parameter :: AC_LINE_UNKNOWN = #FF
          integer, parameter :: BATTERY_FLAG_HIGH = #01
          integer, parameter :: BATTERY_FLAG_LOW = #02
          integer, parameter :: BATTERY_FLAG_CRITICAL = #04
          integer, parameter :: BATTERY_FLAG_CHARGING = #08
          integer, parameter :: BATTERY_FLAG_NO_BATTERY = #80
          integer, parameter :: BATTERY_FLAG_UNKNOWN = #FF
          integer, parameter :: BATTERY_PERCENTAGE_UNKNOWN = #FF
          integer, parameter :: BATTERY_LIFE_UNKNOWN = #FFFFFFFF
          integer, parameter :: R2_BLACK = 1
          integer, parameter :: R2_NOTMERGEPEN = 2
          integer, parameter :: R2_MASKNOTPEN = 3
          integer, parameter :: R2_NOTCOPYPEN = 4
          integer, parameter :: R2_MASKPENNOT = 5
          integer, parameter :: R2_NOT = 6
          integer, parameter :: R2_XORPEN = 7
          integer, parameter :: R2_NOTMASKPEN = 8
          integer, parameter :: R2_MASKPEN = 9
          integer, parameter :: R2_NOTXORPEN = 10
          integer, parameter :: R2_NOP = 11
          integer, parameter :: R2_MERGENOTPEN = 12
          integer, parameter :: R2_COPYPEN = 13
          integer, parameter :: R2_MERGEPENNOT = 14
          integer, parameter :: R2_MERGEPEN = 15
          integer, parameter :: R2_WHITE = 16
          integer, parameter :: R2_LAST = 16
          integer, parameter :: SRCCOPY =  #00CC0020
          integer, parameter :: SRCPAINT =  #00EE0086
          integer, parameter :: SRCAND =  #008800C6
          integer, parameter :: SRCINVERT =  #00660046
          integer, parameter :: SRCERASE =  #00440328
          integer, parameter :: NOTSRCCOPY =  #00330008
          integer, parameter :: NOTSRCERASE =  #001100A6
          integer, parameter :: MERGECOPY =  #00C000CA
          integer, parameter :: MERGEPAINT =  #00BB0226
          integer, parameter :: PATCOPY =  #00F00021
          integer, parameter :: PATPAINT =  #00FB0A09
          integer, parameter :: PATINVERT =  #005A0049
          integer, parameter :: DSTINVERT =  #00550009
          integer, parameter :: BLACKNESS =  #00000042
          integer, parameter :: WHITENESS =  #00FF0062
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: NOMIRRORBITMAP =  #80000000
          integer, parameter :: CAPTUREBLT =  #40000000
    !DEC$ ENDIF
          integer, parameter :: GDI_ERROR = (#FFFFFFFF)
          integer, parameter :: HGDI_ERROR = ( (#FFFFFFFF))
          integer, parameter :: ERROR = 0
          integer, parameter :: NULLREGION = 1
          integer, parameter :: SIMPLEREGION = 2
          integer, parameter :: COMPLEXREGION = 3
          integer, parameter :: RGN_AND = 1
          integer, parameter :: RGN_OR = 2
          integer, parameter :: RGN_XOR = 3
          integer, parameter :: RGN_DIFF = 4
          integer, parameter :: RGN_COPY = 5
          integer, parameter :: BLACKONWHITE = 1
          integer, parameter :: WHITEONBLACK = 2
          integer, parameter :: COLORONCOLOR = 3
          integer, parameter :: HALFTONE = 4
          integer, parameter :: MAXSTRETCHBLTMODE = 4
          integer, parameter :: ALTERNATE = 1
          integer, parameter :: WINDING = 2
          integer, parameter :: POLYFILL_LAST = 2
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: LAYOUT_RTL = #00000001
          integer, parameter :: LAYOUT_BTT = #00000002
          integer, parameter :: LAYOUT_VBH = #00000004
          integer, parameter :: LAYOUT_ORIENTATIONMASK = (#00000001 .OR. #00000002 .OR. #00000004)
          integer, parameter :: LAYOUT_BITMAPORIENTATIONPRESERVED = #00000008
    !DEC$ ENDIF
          integer, parameter :: TA_NOUPDATECP = 0
          integer, parameter :: TA_UPDATECP = 1
          integer, parameter :: TA_LEFT = 0
          integer, parameter :: TA_RIGHT = 2
          integer, parameter :: TA_CENTER = 6
          integer, parameter :: TA_TOP = 0
          integer, parameter :: TA_BOTTOM = 8
          integer, parameter :: TA_BASELINE = 24
          integer, parameter :: TA_RTLREADING = 256
          integer, parameter :: TA_MASK = (24+6+1+256)
          integer, parameter :: ETO_OPAQUE = #0002
          integer, parameter :: ETO_CLIPPED = #0004
          integer, parameter :: ETO_GLYPH_INDEX = #0010
          integer, parameter :: ETO_RTLREADING = #0080
          integer, parameter :: ETO_NUMERICSLOCAL = #0400
          integer, parameter :: ETO_NUMERICSLATIN = #0800
          integer, parameter :: ETO_IGNORELANGUAGE = #1000
          integer, parameter :: ASPECT_FILTERING = #0001
          integer, parameter :: DCB_RESET = #0001
          integer, parameter :: DCB_ACCUMULATE = #0002
          integer, parameter :: DCB_SET = (#0001 .OR. #0002)
          integer, parameter :: DCB_ENABLE = #0004
          integer, parameter :: DCB_DISABLE = #0008
          integer, parameter :: META_SETBKCOLOR = #0201
          integer, parameter :: META_SETBKMODE = #0102
          integer, parameter :: META_SETMAPMODE = #0103
          integer, parameter :: META_SETROP2 = #0104
          integer, parameter :: META_SETRELABS = #0105
          integer, parameter :: META_SETPOLYFILLMODE = #0106
          integer, parameter :: META_SETSTRETCHBLTMODE = #0107
          integer, parameter :: META_SETTEXTCHAREXTRA = #0108
          integer, parameter :: META_SETTEXTCOLOR = #0209
          integer, parameter :: META_SETTEXTJUSTIFICATION = #020A
          integer, parameter :: META_SETWINDOWORG = #020B
          integer, parameter :: META_SETWINDOWEXT = #020C
          integer, parameter :: META_SETVIEWPORTORG = #020D
          integer, parameter :: META_SETVIEWPORTEXT = #020E
          integer, parameter :: META_OFFSETWINDOWORG = #020F
          integer, parameter :: META_SCALEWINDOWEXT = #0410
          integer, parameter :: META_OFFSETVIEWPORTORG = #0211
          integer, parameter :: META_SCALEVIEWPORTEXT = #0412
          integer, parameter :: META_LINETO = #0213
          integer, parameter :: META_MOVETO = #0214
          integer, parameter :: META_EXCLUDECLIPRECT = #0415
          integer, parameter :: META_INTERSECTCLIPRECT = #0416
          integer, parameter :: META_ARC = #0817
          integer, parameter :: META_ELLIPSE = #0418
          integer, parameter :: META_FLOODFILL = #0419
          integer, parameter :: META_PIE = #081A
          integer, parameter :: META_RECTANGLE = #041B
          integer, parameter :: META_ROUNDRECT = #061C
          integer, parameter :: META_PATBLT = #061D
          integer, parameter :: META_SAVEDC = #001E
          integer, parameter :: META_SETPIXEL = #041F
          integer, parameter :: META_OFFSETCLIPRGN = #0220
          integer, parameter :: META_TEXTOUT = #0521
          integer, parameter :: META_BITBLT = #0922
          integer, parameter :: META_STRETCHBLT = #0B23
          integer, parameter :: META_POLYGON = #0324
          integer, parameter :: META_POLYLINE = #0325
          integer, parameter :: META_ESCAPE = #0626
          integer, parameter :: META_RESTOREDC = #0127
          integer, parameter :: META_FILLREGION = #0228
          integer, parameter :: META_FRAMEREGION = #0429
          integer, parameter :: META_INVERTREGION = #012A
          integer, parameter :: META_PAINTREGION = #012B
          integer, parameter :: META_SELECTCLIPREGION = #012C
          integer, parameter :: META_SELECTOBJECT = #012D
          integer, parameter :: META_SETTEXTALIGN = #012E
          integer, parameter :: META_CHORD = #0830
          integer, parameter :: META_SETMAPPERFLAGS = #0231
          integer, parameter :: META_EXTTEXTOUT = #0a32
          integer, parameter :: META_SETDIBTODEV = #0d33
          integer, parameter :: META_SELECTPALETTE = #0234
          integer, parameter :: META_REALIZEPALETTE = #0035
          integer, parameter :: META_ANIMATEPALETTE = #0436
          integer, parameter :: META_SETPALENTRIES = #0037
          integer, parameter :: META_POLYPOLYGON = #0538
          integer, parameter :: META_RESIZEPALETTE = #0139
          integer, parameter :: META_DIBBITBLT = #0940
          integer, parameter :: META_DIBSTRETCHBLT = #0b41
          integer, parameter :: META_DIBCREATEPATTERNBRUSH = #0142
          integer, parameter :: META_STRETCHDIB = #0f43
          integer, parameter :: META_EXTFLOODFILL = #0548
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: META_SETLAYOUT = #0149
    !DEC$ ENDIF
          integer, parameter :: META_DELETEOBJECT = #01f0
          integer, parameter :: META_CREATEPALETTE = #00f7
          integer, parameter :: META_CREATEPATTERNBRUSH = #01F9
          integer, parameter :: META_CREATEPENINDIRECT = #02FA
          integer, parameter :: META_CREATEFONTINDIRECT = #02FB
          integer, parameter :: META_CREATEBRUSHINDIRECT = #02FC
          integer, parameter :: META_CREATEREGION = #06FF
          integer, parameter :: NEWFRAME = 1
          integer, parameter :: F90ABORTDOC = 2
          integer, parameter :: NEXTBAND = 3
          integer, parameter :: SETCOLORTABLE = 4
          integer, parameter :: GETCOLORTABLE = 5
          integer, parameter :: FLUSHOUTPUT = 6
          integer, parameter :: DRAFTMODE = 7
          integer, parameter :: QUERYESCSUPPORT = 8
          integer, parameter :: F90SETABORTPROC = 9
          integer, parameter :: F90STARTDOC = 10
          integer, parameter :: F90ENDDOC = 11
          integer, parameter :: GETPHYSPAGESIZE = 12
          integer, parameter :: GETPRINTINGOFFSET = 13
          integer, parameter :: GETSCALINGFACTOR = 14
          integer, parameter :: MFCOMMENT = 15
          integer, parameter :: GETPENWIDTH = 16
          integer, parameter :: SETCOPYCOUNT = 17
          integer, parameter :: SELECTPAPERSOURCE = 18
          integer, parameter :: DEVICEDATA = 19
          integer, parameter :: PASSTHROUGH = 19
          integer, parameter :: GETTECHNOLGY = 20
          integer, parameter :: GETTECHNOLOGY = 20
          integer, parameter :: SETLINECAP = 21
          integer, parameter :: SETLINEJOIN = 22
          integer, parameter :: F90SETMITERLIMIT = 23
          integer, parameter :: BANDINFO = 24
          integer, parameter :: DRAWPATTERNRECT = 25
          integer, parameter :: GETVECTORPENSIZE = 26
          integer, parameter :: GETVECTORBRUSHSIZE = 27
          integer, parameter :: ENABLEDUPLEX = 28
          integer, parameter :: GETSETPAPERBINS = 29
          integer, parameter :: GETSETPRINTORIENT = 30
          integer, parameter :: ENUMPAPERBINS = 31
          integer, parameter :: SETDIBSCALING = 32
          integer, parameter :: EPSPRINTING = 33
          integer, parameter :: ENUMPAPERMETRICS = 34
          integer, parameter :: GETSETPAPERMETRICS = 35
          integer, parameter :: POSTSCRIPT_DATA = 37
          integer, parameter :: POSTSCRIPT_IGNORE = 38
          integer, parameter :: MOUSETRAILS = 39
          integer, parameter :: GETDEVICEUNITS = 42
          integer, parameter :: GETEXTENDEDTEXTMETRICS = 256
          integer, parameter :: GETEXTENTTABLE = 257
          integer, parameter :: GETPAIRKERNTABLE = 258
          integer, parameter :: GETTRACKKERNTABLE = 259
          integer, parameter :: F90EXTTEXTOUT = 512
          integer, parameter :: GETFACENAME = 513
          integer, parameter :: DOWNLOADFACE = 514
          integer, parameter :: ENABLERELATIVEWIDTHS = 768
          integer, parameter :: ENABLEPAIRKERNING = 769
          integer, parameter :: SETKERNTRACK = 770
          integer, parameter :: SETALLJUSTVALUES = 771
          integer, parameter :: SETCHARSET = 772
          integer, parameter :: F90STRETCHBLT = 2048
          integer, parameter :: METAFILE_DRIVER = 2049
          integer, parameter :: GETSETSCREENPARAMS = 3072
          integer, parameter :: QUERYDIBSUPPORT = 3073
          integer, parameter :: BEGIN_PATH = 4096
          integer, parameter :: CLIP_TO_PATH = 4097
          integer, parameter :: END_PATH = 4098
          integer, parameter :: EXT_DEVICE_CAPS = 4099
          integer, parameter :: RESTORE_CTM = 4100
          integer, parameter :: SAVE_CTM = 4101
          integer, parameter :: SET_ARC_DIRECTION = 4102
          integer, parameter :: SET_BACKGROUND_COLOR = 4103
          integer, parameter :: SET_POLY_MODE = 4104
          integer, parameter :: SET_SCREEN_ANGLE = 4105
          integer, parameter :: SET_SPREAD = 4106
          integer, parameter :: TRANSFORM_CTM = 4107
          integer, parameter :: SET_CLIP_BOX = 4108
          integer, parameter :: SET_BOUNDS = 4109
          integer, parameter :: SET_MIRROR_MODE = 4110
          integer, parameter :: OPENCHANNEL = 4110
          integer, parameter :: DOWNLOADHEADER = 4111
          integer, parameter :: CLOSECHANNEL = 4112
          integer, parameter :: POSTSCRIPT_PASSTHROUGH = 4115
          integer, parameter :: ENCAPSULATED_POSTSCRIPT = 4116
          integer, parameter :: POSTSCRIPT_IDENTIFY = 4117
          integer, parameter :: POSTSCRIPT_INJECTION = 4118
          integer, parameter :: CHECKJPEGFORMAT = 4119
          integer, parameter :: CHECKPNGFORMAT = 4120
          integer, parameter :: GET_PS_FEATURESETTING = 4121
          integer, parameter :: SPCLPASSTHROUGH2 = 4568
          integer, parameter :: PSIDENT_GDICENTRIC = 0
          integer, parameter :: PSIDENT_PSCENTRIC = 1
          integer, parameter :: PSINJECT_BEGINSTREAM = 1
          integer, parameter :: PSINJECT_PSADOBE = 2
          integer, parameter :: PSINJECT_PAGESATEND = 3
          integer, parameter :: PSINJECT_PAGES = 4
          integer, parameter :: PSINJECT_DOCNEEDEDRES = 5
          integer, parameter :: PSINJECT_DOCSUPPLIEDRES = 6
          integer, parameter :: PSINJECT_PAGEORDER = 7
          integer, parameter :: PSINJECT_ORIENTATION = 8
          integer, parameter :: PSINJECT_BOUNDINGBOX = 9
          integer, parameter :: PSINJECT_DOCUMENTPROCESSCOLORS = 10
          integer, parameter :: PSINJECT_COMMENTS = 11
          integer, parameter :: PSINJECT_BEGINDEFAULTS = 12
          integer, parameter :: PSINJECT_ENDDEFAULTS = 13
          integer, parameter :: PSINJECT_BEGINPROLOG = 14
          integer, parameter :: PSINJECT_ENDPROLOG = 15
          integer, parameter :: PSINJECT_BEGINSETUP = 16
          integer, parameter :: PSINJECT_ENDSETUP = 17
          integer, parameter :: PSINJECT_TRAILER = 18
          integer, parameter :: PSINJECT_EOF = 19
          integer, parameter :: PSINJECT_ENDSTREAM = 20
          integer, parameter :: PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21
          integer, parameter :: PSINJECT_PAGENUMBER = 100
          integer, parameter :: PSINJECT_BEGINPAGESETUP = 101
          integer, parameter :: PSINJECT_ENDPAGESETUP = 102
          integer, parameter :: PSINJECT_PAGETRAILER = 103
          integer, parameter :: PSINJECT_PLATECOLOR = 104
          integer, parameter :: PSINJECT_SHOWPAGE = 105
          integer, parameter :: PSINJECT_PAGEBBOX = 106
          integer, parameter :: PSINJECT_ENDPAGECOMMENTS = 107
          integer, parameter :: PSINJECT_VMSAVE = 200
          integer, parameter :: PSINJECT_VMRESTORE = 201
          integer, parameter :: FEATURESETTING_NUP = 0
          integer, parameter :: FEATURESETTING_OUTPUT = 1
          integer, parameter :: FEATURESETTING_PSLEVEL = 2
          integer, parameter :: FEATURESETTING_CUSTPAPER = 3
          integer, parameter :: FEATURESETTING_MIRROR = 4
          integer, parameter :: FEATURESETTING_NEGATIVE = 5
          integer, parameter :: FEATURESETTING_PROTOCOL = 6
          integer, parameter :: PSPROTOCOL_ASCII = 0
          integer, parameter :: PSPROTOCOL_BCP = 1
          integer, parameter :: PSPROTOCOL_TBCP = 2
          integer, parameter :: PSPROTOCOL_BINARY = 3
          integer, parameter :: QDI_SETDIBITS = 1
          integer, parameter :: QDI_GETDIBITS = 2
          integer, parameter :: QDI_DIBTOSCREEN = 4
          integer, parameter :: QDI_STRETCHDIB = 8
          integer, parameter :: SP_NOTREPORTED = #4000
          integer, parameter :: SP_ERROR = (-1)
          integer, parameter :: SP_APPABORT = (-2)
          integer, parameter :: SP_USERABORT = (-3)
          integer, parameter :: SP_OUTOFDISK = (-4)
          integer, parameter :: SP_OUTOFMEMORY = (-5)
          integer, parameter :: PR_JOBSTATUS = #0000
          integer, parameter :: OBJ_PEN = 1
          integer, parameter :: OBJ_BRUSH = 2
          integer, parameter :: OBJ_DC = 3
          integer, parameter :: OBJ_METADC = 4
          integer, parameter :: OBJ_PAL = 5
          integer, parameter :: OBJ_FONT = 6
          integer, parameter :: OBJ_BITMAP = 7
          integer, parameter :: OBJ_REGION = 8
          integer, parameter :: OBJ_METAFILE = 9
          integer, parameter :: OBJ_MEMDC = 10
          integer, parameter :: OBJ_EXTPEN = 11
          integer, parameter :: OBJ_ENHMETADC = 12
          integer, parameter :: OBJ_ENHMETAFILE = 13
          integer, parameter :: OBJ_COLORSPACE = 14
          integer, parameter :: MWT_IDENTITY = 1
          integer, parameter :: MWT_LEFTMULTIPLY = 2
          integer, parameter :: MWT_RIGHTMULTIPLY = 3
          integer, parameter :: CS_ENABLE = #00000001
          integer, parameter :: CS_DISABLE = #00000002
          integer, parameter :: CS_DELETE_TRANSFORM = #00000003
          integer, parameter :: LCS_CALIBRATED_RGB = #00000000
          integer, parameter :: LCS_GM_BUSINESS = #00000001
          integer, parameter :: LCS_GM_GRAPHICS = #00000002
          integer, parameter :: LCS_GM_IMAGES = #00000004
          integer, parameter :: LCS_GM_ABS_COLORIMETRIC = #00000008
          integer, parameter :: CM_OUT_OF_GAMUT = 255
          integer, parameter :: CM_IN_GAMUT = 0
          integer, parameter :: ICM_ADDPROFILE = 1
          integer, parameter :: ICM_DELETEPROFILE = 2
          integer, parameter :: ICM_QUERYPROFILE = 3
          integer, parameter :: ICM_SETDEFAULTPROFILE = 4
          integer, parameter :: ICM_REGISTERICMATCHER = 5
          integer, parameter :: ICM_UNREGISTERICMATCHER = 6
          integer, parameter :: ICM_QUERYMATCH = 7
          integer, parameter :: TCI_SRCCHARSET = 1
          integer, parameter :: TCI_SRCCODEPAGE = 2
          integer, parameter :: TCI_SRCFONTSIG = 3
          integer, parameter :: TMPF_FIXED_PITCH = #01
          integer, parameter :: TMPF_VECTOR = #02
          integer, parameter :: TMPF_DEVICE = #08
          integer, parameter :: TMPF_TRUETYPE = #04
          integer, parameter :: NTM_REGULAR = #00000040
          integer, parameter :: NTM_BOLD = #00000020
          integer, parameter :: NTM_ITALIC = #00000001
          integer, parameter :: NTM_NONNEGATIVE_AC = #00010000
          integer, parameter :: NTM_PS_OPENTYPE = #00020000
          integer, parameter :: NTM_TT_OPENTYPE = #00040000
          integer, parameter :: NTM_MULTIPLEMASTER = #00080000
          integer, parameter :: NTM_TYPE1 = #00100000
          integer, parameter :: NTM_DSIG = #00200000
          integer, parameter :: LF_FACESIZE = 32
          integer, parameter :: LF_FULLFACESIZE = 64
          integer, parameter :: OUT_DEFAULT_PRECIS = 0
          integer, parameter :: OUT_STRING_PRECIS = 1
          integer, parameter :: OUT_CHARACTER_PRECIS = 2
          integer, parameter :: OUT_STROKE_PRECIS = 3
          integer, parameter :: OUT_TT_PRECIS = 4
          integer, parameter :: OUT_DEVICE_PRECIS = 5
          integer, parameter :: OUT_RASTER_PRECIS = 6
          integer, parameter :: OUT_TT_ONLY_PRECIS = 7
          integer, parameter :: OUT_OUTLINE_PRECIS = 8
          integer, parameter :: OUT_SCREEN_OUTLINE_PRECIS = 9
          integer, parameter :: OUT_PS_ONLY_PRECIS = 10
          integer, parameter :: CLIP_DEFAULT_PRECIS = 0
          integer, parameter :: CLIP_CHARACTER_PRECIS = 1
          integer, parameter :: CLIP_STROKE_PRECIS = 2
          integer, parameter :: CLIP_MASK = #f
          integer, parameter :: CLIP_LH_ANGLES = (1* 2**4)
          integer, parameter :: CLIP_TT_ALWAYS = (2* 2**4)
          integer, parameter :: CLIP_EMBEDDED = (8* 2**4)
          integer, parameter :: DEFAULT_QUALITY = 0
          integer, parameter :: DRAFT_QUALITY = 1
          integer, parameter :: PROOF_QUALITY = 2
          integer, parameter :: NONANTIALIASED_QUALITY = 3
          integer, parameter :: ANTIALIASED_QUALITY = 4
          integer, parameter :: DEFAULT_PITCH = 0
          integer, parameter :: FIXED_PITCH = 1
          integer, parameter :: VARIABLE_PITCH = 2
          integer, parameter :: MONO_FONT = 8
          integer, parameter :: ANSI_CHARSET = 0
          integer, parameter :: DEFAULT_CHARSET = 1
          integer, parameter :: SYMBOL_CHARSET = 2
          integer, parameter :: SHIFTJIS_CHARSET = 128
          integer, parameter :: HANGEUL_CHARSET = 129
          integer, parameter :: HANGUL_CHARSET = 129
          integer, parameter :: GB2312_CHARSET = 134
          integer, parameter :: CHINESEBIG5_CHARSET = 136
          integer, parameter :: OEM_CHARSET = 255
          integer, parameter :: JOHAB_CHARSET = 130
          integer, parameter :: HEBREW_CHARSET = 177
          integer, parameter :: ARABIC_CHARSET = 178
          integer, parameter :: GREEK_CHARSET = 161
          integer, parameter :: TURKISH_CHARSET = 162
          integer, parameter :: VIETNAMESE_CHARSET = 163
          integer, parameter :: THAI_CHARSET = 222
          integer, parameter :: EASTEUROPE_CHARSET = 238
          integer, parameter :: RUSSIAN_CHARSET = 204
          integer, parameter :: MAC_CHARSET = 77
          integer, parameter :: BALTIC_CHARSET = 186
          integer, parameter :: FS_LATIN1 = #00000001
          integer, parameter :: FS_LATIN2 = #00000002
          integer, parameter :: FS_CYRILLIC = #00000004
          integer, parameter :: FS_GREEK = #00000008
          integer, parameter :: FS_TURKISH = #00000010
          integer, parameter :: FS_HEBREW = #00000020
          integer, parameter :: FS_ARABIC = #00000040
          integer, parameter :: FS_BALTIC = #00000080
          integer, parameter :: FS_VIETNAMESE = #00000100
          integer, parameter :: FS_THAI = #00010000
          integer, parameter :: FS_JISJAPAN = #00020000
          integer, parameter :: FS_CHINESESIMP = #00040000
          integer, parameter :: FS_WANSUNG = #00080000
          integer, parameter :: FS_CHINESETRAD = #00100000
          integer, parameter :: FS_JOHAB = #00200000
          integer, parameter :: FS_SYMBOL = #80000000
          integer, parameter :: FF_DONTCARE = (0* 2**4)
          integer, parameter :: FF_ROMAN = (1* 2**4)
          integer, parameter :: FF_SWISS = (2* 2**4)
          integer, parameter :: FF_MODERN = (3* 2**4)
          integer, parameter :: FF_SCRIPT = (4* 2**4)
          integer, parameter :: FF_DECORATIVE = (5* 2**4)
          integer, parameter :: FW_DONTCARE = 0
          integer, parameter :: FW_THIN = 100
          integer, parameter :: FW_EXTRALIGHT = 200
          integer, parameter :: FW_LIGHT = 300
          integer, parameter :: FW_NORMAL = 400
          integer, parameter :: FW_MEDIUM = 500
          integer, parameter :: FW_SEMIBOLD = 600
          integer, parameter :: FW_BOLD = 700
          integer, parameter :: FW_EXTRABOLD = 800
          integer, parameter :: FW_HEAVY = 900
          integer, parameter :: PANOSE_COUNT = 10
          integer, parameter :: PAN_FAMILYTYPE_INDEX = 0
          integer, parameter :: PAN_SERIFSTYLE_INDEX = 1
          integer, parameter :: PAN_WEIGHT_INDEX = 2
          integer, parameter :: PAN_PROPORTION_INDEX = 3
          integer, parameter :: PAN_CONTRAST_INDEX = 4
          integer, parameter :: PAN_STROKEVARIATION_INDEX = 5
          integer, parameter :: PAN_ARMSTYLE_INDEX = 6
          integer, parameter :: PAN_LETTERFORM_INDEX = 7
          integer, parameter :: PAN_MIDLINE_INDEX = 8
          integer, parameter :: PAN_XHEIGHT_INDEX = 9
          integer, parameter :: PAN_CULTURE_LATIN = 0
          integer, parameter :: PAN_ANY = 0
          integer, parameter :: PAN_NO_FIT = 1
          integer, parameter :: PAN_FAMILY_TEXT_DISPLAY = 2
          integer, parameter :: PAN_FAMILY_SCRIPT = 3
          integer, parameter :: PAN_FAMILY_DECORATIVE = 4
          integer, parameter :: PAN_FAMILY_PICTORIAL = 5
          integer, parameter :: PAN_SERIF_COVE = 2
          integer, parameter :: PAN_SERIF_OBTUSE_COVE = 3
          integer, parameter :: PAN_SERIF_SQUARE_COVE = 4
          integer, parameter :: PAN_SERIF_OBTUSE_SQUARE_COVE = 5
          integer, parameter :: PAN_SERIF_SQUARE = 6
          integer, parameter :: PAN_SERIF_THIN = 7
          integer, parameter :: PAN_SERIF_BONE = 8
          integer, parameter :: PAN_SERIF_EXAGGERATED = 9
          integer, parameter :: PAN_SERIF_TRIANGLE = 10
          integer, parameter :: PAN_SERIF_NORMAL_SANS = 11
          integer, parameter :: PAN_SERIF_OBTUSE_SANS = 12
          integer, parameter :: PAN_SERIF_PERP_SANS = 13
          integer, parameter :: PAN_SERIF_FLARED = 14
          integer, parameter :: PAN_SERIF_ROUNDED = 15
          integer, parameter :: PAN_WEIGHT_VERY_LIGHT = 2
          integer, parameter :: PAN_WEIGHT_LIGHT = 3
          integer, parameter :: PAN_WEIGHT_THIN = 4
          integer, parameter :: PAN_WEIGHT_BOOK = 5
          integer, parameter :: PAN_WEIGHT_MEDIUM = 6
          integer, parameter :: PAN_WEIGHT_DEMI = 7
          integer, parameter :: PAN_WEIGHT_BOLD = 8
          integer, parameter :: PAN_WEIGHT_HEAVY = 9
          integer, parameter :: PAN_WEIGHT_BLACK = 10
          integer, parameter :: PAN_WEIGHT_NORD = 11
          integer, parameter :: PAN_PROP_OLD_STYLE = 2
          integer, parameter :: PAN_PROP_MODERN = 3
          integer, parameter :: PAN_PROP_EVEN_WIDTH = 4
          integer, parameter :: PAN_PROP_EXPANDED = 5
          integer, parameter :: PAN_PROP_CONDENSED = 6
          integer, parameter :: PAN_PROP_VERY_EXPANDED = 7
          integer, parameter :: PAN_PROP_VERY_CONDENSED = 8
          integer, parameter :: PAN_PROP_MONOSPACED = 9
          integer, parameter :: PAN_CONTRAST_NONE = 2
          integer, parameter :: PAN_CONTRAST_VERY_LOW = 3
          integer, parameter :: PAN_CONTRAST_LOW = 4
          integer, parameter :: PAN_CONTRAST_MEDIUM_LOW = 5
          integer, parameter :: PAN_CONTRAST_MEDIUM = 6
          integer, parameter :: PAN_CONTRAST_MEDIUM_HIGH = 7
          integer, parameter :: PAN_CONTRAST_HIGH = 8
          integer, parameter :: PAN_CONTRAST_VERY_HIGH = 9
          integer, parameter :: PAN_STROKE_GRADUAL_DIAG = 2
          integer, parameter :: PAN_STROKE_GRADUAL_TRAN = 3
          integer, parameter :: PAN_STROKE_GRADUAL_VERT = 4
          integer, parameter :: PAN_STROKE_GRADUAL_HORZ = 5
          integer, parameter :: PAN_STROKE_RAPID_VERT = 6
          integer, parameter :: PAN_STROKE_RAPID_HORZ = 7
          integer, parameter :: PAN_STROKE_INSTANT_VERT = 8
          integer, parameter :: PAN_STRAIGHT_ARMS_HORZ = 2
          integer, parameter :: PAN_STRAIGHT_ARMS_WEDGE = 3
          integer, parameter :: PAN_STRAIGHT_ARMS_VERT = 4
          integer, parameter :: PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5
          integer, parameter :: PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6
          integer, parameter :: PAN_BENT_ARMS_HORZ = 7
          integer, parameter :: PAN_BENT_ARMS_WEDGE = 8
          integer, parameter :: PAN_BENT_ARMS_VERT = 9
          integer, parameter :: PAN_BENT_ARMS_SINGLE_SERIF = 10
          integer, parameter :: PAN_BENT_ARMS_DOUBLE_SERIF = 11
          integer, parameter :: PAN_LETT_NORMAL_CONTACT = 2
          integer, parameter :: PAN_LETT_NORMAL_WEIGHTED = 3
          integer, parameter :: PAN_LETT_NORMAL_BOXED = 4
          integer, parameter :: PAN_LETT_NORMAL_FLATTENED = 5
          integer, parameter :: PAN_LETT_NORMAL_ROUNDED = 6
          integer, parameter :: PAN_LETT_NORMAL_OFF_CENTER = 7
          integer, parameter :: PAN_LETT_NORMAL_SQUARE = 8
          integer, parameter :: PAN_LETT_OBLIQUE_CONTACT = 9
          integer, parameter :: PAN_LETT_OBLIQUE_WEIGHTED = 10
          integer, parameter :: PAN_LETT_OBLIQUE_BOXED = 11
          integer, parameter :: PAN_LETT_OBLIQUE_FLATTENED = 12
          integer, parameter :: PAN_LETT_OBLIQUE_ROUNDED = 13
          integer, parameter :: PAN_LETT_OBLIQUE_OFF_CENTER = 14
          integer, parameter :: PAN_LETT_OBLIQUE_SQUARE = 15
          integer, parameter :: PAN_MIDLINE_STANDARD_TRIMMED = 2
          integer, parameter :: PAN_MIDLINE_STANDARD_POINTED = 3
          integer, parameter :: PAN_MIDLINE_STANDARD_SERIFED = 4
          integer, parameter :: PAN_MIDLINE_HIGH_TRIMMED = 5
          integer, parameter :: PAN_MIDLINE_HIGH_POINTED = 6
          integer, parameter :: PAN_MIDLINE_HIGH_SERIFED = 7
          integer, parameter :: PAN_MIDLINE_CONSTANT_TRIMMED = 8
          integer, parameter :: PAN_MIDLINE_CONSTANT_POINTED = 9
          integer, parameter :: PAN_MIDLINE_CONSTANT_SERIFED = 10
          integer, parameter :: PAN_MIDLINE_LOW_TRIMMED = 11
          integer, parameter :: PAN_MIDLINE_LOW_POINTED = 12
          integer, parameter :: PAN_MIDLINE_LOW_SERIFED = 13
          integer, parameter :: PAN_XHEIGHT_CONSTANT_SMALL = 2
          integer, parameter :: PAN_XHEIGHT_CONSTANT_STD = 3
          integer, parameter :: PAN_XHEIGHT_CONSTANT_LARGE = 4
          integer, parameter :: PAN_XHEIGHT_DUCKING_SMALL = 5
          integer, parameter :: PAN_XHEIGHT_DUCKING_STD = 6
          integer, parameter :: PAN_XHEIGHT_DUCKING_LARGE = 7
          integer, parameter :: ELF_VENDOR_SIZE = 4
          integer, parameter :: ELF_VERSION = 0
          integer, parameter :: ELF_CULTURE_LATIN = 0
          integer, parameter :: RASTER_FONTTYPE = #0001
          integer, parameter :: DEVICE_FONTTYPE = #002
          integer, parameter :: TRUETYPE_FONTTYPE = #004
          integer, parameter :: PC_RESERVED = #01
          integer, parameter :: PC_EXPLICIT = #02
          integer, parameter :: PC_NOCOLLAPSE = #04
          integer, parameter :: TRANSPARENT = 1
          integer, parameter :: OPAQUE = 2
          integer, parameter :: BKMODE_LAST = 2
          integer, parameter :: GM_COMPATIBLE = 1
          integer, parameter :: GM_ADVANCED = 2
          integer, parameter :: GM_LAST = 2
          integer, parameter :: PT_CLOSEFIGURE = #01
          integer, parameter :: PT_LINETO = #02
          integer, parameter :: PT_BEZIERTO = #04
          integer, parameter :: PT_MOVETO = #06
          integer, parameter :: MM_TEXT = 1
          integer, parameter :: MM_LOMETRIC = 2
          integer, parameter :: MM_HIMETRIC = 3
          integer, parameter :: MM_LOENGLISH = 4
          integer, parameter :: MM_HIENGLISH = 5
          integer, parameter :: MM_TWIPS = 6
          integer, parameter :: MM_ISOTROPIC = 7
          integer, parameter :: MM_ANISOTROPIC = 8
          integer, parameter :: ABSOLUTE = 1
          integer, parameter :: RELATIVE = 2
          integer, parameter :: WHITE_BRUSH = 0
          integer, parameter :: LTGRAY_BRUSH = 1
          integer, parameter :: GRAY_BRUSH = 2
          integer, parameter :: DKGRAY_BRUSH = 3
          integer, parameter :: BLACK_BRUSH = 4
          integer, parameter :: NULL_BRUSH = 5
          integer, parameter :: WHITE_PEN = 6
          integer, parameter :: BLACK_PEN = 7
          integer, parameter :: NULL_PEN = 8
          integer, parameter :: OEM_FIXED_FONT = 10
          integer, parameter :: ANSI_FIXED_FONT = 11
          integer, parameter :: ANSI_VAR_FONT = 12
          integer, parameter :: SYSTEM_FONT = 13
          integer, parameter :: DEVICE_DEFAULT_FONT = 14
          integer, parameter :: DEFAULT_PALETTE = 15
          integer, parameter :: SYSTEM_FIXED_FONT = 16
          integer, parameter :: DEFAULT_GUI_FONT = 17
          integer, parameter :: STOCK_LAST = 17
          integer, parameter :: CLR_INVALID = #FFFFFFFF
          integer, parameter :: BS_SOLID = 0
          integer, parameter :: BS_NULL = 1
          integer, parameter :: BS_HATCHED = 2
          integer, parameter :: BS_PATTERN = 3
          integer, parameter :: BS_INDEXED = 4
          integer, parameter :: BS_DIBPATTERN = 5
          integer, parameter :: BS_DIBPATTERNPT = 6
          integer, parameter :: BS_PATTERN8X8 = 7
          integer, parameter :: BS_DIBPATTERN8X8 = 8
          integer, parameter :: BS_MONOPATTERN = 9
          integer, parameter :: HS_HORIZONTAL = 0
          integer, parameter :: HS_VERTICAL = 1
          integer, parameter :: HS_FDIAGONAL = 2
          integer, parameter :: HS_BDIAGONAL = 3
          integer, parameter :: HS_CROSS = 4
          integer, parameter :: HS_DIAGCROSS = 5
          integer, parameter :: PS_SOLID = 0
          integer, parameter :: PS_DASH = 1
          integer, parameter :: PS_DOT = 2
          integer, parameter :: PS_DASHDOT = 3
          integer, parameter :: PS_DASHDOTDOT = 4
          integer, parameter :: PS_NULL = 5
          integer, parameter :: PS_INSIDEFRAME = 6
          integer, parameter :: PS_USERSTYLE = 7
          integer, parameter :: PS_ALTERNATE = 8
          integer, parameter :: PS_STYLE_MASK = #0000000F
          integer, parameter :: PS_ENDCAP_ROUND = #00000000
          integer, parameter :: PS_ENDCAP_SQUARE = #00000100
          integer, parameter :: PS_ENDCAP_FLAT = #00000200
          integer, parameter :: PS_ENDCAP_MASK = #00000F00
          integer, parameter :: PS_JOIN_ROUND = #00000000
          integer, parameter :: PS_JOIN_BEVEL = #00001000
          integer, parameter :: PS_JOIN_MITER = #00002000
          integer, parameter :: PS_JOIN_MASK = #0000F000
          integer, parameter :: PS_COSMETIC = #00000000
          integer, parameter :: PS_GEOMETRIC = #00010000
          integer, parameter :: PS_TYPE_MASK = #000F0000
          integer, parameter :: AD_COUNTERCLOCKWISE = 1
          integer, parameter :: AD_CLOCKWISE = 2
          integer, parameter :: DRIVERVERSION = 0
          integer, parameter :: TECHNOLOGY = 2
          integer, parameter :: HORZSIZE = 4
          integer, parameter :: VERTSIZE = 6
          integer, parameter :: HORZRES = 8
          integer, parameter :: VERTRES = 10
          integer, parameter :: BITSPIXEL = 12
          integer, parameter :: PLANES = 14
          integer, parameter :: NUMBRUSHES = 16
          integer, parameter :: NUMPENS = 18
          integer, parameter :: NUMMARKERS = 20
          integer, parameter :: NUMFONTS = 22
          integer, parameter :: NUMCOLORS = 24
          integer, parameter :: PDEVICESIZE = 26
          integer, parameter :: CURVECAPS = 28
          integer, parameter :: LINECAPS = 30
          integer, parameter :: POLYGONALCAPS = 32
          integer, parameter :: TEXTCAPS = 34
          integer, parameter :: CLIPCAPS = 36
          integer, parameter :: RASTERCAPS = 38
          integer, parameter :: ASPECTX = 40
          integer, parameter :: ASPECTY = 42
          integer, parameter :: ASPECTXY = 44
          integer, parameter :: LOGPIXELSX = 88
          integer, parameter :: LOGPIXELSY = 90
          integer, parameter :: SIZEPALETTE = 104
          integer, parameter :: NUMRESERVED = 106
          integer, parameter :: COLORRES = 108
          integer, parameter :: PHYSICALWIDTH = 110
          integer, parameter :: PHYSICALHEIGHT = 111
          integer, parameter :: PHYSICALOFFSETX = 112
          integer, parameter :: PHYSICALOFFSETY = 113
          integer, parameter :: SCALINGFACTORX = 114
          integer, parameter :: SCALINGFACTORY = 115
          integer, parameter :: VREFRESH = 116
          integer, parameter :: DESKTOPVERTRES = 117
          integer, parameter :: DESKTOPHORZRES = 118
          integer, parameter :: BLTALIGNMENT = 119
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SHADEBLENDCAPS = 120
          integer, parameter :: COLORMGMTCAPS = 121
    !DEC$ ENDIF
          integer, parameter :: DT_PLOTTER = 0
          integer, parameter :: DT_RASDISPLAY = 1
          integer, parameter :: DT_RASPRINTER = 2
          integer, parameter :: DT_RASCAMERA = 3
          integer, parameter :: DT_CHARSTREAM = 4
          integer, parameter :: DT_METAFILE = 5
          integer, parameter :: DT_DISPFILE = 6
          integer, parameter :: CC_NONE = 0
          integer, parameter :: CC_CIRCLES = 1
          integer, parameter :: CC_PIE = 2
          integer, parameter :: CC_CHORD = 4
          integer, parameter :: CC_ELLIPSES = 8
          integer, parameter :: CC_WIDE = 16
          integer, parameter :: CC_STYLED = 32
          integer, parameter :: CC_WIDESTYLED = 64
          integer, parameter :: CC_INTERIORS = 128
          integer, parameter :: CC_ROUNDRECT = 256
          integer, parameter :: LC_NONE = 0
          integer, parameter :: LC_POLYLINE = 2
          integer, parameter :: LC_MARKER = 4
          integer, parameter :: LC_POLYMARKER = 8
          integer, parameter :: LC_WIDE = 16
          integer, parameter :: LC_STYLED = 32
          integer, parameter :: LC_WIDESTYLED = 64
          integer, parameter :: LC_INTERIORS = 128
          integer, parameter :: PC_NONE = 0
          integer, parameter :: PC_POLYGON = 1
          integer, parameter :: PC_RECTANGLE = 2
          integer, parameter :: PC_WINDPOLYGON = 4
          integer, parameter :: PC_TRAPEZOID = 4
          integer, parameter :: PC_SCANLINE = 8
          integer, parameter :: PC_WIDE = 16
          integer, parameter :: PC_STYLED = 32
          integer, parameter :: PC_WIDESTYLED = 64
          integer, parameter :: PC_INTERIORS = 128
          integer, parameter :: PC_POLYPOLYGON = 256
          integer, parameter :: PC_PATHS = 512
          integer, parameter :: CP_NONE = 0
          integer, parameter :: CP_RECTANGLE = 1
          integer, parameter :: CP_REGION = 2
          integer, parameter :: TC_OP_CHARACTER = #00000001
          integer, parameter :: TC_OP_STROKE = #00000002
          integer, parameter :: TC_CP_STROKE = #00000004
          integer, parameter :: TC_CR_90 = #00000008
          integer, parameter :: TC_CR_ANY = #00000010
          integer, parameter :: TC_SF_X_YINDEP = #00000020
          integer, parameter :: TC_SA_DOUBLE = #00000040
          integer, parameter :: TC_SA_INTEGER = #00000080
          integer, parameter :: TC_SA_CONTIN = #00000100
          integer, parameter :: TC_EA_DOUBLE = #00000200
          integer, parameter :: TC_IA_ABLE = #00000400
          integer, parameter :: TC_UA_ABLE = #00000800
          integer, parameter :: TC_SO_ABLE = #00001000
          integer, parameter :: TC_RA_ABLE = #00002000
          integer, parameter :: TC_VA_ABLE = #00004000
          integer, parameter :: TC_RESERVED = #00008000
          integer, parameter :: TC_SCROLLBLT = #00010000
          integer, parameter :: RC_BITBLT = 1
          integer, parameter :: RC_BANDING = 2
          integer, parameter :: RC_SCALING = 4
          integer, parameter :: RC_BITMAP64 = 8
          integer, parameter :: RC_GDI20_OUTPUT = #0010
          integer, parameter :: RC_GDI20_STATE = #0020
          integer, parameter :: RC_SAVEBITMAP = #0040
          integer, parameter :: RC_DI_BITMAP = #0080
          integer, parameter :: RC_PALETTE = #0100
          integer, parameter :: RC_DIBTODEV = #0200
          integer, parameter :: RC_BIGFONT = #0400
          integer, parameter :: RC_STRETCHBLT = #0800
          integer, parameter :: RC_FLOODFILL = #1000
          integer, parameter :: RC_STRETCHDIB = #2000
          integer, parameter :: RC_OP_DX_OUTPUT = #4000
          integer, parameter :: RC_DEVBITS = #8000
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SB_NONE = #00000000
          integer, parameter :: SB_CONST_ALPHA = #00000001
          integer, parameter :: SB_PIXEL_ALPHA = #00000002
          integer, parameter :: SB_PREMULT_ALPHA = #00000004
          integer, parameter :: SB_GRAD_RECT = #00000010
          integer, parameter :: SB_GRAD_TRI = #00000020
          integer, parameter :: CM_NONE = #00000000
          integer, parameter :: CM_DEVICE_ICM = #00000001
          integer, parameter :: CM_GAMMA_RAMP = #00000002
          integer, parameter :: CM_CMYK_COLOR = #00000004
    !DEC$ ENDIF
          integer, parameter :: DIB_RGB_COLORS = 0
          integer, parameter :: DIB_PAL_COLORS = 1
          integer, parameter :: SYSPAL_ERROR = 0
          integer, parameter :: SYSPAL_STATIC = 1
          integer, parameter :: SYSPAL_NOSTATIC = 2
          integer, parameter :: SYSPAL_NOSTATIC256 = 3
          integer, parameter :: CBM_INIT = #04
          integer, parameter :: FLOODFILLBORDER = 0
          integer, parameter :: FLOODFILLSURFACE = 1
          integer, parameter :: CCHDEVICENAME = 32
          integer, parameter :: CCHFORMNAME = 32
          integer, parameter :: DM_SPECVERSION = #0401
          integer, parameter :: DM_ORIENTATION = #00000001
          integer, parameter :: DM_PAPERSIZE = #00000002
          integer, parameter :: DM_PAPERLENGTH = #00000004
          integer, parameter :: DM_PAPERWIDTH = #00000008
          integer, parameter :: DM_SCALE = #00000010
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DM_POSITION = #00000020
          integer, parameter :: DM_NUP = #00000040
    !DEC$ ENDIF
          integer, parameter :: DM_COPIES = #00000100
          integer, parameter :: DM_DEFAULTSOURCE = #00000200
          integer, parameter :: DM_PRINTQUALITY = #00000400
          integer, parameter :: DM_COLOR = #00000800
          integer, parameter :: DM_DUPLEX = #00001000
          integer, parameter :: DM_YRESOLUTION = #00002000
          integer, parameter :: DM_TTOPTION = #00004000
          integer, parameter :: DM_COLLATE = #00008000
          integer, parameter :: DM_FORMNAME = #00010000
          integer, parameter :: DM_LOGPIXELS = #00020000
          integer, parameter :: DM_BITSPERPEL = #00040000
          integer, parameter :: DM_PELSWIDTH = #00080000
          integer, parameter :: DM_PELSHEIGHT = #00100000
          integer, parameter :: DM_DISPLAYFLAGS = #00200000
          integer, parameter :: DM_DISPLAYFREQUENCY = #00400000
          integer, parameter :: DM_ICMMETHOD = #00800000
          integer, parameter :: DM_ICMINTENT = #01000000
          integer, parameter :: DM_MEDIATYPE = #02000000
          integer, parameter :: DM_DITHERTYPE = #04000000
          integer, parameter :: DM_PANNINGWIDTH = #08000000
          integer, parameter :: DM_PANNINGHEIGHT = #10000000
          integer, parameter :: DMORIENT_PORTRAIT = 1
          integer, parameter :: DMORIENT_LANDSCAPE = 2
          integer, parameter :: DMPAPER_LETTER = 1
          integer, parameter :: DMPAPER_LETTERSMALL = 2
          integer, parameter :: DMPAPER_TABLOID = 3
          integer, parameter :: DMPAPER_LEDGER = 4
          integer, parameter :: DMPAPER_LEGAL = 5
          integer, parameter :: DMPAPER_STATEMENT = 6
          integer, parameter :: DMPAPER_EXECUTIVE = 7
          integer, parameter :: DMPAPER_A3 = 8
          integer, parameter :: DMPAPER_A4 = 9
          integer, parameter :: DMPAPER_A4SMALL = 10
          integer, parameter :: DMPAPER_A5 = 11
          integer, parameter :: DMPAPER_B4 = 12
          integer, parameter :: DMPAPER_B5 = 13
          integer, parameter :: DMPAPER_FOLIO = 14
          integer, parameter :: DMPAPER_QUARTO = 15
          integer, parameter :: DMPAPER_10X14 = 16
          integer, parameter :: DMPAPER_11X17 = 17
          integer, parameter :: DMPAPER_NOTE = 18
          integer, parameter :: DMPAPER_ENV_9 = 19
          integer, parameter :: DMPAPER_ENV_10 = 20
          integer, parameter :: DMPAPER_ENV_11 = 21
          integer, parameter :: DMPAPER_ENV_12 = 22
          integer, parameter :: DMPAPER_ENV_14 = 23
          integer, parameter :: DMPAPER_CSHEET = 24
          integer, parameter :: DMPAPER_DSHEET = 25
          integer, parameter :: DMPAPER_ESHEET = 26
          integer, parameter :: DMPAPER_ENV_DL = 27
          integer, parameter :: DMPAPER_ENV_C5 = 28
          integer, parameter :: DMPAPER_ENV_C3 = 29
          integer, parameter :: DMPAPER_ENV_C4 = 30
          integer, parameter :: DMPAPER_ENV_C6 = 31
          integer, parameter :: DMPAPER_ENV_C65 = 32
          integer, parameter :: DMPAPER_ENV_B4 = 33
          integer, parameter :: DMPAPER_ENV_B5 = 34
          integer, parameter :: DMPAPER_ENV_B6 = 35
          integer, parameter :: DMPAPER_ENV_ITALY = 36
          integer, parameter :: DMPAPER_ENV_MONARCH = 37
          integer, parameter :: DMPAPER_ENV_PERSONAL = 38
          integer, parameter :: DMPAPER_FANFOLD_US = 39
          integer, parameter :: DMPAPER_FANFOLD_STD_GERMAN = 40
          integer, parameter :: DMPAPER_FANFOLD_LGL_GERMAN = 41
          integer, parameter :: DMPAPER_ISO_B4 = 42
          integer, parameter :: DMPAPER_JAPANESE_POSTCARD = 43
          integer, parameter :: DMPAPER_9X11 = 44
          integer, parameter :: DMPAPER_10X11 = 45
          integer, parameter :: DMPAPER_15X11 = 46
          integer, parameter :: DMPAPER_ENV_INVITE = 47
          integer, parameter :: DMPAPER_RESERVED_48 = 48
          integer, parameter :: DMPAPER_RESERVED_49 = 49
          integer, parameter :: DMPAPER_LETTER_EXTRA = 50
          integer, parameter :: DMPAPER_LEGAL_EXTRA = 51
          integer, parameter :: DMPAPER_TABLOID_EXTRA = 52
          integer, parameter :: DMPAPER_A4_EXTRA = 53
          integer, parameter :: DMPAPER_LETTER_TRANSVERSE = 54
          integer, parameter :: DMPAPER_A4_TRANSVERSE = 55
          integer, parameter :: DMPAPER_LETTER_EXTRA_TRANSVERSE = 56
          integer, parameter :: DMPAPER_A_PLUS = 57
          integer, parameter :: DMPAPER_B_PLUS = 58
          integer, parameter :: DMPAPER_LETTER_PLUS = 59
          integer, parameter :: DMPAPER_A4_PLUS = 60
          integer, parameter :: DMPAPER_A5_TRANSVERSE = 61
          integer, parameter :: DMPAPER_B5_TRANSVERSE = 62
          integer, parameter :: DMPAPER_A3_EXTRA = 63
          integer, parameter :: DMPAPER_A5_EXTRA = 64
          integer, parameter :: DMPAPER_B5_EXTRA = 65
          integer, parameter :: DMPAPER_A2 = 66
          integer, parameter :: DMPAPER_A3_TRANSVERSE = 67
          integer, parameter :: DMPAPER_A3_EXTRA_TRANSVERSE = 68
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DMPAPER_DBL_JAPANESE_POSTCARD = 69
          integer, parameter :: DMPAPER_A6 = 70
          integer, parameter :: DMPAPER_JENV_KAKU2 = 71
          integer, parameter :: DMPAPER_JENV_KAKU3 = 72
          integer, parameter :: DMPAPER_JENV_CHOU3 = 73
          integer, parameter :: DMPAPER_JENV_CHOU4 = 74
          integer, parameter :: DMPAPER_LETTER_ROTATED = 75
          integer, parameter :: DMPAPER_A3_ROTATED = 76
          integer, parameter :: DMPAPER_A4_ROTATED = 77
          integer, parameter :: DMPAPER_A5_ROTATED = 78
          integer, parameter :: DMPAPER_B4_JIS_ROTATED = 79
          integer, parameter :: DMPAPER_B5_JIS_ROTATED = 80
          integer, parameter :: DMPAPER_JAPANESE_POSTCARD_ROTATED = 81
          integer, parameter :: DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82
          integer, parameter :: DMPAPER_A6_ROTATED = 83
          integer, parameter :: DMPAPER_JENV_KAKU2_ROTATED = 84
          integer, parameter :: DMPAPER_JENV_KAKU3_ROTATED = 85
          integer, parameter :: DMPAPER_JENV_CHOU3_ROTATED = 86
          integer, parameter :: DMPAPER_JENV_CHOU4_ROTATED = 87
          integer, parameter :: DMPAPER_B6_JIS = 88
          integer, parameter :: DMPAPER_B6_JIS_ROTATED = 89
          integer, parameter :: DMPAPER_12X11 = 90
          integer, parameter :: DMPAPER_JENV_YOU4 = 91
          integer, parameter :: DMPAPER_JENV_YOU4_ROTATED = 92
          integer, parameter :: DMPAPER_P16K = 93
          integer, parameter :: DMPAPER_P32K = 94
          integer, parameter :: DMPAPER_P32KBIG = 95
          integer, parameter :: DMPAPER_PENV_1 = 96
          integer, parameter :: DMPAPER_PENV_2 = 97
          integer, parameter :: DMPAPER_PENV_3 = 98
          integer, parameter :: DMPAPER_PENV_4 = 99
          integer, parameter :: DMPAPER_PENV_5 = 100
          integer, parameter :: DMPAPER_PENV_6 = 101
          integer, parameter :: DMPAPER_PENV_7 = 102
          integer, parameter :: DMPAPER_PENV_8 = 103
          integer, parameter :: DMPAPER_PENV_9 = 104
          integer, parameter :: DMPAPER_PENV_10 = 105
          integer, parameter :: DMPAPER_P16K_ROTATED = 106
          integer, parameter :: DMPAPER_P32K_ROTATED = 107
          integer, parameter :: DMPAPER_P32KBIG_ROTATED = 108
          integer, parameter :: DMPAPER_PENV_1_ROTATED = 109
          integer, parameter :: DMPAPER_PENV_2_ROTATED = 110
          integer, parameter :: DMPAPER_PENV_3_ROTATED = 111
          integer, parameter :: DMPAPER_PENV_4_ROTATED = 112
          integer, parameter :: DMPAPER_PENV_5_ROTATED = 113
          integer, parameter :: DMPAPER_PENV_6_ROTATED = 114
          integer, parameter :: DMPAPER_PENV_7_ROTATED = 115
          integer, parameter :: DMPAPER_PENV_8_ROTATED = 116
          integer, parameter :: DMPAPER_PENV_9_ROTATED = 117
          integer, parameter :: DMPAPER_PENV_10_ROTATED = 118
    !DEC$ ENDIF
          integer, parameter :: DMPAPER_USER = 256
          integer, parameter :: DMBIN_UPPER = 1
          integer, parameter :: DMBIN_ONLYONE = 1
          integer, parameter :: DMBIN_LOWER = 2
          integer, parameter :: DMBIN_MIDDLE = 3
          integer, parameter :: DMBIN_MANUAL = 4
          integer, parameter :: DMBIN_ENVELOPE = 5
          integer, parameter :: DMBIN_ENVMANUAL = 6
          integer, parameter :: DMBIN_AUTO = 7
          integer, parameter :: DMBIN_TRACTOR = 8
          integer, parameter :: DMBIN_SMALLFMT = 9
          integer, parameter :: DMBIN_LARGEFMT = 10
          integer, parameter :: DMBIN_LARGECAPACITY = 11
          integer, parameter :: DMBIN_CASSETTE = 14
          integer, parameter :: DMBIN_FORMSOURCE = 15
          integer, parameter :: DMBIN_USER = 256
          integer, parameter :: DMRES_DRAFT = (-1)
          integer, parameter :: DMRES_LOW = (-2)
          integer, parameter :: DMRES_MEDIUM = (-3)
          integer, parameter :: DMRES_HIGH = (-4)
          integer, parameter :: DMCOLOR_MONOCHROME = 1
          integer, parameter :: DMCOLOR_COLOR = 2
          integer, parameter :: DMDUP_SIMPLEX = 1
          integer, parameter :: DMDUP_VERTICAL = 2
          integer, parameter :: DMDUP_HORIZONTAL = 3
          integer, parameter :: DMTT_BITMAP = 1
          integer, parameter :: DMTT_DOWNLOAD = 2
          integer, parameter :: DMTT_SUBDEV = 3
          integer, parameter :: DMTT_DOWNLOAD_OUTLINE = 4
          integer, parameter :: DMCOLLATE_FALSE = 0
          integer, parameter :: DMCOLLATE_TRUE = 1
          integer, parameter :: DMDISPLAYFLAGS_TEXTMODE = #00000004
          integer, parameter :: DMNUP_SYSTEM = 1
          integer, parameter :: DMNUP_ONEUP = 2
          integer, parameter :: DMICMMETHOD_NONE = 1
          integer, parameter :: DMICMMETHOD_SYSTEM = 2
          integer, parameter :: DMICMMETHOD_DRIVER = 3
          integer, parameter :: DMICMMETHOD_DEVICE = 4
          integer, parameter :: DMICMMETHOD_USER = 256
          integer, parameter :: DMICM_SATURATE = 1
          integer, parameter :: DMICM_CONTRAST = 2
          integer, parameter :: DMICM_COLORIMETRIC = 3
          integer, parameter :: DMICM_ABS_COLORIMETRIC = 4
          integer, parameter :: DMICM_USER = 256
          integer, parameter :: DMMEDIA_STANDARD = 1
          integer, parameter :: DMMEDIA_TRANSPARENCY = 2
          integer, parameter :: DMMEDIA_GLOSSY = 3
          integer, parameter :: DMMEDIA_USER = 256
          integer, parameter :: DMDITHER_NONE = 1
          integer, parameter :: DMDITHER_COARSE = 2
          integer, parameter :: DMDITHER_FINE = 3
          integer, parameter :: DMDITHER_LINEART = 4
          integer, parameter :: DMDITHER_ERRORDIFFUSION = 5
          integer, parameter :: DMDITHER_RESERVED6 = 6
          integer, parameter :: DMDITHER_RESERVED7 = 7
          integer, parameter :: DMDITHER_RESERVED8 = 8
          integer, parameter :: DMDITHER_RESERVED9 = 9
          integer, parameter :: DMDITHER_GRAYSCALE = 10
          integer, parameter :: DMDITHER_USER = 256
          integer, parameter :: DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = #00000001
          integer, parameter :: DISPLAY_DEVICE_MULTI_DRIVER = #00000002
          integer, parameter :: DISPLAY_DEVICE_PRIMARY_DEVICE = #00000004
          integer, parameter :: DISPLAY_DEVICE_MIRRORING_DRIVER = #00000008
          integer, parameter :: DISPLAY_DEVICE_VGA_COMPATIBLE = #00000010
          integer, parameter :: DISPLAY_DEVICE_REMOVABLE = #00000020
          integer, parameter :: DISPLAY_DEVICE_MODESPRUNED = #08000000
          integer, parameter :: DISPLAY_DEVICE_ACTIVE = #00000001
          integer, parameter :: DISPLAY_DEVICE_ATTACHED = #00000002
          integer, parameter :: RDH_RECTANGLES = 1
          integer, parameter :: SYSRGN = 4
          integer, parameter :: GGO_METRICS = 0
          integer, parameter :: GGO_BITMAP = 1
          integer, parameter :: GGO_NATIVE = 2
          integer, parameter :: GGO_BEZIER = 3
          integer, parameter :: GGO_GRAY2_BITMAP = 4
          integer, parameter :: GGO_GRAY4_BITMAP = 5
          integer, parameter :: GGO_GRAY8_BITMAP = 6
          integer, parameter :: GGO_GLYPH_INDEX = #0080
          integer, parameter :: TT_POLYGON_TYPE = 24
          integer, parameter :: TT_PRIM_LINE = 1
          integer, parameter :: TT_PRIM_QSPLINE = 2
          integer, parameter :: TT_PRIM_CSPLINE = 3
          integer, parameter :: GCP_DBCS = #0001
          integer, parameter :: GCP_REORDER = #0002
          integer, parameter :: GCP_USEKERNING = #0008
          integer, parameter :: GCP_GLYPHSHAPE = #0010
          integer, parameter :: GCP_LIGATE = #0020
          integer, parameter :: GCP_DIACRITIC = #0100
          integer, parameter :: GCP_KASHIDA = #0400
          integer, parameter :: GCP_ERROR = #8000
          integer, parameter :: FLI_MASK = #103B
          integer, parameter :: GCP_JUSTIFY = #00010000
          integer, parameter :: FLI_GLYPHS = #00040000
          integer, parameter :: GCP_CLASSIN = #00080000
          integer, parameter :: GCP_MAXEXTENT = #00100000
          integer, parameter :: GCP_JUSTIFYIN = #00200000
          integer, parameter :: GCP_DISPLAYZWG = #00400000
          integer, parameter :: GCP_SYMSWAPOFF = #00800000
          integer, parameter :: GCP_NUMERICOVERRIDE = #01000000
          integer, parameter :: GCP_NEUTRALOVERRIDE = #02000000
          integer, parameter :: GCP_NUMERICSLATIN = #04000000
          integer, parameter :: GCP_NUMERICSLOCAL = #08000000
          integer, parameter :: GCPCLASS_LATIN = 1
          integer, parameter :: GCPCLASS_HEBREW = 2
          integer, parameter :: GCPCLASS_ARABIC = 2
          integer, parameter :: GCPCLASS_NEUTRAL = 3
          integer, parameter :: GCPCLASS_LOCALNUMBER = 4
          integer, parameter :: GCPCLASS_LATINNUMBER = 5
          integer, parameter :: GCPCLASS_LATINNUMERICTERMINATOR = 6
          integer, parameter :: GCPCLASS_LATINNUMERICSEPARATOR = 7
          integer, parameter :: GCPCLASS_NUMERICSEPARATOR = 8
          integer, parameter :: GCPCLASS_PREBOUNDLTR = #80
          integer, parameter :: GCPCLASS_PREBOUNDRTL = #40
          integer, parameter :: GCPCLASS_POSTBOUNDLTR = #20
          integer, parameter :: GCPCLASS_POSTBOUNDRTL = #10
          integer, parameter :: GCPGLYPH_LINKBEFORE = #8000
          integer, parameter :: GCPGLYPH_LINKAFTER = #4000
          integer, parameter :: TT_AVAILABLE = #0001
          integer, parameter :: TT_ENABLED = #0002
          integer, parameter :: PFD_TYPE_RGBA = 0
          integer, parameter :: PFD_TYPE_COLORINDEX = 1
          integer, parameter :: PFD_MAIN_PLANE = 0
          integer, parameter :: PFD_OVERLAY_PLANE = 1
          integer, parameter :: PFD_UNDERLAY_PLANE = (-1)
          integer, parameter :: PFD_DOUBLEBUFFER = #00000001
          integer, parameter :: PFD_STEREO = #00000002
          integer, parameter :: PFD_DRAW_TO_WINDOW = #00000004
          integer, parameter :: PFD_DRAW_TO_BITMAP = #00000008
          integer, parameter :: PFD_SUPPORT_GDI = #00000010
          integer, parameter :: PFD_SUPPORT_OPENGL = #00000020
          integer, parameter :: PFD_GENERIC_FORMAT = #00000040
          integer, parameter :: PFD_NEED_PALETTE = #00000080
          integer, parameter :: PFD_NEED_SYSTEM_PALETTE = #00000100
          integer, parameter :: PFD_SWAP_EXCHANGE = #00000200
          integer, parameter :: PFD_SWAP_COPY = #00000400
          integer, parameter :: PFD_SWAP_LAYER_BUFFERS = #00000800
          integer, parameter :: PFD_GENERIC_ACCELERATED = #00001000
          integer, parameter :: PFD_SUPPORT_DIRECTDRAW = #00002000
          integer, parameter :: PFD_DEPTH_DONTCARE = #20000000
          integer, parameter :: PFD_DOUBLEBUFFER_DONTCARE = #40000000
          integer, parameter :: PFD_STEREO_DONTCARE = #80000000
          integer, parameter :: DM_UPDATE = 1
          integer, parameter :: DM_COPY = 2
          integer, parameter :: DM_PROMPT = 4
          integer, parameter :: DM_MODIFY = 8
          integer, parameter :: DC_FIELDS = 1
          integer, parameter :: DC_PAPERS = 2
          integer, parameter :: DC_PAPERSIZE = 3
          integer, parameter :: DC_MINEXTENT = 4
          integer, parameter :: DC_MAXEXTENT = 5
          integer, parameter :: DC_BINS = 6
          integer, parameter :: DC_DUPLEX = 7
          integer, parameter :: DC_SIZE = 8
          integer, parameter :: DC_EXTRA = 9
          integer, parameter :: DC_VERSION = 10
          integer, parameter :: DC_DRIVER = 11
          integer, parameter :: DC_BINNAMES = 12
          integer, parameter :: DC_ENUMRESOLUTIONS = 13
          integer, parameter :: DC_FILEDEPENDENCIES = 14
          integer, parameter :: DC_TRUETYPE = 15
          integer, parameter :: DC_PAPERNAMES = 16
          integer, parameter :: DC_ORIENTATION = 17
          integer, parameter :: DC_COPIES = 18
          integer, parameter :: DC_BINADJUST = 19
          integer, parameter :: DC_EMF_COMPLIANT = 20
          integer, parameter :: DC_DATATYPE_PRODUCED = 21
          integer, parameter :: DC_COLLATE = 22
          integer, parameter :: DC_MANUFACTURER = 23
          integer, parameter :: DC_MODEL = 24
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DC_PERSONALITY = 25
          integer, parameter :: DC_PRINTRATE = 26
          integer, parameter :: DC_PRINTRATEUNIT = 27
          integer, parameter :: PRINTRATEUNIT_PPM = 1
          integer, parameter :: PRINTRATEUNIT_CPS = 2
          integer, parameter :: PRINTRATEUNIT_LPM = 3
          integer, parameter :: PRINTRATEUNIT_IPM = 4
          integer, parameter :: DC_PRINTERMEM = 28
          integer, parameter :: DC_MEDIAREADY = 29
          integer, parameter :: DC_STAPLE = 30
          integer, parameter :: DC_PRINTRATEPPM = 31
          integer, parameter :: DC_COLORDEVICE = 32
          integer, parameter :: DC_NUP = 33
    !DEC$ ENDIF
          integer, parameter :: DCTT_BITMAP = #0000001
          integer, parameter :: DCTT_DOWNLOAD = #0000002
          integer, parameter :: DCTT_SUBDEV = #0000004
          integer, parameter :: DCTT_DOWNLOAD_OUTLINE = #0000008
          integer, parameter :: DCBA_FACEUPNONE = #0000
          integer, parameter :: DCBA_FACEUPCENTER = #0001
          integer, parameter :: DCBA_FACEUPLEFT = #0002
          integer, parameter :: DCBA_FACEUPRIGHT = #0003
          integer, parameter :: DCBA_FACEDOWNNONE = #0100
          integer, parameter :: DCBA_FACEDOWNCENTER = #0101
          integer, parameter :: DCBA_FACEDOWNLEFT = #0102
          integer, parameter :: DCBA_FACEDOWNRIGHT = #0103
          integer, parameter :: AC_SRC_OVER = #00
          integer, parameter :: AC_SRC_ALPHA = #01
          integer, parameter :: GRADIENT_FILL_RECT_H = #00000000
          integer, parameter :: GRADIENT_FILL_RECT_V = #00000001
          integer, parameter :: GRADIENT_FILL_TRIANGLE = #00000002
          integer, parameter :: GRADIENT_FILL_OP_FLAG = #000000ff
          integer, parameter :: CA_NEGATIVE = #0001
          integer, parameter :: CA_LOG_FILTER = #0002
          integer, parameter :: ILLUMINANT_DEVICE_DEFAULT = 0
          integer, parameter :: ILLUMINANT_A = 1
          integer, parameter :: ILLUMINANT_B = 2
          integer, parameter :: ILLUMINANT_C = 3
          integer, parameter :: ILLUMINANT_D50 = 4
          integer, parameter :: ILLUMINANT_D55 = 5
          integer, parameter :: ILLUMINANT_D65 = 6
          integer, parameter :: ILLUMINANT_D75 = 7
          integer, parameter :: ILLUMINANT_F2 = 8
          integer(2), parameter :: RGB_GAMMA_MIN               =  02500
          integer(2), parameter :: RGB_GAMMA_MAX                = #FDE8 ! 65000 unsigned or -536
          integer(2), parameter :: REFERENCE_WHITE_MIN          = 6000
          integer(2), parameter :: REFERENCE_WHITE_MAX          = 10000
          integer(2), parameter :: REFERENCE_BLACK_MIN          = 0
          integer(2), parameter :: REFERENCE_BLACK_MAX          = 4000
          integer(2), parameter :: COLOR_ADJ_MIN                = -100
          integer(2), parameter :: COLOR_ADJ_MAX                = 100
          integer, parameter :: DI_APPBANDING = #00000001
          integer, parameter :: DI_ROPS_READ_DESTINATION = #00000002
          integer, parameter :: FONTMAPPER_MAX = 10
          integer, parameter :: ICM_OFF = 1
          integer, parameter :: ICM_ON = 2
          integer, parameter :: ICM_QUERY = 3
          integer, parameter :: ICM_DONE_OUTSIDEDC = 4
          integer, parameter :: ENHMETA_SIGNATURE = #464D4520
          integer, parameter :: ENHMETA_STOCK_OBJECT = #80000000
          integer, parameter :: EMR_HEADER = 1
          integer, parameter :: EMR_POLYBEZIER = 2
          integer, parameter :: EMR_POLYGON = 3
          integer, parameter :: EMR_POLYLINE = 4
          integer, parameter :: EMR_POLYBEZIERTO = 5
          integer, parameter :: EMR_POLYLINETO = 6
          integer, parameter :: EMR_POLYPOLYLINE = 7
          integer, parameter :: EMR_POLYPOLYGON = 8
          integer, parameter :: EMR_SETWINDOWEXTEX = 9
          integer, parameter :: EMR_SETWINDOWORGEX = 10
          integer, parameter :: EMR_SETVIEWPORTEXTEX = 11
          integer, parameter :: EMR_SETVIEWPORTORGEX = 12
          integer, parameter :: EMR_SETBRUSHORGEX = 13
          integer, parameter :: EMR_EOF = 14
          integer, parameter :: EMR_SETPIXELV = 15
          integer, parameter :: EMR_SETMAPPERFLAGS = 16
          integer, parameter :: EMR_SETMAPMODE = 17
          integer, parameter :: EMR_SETBKMODE = 18
          integer, parameter :: EMR_SETPOLYFILLMODE = 19
          integer, parameter :: EMR_SETROP2 = 20
          integer, parameter :: EMR_SETSTRETCHBLTMODE = 21
          integer, parameter :: EMR_SETTEXTALIGN = 22
          integer, parameter :: EMR_SETCOLORADJUSTMENT = 23
          integer, parameter :: EMR_SETTEXTCOLOR = 24
          integer, parameter :: EMR_SETBKCOLOR = 25
          integer, parameter :: EMR_OFFSETCLIPRGN = 26
          integer, parameter :: EMR_MOVETOEX = 27
          integer, parameter :: EMR_SETMETARGN = 28
          integer, parameter :: EMR_EXCLUDECLIPRECT = 29
          integer, parameter :: EMR_INTERSECTCLIPRECT = 30
          integer, parameter :: EMR_SCALEVIEWPORTEXTEX = 31
          integer, parameter :: EMR_SCALEWINDOWEXTEX = 32
          integer, parameter :: EMR_SAVEDC = 33
          integer, parameter :: EMR_RESTOREDC = 34
          integer, parameter :: EMR_SETWORLDTRANSFORM = 35
          integer, parameter :: EMR_MODIFYWORLDTRANSFORM = 36
          integer, parameter :: EMR_SELECTOBJECT = 37
          integer, parameter :: EMR_CREATEPEN = 38
          integer, parameter :: EMR_CREATEBRUSHINDIRECT = 39
          integer, parameter :: EMR_DELETEOBJECT = 40
          integer, parameter :: EMR_ANGLEARC = 41
          integer, parameter :: EMR_ELLIPSE = 42
          integer, parameter :: EMR_RECTANGLE = 43
          integer, parameter :: EMR_ROUNDRECT = 44
          integer, parameter :: EMR_ARC = 45
          integer, parameter :: EMR_CHORD = 46
          integer, parameter :: EMR_PIE = 47
          integer, parameter :: EMR_SELECTPALETTE = 48
          integer, parameter :: EMR_CREATEPALETTE = 49
          integer, parameter :: EMR_SETPALETTEENTRIES = 50
          integer, parameter :: EMR_RESIZEPALETTE = 51
          integer, parameter :: EMR_REALIZEPALETTE = 52
          integer, parameter :: EMR_EXTFLOODFILL = 53
          integer, parameter :: EMR_LINETO = 54
          integer, parameter :: EMR_ARCTO = 55
          integer, parameter :: EMR_POLYDRAW = 56
          integer, parameter :: EMR_SETARCDIRECTION = 57
          integer, parameter :: EMR_SETMITERLIMIT = 58
          integer, parameter :: EMR_BEGINPATH = 59
          integer, parameter :: EMR_ENDPATH = 60
          integer, parameter :: EMR_CLOSEFIGURE = 61
          integer, parameter :: EMR_FILLPATH = 62
          integer, parameter :: EMR_STROKEANDFILLPATH = 63
          integer, parameter :: EMR_STROKEPATH = 64
          integer, parameter :: EMR_FLATTENPATH = 65
          integer, parameter :: EMR_WIDENPATH = 66
          integer, parameter :: EMR_SELECTCLIPPATH = 67
          integer, parameter :: EMR_ABORTPATH = 68
          integer, parameter :: EMR_GDICOMMENT = 70
          integer, parameter :: EMR_FILLRGN = 71
          integer, parameter :: EMR_FRAMERGN = 72
          integer, parameter :: EMR_INVERTRGN = 73
          integer, parameter :: EMR_PAINTRGN = 74
          integer, parameter :: EMR_EXTSELECTCLIPRGN = 75
          integer, parameter :: EMR_BITBLT = 76
          integer, parameter :: EMR_STRETCHBLT = 77
          integer, parameter :: EMR_MASKBLT = 78
          integer, parameter :: EMR_PLGBLT = 79
          integer, parameter :: EMR_SETDIBITSTODEVICE = 80
          integer, parameter :: EMR_STRETCHDIBITS = 81
          integer, parameter :: EMR_EXTCREATEFONTINDIRECTW = 82
          integer, parameter :: EMR_EXTTEXTOUT = 83
          integer, parameter :: EMR_EXTTEXTOUTA = 83
          integer, parameter :: EMR_EXTTEXTOUTW = 84
          integer, parameter :: EMR_POLYBEZIER16 = 85
          integer, parameter :: EMR_POLYGON16 = 86
          integer, parameter :: EMR_POLYLINE16 = 87
          integer, parameter :: EMR_POLYBEZIERTO16 = 88
          integer, parameter :: EMR_POLYLINETO16 = 89
          integer, parameter :: EMR_POLYPOLYLINE16 = 90
          integer, parameter :: EMR_POLYPOLYGON16 = 91
          integer, parameter :: EMR_POLYDRAW16 = 92
          integer, parameter :: EMR_CREATEMONOBRUSH = 93
          integer, parameter :: EMR_CREATEDIBPATTERNBRUSHPT = 94
          integer, parameter :: EMR_EXTCREATEPEN = 95
          integer, parameter :: EMR_POLYTEXTOUT = 96
          integer, parameter :: EMR_POLYTEXTOUTA = 96
          integer, parameter :: EMR_POLYTEXTOUTW = 97
          integer, parameter :: EMR_SETICMMODE = 98
          integer, parameter :: EMR_CREATECOLORSPACE = 99
          integer, parameter :: EMR_SETCOLORSPACE = 100
          integer, parameter :: EMR_DELETECOLORSPACE = 101
          integer, parameter :: EMR_GLSRECORD = 102
          integer, parameter :: EMR_GLSBOUNDEDRECORD = 103
          integer, parameter :: EMR_PIXELFORMAT = 104
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: EMR_RESERVED_105 = 105
          integer, parameter :: EMR_RESERVED_106 = 106
          integer, parameter :: EMR_RESERVED_107 = 107
          integer, parameter :: EMR_RESERVED_108 = 108
          integer, parameter :: EMR_RESERVED_109 = 109
          integer, parameter :: EMR_RESERVED_110 = 110
          integer, parameter :: EMR_COLORCORRECTPALETTE = 111
          integer, parameter :: EMR_SETICMPROFILE = 112
          integer, parameter :: EMR_SETICMPROFILEA = 112
          integer, parameter :: EMR_SETICMPROFILEW = 113
          integer, parameter :: EMR_ALPHABLEND = 114
          integer, parameter :: EMR_SETLAYOUT = 115
          integer, parameter :: EMR_TRANSPARENTBLT = 116
          integer, parameter :: EMR_GRADIENTFILL = 118
          integer, parameter :: EMR_RESERVED_119 = 119
          integer, parameter :: EMR_RESERVED_120 = 120
          integer, parameter :: EMR_COLORMATCHTOTARGETW = 121
          integer, parameter :: EMR_CREATECOLORSPACEW = 122
    !DEC$ ENDIF
          integer, parameter :: EMR_MIN = 1
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: EMR_MAX = 122
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: EMR_MAX = 104
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SETICMPROFILE_EMBEDED = #00000001
          integer, parameter :: CREATECOLORSPACE_EMBEDED = #00000001
          integer, parameter :: COLORMATCHTOTARGET_EMBEDED = #00000001
    !DEC$ ENDIF
          integer, parameter :: GDICOMMENT_IDENTIFIER = #43494447
          integer, parameter :: GDICOMMENT_WINDOWS_METAFILE = #80000001
          integer, parameter :: GDICOMMENT_BEGINGROUP = #00000002
          integer, parameter :: GDICOMMENT_ENDGROUP = #00000003
          integer, parameter :: GDICOMMENT_MULTIFORMATS = #40000004
          integer, parameter :: EPS_SIGNATURE = #46535045
          integer, parameter :: GDICOMMENT_UNICODE_STRING = #00000040
          integer, parameter :: GDICOMMENT_UNICODE_END = #00000080
          integer, parameter :: WGL_FONT_LINES = 0
          integer, parameter :: WGL_FONT_POLYGONS = 1
          integer, parameter :: LPD_DOUBLEBUFFER = #00000001
          integer, parameter :: LPD_STEREO = #00000002
          integer, parameter :: LPD_SUPPORT_GDI = #00000010
          integer, parameter :: LPD_SUPPORT_OPENGL = #00000020
          integer, parameter :: LPD_SHARE_DEPTH = #00000040
          integer, parameter :: LPD_SHARE_STENCIL = #00000080
          integer, parameter :: LPD_SHARE_ACCUM = #00000100
          integer, parameter :: LPD_SWAP_EXCHANGE = #00000200
          integer, parameter :: LPD_SWAP_COPY = #00000400
          integer, parameter :: LPD_TRANSPARENT = #00001000
          integer, parameter :: LPD_TYPE_RGBA = 0
          integer, parameter :: LPD_TYPE_COLORINDEX = 1
          integer, parameter :: WGL_SWAP_MAIN_PLANE = #00000001
          integer, parameter :: WGL_SWAP_OVERLAY1 = #00000002
          integer, parameter :: WGL_SWAP_OVERLAY2 = #00000004
          integer, parameter :: WGL_SWAP_OVERLAY3 = #00000008
          integer, parameter :: WGL_SWAP_OVERLAY4 = #00000010
          integer, parameter :: WGL_SWAP_OVERLAY5 = #00000020
          integer, parameter :: WGL_SWAP_OVERLAY6 = #00000040
          integer, parameter :: WGL_SWAP_OVERLAY7 = #00000080
          integer, parameter :: WGL_SWAP_OVERLAY8 = #00000100
          integer, parameter :: WGL_SWAP_OVERLAY9 = #00000200
          integer, parameter :: WGL_SWAP_OVERLAY10 = #00000400
          integer, parameter :: WGL_SWAP_OVERLAY11 = #00000800
          integer, parameter :: WGL_SWAP_OVERLAY12 = #00001000
          integer, parameter :: WGL_SWAP_OVERLAY13 = #00002000
          integer, parameter :: WGL_SWAP_OVERLAY14 = #00004000
          integer, parameter :: WGL_SWAP_OVERLAY15 = #00008000
          integer, parameter :: WGL_SWAP_UNDERLAY1 = #00010000
          integer, parameter :: WGL_SWAP_UNDERLAY2 = #00020000
          integer, parameter :: WGL_SWAP_UNDERLAY3 = #00040000
          integer, parameter :: WGL_SWAP_UNDERLAY4 = #00080000
          integer, parameter :: WGL_SWAP_UNDERLAY5 = #00100000
          integer, parameter :: WGL_SWAP_UNDERLAY6 = #00200000
          integer, parameter :: WGL_SWAP_UNDERLAY7 = #00400000
          integer, parameter :: WGL_SWAP_UNDERLAY8 = #00800000
          integer, parameter :: WGL_SWAP_UNDERLAY9 = #01000000
          integer, parameter :: WGL_SWAP_UNDERLAY10 = #02000000
          integer, parameter :: WGL_SWAP_UNDERLAY11 = #04000000
          integer, parameter :: WGL_SWAP_UNDERLAY12 = #08000000
          integer, parameter :: WGL_SWAP_UNDERLAY13 = #10000000
          integer, parameter :: WGL_SWAP_UNDERLAY14 = #20000000
          integer, parameter :: WGL_SWAP_UNDERLAY15 = #40000000
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WGL_SWAPMULTIPLE_MAX = 16
    !DEC$ ENDIF
          integer, parameter :: RT_CURSOR =  ( ( (1)))
          integer, parameter :: RT_BITMAP =  ( ( (2)))
          integer, parameter :: RT_ICON =  ( ( (3)))
          integer, parameter :: RT_MENU =  ( ( (4)))
          integer, parameter :: RT_DIALOG =  ( ( (5)))
          integer, parameter :: RT_STRING =  ( ( (6)))
          integer, parameter :: RT_FONTDIR =  ( ( (7)))
          integer, parameter :: RT_FONT =  ( ( (8)))
          integer, parameter :: RT_ACCELERATOR =  ( ( (9)))
          integer, parameter :: RT_RCDATA =  ( ( (10)))
          integer, parameter :: RT_MESSAGETABLE =  ( ( (11)))
          integer, parameter :: DIFFERENCE = 11
          integer, parameter :: RT_GROUP_CURSOR =  ( ( (  ( ( (1))) + 11)))
          integer, parameter :: RT_GROUP_ICON =  ( ( (  ( ( (3))) + 11)))
          integer, parameter :: RT_VERSION =  ( ( (16)))
          integer, parameter :: RT_DLGINCLUDE =  ( ( (17)))
          integer, parameter :: RT_PLUGPLAY =  ( ( (19)))
          integer, parameter :: RT_VXD =  ( ( (20)))
          integer, parameter :: RT_ANICURSOR =  ( ( (21)))
          integer, parameter :: RT_ANIICON =  ( ( (22)))
          integer, parameter :: RT_HTML =  ( ( (23)))
          integer, parameter :: SETWALLPAPER_DEFAULT = ( -1)
          integer, parameter :: SB_HORZ = 0
          integer, parameter :: SB_VERT = 1
          integer, parameter :: SB_CTL = 2
          integer, parameter :: SB_BOTH = 3
          integer, parameter :: SB_LINEUP = 0
          integer, parameter :: SB_LINELEFT = 0
          integer, parameter :: SB_LINEDOWN = 1
          integer, parameter :: SB_LINERIGHT = 1
          integer, parameter :: SB_PAGEUP = 2
          integer, parameter :: SB_PAGELEFT = 2
          integer, parameter :: SB_PAGEDOWN = 3
          integer, parameter :: SB_PAGERIGHT = 3
          integer, parameter :: SB_THUMBPOSITION = 4
          integer, parameter :: SB_THUMBTRACK = 5
          integer, parameter :: SB_TOP = 6
          integer, parameter :: SB_LEFT = 6
          integer, parameter :: SB_BOTTOM = 7
          integer, parameter :: SB_RIGHT = 7
          integer, parameter :: SB_ENDSCROLL = 8
          integer, parameter :: SW_HIDE = 0
          integer, parameter :: SW_SHOWNORMAL = 1
          integer, parameter :: SW_NORMAL = 1
          integer, parameter :: SW_SHOWMINIMIZED = 2
          integer, parameter :: SW_SHOWMAXIMIZED = 3
          integer, parameter :: SW_MAXIMIZE = 3
          integer, parameter :: SW_SHOWNOACTIVATE = 4
          integer, parameter :: SW_SHOW = 5
          integer, parameter :: SW_MINIMIZE = 6
          integer, parameter :: SW_SHOWMINNOACTIVE = 7
          integer, parameter :: SW_SHOWNA = 8
          integer, parameter :: SW_RESTORE = 9
          integer, parameter :: SW_SHOWDEFAULT = 10
          integer, parameter :: SW_FORCEMINIMIZE = 11
          integer, parameter :: SW_MAX = 11
          integer, parameter :: HIDE_WINDOW = 0
          integer, parameter :: SHOW_OPENWINDOW = 1
          integer, parameter :: SHOW_ICONWINDOW = 2
          integer, parameter :: SHOW_FULLSCREEN = 3
          integer, parameter :: SHOW_OPENNOACTIVATE = 4
          integer, parameter :: SW_PARENTCLOSING = 1
          integer, parameter :: SW_OTHERZOOM = 2
          integer, parameter :: SW_PARENTOPENING = 3
          integer, parameter :: SW_OTHERUNZOOM = 4
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: AW_HOR_POSITIVE = #00000001
          integer, parameter :: AW_HOR_NEGATIVE = #00000002
          integer, parameter :: AW_VER_POSITIVE = #00000004
          integer, parameter :: AW_VER_NEGATIVE = #00000008
          integer, parameter :: AW_CENTER = #00000010
          integer, parameter :: AW_HIDE = #00010000
          integer, parameter :: AW_ACTIVATE = #00020000
          integer, parameter :: AW_SLIDE = #00040000
          integer, parameter :: AW_BLEND = #00080000
    !DEC$ ENDIF
          integer, parameter :: KF_EXTENDED = #0100
          integer, parameter :: KF_DLGMODE = #0800
          integer, parameter :: KF_MENUMODE = #1000
          integer, parameter :: KF_ALTDOWN = #2000
          integer, parameter :: KF_REPEAT = #4000
          integer, parameter :: KF_UP = #8000
          integer, parameter :: VK_LBUTTON = #01
          integer, parameter :: VK_RBUTTON = #02
          integer, parameter :: VK_CANCEL = #03
          integer, parameter :: VK_MBUTTON = #04
          integer, parameter :: VK_BACK = #08
          integer, parameter :: VK_TAB = #09
          integer, parameter :: VK_CLEAR = #0C
          integer, parameter :: VK_RETURN = #0D
          integer, parameter :: VK_SHIFT = #10
          integer, parameter :: VK_CONTROL = #11
          integer, parameter :: VK_MENU = #12
          integer, parameter :: VK_PAUSE = #13
          integer, parameter :: VK_CAPITAL = #14
          integer, parameter :: VK_KANA = #15
          integer, parameter :: VK_HANGEUL = #15
          integer, parameter :: VK_HANGUL = #15
          integer, parameter :: VK_JUNJA = #17
          integer, parameter :: VK_FINAL = #18
          integer, parameter :: VK_HANJA = #19
          integer, parameter :: VK_KANJI = #19
          integer, parameter :: VK_ESCAPE = #1B
          integer, parameter :: VK_CONVERT = #1C
          integer, parameter :: VK_NONCONVERT = #1D
          integer, parameter :: VK_ACCEPT = #1E
          integer, parameter :: VK_MODECHANGE = #1F
          integer, parameter :: VK_SPACE = #20
          integer, parameter :: VK_PRIOR = #21
          integer, parameter :: VK_NEXT = #22
          integer, parameter :: VK_END = #23
          integer, parameter :: VK_HOME = #24
          integer, parameter :: VK_LEFT = #25
          integer, parameter :: VK_UP = #26
          integer, parameter :: VK_RIGHT = #27
          integer, parameter :: VK_DOWN = #28
          integer, parameter :: VK_SELECT = #29
          integer, parameter :: VK_PRINT = #2A
          integer, parameter :: VK_EXECUTE = #2B
          integer, parameter :: VK_SNAPSHOT = #2C
          integer, parameter :: VK_INSERT = #2D
          integer, parameter :: VK_DELETE = #2E
          integer, parameter :: VK_HELP = #2F
          integer, parameter :: VK_LWIN = #5B
          integer, parameter :: VK_RWIN = #5C
          integer, parameter :: VK_APPS = #5D
          integer, parameter :: VK_SLEEP = #5F
          integer, parameter :: VK_NUMPAD0 = #60
          integer, parameter :: VK_NUMPAD1 = #61
          integer, parameter :: VK_NUMPAD2 = #62
          integer, parameter :: VK_NUMPAD3 = #63
          integer, parameter :: VK_NUMPAD4 = #64
          integer, parameter :: VK_NUMPAD5 = #65
          integer, parameter :: VK_NUMPAD6 = #66
          integer, parameter :: VK_NUMPAD7 = #67
          integer, parameter :: VK_NUMPAD8 = #68
          integer, parameter :: VK_NUMPAD9 = #69
          integer, parameter :: VK_MULTIPLY = #6A
          integer, parameter :: VK_ADD = #6B
          integer, parameter :: VK_SEPARATOR = #6C
          integer, parameter :: VK_SUBTRACT = #6D
          integer, parameter :: VK_DECIMAL = #6E
          integer, parameter :: VK_DIVIDE = #6F
          integer, parameter :: VK_F1 = #70
          integer, parameter :: VK_F2 = #71
          integer, parameter :: VK_F3 = #72
          integer, parameter :: VK_F4 = #73
          integer, parameter :: VK_F5 = #74
          integer, parameter :: VK_F6 = #75
          integer, parameter :: VK_F7 = #76
          integer, parameter :: VK_F8 = #77
          integer, parameter :: VK_F9 = #78
          integer, parameter :: VK_F10 = #79
          integer, parameter :: VK_F11 = #7A
          integer, parameter :: VK_F12 = #7B
          integer, parameter :: VK_F13 = #7C
          integer, parameter :: VK_F14 = #7D
          integer, parameter :: VK_F15 = #7E
          integer, parameter :: VK_F16 = #7F
          integer, parameter :: VK_F17 = #80
          integer, parameter :: VK_F18 = #81
          integer, parameter :: VK_F19 = #82
          integer, parameter :: VK_F20 = #83
          integer, parameter :: VK_F21 = #84
          integer, parameter :: VK_F22 = #85
          integer, parameter :: VK_F23 = #86
          integer, parameter :: VK_F24 = #87
          integer, parameter :: VK_NUMLOCK = #90
          integer, parameter :: VK_SCROLL = #91
          integer, parameter :: VK_OEM_NEC_EQUAL = #92
          integer, parameter :: VK_OEM_FJ_JISHO = #92
          integer, parameter :: VK_OEM_FJ_MASSHOU = #93
          integer, parameter :: VK_OEM_FJ_TOUROKU = #94
          integer, parameter :: VK_OEM_FJ_LOYA = #95
          integer, parameter :: VK_OEM_FJ_ROYA = #96
          integer, parameter :: VK_LSHIFT = #A0
          integer, parameter :: VK_RSHIFT = #A1
          integer, parameter :: VK_LCONTROL = #A2
          integer, parameter :: VK_RCONTROL = #A3
          integer, parameter :: VK_LMENU = #A4
          integer, parameter :: VK_RMENU = #A5
          integer, parameter :: VK_OEM_1 = #BA
          integer, parameter :: VK_OEM_PLUS = #BB
          integer, parameter :: VK_OEM_COMMA = #BC
          integer, parameter :: VK_OEM_MINUS = #BD
          integer, parameter :: VK_OEM_PERIOD = #BE
          integer, parameter :: VK_OEM_2 = #BF
          integer, parameter :: VK_OEM_3 = #C0
          integer, parameter :: VK_OEM_4 = #DB
          integer, parameter :: VK_OEM_5 = #DC
          integer, parameter :: VK_OEM_6 = #DD
          integer, parameter :: VK_OEM_7 = #DE
          integer, parameter :: VK_OEM_8 = #DF
          integer, parameter :: VK_OEM_AX = #E1
          integer, parameter :: VK_OEM_102 = #E2
          integer, parameter :: VK_ICO_HELP = #E3
          integer, parameter :: VK_ICO_00 = #E4
          integer, parameter :: VK_PROCESSKEY = #E5
          integer, parameter :: VK_ICO_CLEAR = #E6
          integer, parameter :: VK_OEM_RESET = #E9
          integer, parameter :: VK_OEM_JUMP = #EA
          integer, parameter :: VK_OEM_PA1 = #EB
          integer, parameter :: VK_OEM_PA2 = #EC
          integer, parameter :: VK_OEM_PA3 = #ED
          integer, parameter :: VK_OEM_WSCTRL = #EE
          integer, parameter :: VK_OEM_CUSEL = #EF
          integer, parameter :: VK_OEM_ATTN = #F0
          integer, parameter :: VK_OEM_FINISH = #F1
          integer, parameter :: VK_OEM_COPY = #F2
          integer, parameter :: VK_OEM_AUTO = #F3
          integer, parameter :: VK_OEM_ENLW = #F4
          integer, parameter :: VK_OEM_BACKTAB = #F5
          integer, parameter :: VK_ATTN = #F6
          integer, parameter :: VK_CRSEL = #F7
          integer, parameter :: VK_EXSEL = #F8
          integer, parameter :: VK_EREOF = #F9
          integer, parameter :: VK_PLAY = #FA
          integer, parameter :: VK_ZOOM = #FB
          integer, parameter :: VK_NONAME = #FC
          integer, parameter :: VK_PA1 = #FD
          integer, parameter :: VK_OEM_CLEAR = #FE
          integer, parameter :: WH_MIN = (-1)
          integer, parameter :: WH_MSGFILTER = (-1)
          integer, parameter :: WH_JOURNALRECORD = 0
          integer, parameter :: WH_JOURNALPLAYBACK = 1
          integer, parameter :: WH_KEYBOARD = 2
          integer, parameter :: WH_GETMESSAGE = 3
          integer, parameter :: WH_CALLWNDPROC = 4
          integer, parameter :: WH_CBT = 5
          integer, parameter :: WH_SYSMSGFILTER = 6
          integer, parameter :: WH_MOUSE = 7
          integer, parameter :: WH_DEBUG = 9
          integer, parameter :: WH_SHELL = 10
          integer, parameter :: WH_FOREGROUNDIDLE = 11
          integer, parameter :: WH_CALLWNDPROCRET = 12
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WH_MAX = 12
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: WH_KEYBOARD_LL = 13
          integer, parameter :: WH_MOUSE_LL = 14
          integer, parameter :: WH_MAX = 14
    !DEC$ ENDIF
          integer, parameter :: HC_ACTION = 0
          integer, parameter :: HC_GETNEXT = 1
          integer, parameter :: HC_SKIP = 2
          integer, parameter :: HC_NOREMOVE = 3
          integer, parameter :: HC_SYSMODALON = 4
          integer, parameter :: HC_SYSMODALOFF = 5
          integer, parameter :: HCBT_MOVESIZE = 0
          integer, parameter :: HCBT_MINMAX = 1
          integer, parameter :: HCBT_QS = 2
          integer, parameter :: HCBT_CREATEWND = 3
          integer, parameter :: HCBT_DESTROYWND = 4
          integer, parameter :: HCBT_ACTIVATE = 5
          integer, parameter :: HCBT_CLICKSKIPPED = 6
          integer, parameter :: HCBT_KEYSKIPPED = 7
          integer, parameter :: HCBT_SYSCOMMAND = 8
          integer, parameter :: HCBT_SETFOCUS = 9
          integer, parameter :: MSGF_DIALOGBOX = 0
          integer, parameter :: MSGF_MESSAGEBOX = 1
          integer, parameter :: MSGF_MENU = 2
          integer, parameter :: MSGF_SCROLLBAR = 5
          integer, parameter :: MSGF_NEXTWINDOW = 6
          integer, parameter :: MSGF_MAX = 8
          integer, parameter :: MSGF_USER = 4096
          integer, parameter :: HSHELL_WINDOWCREATED = 1
          integer, parameter :: HSHELL_WINDOWDESTROYED = 2
          integer, parameter :: HSHELL_ACTIVATESHELLWINDOW = 3
          integer, parameter :: HSHELL_WINDOWACTIVATED = 4
          integer, parameter :: HSHELL_GETMINRECT = 5
          integer, parameter :: HSHELL_REDRAW = 6
          integer, parameter :: HSHELL_TASKMAN = 7
          integer, parameter :: HSHELL_LANGUAGE = 8
          integer, parameter :: LLKHF_EXTENDED = (#0100 / 2** 8)
          integer, parameter :: LLKHF_INJECTED = #00000010
          integer, parameter :: LLKHF_ALTDOWN = (#2000 / 2** 8)
          integer, parameter :: LLKHF_UP = (#8000 / 2** 8)
          integer, parameter :: LLMHF_INJECTED = #00000001
          integer, parameter :: HKL_PREV = 0
          integer, parameter :: HKL_NEXT = 1
          integer, parameter :: KLF_ACTIVATE = #00000001
          integer, parameter :: KLF_SUBSTITUTE_OK = #00000002
          integer, parameter :: KLF_REORDER = #00000008
          integer, parameter :: KLF_REPLACELANG = #00000010
          integer, parameter :: KLF_NOTELLSHELL = #00000080
          integer, parameter :: KLF_SETFORPROCESS = #00000100
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: INPUTLANGCHANGE_SYSCHARSET = #0001
          integer, parameter :: INPUTLANGCHANGE_FORWARD = #0002
          integer, parameter :: INPUTLANGCHANGE_BACKWARD = #0004
    !DEC$ ENDIF
          integer, parameter :: KL_NAMELENGTH = 9
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: GMMP_USE_DISPLAY_POINTS = 1
          integer, parameter :: GMMP_USE_HIGH_RESOLUTION_POINTS = 2
    !DEC$ ENDIF
          integer, parameter :: DESKTOP_READOBJECTS = #0001
          integer, parameter :: DESKTOP_CREATEWINDOW = #0002
          integer, parameter :: DESKTOP_CREATEMENU = #0004
          integer, parameter :: DESKTOP_HOOKCONTROL = #0008
          integer, parameter :: DESKTOP_JOURNALRECORD = #0010
          integer, parameter :: DESKTOP_JOURNALPLAYBACK = #0020
          integer, parameter :: DESKTOP_ENUMERATE = #0040
          integer, parameter :: DESKTOP_WRITEOBJECTS = #0080
          integer, parameter :: DESKTOP_SWITCHDESKTOP = #0100
          integer, parameter :: DF_ALLOWOTHERACCOUNTHOOK = #0001
          integer, parameter :: WINSTA_ENUMDESKTOPS = #0001
          integer, parameter :: WINSTA_READATTRIBUTES = #0002
          integer, parameter :: WINSTA_ACCESSCLIPBOARD = #0004
          integer, parameter :: WINSTA_CREATEDESKTOP = #0008
          integer, parameter :: WINSTA_WRITEATTRIBUTES = #0010
          integer, parameter :: WINSTA_ACCESSGLOBALATOMS = #0020
          integer, parameter :: WINSTA_EXITWINDOWS = #0040
          integer, parameter :: WINSTA_ENUMERATE = #0100
          integer, parameter :: WINSTA_READSCREEN = #0200
          integer, parameter :: WSF_VISIBLE = #0001
          integer, parameter :: UOI_FLAGS = 1
          integer, parameter :: UOI_NAME = 2
          integer, parameter :: UOI_TYPE = 3
          integer, parameter :: UOI_USER_SID = 4
          integer, parameter :: GWL_WNDPROC = (-4)
          integer, parameter :: GWL_HINSTANCE = (-6)
          integer, parameter :: GWL_HWNDPARENT = (-8)
          integer, parameter :: GWL_STYLE = (-16)
          integer, parameter :: GWL_EXSTYLE = (-20)
          integer, parameter :: GWL_USERDATA = (-21)
          integer, parameter :: GWL_ID = (-12)
          integer, parameter :: GWLP_WNDPROC = (-4)
          integer, parameter :: GWLP_HINSTANCE = (-6)
          integer, parameter :: GWLP_HWNDPARENT = (-8)
          integer, parameter :: GWLP_USERDATA = (-21)
          integer, parameter :: GWLP_ID = (-12)
          integer, parameter :: GCL_MENUNAME = (-8)
          integer, parameter :: GCL_HBRBACKGROUND = (-10)
          integer, parameter :: GCL_HCURSOR = (-12)
          integer, parameter :: GCL_HICON = (-14)
          integer, parameter :: GCL_HMODULE = (-16)
          integer, parameter :: GCL_CBWNDEXTRA = (-18)
          integer, parameter :: GCL_CBCLSEXTRA = (-20)
          integer, parameter :: GCL_WNDPROC = (-24)
          integer, parameter :: GCL_STYLE = (-26)
          integer, parameter :: GCW_ATOM = (-32)
          integer, parameter :: GCL_HICONSM = (-34)
          integer, parameter :: GCLP_MENUNAME = (-8)
          integer, parameter :: GCLP_HBRBACKGROUND = (-10)
          integer, parameter :: GCLP_HCURSOR = (-12)
          integer, parameter :: GCLP_HICON = (-14)
          integer, parameter :: GCLP_HMODULE = (-16)
          integer, parameter :: GCLP_WNDPROC = (-24)
          integer, parameter :: GCLP_HICONSM = (-34)
          integer, parameter :: WM_NULL = #0000
          integer, parameter :: WM_CREATE = #0001
          integer, parameter :: WM_DESTROY = #0002
          integer, parameter :: WM_MOVE = #0003
          integer, parameter :: WM_SIZE = #0005
          integer, parameter :: WM_ACTIVATE = #0006
          integer, parameter :: WA_INACTIVE = 0
          integer, parameter :: WA_ACTIVE = 1
          integer, parameter :: WA_CLICKACTIVE = 2
          integer, parameter :: WM_SETFOCUS = #0007
          integer, parameter :: WM_KILLFOCUS = #0008
          integer, parameter :: WM_ENABLE = #000A
          integer, parameter :: WM_SETREDRAW = #000B
          integer, parameter :: WM_SETTEXT = #000C
          integer, parameter :: WM_GETTEXT = #000D
          integer, parameter :: WM_GETTEXTLENGTH = #000E
          integer, parameter :: WM_PAINT = #000F
          integer, parameter :: WM_CLOSE = #0010
          integer, parameter :: WM_QUERYENDSESSION = #0011
          integer, parameter :: WM_QUERYOPEN = #0013
          integer, parameter :: WM_ENDSESSION = #0016
          integer, parameter :: WM_QUIT = #0012
          integer, parameter :: WM_ERASEBKGND = #0014
          integer, parameter :: WM_SYSCOLORCHANGE = #0015
          integer, parameter :: WM_SHOWWINDOW = #0018
          integer, parameter :: WM_WININICHANGE = #001A
          integer, parameter :: WM_DEVMODECHANGE = #001B
          integer, parameter :: WM_ACTIVATEAPP = #001C
          integer, parameter :: WM_FONTCHANGE = #001D
          integer, parameter :: WM_TIMECHANGE = #001E
          integer, parameter :: WM_CANCELMODE = #001F
          integer, parameter :: WM_SETCURSOR = #0020
          integer, parameter :: WM_MOUSEACTIVATE = #0021
          integer, parameter :: WM_CHILDACTIVATE = #0022
          integer, parameter :: WM_QUEUESYNC = #0023
          integer, parameter :: WM_GETMINMAXINFO = #0024
          integer, parameter :: WM_PAINTICON = #0026
          integer, parameter :: WM_ICONERASEBKGND = #0027
          integer, parameter :: WM_NEXTDLGCTL = #0028
          integer, parameter :: WM_SPOOLERSTATUS = #002A
          integer, parameter :: WM_DRAWITEM = #002B
          integer, parameter :: WM_MEASUREITEM = #002C
          integer, parameter :: WM_DELETEITEM = #002D
          integer, parameter :: WM_VKEYTOITEM = #002E
          integer, parameter :: WM_CHARTOITEM = #002F
          integer, parameter :: WM_SETFONT = #0030
          integer, parameter :: WM_GETFONT = #0031
          integer, parameter :: WM_SETHOTKEY = #0032
          integer, parameter :: WM_GETHOTKEY = #0033
          integer, parameter :: WM_QUERYDRAGICON = #0037
          integer, parameter :: WM_COMPAREITEM = #0039
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WM_GETOBJECT = #003D
    !DEC$ ENDIF
          integer, parameter :: WM_COMPACTING = #0041
          integer, parameter :: WM_COMMNOTIFY = #0044
          integer, parameter :: WM_WINDOWPOSCHANGING = #0046
          integer, parameter :: WM_WINDOWPOSCHANGED = #0047
          integer, parameter :: WM_POWER = #0048
          integer, parameter :: PWR_OK = 1
          integer, parameter :: PWR_FAIL = (-1)
          integer, parameter :: PWR_SUSPENDREQUEST = 1
          integer, parameter :: PWR_SUSPENDRESUME = 2
          integer, parameter :: PWR_CRITICALRESUME = 3
          integer, parameter :: WM_COPYDATA = #004A
          integer, parameter :: WM_CANCELJOURNAL = #004B
          integer, parameter :: WM_NOTIFY = #004E
          integer, parameter :: WM_INPUTLANGCHANGEREQUEST = #0050
          integer, parameter :: WM_INPUTLANGCHANGE = #0051
          integer, parameter :: WM_TCARD = #0052
          integer, parameter :: WM_HELP = #0053
          integer, parameter :: WM_USERCHANGED = #0054
          integer, parameter :: WM_NOTIFYFORMAT = #0055
          integer, parameter :: NFR_ANSI = 1
          integer, parameter :: NFR_UNICODE = 2
          integer, parameter :: NF_QUERY = 3
          integer, parameter :: NF_REQUERY = 4
          integer, parameter :: WM_CONTEXTMENU = #007B
          integer, parameter :: WM_STYLECHANGING = #007C
          integer, parameter :: WM_STYLECHANGED = #007D
          integer, parameter :: WM_DISPLAYCHANGE = #007E
          integer, parameter :: WM_GETICON = #007F
          integer, parameter :: WM_SETICON = #0080
          integer, parameter :: WM_NCCREATE = #0081
          integer, parameter :: WM_NCDESTROY = #0082
          integer, parameter :: WM_NCCALCSIZE = #0083
          integer, parameter :: WM_NCHITTEST = #0084
          integer, parameter :: WM_NCPAINT = #0085
          integer, parameter :: WM_NCACTIVATE = #0086
          integer, parameter :: WM_GETDLGCODE = #0087
          integer, parameter :: WM_SYNCPAINT = #0088
          integer, parameter :: WM_NCMOUSEMOVE = #00A0
          integer, parameter :: WM_NCLBUTTONDOWN = #00A1
          integer, parameter :: WM_NCLBUTTONUP = #00A2
          integer, parameter :: WM_NCLBUTTONDBLCLK = #00A3
          integer, parameter :: WM_NCRBUTTONDOWN = #00A4
          integer, parameter :: WM_NCRBUTTONUP = #00A5
          integer, parameter :: WM_NCRBUTTONDBLCLK = #00A6
          integer, parameter :: WM_NCMBUTTONDOWN = #00A7
          integer, parameter :: WM_NCMBUTTONUP = #00A8
          integer, parameter :: WM_NCMBUTTONDBLCLK = #00A9
          integer, parameter :: WM_KEYFIRST = #0100
          integer, parameter :: WM_KEYDOWN = #0100
          integer, parameter :: WM_KEYUP = #0101
          integer, parameter :: WM_CHAR = #0102
          integer, parameter :: WM_DEADCHAR = #0103
          integer, parameter :: WM_SYSKEYDOWN = #0104
          integer, parameter :: WM_SYSKEYUP = #0105
          integer, parameter :: WM_SYSCHAR = #0106
          integer, parameter :: WM_SYSDEADCHAR = #0107
          integer, parameter :: WM_KEYLAST = #0108
          integer, parameter :: WM_IME_STARTCOMPOSITION = #010D
          integer, parameter :: WM_IME_ENDCOMPOSITION = #010E
          integer, parameter :: WM_IME_COMPOSITION = #010F
          integer, parameter :: WM_IME_KEYLAST = #010F
          integer, parameter :: WM_INITDIALOG = #0110
          integer, parameter :: WM_COMMAND = #0111
          integer, parameter :: WM_SYSCOMMAND = #0112
          integer, parameter :: WM_TIMER = #0113
          integer, parameter :: WM_HSCROLL = #0114
          integer, parameter :: WM_VSCROLL = #0115
          integer, parameter :: WM_INITMENU = #0116
          integer, parameter :: WM_INITMENUPOPUP = #0117
          integer, parameter :: WM_MENUSELECT = #011F
          integer, parameter :: WM_MENUCHAR = #0120
          integer, parameter :: WM_ENTERIDLE = #0121
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WM_MENURBUTTONUP = #0122
          integer, parameter :: WM_MENUDRAG = #0123
          integer, parameter :: WM_MENUGETOBJECT = #0124
          integer, parameter :: WM_UNINITMENUPOPUP = #0125
          integer, parameter :: WM_MENUCOMMAND = #0126
    !DEC$ ENDIF
          integer, parameter :: WM_CTLCOLORMSGBOX = #0132
          integer, parameter :: WM_CTLCOLOREDIT = #0133
          integer, parameter :: WM_CTLCOLORLISTBOX = #0134
          integer, parameter :: WM_CTLCOLORBTN = #0135
          integer, parameter :: WM_CTLCOLORDLG = #0136
          integer, parameter :: WM_CTLCOLORSCROLLBAR = #0137
          integer, parameter :: WM_CTLCOLORSTATIC = #0138
          integer, parameter :: WM_MOUSEFIRST = #0200
          integer, parameter :: WM_MOUSEMOVE = #0200
          integer, parameter :: WM_LBUTTONDOWN = #0201
          integer, parameter :: WM_LBUTTONUP = #0202
          integer, parameter :: WM_LBUTTONDBLCLK = #0203
          integer, parameter :: WM_RBUTTONDOWN = #0204
          integer, parameter :: WM_RBUTTONUP = #0205
          integer, parameter :: WM_RBUTTONDBLCLK = #0206
          integer, parameter :: WM_MBUTTONDOWN = #0207
          integer, parameter :: WM_MBUTTONUP = #0208
          integer, parameter :: WM_MBUTTONDBLCLK = #0209
          integer, parameter :: WM_MOUSEWHEEL = #020A
          integer, parameter :: WM_MOUSELAST = #020A
          integer, parameter :: WHEEL_DELTA = 120
    !     integer, parameter :: WHEEL_PAGESCROLL = UINT_MAX 
          integer, parameter :: WHEEL_PAGESCROLL = #FFFFFFFF 
          integer, parameter :: WM_PARENTNOTIFY = #0210
          integer, parameter :: WM_ENTERMENULOOP = #0211
          integer, parameter :: WM_EXITMENULOOP = #0212
          integer, parameter :: WM_NEXTMENU = #0213
          integer, parameter :: WM_SIZING = #0214
          integer, parameter :: WM_CAPTURECHANGED = #0215
          integer, parameter :: WM_MOVING = #0216
          integer, parameter :: WM_POWERBROADCAST = #0218
          integer, parameter :: PBT_APMQUERYSUSPEND = #0000
          integer, parameter :: PBT_APMQUERYSTANDBY = #0001
          integer, parameter :: PBT_APMQUERYSUSPENDFAILED = #0002
          integer, parameter :: PBT_APMQUERYSTANDBYFAILED = #0003
          integer, parameter :: PBT_APMSUSPEND = #0004
          integer, parameter :: PBT_APMSTANDBY = #0005
          integer, parameter :: PBT_APMRESUMECRITICAL = #0006
          integer, parameter :: PBT_APMRESUMESUSPEND = #0007
          integer, parameter :: PBT_APMRESUMESTANDBY = #0008
          integer, parameter :: PBTF_APMRESUMEFROMFAILURE = #00000001
          integer, parameter :: PBT_APMBATTERYLOW = #0009
          integer, parameter :: PBT_APMPOWERSTATUSCHANGE = #000A
          integer, parameter :: PBT_APMOEMEVENT = #000B
          integer, parameter :: PBT_APMRESUMEAUTOMATIC = #0012
          integer, parameter :: WM_DEVICECHANGE = #0219
          integer, parameter :: WM_MDICREATE = #0220
          integer, parameter :: WM_MDIDESTROY = #0221
          integer, parameter :: WM_MDIACTIVATE = #0222
          integer, parameter :: WM_MDIRESTORE = #0223
          integer, parameter :: WM_MDINEXT = #0224
          integer, parameter :: WM_MDIMAXIMIZE = #0225
          integer, parameter :: WM_MDITILE = #0226
          integer, parameter :: WM_MDICASCADE = #0227
          integer, parameter :: WM_MDIICONARRANGE = #0228
          integer, parameter :: WM_MDIGETACTIVE = #0229
          integer, parameter :: WM_MDISETMENU = #0230
          integer, parameter :: WM_ENTERSIZEMOVE = #0231
          integer, parameter :: WM_EXITSIZEMOVE = #0232
          integer, parameter :: WM_DROPFILES = #0233
          integer, parameter :: WM_MDIREFRESHMENU = #0234
          integer, parameter :: WM_IME_SETCONTEXT = #0281
          integer, parameter :: WM_IME_NOTIFY = #0282
          integer, parameter :: WM_IME_CONTROL = #0283
          integer, parameter :: WM_IME_COMPOSITIONFULL = #0284
          integer, parameter :: WM_IME_SELECT = #0285
          integer, parameter :: WM_IME_CHAR = #0286
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WM_IME_REQUEST = #0288
    !DEC$ ENDIF
          integer, parameter :: WM_IME_KEYDOWN = #0290
          integer, parameter :: WM_IME_KEYUP = #0291
          integer, parameter :: WM_MOUSEHOVER = #02A1
          integer, parameter :: WM_MOUSELEAVE = #02A3
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WM_NCMOUSEHOVER = #02A0
          integer, parameter :: WM_NCMOUSELEAVE = #02A2
    !DEC$ ENDIF
          integer, parameter :: WM_CUT = #0300
          integer, parameter :: WM_COPY = #0301
          integer, parameter :: WM_PASTE = #0302
          integer, parameter :: WM_CLEAR = #0303
          integer, parameter :: WM_UNDO = #0304
          integer, parameter :: WM_RENDERFORMAT = #0305
          integer, parameter :: WM_RENDERALLFORMATS = #0306
          integer, parameter :: WM_DESTROYCLIPBOARD = #0307
          integer, parameter :: WM_DRAWCLIPBOARD = #0308
          integer, parameter :: WM_PAINTCLIPBOARD = #0309
          integer, parameter :: WM_VSCROLLCLIPBOARD = #030A
          integer, parameter :: WM_SIZECLIPBOARD = #030B
          integer, parameter :: WM_ASKCBFORMATNAME = #030C
          integer, parameter :: WM_CHANGECBCHAIN = #030D
          integer, parameter :: WM_HSCROLLCLIPBOARD = #030E
          integer, parameter :: WM_QUERYNEWPALETTE = #030F
          integer, parameter :: WM_PALETTEISCHANGING = #0310
          integer, parameter :: WM_PALETTECHANGED = #0311
          integer, parameter :: WM_HOTKEY = #0312
          integer, parameter :: WM_PRINT = #0317
          integer, parameter :: WM_PRINTCLIENT = #0318
          integer, parameter :: WM_HANDHELDFIRST = #0358
          integer, parameter :: WM_HANDHELDLAST = #035F
          integer, parameter :: WM_AFXFIRST = #0360
          integer, parameter :: WM_AFXLAST = #037F
          integer, parameter :: WM_PENWINFIRST = #0380
          integer, parameter :: WM_PENWINLAST = #038F
          integer, parameter :: WM_APP = #8000
          integer, parameter :: WM_USER = #0400
          integer, parameter :: WMSZ_LEFT = 1
          integer, parameter :: WMSZ_RIGHT = 2
          integer, parameter :: WMSZ_TOP = 3
          integer, parameter :: WMSZ_TOPLEFT = 4
          integer, parameter :: WMSZ_TOPRIGHT = 5
          integer, parameter :: WMSZ_BOTTOM = 6
          integer, parameter :: WMSZ_BOTTOMLEFT = 7
          integer, parameter :: WMSZ_BOTTOMRIGHT = 8
          integer, parameter :: HTERROR = (-2)
          integer, parameter :: HTTRANSPARENT = (-1)
          integer, parameter :: HTNOWHERE = 0
          integer, parameter :: HTCLIENT = 1
          integer, parameter :: HTCAPTION = 2
          integer, parameter :: HTSYSMENU = 3
          integer, parameter :: HTGROWBOX = 4
          integer, parameter :: HTMENU = 5
          integer, parameter :: HTHSCROLL = 6
          integer, parameter :: HTVSCROLL = 7
          integer, parameter :: HTMINBUTTON = 8
          integer, parameter :: HTMAXBUTTON = 9
          integer, parameter :: HTLEFT = 10
          integer, parameter :: HTRIGHT = 11
          integer, parameter :: HTTOP = 12
          integer, parameter :: HTTOPLEFT = 13
          integer, parameter :: HTTOPRIGHT = 14
          integer, parameter :: HTBOTTOM = 15
          integer, parameter :: HTBOTTOMLEFT = 16
          integer, parameter :: HTBOTTOMRIGHT = 17
          integer, parameter :: HTBORDER = 18
          integer, parameter :: HTOBJECT = 19
          integer, parameter :: HTCLOSE = 20
          integer, parameter :: HTHELP = 21
          integer, parameter :: SMTO_NORMAL = #0000
          integer, parameter :: SMTO_BLOCK = #0001
          integer, parameter :: SMTO_ABORTIFHUNG = #0002
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SMTO_NOTIMEOUTIFNOTHUNG = #0008
    !DEC$ ENDIF
          integer, parameter :: MA_ACTIVATE = 1
          integer, parameter :: MA_ACTIVATEANDEAT = 2
          integer, parameter :: MA_NOACTIVATE = 3
          integer, parameter :: MA_NOACTIVATEANDEAT = 4
          integer, parameter :: ICON_SMALL = 0
          integer, parameter :: ICON_BIG = 1
          integer, parameter :: SIZE_RESTORED = 0
          integer, parameter :: SIZE_MINIMIZED = 1
          integer, parameter :: SIZE_MAXIMIZED = 2
          integer, parameter :: SIZE_MAXSHOW = 3
          integer, parameter :: SIZE_MAXHIDE = 4
         ! 
         !  * Obsolete constant names
         !  
        
          integer, parameter :: SIZENORMAL = SIZE_RESTORED
          integer, parameter :: SIZEICONIC = SIZE_MINIMIZED
          integer, parameter :: SIZEFULLSCREEN = SIZE_MAXIMIZED
          integer, parameter :: SIZEZOOMSHOW = SIZE_MAXSHOW
          integer, parameter :: SIZEZOOMHIDE = SIZE_MAXHIDE
          integer, parameter :: WVR_ALIGNTOP = #0010
          integer, parameter :: WVR_ALIGNLEFT = #0020
          integer, parameter :: WVR_ALIGNBOTTOM = #0040
          integer, parameter :: WVR_ALIGNRIGHT = #0080
          integer, parameter :: WVR_HREDRAW = #0100
          integer, parameter :: WVR_VREDRAW = #0200
          integer, parameter :: WVR_REDRAW = (#0100 .OR.  #0200)
          integer, parameter :: WVR_VALIDRECTS = #0400
          integer, parameter :: MK_LBUTTON = #0001
          integer, parameter :: MK_RBUTTON = #0002
          integer, parameter :: MK_SHIFT = #0004
          integer, parameter :: MK_CONTROL = #0008
          integer, parameter :: MK_MBUTTON = #0010
!          integer, parameter :: TME_HOVER = #00000001
!          integer, parameter :: TME_LEAVE = #00000002
!          integer, parameter :: TME_QUERY = #40000000
!          integer, parameter :: TME_CANCEL = #80000000
!          integer, parameter :: HOVER_DEFAULT = #FFFFFFFF
          integer, parameter :: WS_OVERLAPPED = #00000000
          integer, parameter :: WS_POPUP = #80000000
          integer, parameter :: WS_CHILD = #40000000
          integer, parameter :: WS_MINIMIZE = #20000000
          integer, parameter :: WS_VISIBLE = #10000000
          integer, parameter :: WS_DISABLED = #08000000
          integer, parameter :: WS_CLIPSIBLINGS = #04000000
          integer, parameter :: WS_CLIPCHILDREN = #02000000
          integer, parameter :: WS_MAXIMIZE = #01000000
          integer, parameter :: WS_CAPTION = #00C00000
          integer, parameter :: WS_BORDER = #00800000
          integer, parameter :: WS_DLGFRAME = #00400000
          integer, parameter :: WS_VSCROLL = #00200000
          integer, parameter :: WS_HSCROLL = #00100000
          integer, parameter :: WS_SYSMENU = #00080000
          integer, parameter :: WS_THICKFRAME = #00040000
          integer, parameter :: WS_GROUP = #00020000
          integer, parameter :: WS_TABSTOP = #00010000
          integer, parameter :: WS_MINIMIZEBOX = #00020000
          integer, parameter :: WS_MAXIMIZEBOX = #00010000
          integer, parameter :: WS_OVERLAPPEDWINDOW = (#00000000 .OR.  #00C00000 .OR.  #00080000 .OR.  #00040000 .OR.  #00020000 .OR.  #00010000)
          integer, parameter :: WS_POPUPWINDOW = (#80000000 .OR.  #00800000 .OR.  #00080000)
          integer, parameter :: WS_CHILDWINDOW = (#40000000)
          integer, parameter :: WS_EX_DLGMODALFRAME = #00000001
          integer, parameter :: WS_EX_NOPARENTNOTIFY = #00000004
          integer, parameter :: WS_EX_TOPMOST = #00000008
          integer, parameter :: WS_EX_ACCEPTFILES = #00000010
          integer, parameter :: WS_EX_TRANSPARENT = #00000020
          integer, parameter :: WS_EX_MDICHILD = #00000040
          integer, parameter :: WS_EX_TOOLWINDOW = #00000080
          integer, parameter :: WS_EX_WINDOWEDGE = #00000100
          integer, parameter :: WS_EX_CLIENTEDGE = #00000200
          integer, parameter :: WS_EX_CONTEXTHELP = #00000400
          integer, parameter :: WS_EX_RIGHT = #00001000
          integer, parameter :: WS_EX_LEFT = #00000000
          integer, parameter :: WS_EX_RTLREADING = #00002000
          integer, parameter :: WS_EX_LTRREADING = #00000000
          integer, parameter :: WS_EX_LEFTSCROLLBAR = #00004000
          integer, parameter :: WS_EX_RIGHTSCROLLBAR = #00000000
          integer, parameter :: WS_EX_CONTROLPARENT = #00010000
          integer, parameter :: WS_EX_STATICEDGE = #00020000
          integer, parameter :: WS_EX_APPWINDOW = #00040000
          integer, parameter :: WS_EX_OVERLAPPEDWINDOW = (#00000100 .OR. #00000200)
          integer, parameter :: WS_EX_PALETTEWINDOW = (#00000100 .OR. #00000080 .OR. #00000008)
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WS_EX_NOINHERITLAYOUT = #00100000
          integer, parameter :: WS_EX_LAYOUTRTL = #00400000
    !DEC$ ENDIF
          integer, parameter :: CS_VREDRAW = #0001
          integer, parameter :: CS_HREDRAW = #0002
          integer, parameter :: CS_DBLCLKS = #0008
          integer, parameter :: CS_OWNDC = #0020
          integer, parameter :: CS_CLASSDC = #0040
          integer, parameter :: CS_PARENTDC = #0080
          integer, parameter :: CS_NOCLOSE = #0200
          integer, parameter :: CS_SAVEBITS = #0800
          integer, parameter :: CS_BYTEALIGNCLIENT = #1000
          integer, parameter :: CS_BYTEALIGNWINDOW = #2000
          integer, parameter :: CS_GLOBALCLASS = #4000
          integer, parameter :: CS_IME = #00010000
          integer, parameter :: PRF_CHECKVISIBLE = #00000001
          integer, parameter :: PRF_NONCLIENT = #00000002
          integer, parameter :: PRF_CLIENT = #00000004
          integer, parameter :: PRF_ERASEBKGND = #00000008
          integer, parameter :: PRF_CHILDREN = #00000010
          integer, parameter :: PRF_OWNED = #00000020
          integer, parameter :: BDR_RAISEDOUTER = #0001
          integer, parameter :: BDR_SUNKENOUTER = #0002
          integer, parameter :: BDR_RAISEDINNER = #0004
          integer, parameter :: BDR_SUNKENINNER = #0008
          integer, parameter :: BDR_OUTER = (#0001 .OR. #0002)
          integer, parameter :: BDR_INNER = (#0004 .OR. #0008)
          integer, parameter :: BDR_RAISED = (#0001 .OR. #0004)
          integer, parameter :: BDR_SUNKEN = (#0002 .OR. #0008)
          integer, parameter :: EDGE_RAISED = (#0001 .OR. #0004)
          integer, parameter :: EDGE_SUNKEN = (#0002 .OR. #0008)
          integer, parameter :: EDGE_ETCHED = (#0002 .OR. #0004)
          integer, parameter :: EDGE_BUMP = (#0001 .OR. #0008)
          integer, parameter :: BF_LEFT = #0001
          integer, parameter :: BF_TOP = #0002
          integer, parameter :: BF_RIGHT = #0004
          integer, parameter :: BF_BOTTOM = #0008
          integer, parameter :: BF_TOPLEFT = (#0002 .OR. #0001)
          integer, parameter :: BF_TOPRIGHT = (#0002 .OR. #0004)
          integer, parameter :: BF_BOTTOMLEFT = (#0008 .OR. #0001)
          integer, parameter :: BF_BOTTOMRIGHT = (#0008 .OR. #0004)
          integer, parameter :: BF_RECT = (#0001 .OR. #0002 .OR. #0004 .OR. #0008)
          integer, parameter :: BF_DIAGONAL = #0010
          integer, parameter :: BF_DIAGONAL_ENDTOPRIGHT = (#0010 .OR. #0002 .OR. #0004)
          integer, parameter :: BF_DIAGONAL_ENDTOPLEFT = (#0010 .OR. #0002 .OR. #0001)
          integer, parameter :: BF_DIAGONAL_ENDBOTTOMLEFT = (#0010 .OR. #0008 .OR. #0001)
          integer, parameter :: BF_DIAGONAL_ENDBOTTOMRIGHT = (#0010 .OR. #0008 .OR. #0004)
          integer, parameter :: BF_MIDDLE = #0800
          integer, parameter :: BF_SOFT = #1000
          integer, parameter :: BF_ADJUST = #2000
          integer, parameter :: BF_FLAT = #4000
          integer, parameter :: BF_MONO = #8000
          integer, parameter :: DFC_CAPTION = 1
          integer, parameter :: DFC_MENU = 2
          integer, parameter :: DFC_SCROLL = 3
          integer, parameter :: DFC_BUTTON = 4
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DFC_POPUPMENU = 5
    !DEC$ ENDIF
          integer, parameter :: DFCS_CAPTIONCLOSE = #0000
          integer, parameter :: DFCS_CAPTIONMIN = #0001
          integer, parameter :: DFCS_CAPTIONMAX = #0002
          integer, parameter :: DFCS_CAPTIONRESTORE = #0003
          integer, parameter :: DFCS_CAPTIONHELP = #0004
          integer, parameter :: DFCS_MENUARROW = #0000
          integer, parameter :: DFCS_MENUCHECK = #0001
          integer, parameter :: DFCS_MENUBULLET = #0002
          integer, parameter :: DFCS_MENUARROWRIGHT = #0004
          integer, parameter :: DFCS_SCROLLUP = #0000
          integer, parameter :: DFCS_SCROLLDOWN = #0001
          integer, parameter :: DFCS_SCROLLLEFT = #0002
          integer, parameter :: DFCS_SCROLLRIGHT = #0003
          integer, parameter :: DFCS_SCROLLCOMBOBOX = #0005
          integer, parameter :: DFCS_SCROLLSIZEGRIP = #0008
          integer, parameter :: DFCS_SCROLLSIZEGRIPRIGHT = #0010
          integer, parameter :: DFCS_BUTTONCHECK = #0000
          integer, parameter :: DFCS_BUTTONRADIOIMAGE = #0001
          integer, parameter :: DFCS_BUTTONRADIOMASK = #0002
          integer, parameter :: DFCS_BUTTONRADIO = #0004
          integer, parameter :: DFCS_BUTTON3STATE = #0008
          integer, parameter :: DFCS_BUTTONPUSH = #0010
          integer, parameter :: DFCS_INACTIVE = #0100
          integer, parameter :: DFCS_PUSHED = #0200
          integer, parameter :: DFCS_CHECKED = #0400
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DFCS_TRANSPARENT = #0800
          integer, parameter :: DFCS_HOT = #1000
    !DEC$ ENDIF
          integer, parameter :: DFCS_ADJUSTRECT = #2000
          integer, parameter :: DFCS_FLAT = #4000
          integer, parameter :: DFCS_MONO = #8000
          integer, parameter :: DC_ACTIVE = #0001
          integer, parameter :: DC_SMALLCAP = #0002
          integer, parameter :: DC_ICON = #0004
          integer, parameter :: DC_TEXT = #0008
          integer, parameter :: DC_INBUTTON = #0010
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DC_GRADIENT = #0020
    !DEC$ ENDIF
          integer, parameter :: IDANI_OPEN = 1
          integer, parameter :: CF_TEXT = 1
          integer, parameter :: CF_BITMAP = 2
          integer, parameter :: CF_METAFILEPICT = 3
          integer, parameter :: CF_SYLK = 4
          integer, parameter :: CF_DIF = 5
          integer, parameter :: CF_TIFF = 6
          integer, parameter :: CF_OEMTEXT = 7
          integer, parameter :: CF_DIB = 8
          integer, parameter :: CF_PALETTE = 9
          integer, parameter :: CF_PENDATA = 10
          integer, parameter :: CF_RIFF = 11
          integer, parameter :: CF_WAVE = 12
          integer, parameter :: CF_UNICODETEXT = 13
          integer, parameter :: CF_ENHMETAFILE = 14
          integer, parameter :: CF_HDROP = 15
          integer, parameter :: CF_LOCALE = 16
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: CF_DIBV5 = 17
          integer, parameter :: CF_MAX = 18
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: CF_MAX = 17
    !DEC$ ENDIF
          integer, parameter :: CF_OWNERDISPLAY = #0080
          integer, parameter :: CF_DSPTEXT = #0081
          integer, parameter :: CF_DSPBITMAP = #0082
          integer, parameter :: CF_DSPMETAFILEPICT = #0083
          integer, parameter :: CF_DSPENHMETAFILE = #008E
          integer, parameter :: CF_PRIVATEFIRST = #0200
          integer, parameter :: CF_PRIVATELAST = #02FF
          integer, parameter :: CF_GDIOBJFIRST = #0300
          integer, parameter :: CF_GDIOBJLAST = #03FF
          integer, parameter :: FNOINVERT = #02
          integer, parameter :: FSHIFT = #04
          integer, parameter :: FCONTROL = #08
          integer, parameter :: FALT = #10
          integer, parameter :: WPF_SETMINPOSITION = #0001
          integer, parameter :: WPF_RESTORETOMAXIMIZED = #0002
          integer, parameter :: ODT_MENU = 1
          integer, parameter :: ODT_LISTBOX = 2
          integer, parameter :: ODT_COMBOBOX = 3
          integer, parameter :: ODT_BUTTON = 4
          integer, parameter :: ODT_STATIC = 5
          integer, parameter :: ODA_DRAWENTIRE = #0001
          integer, parameter :: ODA_SELECT = #0002
          integer, parameter :: ODA_FOCUS = #0004
          integer, parameter :: ODS_SELECTED = #0001
          integer, parameter :: ODS_GRAYED = #0002
          integer, parameter :: ODS_DISABLED = #0004
          integer, parameter :: ODS_CHECKED = #0008
          integer, parameter :: ODS_FOCUS = #0010
          integer, parameter :: ODS_DEFAULT = #0020
          integer, parameter :: ODS_COMBOBOXEDIT = #1000
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: ODS_HOTLIGHT = #0040
          integer, parameter :: ODS_INACTIVE = #0080
    !DEC$ ENDIF
    !moved to before first use 
          integer, parameter :: QS_KEY = #0001
          integer, parameter :: QS_MOUSEMOVE = #0002
          integer, parameter :: QS_MOUSEBUTTON = #0004
          integer, parameter :: QS_POSTMESSAGE = #0008
          integer, parameter :: QS_TIMER = #0010
          integer, parameter :: QS_PAINT = #0020
          integer, parameter :: QS_SENDMESSAGE = #0040
          integer, parameter :: QS_HOTKEY = #0080
          integer, parameter :: QS_ALLPOSTMESSAGE = #0100
          integer, parameter :: QS_MOUSE = (#0002 .OR.  #0004)
          integer, parameter :: QS_INPUT = ((#0002 .OR. #0004) .OR.  #0001)
          integer, parameter :: QS_ALLEVENTS = (((#0002 .OR. #0004) .OR. #0001) .OR.  #0008 .OR.  #0010 .OR.  #0020 .OR.  #0080)
          integer, parameter :: QS_ALLINPUT = (((#0002 .OR. #0004) .OR. #0001) .OR.  #0008 .OR.  #0010 .OR.  #0020 .OR.  #0080 .OR.  #0040)
    !end moved to before first use
          integer, parameter :: PM_NOREMOVE = #0000
          integer, parameter :: PM_REMOVE = #0001
          integer, parameter :: PM_NOYIELD = #0002
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: PM_QS_INPUT = (QS_INPUT * 2** 16)
          integer, parameter :: PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE .OR. QS_HOTKEY .OR. QS_TIMER) * 2** 16)
          integer, parameter :: PM_QS_PAINT = (QS_PAINT * 2** 16)
          integer, parameter :: PM_QS_SENDMESSAGE = (QS_SENDMESSAGE * 2** 16)
    !DEC$ ENDIF
          integer, parameter :: MOD_WIN = #0008
          integer, parameter :: IDHOT_SNAPWINDOW = (-1)
          integer, parameter :: IDHOT_SNAPDESKTOP = (-2)
          integer, parameter :: ENDSESSION_LOGOFF = #80000000
          integer, parameter :: EWX_LOGOFF = 0
          integer, parameter :: EWX_SHUTDOWN = #00000001
          integer, parameter :: EWX_REBOOT = #00000002
          integer, parameter :: EWX_FORCE = #00000004
          integer, parameter :: EWX_POWEROFF = #00000008
          integer, parameter :: BSM_ALLCOMPONENTS = #00000000
          integer, parameter :: BSM_VXDS = #00000001
          integer, parameter :: BSM_NETDRIVER = #00000002
          integer, parameter :: BSM_INSTALLABLEDRIVERS = #00000004
          integer, parameter :: BSM_APPLICATIONS = #00000008
          integer, parameter :: BSM_ALLDESKTOPS = #00000010
          integer, parameter :: BSF_QUERY = #00000001
          integer, parameter :: BSF_IGNORECURRENTTASK = #00000002
          integer, parameter :: BSF_FLUSHDISK = #00000004
          integer, parameter :: BSF_NOHANG = #00000008
          integer, parameter :: BSF_POSTMESSAGE = #00000010
          integer, parameter :: BSF_FORCEIFHUNG = #00000020
          integer, parameter :: BSF_NOTIMEOUTIFNOTHUNG = #00000040
          integer, parameter :: BROADCAST_QUERY_DENY = #424D5144
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DEVICE_NOTIFY_WINDOW_HANDLE = #00000000
          integer, parameter :: DEVICE_NOTIFY_SERVICE_HANDLE = #00000001
    !DEC$ ENDIF
          integer, parameter :: HWND_BROADCAST = ( #ffff)
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: HWND_MESSAGE = ( -3)
          integer, parameter :: ISMEX_NOSEND = #00000000
          integer, parameter :: ISMEX_SEND = #00000001
          integer, parameter :: ISMEX_NOTIFY = #00000002
          integer, parameter :: ISMEX_CALLBACK = #00000004
          integer, parameter :: ISMEX_REPLIED = #00000008
    !DEC$ ENDIF
          integer, parameter :: CW_USEDEFAULT = ( #80000000)
          integer, parameter :: HWND_DESKTOP = ( 0)
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: FLASHW_STOP = 0
          integer, parameter :: FLASHW_CAPTION = #00000001
          integer, parameter :: FLASHW_TRAY = #00000002
          integer, parameter :: FLASHW_ALL = (#00000001 .OR. #00000002)
          integer, parameter :: FLASHW_TIMER = #00000004
          integer, parameter :: FLASHW_TIMERNOFG = #0000000C
    !DEC$ ENDIF
          integer, parameter :: SWP_NOSIZE = #0001
          integer, parameter :: SWP_NOMOVE = #0002
          integer, parameter :: SWP_NOZORDER = #0004
          integer, parameter :: SWP_NOREDRAW = #0008
          integer, parameter :: SWP_NOACTIVATE = #0010
          integer, parameter :: SWP_FRAMECHANGED = #0020
          integer, parameter :: SWP_SHOWWINDOW = #0040
          integer, parameter :: SWP_HIDEWINDOW = #0080
          integer, parameter :: SWP_NOCOPYBITS = #0100
          integer, parameter :: SWP_NOOWNERZORDER = #0200
          integer, parameter :: SWP_NOSENDCHANGING = #0400
          integer, parameter :: SWP_DEFERERASE = #2000
          integer, parameter :: SWP_ASYNCWINDOWPOS = #4000
          integer, parameter :: HWND_TOP = ( 0)
          integer, parameter :: HWND_BOTTOM = ( 1)
          integer, parameter :: HWND_TOPMOST = ( -1)
          integer, parameter :: HWND_NOTOPMOST = ( -2)
          integer, parameter :: DLGWINDOWEXTRA = 30
          integer, parameter :: KEYEVENTF_EXTENDEDKEY = #0001
          integer, parameter :: KEYEVENTF_KEYUP = #0002
          integer, parameter :: MOUSEEVENTF_MOVE = #0001
          integer, parameter :: MOUSEEVENTF_LEFTDOWN = #0002
          integer, parameter :: MOUSEEVENTF_LEFTUP = #0004
          integer, parameter :: MOUSEEVENTF_RIGHTDOWN = #0008
          integer, parameter :: MOUSEEVENTF_RIGHTUP = #0010
          integer, parameter :: MOUSEEVENTF_MIDDLEDOWN = #0020
          integer, parameter :: MOUSEEVENTF_MIDDLEUP = #0040
          integer, parameter :: MOUSEEVENTF_XDOWN = #0080
          integer, parameter :: MOUSEEVENTF_XUP = #0100
          integer, parameter :: MOUSEEVENTF_WHEEL = #0800
          integer, parameter :: MOUSEEVENTF_VIRTUALDESK = #4000
          integer, parameter :: MOUSEEVENTF_ABSOLUTE = #8000
          integer, parameter :: MWMO_WAITALL = #0001
          integer, parameter :: MWMO_ALERTABLE = #0002
          integer, parameter :: MWMO_INPUTAVAILABLE = #0004
    !DEC$ IF (0 .EQ. 1)
          integer, parameter :: QS_KEY = #0001
          integer, parameter :: QS_MOUSEMOVE = #0002
          integer, parameter :: QS_MOUSEBUTTON = #0004
          integer, parameter :: QS_POSTMESSAGE = #0008
          integer, parameter :: QS_TIMER = #0010
          integer, parameter :: QS_PAINT = #0020
          integer, parameter :: QS_SENDMESSAGE = #0040
          integer, parameter :: QS_HOTKEY = #0080
          integer, parameter :: QS_ALLPOSTMESSAGE = #0100
          integer, parameter :: QS_MOUSE = (#0002 .OR.  #0004)
          integer, parameter :: QS_INPUT = ((#0002 .OR. #0004) .OR.  #0001)
          integer, parameter :: QS_ALLEVENTS = (((#0002 .OR. #0004) .OR. #0001) .OR.  #0008 .OR.  #0010 .OR.  #0020 .OR.  #0080)
          integer, parameter :: QS_ALLINPUT = (((#0002 .OR. #0004) .OR. #0001) .OR.  #0008 .OR.  #0010 .OR.  #0020 .OR.  #0080 .OR.  #0040)
    !DEC$ ENDIF
          integer, parameter :: SM_CXSCREEN = 0
          integer, parameter :: SM_CYSCREEN = 1
          integer, parameter :: SM_CXVSCROLL = 2
          integer, parameter :: SM_CYHSCROLL = 3
          integer, parameter :: SM_CYCAPTION = 4
          integer, parameter :: SM_CXBORDER = 5
          integer, parameter :: SM_CYBORDER = 6
          integer, parameter :: SM_CXDLGFRAME = 7
          integer, parameter :: SM_CYDLGFRAME = 8
          integer, parameter :: SM_CYVTHUMB = 9
          integer, parameter :: SM_CXHTHUMB = 10
          integer, parameter :: SM_CXICON = 11
          integer, parameter :: SM_CYICON = 12
          integer, parameter :: SM_CXCURSOR = 13
          integer, parameter :: SM_CYCURSOR = 14
          integer, parameter :: SM_CYMENU = 15
          integer, parameter :: SM_CXFULLSCREEN = 16
          integer, parameter :: SM_CYFULLSCREEN = 17
          integer, parameter :: SM_CYKANJIWINDOW = 18
          integer, parameter :: SM_MOUSEPRESENT = 19
          integer, parameter :: SM_CYVSCROLL = 20
          integer, parameter :: SM_CXHSCROLL = 21
          integer, parameter :: SM_DEBUG = 22
          integer, parameter :: SM_SWAPBUTTON = 23
          integer, parameter :: SM_RESERVED1 = 24
          integer, parameter :: SM_RESERVED2 = 25
          integer, parameter :: SM_RESERVED3 = 26
          integer, parameter :: SM_RESERVED4 = 27
          integer, parameter :: SM_CXMIN = 28
          integer, parameter :: SM_CYMIN = 29
          integer, parameter :: SM_CXSIZE = 30
          integer, parameter :: SM_CYSIZE = 31
          integer, parameter :: SM_CXFRAME = 32
          integer, parameter :: SM_CYFRAME = 33
          integer, parameter :: SM_CXMINTRACK = 34
          integer, parameter :: SM_CYMINTRACK = 35
          integer, parameter :: SM_CXDOUBLECLK = 36
          integer, parameter :: SM_CYDOUBLECLK = 37
          integer, parameter :: SM_CXICONSPACING = 38
          integer, parameter :: SM_CYICONSPACING = 39
          integer, parameter :: SM_MENUDROPALIGNMENT = 40
          integer, parameter :: SM_PENWINDOWS = 41
          integer, parameter :: SM_DBCSENABLED = 42
          integer, parameter :: SM_CMOUSEBUTTONS = 43
          integer, parameter :: SM_SECURE = 44
          integer, parameter :: SM_CXEDGE = 45
          integer, parameter :: SM_CYEDGE = 46
          integer, parameter :: SM_CXMINSPACING = 47
          integer, parameter :: SM_CYMINSPACING = 48
          integer, parameter :: SM_CXSMICON = 49
          integer, parameter :: SM_CYSMICON = 50
          integer, parameter :: SM_CYSMCAPTION = 51
          integer, parameter :: SM_CXSMSIZE = 52
          integer, parameter :: SM_CYSMSIZE = 53
          integer, parameter :: SM_CXMENUSIZE = 54
          integer, parameter :: SM_CYMENUSIZE = 55
          integer, parameter :: SM_ARRANGE = 56
          integer, parameter :: SM_CXMINIMIZED = 57
          integer, parameter :: SM_CYMINIMIZED = 58
          integer, parameter :: SM_CXMAXTRACK = 59
          integer, parameter :: SM_CYMAXTRACK = 60
          integer, parameter :: SM_CXMAXIMIZED = 61
          integer, parameter :: SM_CYMAXIMIZED = 62
          integer, parameter :: SM_NETWORK = 63
          integer, parameter :: SM_CLEANBOOT = 67
          integer, parameter :: SM_CXDRAG = 68
          integer, parameter :: SM_CYDRAG = 69
          integer, parameter :: SM_SHOWSOUNDS = 70
          integer, parameter :: SM_CXMENUCHECK = 71
          integer, parameter :: SM_CYMENUCHECK = 72
          integer, parameter :: SM_SLOWMACHINE = 73
          integer, parameter :: SM_MIDEASTENABLED = 74
          integer, parameter :: SM_MOUSEWHEELPRESENT = 75
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SM_XVIRTUALSCREEN = 76
          integer, parameter :: SM_YVIRTUALSCREEN = 77
          integer, parameter :: SM_CXVIRTUALSCREEN = 78
          integer, parameter :: SM_CYVIRTUALSCREEN = 79
          integer, parameter :: SM_CMONITORS = 80
          integer, parameter :: SM_SAMEDISPLAYFORMAT = 81
    !DEC$ ENDIF
          integer, parameter :: SM_CMETRICS = 83
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SM_REMOTESESSION = #1000
    !DEC$ ENDIF
          integer, parameter :: MNC_IGNORE = 0
          integer, parameter :: MNC_CLOSE = 1
          integer, parameter :: MNC_EXECUTE = 2
          integer, parameter :: MNC_SELECT = 3
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MNS_NOCHECK = #80000000
          integer, parameter :: MNS_MODELESS = #40000000
          integer, parameter :: MNS_DRAGDROP = #20000000
          integer, parameter :: MNS_AUTODISMISS = #10000000
          integer, parameter :: MNS_NOTIFYBYPOS = #08000000
          integer, parameter :: MNS_CHECKORBMP = #04000000
          integer, parameter :: MIM_MAXHEIGHT = #00000001
          integer, parameter :: MIM_BACKGROUND = #00000002
          integer, parameter :: MIM_HELPID = #00000004
          integer, parameter :: MIM_MENUDATA = #00000008
          integer, parameter :: MIM_STYLE = #00000010
          integer, parameter :: MIM_APPLYTOSUBMENUS = #80000000
          integer, parameter :: MND_CONTINUE = 0
          integer, parameter :: MND_ENDMENU = 1
          integer, parameter :: MNGOF_TOPGAP = #00000001
          integer, parameter :: MNGOF_BOTTOMGAP = #00000002
          integer, parameter :: MNGO_NOINTERFACE = #00000000
          integer, parameter :: MNGO_NOERROR = #00000001
    !DEC$ ENDIF
          integer, parameter :: MIIM_STATE = #00000001
          integer, parameter :: MIIM_ID = #00000002
          integer, parameter :: MIIM_SUBMENU = #00000004
          integer, parameter :: MIIM_CHECKMARKS = #00000008
          integer, parameter :: MIIM_TYPE = #00000010
          integer, parameter :: MIIM_DATA = #00000020
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MIIM_STRING = #00000040
          integer, parameter :: MIIM_BITMAP = #00000080
          integer, parameter :: MIIM_FTYPE = #00000100
          integer, parameter :: HBMMENU_CALLBACK = (  -1)
          integer, parameter :: HBMMENU_SYSTEM = (  1)
          integer, parameter :: HBMMENU_MBAR_RESTORE = (  2)
          integer, parameter :: HBMMENU_MBAR_MINIMIZE = (  3)
          integer, parameter :: HBMMENU_MBAR_CLOSE = (  5)
          integer, parameter :: HBMMENU_MBAR_CLOSE_D = (  6)
          integer, parameter :: HBMMENU_MBAR_MINIMIZE_D = (  7)
          integer, parameter :: HBMMENU_POPUP_CLOSE = (  8)
          integer, parameter :: HBMMENU_POPUP_RESTORE = (  9)
          integer, parameter :: HBMMENU_POPUP_MAXIMIZE = (  10)
          integer, parameter :: HBMMENU_POPUP_MINIMIZE = (  11)
    !DEC$ ENDIF
          integer, parameter :: GMDI_USEDISABLED = #0001
          integer, parameter :: GMDI_GOINTOPOPUPS = #0002
          integer, parameter :: TPM_LEFTBUTTON = #0000
          integer, parameter :: TPM_RIGHTBUTTON = #0002
          integer, parameter :: TPM_LEFTALIGN = #0000
          integer, parameter :: TPM_CENTERALIGN = #0004
          integer, parameter :: TPM_RIGHTALIGN = #0008
          integer, parameter :: TPM_TOPALIGN = #0000
          integer, parameter :: TPM_VCENTERALIGN = #0010
          integer, parameter :: TPM_BOTTOMALIGN = #0020
          integer, parameter :: TPM_HORIZONTAL = #0000
          integer, parameter :: TPM_VERTICAL = #0040
          integer, parameter :: TPM_NONOTIFY = #0080
          integer, parameter :: TPM_RETURNCMD = #0100
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: TPM_RECURSE = #0001
          integer, parameter :: TPM_HORPOSANIMATION = #0400
          integer, parameter :: TPM_HORNEGANIMATION = #0800
          integer, parameter :: TPM_VERPOSANIMATION = #1000
          integer, parameter :: TPM_VERNEGANIMATION = #2000
    !DEC$ ENDIF
          integer, parameter :: DOF_EXECUTABLE = #8001
          integer, parameter :: DOF_DOCUMENT = #8002
          integer, parameter :: DOF_DIRECTORY = #8003
          integer, parameter :: DOF_MULTIPLE = #8004
          integer, parameter :: DOF_PROGMAN = #0001
          integer, parameter :: DOF_SHELLDATA = #0002
          integer, parameter :: DO_DROPFILE = #454C4946
          integer, parameter :: DO_PRINTFILE = #544E5250
          integer, parameter :: DT_TOP = #00000000
          integer, parameter :: DT_LEFT = #00000000
          integer, parameter :: DT_CENTER = #00000001
          integer, parameter :: DT_RIGHT = #00000002
          integer, parameter :: DT_VCENTER = #00000004
          integer, parameter :: DT_BOTTOM = #00000008
          integer, parameter :: DT_WORDBREAK = #00000010
          integer, parameter :: DT_SINGLELINE = #00000020
          integer, parameter :: DT_EXPANDTABS = #00000040
          integer, parameter :: DT_TABSTOP = #00000080
          integer, parameter :: DT_NOCLIP = #00000100
          integer, parameter :: DT_EXTERNALLEADING = #00000200
          integer, parameter :: DT_CALCRECT = #00000400
          integer, parameter :: DT_NOPREFIX = #00000800
          integer, parameter :: DT_INTERNAL = #00001000
          integer, parameter :: DT_EDITCONTROL = #00002000
          integer, parameter :: DT_PATH_ELLIPSIS = #00004000
          integer, parameter :: DT_END_ELLIPSIS = #00008000
          integer, parameter :: DT_MODIFYSTRING = #00010000
          integer, parameter :: DT_RTLREADING = #00020000
          integer, parameter :: DT_WORD_ELLIPSIS = #00040000
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DT_NOFULLWIDTHCHARBREAK = #00080000
    !DEC$ ENDIF
          integer, parameter :: DST_COMPLEX = #0000
          integer, parameter :: DST_TEXT = #0001
          integer, parameter :: DST_PREFIXTEXT = #0002
          integer, parameter :: DST_ICON = #0003
          integer, parameter :: DST_BITMAP = #0004
          integer, parameter :: DSS_NORMAL = #0000
          integer, parameter :: DSS_UNION = #0010
          integer, parameter :: DSS_DISABLED = #0020
          integer, parameter :: DSS_MONO = #0080
          integer, parameter :: DSS_RIGHT = #8000
          integer, parameter :: DCX_WINDOW = #00000001
          integer, parameter :: DCX_CACHE = #00000002
          integer, parameter :: DCX_NORESETATTRS = #00000004
          integer, parameter :: DCX_CLIPCHILDREN = #00000008
          integer, parameter :: DCX_CLIPSIBLINGS = #00000010
          integer, parameter :: DCX_PARENTCLIP = #00000020
          integer, parameter :: DCX_EXCLUDERGN = #00000040
          integer, parameter :: DCX_INTERSECTRGN = #00000080
          integer, parameter :: DCX_EXCLUDEUPDATE = #00000100
          integer, parameter :: DCX_INTERSECTUPDATE = #00000200
          integer, parameter :: DCX_LOCKWINDOWUPDATE = #00000400
          integer, parameter :: DCX_VALIDATE = #00200000
          integer, parameter :: RDW_INVALIDATE = #0001
          integer, parameter :: RDW_INTERNALPAINT = #0002
          integer, parameter :: RDW_ERASE = #0004
          integer, parameter :: RDW_VALIDATE = #0008
          integer, parameter :: RDW_NOINTERNALPAINT = #0010
          integer, parameter :: RDW_NOERASE = #0020
          integer, parameter :: RDW_NOCHILDREN = #0040
          integer, parameter :: RDW_ALLCHILDREN = #0080
          integer, parameter :: RDW_UPDATENOW = #0100
          integer, parameter :: RDW_ERASENOW = #0200
          integer, parameter :: RDW_FRAME = #0400
          integer, parameter :: RDW_NOFRAME = #0800
          integer, parameter :: SW_SCROLLCHILDREN = #0001
          integer, parameter :: SW_INVALIDATE = #0002
          integer, parameter :: SW_ERASE = #0004
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SW_SMOOTHSCROLL = #0010
    !DEC$ ENDIF
          integer, parameter :: ESB_ENABLE_BOTH = #0000
          integer, parameter :: ESB_DISABLE_BOTH = #0003
          integer, parameter :: ESB_DISABLE_LEFT = #0001
          integer, parameter :: ESB_DISABLE_RIGHT = #0002
          integer, parameter :: ESB_DISABLE_UP = #0001
          integer, parameter :: ESB_DISABLE_DOWN = #0002
          integer, parameter :: HELPINFO_WINDOW = #0001
          integer, parameter :: HELPINFO_MENUITEM = #0002
          integer, parameter :: MB_OK = #00000000
          integer, parameter :: MB_OKCANCEL = #00000001
          integer, parameter :: MB_ABORTRETRYIGNORE = #00000002
          integer, parameter :: MB_YESNOCANCEL = #00000003
          integer, parameter :: MB_YESNO = #00000004
          integer, parameter :: MB_RETRYCANCEL = #00000005
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MB_CANCELTRYCONTINUE = #00000006
    !DEC$ ENDIF
          integer, parameter :: MB_ICONHAND = #00000010
          integer, parameter :: MB_ICONQUESTION = #00000020
          integer, parameter :: MB_ICONEXCLAMATION = #00000030
          integer, parameter :: MB_ICONASTERISK = #00000040
          integer, parameter :: MB_USERICON = #00000080
          integer, parameter :: MB_ICONINFORMATION    = MB_ICONASTERISK
          integer, parameter :: MB_ICONSTOP           = MB_ICONHAND
          integer, parameter :: MB_ICONERROR          = MB_ICONHAND
          integer, parameter :: MB_DEFBUTTON1 = #00000000
          integer, parameter :: MB_DEFBUTTON2 = #00000100
          integer, parameter :: MB_DEFBUTTON3 = #00000200
          integer, parameter :: MB_DEFBUTTON4 = #00000300
          integer, parameter :: MB_APPLMODAL = #00000000
          integer, parameter :: MB_SYSTEMMODAL = #00001000
          integer, parameter :: MB_TASKMODAL = #00002000
          integer, parameter :: MB_HELP = #00004000
          integer, parameter :: MB_NOFOCUS = #00008000
          integer, parameter :: MB_SETFOREGROUND = #00010000
          integer, parameter :: MB_DEFAULT_DESKTOP_ONLY = #00020000
          integer, parameter :: MB_TOPMOST = #00040000
          integer, parameter :: MB_RIGHT = #00080000
          integer, parameter :: MB_RTLREADING = #00100000
          integer, parameter :: MB_SERVICE_NOTIFICATION = #00200000
          integer, parameter :: MB_SERVICE_NOTIFICATION_NT3X = #00040000
          integer, parameter :: MB_TYPEMASK = #0000000F
          integer, parameter :: MB_ICONMASK = #000000F0
          integer, parameter :: MB_DEFMASK = #00000F00
          integer, parameter :: MB_MODEMASK = #00003000
          integer, parameter :: MB_MISCMASK = #0000C000
          integer, parameter :: CWP_ALL = #0000
          integer, parameter :: CWP_SKIPINVISIBLE = #0001
          integer, parameter :: CWP_SKIPDISABLED = #0002
          integer, parameter :: CWP_SKIPTRANSPARENT = #0004
          integer, parameter :: CTLCOLOR_MSGBOX = 0
          integer, parameter :: CTLCOLOR_EDIT = 1
          integer, parameter :: CTLCOLOR_LISTBOX = 2
          integer, parameter :: CTLCOLOR_BTN = 3
          integer, parameter :: CTLCOLOR_DLG = 4
          integer, parameter :: CTLCOLOR_SCROLLBAR = 5
          integer, parameter :: CTLCOLOR_STATIC = 6
          integer, parameter :: CTLCOLOR_MAX = 7
          integer, parameter :: COLOR_SCROLLBAR = 0
          integer, parameter :: COLOR_BACKGROUND = 1
          integer, parameter :: COLOR_ACTIVECAPTION = 2
          integer, parameter :: COLOR_INACTIVECAPTION = 3
          integer, parameter :: COLOR_MENU = 4
          integer, parameter :: COLOR_WINDOW = 5
          integer, parameter :: COLOR_WINDOWFRAME = 6
          integer, parameter :: COLOR_MENUTEXT = 7
          integer, parameter :: COLOR_WINDOWTEXT = 8
          integer, parameter :: COLOR_CAPTIONTEXT = 9
          integer, parameter :: COLOR_ACTIVEBORDER = 10
          integer, parameter :: COLOR_INACTIVEBORDER = 11
          integer, parameter :: COLOR_APPWORKSPACE = 12
          integer, parameter :: COLOR_HIGHLIGHT = 13
          integer, parameter :: COLOR_HIGHLIGHTTEXT = 14
          integer, parameter :: COLOR_BTNFACE = 15
          integer, parameter :: COLOR_BTNSHADOW = 16
          integer, parameter :: COLOR_GRAYTEXT = 17
          integer, parameter :: COLOR_BTNTEXT = 18
          integer, parameter :: COLOR_INACTIVECAPTIONTEXT = 19
          integer, parameter :: COLOR_BTNHIGHLIGHT = 20
          integer, parameter :: COLOR_3DDKSHADOW = 21
          integer, parameter :: COLOR_3DLIGHT = 22
          integer, parameter :: COLOR_INFOTEXT = 23
          integer, parameter :: COLOR_INFOBK = 24
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: COLOR_HOTLIGHT = 26
          integer, parameter :: COLOR_GRADIENTACTIVECAPTION = 27
          integer, parameter :: COLOR_GRADIENTINACTIVECAPTION = 28
    !DEC$ ENDIF
          integer, parameter :: GW_HWNDFIRST = 0
          integer, parameter :: GW_HWNDLAST = 1
          integer, parameter :: GW_HWNDNEXT = 2
          integer, parameter :: GW_HWNDPREV = 3
          integer, parameter :: GW_OWNER = 4
          integer, parameter :: GW_CHILD = 5
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: GW_ENABLEDPOPUP = 6
          integer, parameter :: GW_MAX = 6
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: GW_MAX = 5
    !DEC$ ENDIF
          integer, parameter :: MF_INSERT = #00000000
          integer, parameter :: MF_CHANGE = #00000080
          integer, parameter :: MF_APPEND = #00000100
          integer, parameter :: MF_DELETE = #00000200
          integer, parameter :: MF_REMOVE = #00001000
          integer, parameter :: MF_BYCOMMAND = #00000000
          integer, parameter :: MF_BYPOSITION = #00000400
          integer, parameter :: MF_SEPARATOR = #00000800
          integer, parameter :: MF_ENABLED = #00000000
          integer, parameter :: MF_GRAYED = #00000001
          integer, parameter :: MF_DISABLED = #00000002
          integer, parameter :: MF_UNCHECKED = #00000000
          integer, parameter :: MF_CHECKED = #00000008
          integer, parameter :: MF_USECHECKBITMAPS = #00000200
          integer, parameter :: MF_STRING = #00000000
          integer, parameter :: MF_BITMAP = #00000004
          integer, parameter :: MF_OWNERDRAW = #00000100
          integer, parameter :: MF_POPUP = #00000010
          integer, parameter :: MF_MENUBARBREAK = #00000020
          integer, parameter :: MF_MENUBREAK = #00000040
          integer, parameter :: MF_UNHILITE = #00000000
          integer, parameter :: MF_HILITE = #00000080
          integer, parameter :: MF_DEFAULT = #00001000
          integer, parameter :: MF_SYSMENU = #00002000
          integer, parameter :: MF_HELP = #00004000
          integer, parameter :: MF_RIGHTJUSTIFY = #00004000
          integer, parameter :: MF_MOUSESELECT = #00008000
          integer, parameter :: MFT_RADIOCHECK = #00000200
          integer, parameter :: MFT_RIGHTORDER = #00002000
          integer, parameter :: MFS_GRAYED = #00000003
          integer, parameter :: MF_END = #00000080
          integer, parameter :: SC_SIZE = #F000
          integer, parameter :: SC_MOVE = #F010
          integer, parameter :: SC_MINIMIZE = #F020
          integer, parameter :: SC_MAXIMIZE = #F030
          integer, parameter :: SC_NEXTWINDOW = #F040
          integer, parameter :: SC_PREVWINDOW = #F050
          integer, parameter :: SC_CLOSE = #F060
          integer, parameter :: SC_VSCROLL = #F070
          integer, parameter :: SC_HSCROLL = #F080
          integer, parameter :: SC_MOUSEMENU = #F090
          integer, parameter :: SC_KEYMENU = #F100
          integer, parameter :: SC_ARRANGE = #F110
          integer, parameter :: SC_RESTORE = #F120
          integer, parameter :: SC_TASKLIST = #F130
          integer, parameter :: SC_SCREENSAVE = #F140
          integer, parameter :: SC_HOTKEY = #F150
          integer, parameter :: SC_DEFAULT = #F160
          integer, parameter :: SC_MONITORPOWER = #F170
          integer, parameter :: SC_CONTEXTHELP = #F180
          integer, parameter :: SC_SEPARATOR = #F00F
          integer, parameter :: IDC_ARROW =  ( ( (32512)))
          integer, parameter :: IDC_IBEAM =  ( ( (32513)))
          integer, parameter :: IDC_WAIT =  ( ( (32514)))
          integer, parameter :: IDC_CROSS =  ( ( (32515)))
          integer, parameter :: IDC_UPARROW =  ( ( (32516)))
          integer, parameter :: IDC_SIZE =  ( ( (32640)))
          integer, parameter :: IDC_ICON =  ( ( (32641)))
          integer, parameter :: IDC_SIZENWSE =  ( ( (32642)))
          integer, parameter :: IDC_SIZENESW =  ( ( (32643)))
          integer, parameter :: IDC_SIZEWE =  ( ( (32644)))
          integer, parameter :: IDC_SIZENS =  ( ( (32645)))
          integer, parameter :: IDC_SIZEALL =  ( ( (32646)))
          integer, parameter :: IDC_NO =  ( ( (32648)))
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: IDC_HAND =  ( ( (32649)))
    !DEC$ ENDIF
          integer, parameter :: IDC_APPSTARTING =  ( ( (32650)))
          integer, parameter :: IDC_HELP =  ( ( (32651)))
          integer, parameter :: IMAGE_BITMAP = 0
          integer, parameter :: IMAGE_ICON = 1
          integer, parameter :: IMAGE_CURSOR = 2
          integer, parameter :: IMAGE_ENHMETAFILE = 3
          integer, parameter :: LR_DEFAULTCOLOR = #0000
          integer, parameter :: LR_MONOCHROME = #0001
          integer, parameter :: LR_COLOR = #0002
          integer, parameter :: LR_COPYRETURNORG = #0004
          integer, parameter :: LR_COPYDELETEORG = #0008
          integer, parameter :: LR_LOADFROMFILE = #0010
          integer, parameter :: LR_LOADTRANSPARENT = #0020
          integer, parameter :: LR_DEFAULTSIZE = #0040
          integer, parameter :: LR_VGACOLOR = #0080
          integer, parameter :: LR_LOADMAP3DCOLORS = #1000
          integer, parameter :: LR_CREATEDIBSECTION = #2000
          integer, parameter :: LR_COPYFROMRESOURCE = #4000
          integer, parameter :: LR_SHARED = #8000
          integer, parameter :: DI_MASK = #0001
          integer, parameter :: DI_IMAGE = #0002
          integer, parameter :: DI_NORMAL = #0003
          integer, parameter :: DI_COMPAT = #0004
          integer, parameter :: DI_DEFAULTSIZE = #0008
          integer, parameter :: RES_ICON = 1
          integer, parameter :: RES_CURSOR = 2
          integer, parameter :: ORD_LANGDRIVER = 1
          integer, parameter :: IDI_APPLICATION =  ( ( (32512)))
          integer, parameter :: IDI_HAND =  ( ( (32513)))
          integer, parameter :: IDI_QUESTION =  ( ( (32514)))
          integer, parameter :: IDI_EXCLAMATION =  ( ( (32515)))
          integer, parameter :: IDI_ASTERISK =  ( ( (32516)))
          integer, parameter :: IDI_WINLOGO =  ( ( (32517)))
          integer, parameter :: IDOK = 1
          integer, parameter :: IDCANCEL = 2
          integer, parameter :: IDABORT = 3
          integer, parameter :: IDRETRY = 4
          integer, parameter :: IDIGNORE = 5
          integer, parameter :: IDYES = 6
          integer, parameter :: IDNO = 7
          integer, parameter :: IDCLOSE = 8
          integer, parameter :: IDHELP = 9
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: IDTRYAGAIN = 10
          integer, parameter :: IDCONTINUE = 11
    !DEC$ ENDIF
          integer, parameter :: ES_LEFT = #0000
          integer, parameter :: ES_CENTER = #0001
          integer, parameter :: ES_RIGHT = #0002
          integer, parameter :: ES_MULTILINE = #0004
          integer, parameter :: ES_UPPERCASE = #0008
          integer, parameter :: ES_LOWERCASE = #0010
          integer, parameter :: ES_PASSWORD = #0020
          integer, parameter :: ES_AUTOVSCROLL = #0040
          integer, parameter :: ES_AUTOHSCROLL = #0080
          integer, parameter :: ES_NOHIDESEL = #0100
          integer, parameter :: ES_OEMCONVERT = #0400
          integer, parameter :: ES_READONLY = #0800
          integer, parameter :: ES_WANTRETURN = #1000
          integer, parameter :: ES_NUMBER = #2000
          integer, parameter :: EN_SETFOCUS = #0100
          integer, parameter :: EN_KILLFOCUS = #0200
          integer, parameter :: EN_CHANGE = #0300
          integer, parameter :: EN_UPDATE = #0400
          integer, parameter :: EN_ERRSPACE = #0500
          integer, parameter :: EN_MAXTEXT = #0501
          integer, parameter :: EN_HSCROLL = #0601
          integer, parameter :: EN_VSCROLL = #0602
          integer, parameter :: EC_LEFTMARGIN = #0001
          integer, parameter :: EC_RIGHTMARGIN = #0002
          integer, parameter :: EC_USEFONTINFO = #ffff
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: EMSIS_COMPOSITIONSTRING = #0001
          integer, parameter :: EIMES_GETCOMPSTRATONCE = #0001
          integer, parameter :: EIMES_CANCELCOMPSTRINFOCUS = #0002
          integer, parameter :: EIMES_COMPLETECOMPSTRKILLFOCUS = #0004
    !DEC$ ENDIF
          integer, parameter :: EM_GETSEL = #00B0
          integer, parameter :: EM_SETSEL = #00B1
          integer, parameter :: EM_GETRECT = #00B2
          integer, parameter :: EM_SETRECT = #00B3
          integer, parameter :: EM_SETRECTNP = #00B4
          integer, parameter :: EM_SCROLL = #00B5
          integer, parameter :: EM_LINESCROLL = #00B6
          integer, parameter :: EM_SCROLLCARET = #00B7
          integer, parameter :: EM_GETMODIFY = #00B8
          integer, parameter :: EM_SETMODIFY = #00B9
          integer, parameter :: EM_GETLINECOUNT = #00BA
          integer, parameter :: EM_LINEINDEX = #00BB
          integer, parameter :: EM_SETHANDLE = #00BC
          integer, parameter :: EM_GETHANDLE = #00BD
          integer, parameter :: EM_GETTHUMB = #00BE
          integer, parameter :: EM_LINELENGTH = #00C1
          integer, parameter :: EM_REPLACESEL = #00C2
          integer, parameter :: EM_GETLINE = #00C4
          integer, parameter :: EM_LIMITTEXT = #00C5
          integer, parameter :: EM_CANUNDO = #00C6
          integer, parameter :: EM_UNDO = #00C7
          integer, parameter :: EM_FMTLINES = #00C8
          integer, parameter :: EM_LINEFROMCHAR = #00C9
          integer, parameter :: EM_SETTABSTOPS = #00CB
          integer, parameter :: EM_SETPASSWORDCHAR = #00CC
          integer, parameter :: EM_EMPTYUNDOBUFFER = #00CD
          integer, parameter :: EM_GETFIRSTVISIBLELINE = #00CE
          integer, parameter :: EM_SETREADONLY = #00CF
          integer, parameter :: EM_SETWORDBREAKPROC = #00D0
          integer, parameter :: EM_GETWORDBREAKPROC = #00D1
          integer, parameter :: EM_GETPASSWORDCHAR = #00D2
          integer, parameter :: EM_SETMARGINS = #00D3
          integer, parameter :: EM_GETMARGINS = #00D4
          integer, parameter :: EM_GETLIMITTEXT = #00D5
          integer, parameter :: EM_POSFROMCHAR = #00D6
          integer, parameter :: EM_CHARFROMPOS = #00D7
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: EM_SETIMESTATUS = #00D8
          integer, parameter :: EM_GETIMESTATUS = #00D9
    !DEC$ ENDIF
          integer, parameter :: WB_LEFT = 0
          integer, parameter :: WB_RIGHT = 1
          integer, parameter :: WB_ISDELIMITER = 2
          integer, parameter :: BS_PUSHBUTTON = #00000000
          integer, parameter :: BS_DEFPUSHBUTTON = #00000001
          integer, parameter :: BS_CHECKBOX = #00000002
          integer, parameter :: BS_AUTOCHECKBOX = #00000003
          integer, parameter :: BS_RADIOBUTTON = #00000004
          integer, parameter :: BS_3STATE = #00000005
          integer, parameter :: BS_AUTO3STATE = #00000006
          integer, parameter :: BS_GROUPBOX = #00000007
          integer, parameter :: BS_USERBUTTON = #00000008
          integer, parameter :: BS_AUTORADIOBUTTON = #00000009
          integer, parameter :: BS_OWNERDRAW = #0000000B
          integer, parameter :: BS_LEFTTEXT = #00000020
          integer, parameter :: BS_TEXT = #00000000
          integer, parameter :: BS_ICON = #00000040
          integer, parameter :: BS_BITMAP = #00000080
          integer, parameter :: BS_LEFT = #00000100
          integer, parameter :: BS_RIGHT = #00000200
          integer, parameter :: BS_CENTER = #00000300
          integer, parameter :: BS_TOP = #00000400
          integer, parameter :: BS_BOTTOM = #00000800
          integer, parameter :: BS_VCENTER = #00000C00
          integer, parameter :: BS_PUSHLIKE = #00001000
          integer, parameter :: BS_MULTILINE = #00002000
          integer, parameter :: BS_NOTIFY = #00004000
          integer, parameter :: BS_FLAT = #00008000
          integer, parameter :: BN_CLICKED = 0
          integer, parameter :: BN_PAINT = 1
          integer, parameter :: BN_HILITE = 2
          integer, parameter :: BN_UNHILITE = 3
          integer, parameter :: BN_DISABLE = 4
          integer, parameter :: BN_DOUBLECLICKED = 5
          integer, parameter :: BN_SETFOCUS = 6
          integer, parameter :: BN_KILLFOCUS = 7
          integer, parameter :: BM_GETCHECK = #00F0
          integer, parameter :: BM_SETCHECK = #00F1
          integer, parameter :: BM_GETSTATE = #00F2
          integer, parameter :: BM_SETSTATE = #00F3
          integer, parameter :: BM_SETSTYLE = #00F4
          integer, parameter :: BM_CLICK = #00F5
          integer, parameter :: BM_GETIMAGE = #00F6
          integer, parameter :: BM_SETIMAGE = #00F7
          integer, parameter :: BST_UNCHECKED = #0000
          integer, parameter :: BST_CHECKED = #0001
          integer, parameter :: BST_INDETERMINATE = #0002
          integer, parameter :: BST_PUSHED = #0004
          integer, parameter :: BST_FOCUS = #0008
          integer, parameter :: SS_LEFT = #00000000
          integer, parameter :: SS_CENTER = #00000001
          integer, parameter :: SS_RIGHT = #00000002
          integer, parameter :: SS_ICON = #00000003
          integer, parameter :: SS_BLACKRECT = #00000004
          integer, parameter :: SS_GRAYRECT = #00000005
          integer, parameter :: SS_WHITERECT = #00000006
          integer, parameter :: SS_BLACKFRAME = #00000007
          integer, parameter :: SS_GRAYFRAME = #00000008
          integer, parameter :: SS_WHITEFRAME = #00000009
          integer, parameter :: SS_USERITEM = #0000000A
          integer, parameter :: SS_SIMPLE = #0000000B
          integer, parameter :: SS_LEFTNOWORDWRAP = #0000000C
          integer, parameter :: SS_OWNERDRAW = #0000000D
          integer, parameter :: SS_BITMAP = #0000000E
          integer, parameter :: SS_ENHMETAFILE = #0000000F
          integer, parameter :: SS_ETCHEDHORZ = #00000010
          integer, parameter :: SS_ETCHEDVERT = #00000011
          integer, parameter :: SS_ETCHEDFRAME = #00000012
          integer, parameter :: SS_TYPEMASK = #0000001F
          integer, parameter :: SS_NOPREFIX = #00000080
          integer, parameter :: SS_NOTIFY = #00000100
          integer, parameter :: SS_CENTERIMAGE = #00000200
          integer, parameter :: SS_RIGHTJUST = #00000400
          integer, parameter :: SS_REALSIZEIMAGE = #00000800
          integer, parameter :: SS_SUNKEN = #00001000
          integer, parameter :: SS_ENDELLIPSIS = #00004000
          integer, parameter :: SS_PATHELLIPSIS = #00008000
          integer, parameter :: SS_WORDELLIPSIS = #0000C000
          integer, parameter :: SS_ELLIPSISMASK = #0000C000
          integer, parameter :: STM_SETICON = #0170
          integer, parameter :: STM_GETICON = #0171
          integer, parameter :: STM_SETIMAGE = #0172
          integer, parameter :: STM_GETIMAGE = #0173
          integer, parameter :: STN_CLICKED = 0
          integer, parameter :: STN_DBLCLK = 1
          integer, parameter :: STN_ENABLE = 2
          integer, parameter :: STN_DISABLE = 3
          integer, parameter :: STM_MSGMAX = #0174
          integer, parameter :: WC_DIALOG = ( ( ( (#8002))))
          integer, parameter :: DWL_MSGRESULT = 0
          integer, parameter :: DWL_DLGPROC = 4
          integer, parameter :: DWL_USER = 8
          integer, parameter :: DWLP_MSGRESULT = 0
    !DEC$ IF DEFINED( _M_IA64)
    ! 36727 FORTRAN integer, parameter :: DWLP_DLGPROC = 0 + sizeof(LRESULT)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 36214 FORTRAN integer, parameter :: DWLP_DLGPROC = 0 + sizeof(LRESULT)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 36728 FORTRAN integer, parameter :: DWLP_USER = 0 + sizeof(LRESULT) + sizeof(DLGPROC)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 36215 FORTRAN integer, parameter :: DWLP_USER = 0 + sizeof(LRESULT) + sizeof(DLGPROC)
    !DEC$ ENDIF
          integer, parameter :: DDL_READWRITE = #0000
          integer, parameter :: DDL_READONLY = #0001
          integer, parameter :: DDL_HIDDEN = #0002
          integer, parameter :: DDL_SYSTEM = #0004
          integer, parameter :: DDL_DIRECTORY = #0010
          integer, parameter :: DDL_ARCHIVE = #0020
          integer, parameter :: DDL_POSTMSGS = #2000
          integer, parameter :: DDL_DRIVES = #4000
          integer, parameter :: DDL_EXCLUSIVE = #8000
          integer, parameter :: DS_ABSALIGN = #01
          integer, parameter :: DS_SYSMODAL = #02
          integer, parameter :: DS_LOCALEDIT = #20
          integer, parameter :: DS_SETFONT = #40
          integer, parameter :: DS_MODALFRAME = #80
          integer, parameter :: DS_NOIDLEMSG = #100
          integer, parameter :: DS_SETFOREGROUND = #200
          integer, parameter :: DS_3DLOOK = #0004
          integer, parameter :: DS_FIXEDSYS = #0008
          integer, parameter :: DS_NOFAILCREATE = #0010
          integer, parameter :: DS_CONTROL = #0400
          integer, parameter :: DS_CENTER = #0800
          integer, parameter :: DS_CENTERMOUSE = #1000
          integer, parameter :: DS_CONTEXTHELP = #2000
          integer, parameter :: DS_SHELLFONT = (#40 .OR. #0008)
          integer, parameter :: DM_GETDEFID = (#0400+0)
          integer, parameter :: DM_SETDEFID = (#0400+1)
          integer, parameter :: DM_REPOSITION = (#0400+2)
          integer, parameter :: DC_HASDEFID = #534B
          integer, parameter :: DLGC_WANTARROWS = #0001
          integer, parameter :: DLGC_WANTTAB = #0002
          integer, parameter :: DLGC_WANTALLKEYS = #0004
          integer, parameter :: DLGC_WANTMESSAGE = #0004
          integer, parameter :: DLGC_HASSETSEL = #0008
          integer, parameter :: DLGC_DEFPUSHBUTTON = #0010
          integer, parameter :: DLGC_UNDEFPUSHBUTTON = #0020
          integer, parameter :: DLGC_RADIOBUTTON = #0040
          integer, parameter :: DLGC_WANTCHARS = #0080
          integer, parameter :: DLGC_STATIC = #0100
          integer, parameter :: DLGC_BUTTON = #2000
          integer, parameter :: LB_OKAY = 0
          integer, parameter :: LB_ERR = (-1)
          integer, parameter :: LB_ERRSPACE = (-2)
          integer, parameter :: LBN_ERRSPACE = (-2)
          integer, parameter :: LBN_SELCHANGE = 1
          integer, parameter :: LBN_DBLCLK = 2
          integer, parameter :: LBN_SELCANCEL = 3
          integer, parameter :: LBN_SETFOCUS = 4
          integer, parameter :: LBN_KILLFOCUS = 5
          integer, parameter :: LB_ADDSTRING = #0180
          integer, parameter :: LB_INSERTSTRING = #0181
          integer, parameter :: LB_DELETESTRING = #0182
          integer, parameter :: LB_SELITEMRANGEEX = #0183
          integer, parameter :: LB_RESETCONTENT = #0184
          integer, parameter :: LB_SETSEL = #0185
          integer, parameter :: LB_SETCURSEL = #0186
          integer, parameter :: LB_GETSEL = #0187
          integer, parameter :: LB_GETCURSEL = #0188
          integer, parameter :: LB_GETTEXT = #0189
          integer, parameter :: LB_GETTEXTLEN = #018A
          integer, parameter :: LB_GETCOUNT = #018B
          integer, parameter :: LB_SELECTSTRING = #018C
          integer, parameter :: LB_DIR = #018D
          integer, parameter :: LB_GETTOPINDEX = #018E
          integer, parameter :: LB_FINDSTRING = #018F
          integer, parameter :: LB_GETSELCOUNT = #0190
          integer, parameter :: LB_GETSELITEMS = #0191
          integer, parameter :: LB_SETTABSTOPS = #0192
          integer, parameter :: LB_GETHORIZONTALEXTENT = #0193
          integer, parameter :: LB_SETHORIZONTALEXTENT = #0194
          integer, parameter :: LB_SETCOLUMNWIDTH = #0195
          integer, parameter :: LB_ADDFILE = #0196
          integer, parameter :: LB_SETTOPINDEX = #0197
          integer, parameter :: LB_GETITEMRECT = #0198
          integer, parameter :: LB_GETITEMDATA = #0199
          integer, parameter :: LB_SETITEMDATA = #019A
          integer, parameter :: LB_SELITEMRANGE = #019B
          integer, parameter :: LB_SETANCHORINDEX = #019C
          integer, parameter :: LB_GETANCHORINDEX = #019D
          integer, parameter :: LB_SETCARETINDEX = #019E
          integer, parameter :: LB_GETCARETINDEX = #019F
          integer, parameter :: LB_SETITEMHEIGHT = #01A0
          integer, parameter :: LB_GETITEMHEIGHT = #01A1
          integer, parameter :: LB_FINDSTRINGEXACT = #01A2
          integer, parameter :: LB_SETLOCALE = #01A5
          integer, parameter :: LB_GETLOCALE = #01A6
          integer, parameter :: LB_SETCOUNT = #01A7
          integer, parameter :: LB_INITSTORAGE = #01A8
          integer, parameter :: LB_ITEMFROMPOINT = #01A9
          integer, parameter :: LB_MSGMAX = #01B0
          integer, parameter :: LBS_NOTIFY = #0001
          integer, parameter :: LBS_SORT = #0002
          integer, parameter :: LBS_NOREDRAW = #0004
          integer, parameter :: LBS_MULTIPLESEL = #0008
          integer, parameter :: LBS_OWNERDRAWFIXED = #0010
          integer, parameter :: LBS_OWNERDRAWVARIABLE = #0020
          integer, parameter :: LBS_HASSTRINGS = #0040
          integer, parameter :: LBS_USETABSTOPS = #0080
          integer, parameter :: LBS_NOINTEGRALHEIGHT = #0100
          integer, parameter :: LBS_MULTICOLUMN = #0200
          integer, parameter :: LBS_WANTKEYBOARDINPUT = #0400
          integer, parameter :: LBS_EXTENDEDSEL = #0800
          integer, parameter :: LBS_DISABLENOSCROLL = #1000
          integer, parameter :: LBS_NODATA = #2000
          integer, parameter :: LBS_NOSEL = #4000
          integer, parameter :: LBS_STANDARD = (#0001 .OR. #0002 .OR. #00200000 .OR. #00800000)
          integer, parameter :: CB_OKAY = 0
          integer, parameter :: CB_ERR = (-1)
          integer, parameter :: CB_ERRSPACE = (-2)
          integer, parameter :: CBN_ERRSPACE = (-1)
          integer, parameter :: CBN_SELCHANGE = 1
          integer, parameter :: CBN_DBLCLK = 2
          integer, parameter :: CBN_SETFOCUS = 3
          integer, parameter :: CBN_KILLFOCUS = 4
          integer, parameter :: CBN_EDITCHANGE = 5
          integer, parameter :: CBN_EDITUPDATE = 6
          integer, parameter :: CBN_DROPDOWN = 7
          integer, parameter :: CBN_CLOSEUP = 8
          integer, parameter :: CBN_SELENDOK = 9
          integer, parameter :: CBN_SELENDCANCEL = 10
          integer, parameter :: CBS_SIMPLE = #0001
          integer, parameter :: CBS_DROPDOWN = #0002
          integer, parameter :: CBS_DROPDOWNLIST = #0003
          integer, parameter :: CBS_OWNERDRAWFIXED = #0010
          integer, parameter :: CBS_OWNERDRAWVARIABLE = #0020
          integer, parameter :: CBS_AUTOHSCROLL = #0040
          integer, parameter :: CBS_OEMCONVERT = #0080
          integer, parameter :: CBS_SORT = #0100
          integer, parameter :: CBS_HASSTRINGS = #0200
          integer, parameter :: CBS_NOINTEGRALHEIGHT = #0400
          integer, parameter :: CBS_DISABLENOSCROLL = #0800
          integer, parameter :: CBS_UPPERCASE = #2000
          integer, parameter :: CBS_LOWERCASE = #4000
          integer, parameter :: CB_GETEDITSEL = #0140
          integer, parameter :: CB_LIMITTEXT = #0141
          integer, parameter :: CB_SETEDITSEL = #0142
          integer, parameter :: CB_ADDSTRING = #0143
          integer, parameter :: CB_DELETESTRING = #0144
          integer, parameter :: CB_DIR = #0145
          integer, parameter :: CB_GETCOUNT = #0146
          integer, parameter :: CB_GETCURSEL = #0147
          integer, parameter :: CB_GETLBTEXT = #0148
          integer, parameter :: CB_GETLBTEXTLEN = #0149
          integer, parameter :: CB_INSERTSTRING = #014A
          integer, parameter :: CB_RESETCONTENT = #014B
          integer, parameter :: CB_FINDSTRING = #014C
          integer, parameter :: CB_SELECTSTRING = #014D
          integer, parameter :: CB_SETCURSEL = #014E
          integer, parameter :: CB_SHOWDROPDOWN = #014F
          integer, parameter :: CB_GETITEMDATA = #0150
          integer, parameter :: CB_SETITEMDATA = #0151
          integer, parameter :: CB_GETDROPPEDCONTROLRECT = #0152
          integer, parameter :: CB_SETITEMHEIGHT = #0153
          integer, parameter :: CB_GETITEMHEIGHT = #0154
          integer, parameter :: CB_SETEXTENDEDUI = #0155
          integer, parameter :: CB_GETEXTENDEDUI = #0156
          integer, parameter :: CB_GETDROPPEDSTATE = #0157
          integer, parameter :: CB_FINDSTRINGEXACT = #0158
          integer, parameter :: CB_SETLOCALE = #0159
          integer, parameter :: CB_GETLOCALE = #015A
          integer, parameter :: CB_GETTOPINDEX = #015b
          integer, parameter :: CB_SETTOPINDEX = #015c
          integer, parameter :: CB_GETHORIZONTALEXTENT = #015d
          integer, parameter :: CB_SETHORIZONTALEXTENT = #015e
          integer, parameter :: CB_GETDROPPEDWIDTH = #015f
          integer, parameter :: CB_SETDROPPEDWIDTH = #0160
          integer, parameter :: CB_INITSTORAGE = #0161
          integer, parameter :: CB_MSGMAX = #0162
          integer, parameter :: SBS_HORZ = #0000
          integer, parameter :: SBS_VERT = #0001
          integer, parameter :: SBS_TOPALIGN = #0002
          integer, parameter :: SBS_LEFTALIGN = #0002
          integer, parameter :: SBS_BOTTOMALIGN = #0004
          integer, parameter :: SBS_RIGHTALIGN = #0004
          integer, parameter :: SBS_SIZEBOXTOPLEFTALIGN = #0002
          integer, parameter :: SBS_SIZEBOXBOTTOMRIGHTALIGN = #0004
          integer, parameter :: SBS_SIZEBOX = #0008
          integer, parameter :: SBS_SIZEGRIP = #0010
          integer, parameter :: SBM_SETPOS = #00E0
          integer, parameter :: SBM_GETPOS = #00E1
          integer, parameter :: SBM_SETRANGE = #00E2
          integer, parameter :: SBM_SETRANGEREDRAW = #00E6
          integer, parameter :: SBM_GETRANGE = #00E3
          integer, parameter :: SBM_ENABLE_ARROWS = #00E4
          integer, parameter :: SBM_SETSCROLLINFO = #00E9
          integer, parameter :: SBM_GETSCROLLINFO = #00EA
          integer, parameter :: SIF_RANGE = #0001
          integer, parameter :: SIF_PAGE = #0002
          integer, parameter :: SIF_POS = #0004
          integer, parameter :: SIF_DISABLENOSCROLL = #0008
          integer, parameter :: SIF_TRACKPOS = #0010
          integer, parameter :: SIF_ALL = (#0001 .OR. #0002 .OR. #0004 .OR. #0010)
          integer, parameter :: MDIS_ALLCHILDSTYLES = #0001
          integer, parameter :: MDITILE_VERTICAL = #0000
          integer, parameter :: MDITILE_HORIZONTAL = #0001
          integer, parameter :: MDITILE_SKIPDISABLED = #0002
          integer, parameter :: HELP_CONTEXT = #0001
          integer, parameter :: HELP_QUIT = #0002
          integer, parameter :: HELP_INDEX = #0003
          integer, parameter :: HELP_CONTENTS = #0003
          integer, parameter :: HELP_HELPONHELP = #0004
          integer, parameter :: HELP_SETINDEX = #0005
          integer, parameter :: HELP_SETCONTENTS = #0005
          integer, parameter :: HELP_CONTEXTPOPUP = #0008
          integer, parameter :: HELP_FORCEFILE = #0009
          integer, parameter :: HELP_KEY = #0101
          integer, parameter :: HELP_COMMAND = #0102
          integer, parameter :: HELP_PARTIALKEY = #0105
          integer, parameter :: HELP_MULTIKEY = #0201
          integer, parameter :: HELP_SETWINPOS = #0203
          integer, parameter :: HELP_CONTEXTMENU = #000a
          integer, parameter :: HELP_FINDER = #000b
          integer, parameter :: HELP_WM_HELP = #000c
          integer, parameter :: HELP_SETPOPUP_POS = #000d
          integer, parameter :: HELP_TCARD = #8000
          integer, parameter :: HELP_TCARD_DATA = #0010
          integer, parameter :: HELP_TCARD_OTHER_CALLER = #0011
          integer, parameter :: IDH_NO_HELP = 28440
          integer, parameter :: IDH_MISSING_CONTEXT = 28441
          integer, parameter :: IDH_GENERIC_HELP_BUTTON = 28442
          integer, parameter :: IDH_OK = 28443
          integer, parameter :: IDH_CANCEL = 28444
          integer, parameter :: IDH_HELP = 28445
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: GR_GDIOBJECTS = 0
          integer, parameter :: GR_USEROBJECTS = 1
    !DEC$ ENDIF
          integer, parameter :: SPI_GETBEEP = 1
          integer, parameter :: SPI_SETBEEP = 2
          integer, parameter :: SPI_GETMOUSE = 3
          integer, parameter :: SPI_SETMOUSE = 4
          integer, parameter :: SPI_GETBORDER = 5
          integer, parameter :: SPI_SETBORDER = 6
          integer, parameter :: SPI_GETKEYBOARDSPEED = 10
          integer, parameter :: SPI_SETKEYBOARDSPEED = 11
          integer, parameter :: SPI_LANGDRIVER = 12
          integer, parameter :: SPI_ICONHORIZONTALSPACING = 13
          integer, parameter :: SPI_GETSCREENSAVETIMEOUT = 14
          integer, parameter :: SPI_SETSCREENSAVETIMEOUT = 15
          integer, parameter :: SPI_GETSCREENSAVEACTIVE = 16
          integer, parameter :: SPI_SETSCREENSAVEACTIVE = 17
          integer, parameter :: SPI_GETGRIDGRANULARITY = 18
          integer, parameter :: SPI_SETGRIDGRANULARITY = 19
          integer, parameter :: SPI_SETDESKWALLPAPER = 20
          integer, parameter :: SPI_SETDESKPATTERN = 21
          integer, parameter :: SPI_GETKEYBOARDDELAY = 22
          integer, parameter :: SPI_SETKEYBOARDDELAY = 23
          integer, parameter :: SPI_ICONVERTICALSPACING = 24
          integer, parameter :: SPI_GETICONTITLEWRAP = 25
          integer, parameter :: SPI_SETICONTITLEWRAP = 26
          integer, parameter :: SPI_GETMENUDROPALIGNMENT = 27
          integer, parameter :: SPI_SETMENUDROPALIGNMENT = 28
          integer, parameter :: SPI_SETDOUBLECLKWIDTH = 29
          integer, parameter :: SPI_SETDOUBLECLKHEIGHT = 30
          integer, parameter :: SPI_GETICONTITLELOGFONT = 31
          integer, parameter :: SPI_SETDOUBLECLICKTIME = 32
          integer, parameter :: SPI_SETMOUSEBUTTONSWAP = 33
          integer, parameter :: SPI_SETICONTITLELOGFONT = 34
          integer, parameter :: SPI_GETFASTTASKSWITCH = 35
          integer, parameter :: SPI_SETFASTTASKSWITCH = 36
          integer, parameter :: SPI_SETDRAGFULLWINDOWS = 37
          integer, parameter :: SPI_GETDRAGFULLWINDOWS = 38
          integer, parameter :: SPI_GETNONCLIENTMETRICS = 41
          integer, parameter :: SPI_SETNONCLIENTMETRICS = 42
          integer, parameter :: SPI_GETMINIMIZEDMETRICS = 43
          integer, parameter :: SPI_SETMINIMIZEDMETRICS = 44
          integer, parameter :: SPI_GETICONMETRICS = 45
          integer, parameter :: SPI_SETICONMETRICS = 46
          integer, parameter :: SPI_SETWORKAREA = 47
          integer, parameter :: SPI_GETWORKAREA = 48
          integer, parameter :: SPI_SETPENWINDOWS = 49
          integer, parameter :: SPI_GETHIGHCONTRAST = 66
          integer, parameter :: SPI_SETHIGHCONTRAST = 67
          integer, parameter :: SPI_GETKEYBOARDPREF = 68
          integer, parameter :: SPI_SETKEYBOARDPREF = 69
          integer, parameter :: SPI_GETSCREENREADER = 70
          integer, parameter :: SPI_SETSCREENREADER = 71
          integer, parameter :: SPI_GETANIMATION = 72
          integer, parameter :: SPI_SETANIMATION = 73
          integer, parameter :: SPI_GETFONTSMOOTHING = 74
          integer, parameter :: SPI_SETFONTSMOOTHING = 75
          integer, parameter :: SPI_SETDRAGWIDTH = 76
          integer, parameter :: SPI_SETDRAGHEIGHT = 77
          integer, parameter :: SPI_SETHANDHELD = 78
          integer, parameter :: SPI_GETLOWPOWERTIMEOUT = 79
          integer, parameter :: SPI_GETPOWEROFFTIMEOUT = 80
          integer, parameter :: SPI_SETLOWPOWERTIMEOUT = 81
          integer, parameter :: SPI_SETPOWEROFFTIMEOUT = 82
          integer, parameter :: SPI_GETLOWPOWERACTIVE = 83
          integer, parameter :: SPI_GETPOWEROFFACTIVE = 84
          integer, parameter :: SPI_SETLOWPOWERACTIVE = 85
          integer, parameter :: SPI_SETPOWEROFFACTIVE = 86
          integer, parameter :: SPI_SETCURSORS = 87
          integer, parameter :: SPI_SETICONS = 88
          integer, parameter :: SPI_GETDEFAULTINPUTLANG = 89
          integer, parameter :: SPI_SETDEFAULTINPUTLANG = 90
          integer, parameter :: SPI_SETLANGTOGGLE = 91
          integer, parameter :: SPI_GETWINDOWSEXTENSION = 92
          integer, parameter :: SPI_SETMOUSETRAILS = 93
          integer, parameter :: SPI_GETMOUSETRAILS = 94
          integer, parameter :: SPI_SETSCREENSAVERRUNNING = 97
          integer, parameter :: SPI_GETFILTERKEYS = 50
          integer, parameter :: SPI_SETFILTERKEYS = 51
          integer, parameter :: SPI_GETTOGGLEKEYS = 52
          integer, parameter :: SPI_SETTOGGLEKEYS = 53
          integer, parameter :: SPI_GETMOUSEKEYS = 54
          integer, parameter :: SPI_SETMOUSEKEYS = 55
          integer, parameter :: SPI_GETSHOWSOUNDS = 56
          integer, parameter :: SPI_SETSHOWSOUNDS = 57
          integer, parameter :: SPI_GETSTICKYKEYS = 58
          integer, parameter :: SPI_SETSTICKYKEYS = 59
          integer, parameter :: SPI_GETACCESSTIMEOUT = 60
          integer, parameter :: SPI_SETACCESSTIMEOUT = 61
          integer, parameter :: SPI_GETSERIALKEYS = 62
          integer, parameter :: SPI_SETSERIALKEYS = 63
          integer, parameter :: SPI_GETSOUNDSENTRY = 64
          integer, parameter :: SPI_SETSOUNDSENTRY = 65
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: SPI_GETMOUSESPEED = 112
          integer, parameter :: SPI_SETMOUSESPEED = 113
          integer, parameter :: SPI_GETSCREENSAVERRUNNING = 114
          integer, parameter :: SPI_GETDESKWALLPAPER = 115
          integer, parameter :: SPI_GETACTIVEWINDOWTRACKING = #1000
          integer, parameter :: SPI_SETACTIVEWINDOWTRACKING = #1001
          integer, parameter :: SPI_GETMENUANIMATION = #1002
          integer, parameter :: SPI_SETMENUANIMATION = #1003
          integer, parameter :: SPI_GETCOMBOBOXANIMATION = #1004
          integer, parameter :: SPI_SETCOMBOBOXANIMATION = #1005
          integer, parameter :: SPI_GETLISTBOXSMOOTHSCROLLING = #1006
          integer, parameter :: SPI_SETLISTBOXSMOOTHSCROLLING = #1007
          integer, parameter :: SPI_GETGRADIENTCAPTIONS = #1008
          integer, parameter :: SPI_SETGRADIENTCAPTIONS = #1009
          integer, parameter :: SPI_GETKEYBOARDCUES = #100A
          integer, parameter :: SPI_SETKEYBOARDCUES = #100B
          integer, parameter :: SPI_GETACTIVEWNDTRKZORDER = #100C
          integer, parameter :: SPI_SETACTIVEWNDTRKZORDER = #100D
          integer, parameter :: SPI_GETHOTTRACKING = #100E
          integer, parameter :: SPI_SETHOTTRACKING = #100F
          integer, parameter :: SPI_GETMENUFADE = #1012
          integer, parameter :: SPI_SETMENUFADE = #1013
          integer, parameter :: SPI_GETSELECTIONFADE = #1014
          integer, parameter :: SPI_SETSELECTIONFADE = #1015
          integer, parameter :: SPI_GETTOOLTIPANIMATION = #1016
          integer, parameter :: SPI_SETTOOLTIPANIMATION = #1017
          integer, parameter :: SPI_GETTOOLTIPFADE = #1018
          integer, parameter :: SPI_SETTOOLTIPFADE = #1019
          integer, parameter :: SPI_GETCURSORSHADOW = #101A
          integer, parameter :: SPI_SETCURSORSHADOW = #101B
          integer, parameter :: SPI_GETMOUSESONAR = #101C
          integer, parameter :: SPI_SETMOUSESONAR = #101D
          integer, parameter :: SPI_GETMOUSECLICKLOCK = #101E
          integer, parameter :: SPI_SETMOUSECLICKLOCK = #101F
          integer, parameter :: SPI_GETUIEFFECTS = #103E
          integer, parameter :: SPI_SETUIEFFECTS = #103F
          integer, parameter :: SPI_GETFOREGROUNDLOCKTIMEOUT = #2000
          integer, parameter :: SPI_SETFOREGROUNDLOCKTIMEOUT = #2001
          integer, parameter :: SPI_GETACTIVEWNDTRKTIMEOUT = #2002
          integer, parameter :: SPI_SETACTIVEWNDTRKTIMEOUT = #2003
          integer, parameter :: SPI_GETFOREGROUNDFLASHCOUNT = #2004
          integer, parameter :: SPI_SETFOREGROUNDFLASHCOUNT = #2005
          integer, parameter :: SPI_GETCARETWIDTH = #2006
          integer, parameter :: SPI_SETCARETWIDTH = #2007
          integer, parameter :: SPI_GETMOUSECLICKLOCKTIME = #2008
          integer, parameter :: SPI_SETMOUSECLICKLOCKTIME = #2009
    !DEC$ ENDIF
          integer, parameter :: SPI_GETSNAPTODEFBUTTON = 95
          integer, parameter :: SPI_SETSNAPTODEFBUTTON = 96
          integer, parameter :: SPI_GETMOUSEHOVERWIDTH = 98
          integer, parameter :: SPI_SETMOUSEHOVERWIDTH = 99
          integer, parameter :: SPI_GETMOUSEHOVERHEIGHT = 100
          integer, parameter :: SPI_SETMOUSEHOVERHEIGHT = 101
          integer, parameter :: SPI_GETMOUSEHOVERTIME = 102
          integer, parameter :: SPI_SETMOUSEHOVERTIME = 103
          integer, parameter :: SPI_GETWHEELSCROLLLINES = 104
          integer, parameter :: SPI_SETWHEELSCROLLLINES = 105
          integer, parameter :: SPI_GETMENUSHOWDELAY = 106
          integer, parameter :: SPI_SETMENUSHOWDELAY = 107
          integer, parameter :: SPI_GETSHOWIMEUI = 110
          integer, parameter :: SPI_SETSHOWIMEUI = 111
          integer, parameter :: SPIF_UPDATEINIFILE = #0001
          integer, parameter :: SPIF_SENDWININICHANGE = #0002
          integer, parameter :: METRICS_USEDEFAULT = -1
          integer, parameter :: ARW_BOTTOMLEFT = #0000
          integer, parameter :: ARW_BOTTOMRIGHT = #0001
          integer, parameter :: ARW_TOPLEFT = #0002
          integer, parameter :: ARW_TOPRIGHT = #0003
          integer, parameter :: ARW_STARTMASK = #0003
          integer, parameter :: ARW_STARTRIGHT = #0001
          integer, parameter :: ARW_STARTTOP = #0002
          integer, parameter :: ARW_LEFT = #0000
          integer, parameter :: ARW_RIGHT = #0000
          integer, parameter :: ARW_UP = #0004
          integer, parameter :: ARW_DOWN = #0004
          integer, parameter :: ARW_HIDE = #0008
          integer, parameter :: SERKF_SERIALKEYSON = #00000001
          integer, parameter :: SERKF_AVAILABLE = #00000002
          integer, parameter :: SERKF_INDICATOR = #00000004
          integer, parameter :: HCF_HIGHCONTRASTON = #00000001
          integer, parameter :: HCF_AVAILABLE = #00000002
          integer, parameter :: HCF_HOTKEYACTIVE = #00000004
          integer, parameter :: HCF_CONFIRMHOTKEY = #00000008
          integer, parameter :: HCF_HOTKEYSOUND = #00000010
          integer, parameter :: HCF_INDICATOR = #00000020
          integer, parameter :: HCF_HOTKEYAVAILABLE = #00000040
          integer, parameter :: CDS_UPDATEREGISTRY = #00000001
          integer, parameter :: CDS_TEST = #00000002
          integer, parameter :: CDS_FULLSCREEN = #00000004
          integer, parameter :: CDS_GLOBAL = #00000008
          integer, parameter :: CDS_SET_PRIMARY = #00000010
          integer, parameter :: CDS_VIDEOPARAMETERS = #00000020
          integer, parameter :: CDS_RESET = #40000000
          integer, parameter :: CDS_NORESET = #10000000
          integer, parameter :: VP_COMMAND_GET = #0001
          integer, parameter :: VP_COMMAND_SET = #0002
          integer, parameter :: VP_FLAGS_TV_MODE = #0001
          integer, parameter :: VP_FLAGS_TV_STANDARD = #0002
          integer, parameter :: VP_FLAGS_FLICKER = #0004
          integer, parameter :: VP_FLAGS_OVERSCAN = #0008
          integer, parameter :: VP_FLAGS_MAX_UNSCALED = #0010
          integer, parameter :: VP_FLAGS_POSITION = #0020
          integer, parameter :: VP_FLAGS_BRIGHTNESS = #0040
          integer, parameter :: VP_FLAGS_CONTRAST = #0080
          integer, parameter :: VP_FLAGS_COPYPROTECT = #0100
          integer, parameter :: VP_MODE_WIN_GRAPHICS = #0001
          integer, parameter :: VP_MODE_TV_PLAYBACK = #0002
          integer, parameter :: VP_TV_STANDARD_NTSC_M = #0001
          integer, parameter :: VP_TV_STANDARD_NTSC_M_J = #0002
          integer, parameter :: VP_TV_STANDARD_PAL_B = #0004
          integer, parameter :: VP_TV_STANDARD_PAL_D = #0008
          integer, parameter :: VP_TV_STANDARD_PAL_H = #0010
          integer, parameter :: VP_TV_STANDARD_PAL_I = #0020
          integer, parameter :: VP_TV_STANDARD_PAL_M = #0040
          integer, parameter :: VP_TV_STANDARD_PAL_N = #0080
          integer, parameter :: VP_TV_STANDARD_SECAM_B = #0100
          integer, parameter :: VP_TV_STANDARD_SECAM_D = #0200
          integer, parameter :: VP_TV_STANDARD_SECAM_G = #0400
          integer, parameter :: VP_TV_STANDARD_SECAM_H = #0800
          integer, parameter :: VP_TV_STANDARD_SECAM_K = #1000
          integer, parameter :: VP_TV_STANDARD_SECAM_K1 = #2000
          integer, parameter :: VP_TV_STANDARD_SECAM_L = #4000
          integer, parameter :: VP_TV_STANDARD_WIN_VGA = #8000
          integer, parameter :: VP_TV_STANDARD_NTSC_433 = #00010000
          integer, parameter :: VP_TV_STANDARD_PAL_G = #00020000
          integer, parameter :: VP_TV_STANDARD_PAL_60 = #00040000
          integer, parameter :: VP_TV_STANDARD_SECAM_L1 = #00080000
          integer, parameter :: VP_CP_TYPE_APS_TRIGGER = #0001
          integer, parameter :: VP_CP_TYPE_MACROVISION = #0002
          integer, parameter :: VP_CP_CMD_ACTIVATE = #0001
          integer, parameter :: VP_CP_CMD_DEACTIVATE = #0002
          integer, parameter :: VP_CP_CMD_CHANGE = #0004
          integer, parameter :: DISP_CHANGE_SUCCESSFUL = 0
          integer, parameter :: DISP_CHANGE_RESTART = 1
          integer, parameter :: DISP_CHANGE_FAILED = -1
          integer, parameter :: DISP_CHANGE_BADMODE = -2
          integer, parameter :: DISP_CHANGE_NOTUPDATED = -3
          integer, parameter :: DISP_CHANGE_BADFLAGS = -4
          integer, parameter :: DISP_CHANGE_BADPARAM = -5
          integer, parameter :: ENUM_CURRENT_SETTINGS = ( -1)
          integer, parameter :: ENUM_REGISTRY_SETTINGS = ( -2)
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: EDS_RAWMODE = #00000002
    !DEC$ ENDIF
          integer, parameter :: FKF_FILTERKEYSON = #00000001
          integer, parameter :: FKF_AVAILABLE = #00000002
          integer, parameter :: FKF_HOTKEYACTIVE = #00000004
          integer, parameter :: FKF_CONFIRMHOTKEY = #00000008
          integer, parameter :: FKF_HOTKEYSOUND = #00000010
          integer, parameter :: FKF_INDICATOR = #00000020
          integer, parameter :: FKF_CLICKON = #00000040
          integer, parameter :: SKF_STICKYKEYSON = #00000001
          integer, parameter :: SKF_AVAILABLE = #00000002
          integer, parameter :: SKF_HOTKEYACTIVE = #00000004
          integer, parameter :: SKF_CONFIRMHOTKEY = #00000008
          integer, parameter :: SKF_HOTKEYSOUND = #00000010
          integer, parameter :: SKF_INDICATOR = #00000020
          integer, parameter :: SKF_AUDIBLEFEEDBACK = #00000040
          integer, parameter :: SKF_TRISTATE = #00000080
          integer, parameter :: SKF_TWOKEYSOFF = #00000100
          integer, parameter :: MKF_MOUSEKEYSON = #00000001
          integer, parameter :: MKF_AVAILABLE = #00000002
          integer, parameter :: MKF_HOTKEYACTIVE = #00000004
          integer, parameter :: MKF_CONFIRMHOTKEY = #00000008
          integer, parameter :: MKF_HOTKEYSOUND = #00000010
          integer, parameter :: MKF_INDICATOR = #00000020
          integer, parameter :: MKF_MODIFIERS = #00000040
          integer, parameter :: MKF_REPLACENUMBERS = #00000080
          integer, parameter :: ATF_TIMEOUTON = #00000001
          integer, parameter :: ATF_ONOFFFEEDBACK = #00000002
          integer, parameter :: SSGF_NONE = 0
          integer, parameter :: SSGF_DISPLAY = 3
          integer, parameter :: SSTF_NONE = 0
          integer, parameter :: SSTF_CHARS = 1
          integer, parameter :: SSTF_BORDER = 2
          integer, parameter :: SSTF_DISPLAY = 3
          integer, parameter :: SSWF_NONE = 0
          integer, parameter :: SSWF_TITLE = 1
          integer, parameter :: SSWF_WINDOW = 2
          integer, parameter :: SSWF_DISPLAY = 3
          integer, parameter :: SSWF_CUSTOM = 4
          integer, parameter :: SSF_SOUNDSENTRYON = #00000001
          integer, parameter :: SSF_AVAILABLE = #00000002
          integer, parameter :: SSF_INDICATOR = #00000004
          integer, parameter :: TKF_TOGGLEKEYSON = #00000001
          integer, parameter :: TKF_AVAILABLE = #00000002
          integer, parameter :: TKF_HOTKEYACTIVE = #00000004
          integer, parameter :: TKF_CONFIRMHOTKEY = #00000008
          integer, parameter :: TKF_HOTKEYSOUND = #00000010
          integer, parameter :: TKF_INDICATOR = #00000020
          integer, parameter :: SLE_ERROR = #00000001
          integer, parameter :: SLE_MINORERROR = #00000002
          integer, parameter :: SLE_WARNING = #00000003
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MONITOR_DEFAULTTONULL = #00000000
          integer, parameter :: MONITOR_DEFAULTTOPRIMARY = #00000001
          integer, parameter :: MONITOR_DEFAULTTONEAREST = #00000002
          integer, parameter :: MONITORINFOF_PRIMARY = #00000001
          integer, parameter :: WINEVENT_OUTOFCONTEXT = #0000
          integer, parameter :: WINEVENT_SKIPOWNTHREAD = #0001
          integer, parameter :: WINEVENT_SKIPOWNPROCESS = #0002
          integer, parameter :: WINEVENT_INCONTEXT = #0004
          integer, parameter :: CHILDID_SELF = 0
          integer, parameter :: INDEXID_OBJECT = 0
          integer, parameter :: INDEXID_CONTAINER = 0
          integer, parameter :: OBJID_WINDOW = #00000000
          integer, parameter :: OBJID_SYSMENU = #FFFFFFFF
          integer, parameter :: OBJID_TITLEBAR = #FFFFFFFE
          integer, parameter :: OBJID_MENU = #FFFFFFFD
          integer, parameter :: OBJID_CLIENT = #FFFFFFFC
          integer, parameter :: OBJID_VSCROLL = #FFFFFFFB
          integer, parameter :: OBJID_HSCROLL = #FFFFFFFA
          integer, parameter :: OBJID_SIZEGRIP = #FFFFFFF9
          integer, parameter :: OBJID_CARET = #FFFFFFF8
          integer, parameter :: OBJID_CURSOR = #FFFFFFF7
          integer, parameter :: OBJID_ALERT = #FFFFFFF6
          integer, parameter :: OBJID_SOUND = #FFFFFFF5
          integer, parameter :: OBJID_QUERYCLASSNAMEIDX = #FFFFFFF4
          integer, parameter :: OBJID_NATIVEOM = #FFFFFFF0
          integer, parameter :: EVENT_MIN = #00000001
          integer, parameter :: EVENT_MAX = #7FFFFFFF
          integer, parameter :: EVENT_SYSTEM_SOUND = #0001
          integer, parameter :: EVENT_SYSTEM_ALERT = #0002
          integer, parameter :: EVENT_SYSTEM_FOREGROUND = #0003
          integer, parameter :: EVENT_SYSTEM_MENUSTART = #0004
          integer, parameter :: EVENT_SYSTEM_MENUEND = #0005
          integer, parameter :: EVENT_SYSTEM_MENUPOPUPSTART = #0006
          integer, parameter :: EVENT_SYSTEM_MENUPOPUPEND = #0007
          integer, parameter :: EVENT_SYSTEM_CAPTURESTART = #0008
          integer, parameter :: EVENT_SYSTEM_CAPTUREEND = #0009
          integer, parameter :: EVENT_SYSTEM_MOVESIZESTART = #000A
          integer, parameter :: EVENT_SYSTEM_MOVESIZEEND = #000B
          integer, parameter :: EVENT_SYSTEM_CONTEXTHELPSTART = #000C
          integer, parameter :: EVENT_SYSTEM_CONTEXTHELPEND = #000D
          integer, parameter :: EVENT_SYSTEM_DRAGDROPSTART = #000E
          integer, parameter :: EVENT_SYSTEM_DRAGDROPEND = #000F
          integer, parameter :: EVENT_SYSTEM_DIALOGSTART = #0010
          integer, parameter :: EVENT_SYSTEM_DIALOGEND = #0011
          integer, parameter :: EVENT_SYSTEM_SCROLLINGSTART = #0012
          integer, parameter :: EVENT_SYSTEM_SCROLLINGEND = #0013
          integer, parameter :: EVENT_SYSTEM_SWITCHSTART = #0014
          integer, parameter :: EVENT_SYSTEM_SWITCHEND = #0015
          integer, parameter :: EVENT_SYSTEM_MINIMIZESTART = #0016
          integer, parameter :: EVENT_SYSTEM_MINIMIZEEND = #0017
          integer, parameter :: EVENT_OBJECT_CREATE = #8000
          integer, parameter :: EVENT_OBJECT_DESTROY = #8001
          integer, parameter :: EVENT_OBJECT_SHOW = #8002
          integer, parameter :: EVENT_OBJECT_HIDE = #8003
          integer, parameter :: EVENT_OBJECT_REORDER = #8004
          integer, parameter :: EVENT_OBJECT_FOCUS = #8005
          integer, parameter :: EVENT_OBJECT_SELECTION = #8006
          integer, parameter :: EVENT_OBJECT_SELECTIONADD = #8007
          integer, parameter :: EVENT_OBJECT_SELECTIONREMOVE = #8008
          integer, parameter :: EVENT_OBJECT_SELECTIONWITHIN = #8009
          integer, parameter :: EVENT_OBJECT_STATECHANGE = #800A
          integer, parameter :: EVENT_OBJECT_LOCATIONCHANGE = #800B
          integer, parameter :: EVENT_OBJECT_NAMECHANGE = #800C
          integer, parameter :: EVENT_OBJECT_DESCRIPTIONCHANGE = #800D
          integer, parameter :: EVENT_OBJECT_VALUECHANGE = #800E
          integer, parameter :: EVENT_OBJECT_PARENTCHANGE = #800F
          integer, parameter :: EVENT_OBJECT_HELPCHANGE = #8010
          integer, parameter :: EVENT_OBJECT_DEFACTIONCHANGE = #8011
          integer, parameter :: EVENT_OBJECT_ACCELERATORCHANGE = #8012
          integer, parameter :: SOUND_SYSTEM_STARTUP = 1
          integer, parameter :: SOUND_SYSTEM_SHUTDOWN = 2
          integer, parameter :: SOUND_SYSTEM_BEEP = 3
          integer, parameter :: SOUND_SYSTEM_ERROR = 4
          integer, parameter :: SOUND_SYSTEM_QUESTION = 5
          integer, parameter :: SOUND_SYSTEM_WARNING = 6
          integer, parameter :: SOUND_SYSTEM_INFORMATION = 7
          integer, parameter :: SOUND_SYSTEM_MAXIMIZE = 8
          integer, parameter :: SOUND_SYSTEM_MINIMIZE = 9
          integer, parameter :: SOUND_SYSTEM_RESTOREUP = 10
          integer, parameter :: SOUND_SYSTEM_RESTOREDOWN = 11
          integer, parameter :: SOUND_SYSTEM_APPSTART = 12
          integer, parameter :: SOUND_SYSTEM_FAULT = 13
          integer, parameter :: SOUND_SYSTEM_APPEND = 14
          integer, parameter :: SOUND_SYSTEM_MENUCOMMAND = 15
          integer, parameter :: SOUND_SYSTEM_MENUPOPUP = 16
          integer, parameter :: CSOUND_SYSTEM = 16
          integer, parameter :: ALERT_SYSTEM_INFORMATIONAL = 1
          integer, parameter :: ALERT_SYSTEM_WARNING = 2
          integer, parameter :: ALERT_SYSTEM_ERROR = 3
          integer, parameter :: ALERT_SYSTEM_QUERY = 4
          integer, parameter :: ALERT_SYSTEM_CRITICAL = 5
          integer, parameter :: CALERT_SYSTEM = 6
          integer, parameter :: GUI_CARETBLINKING = #00000001
          integer, parameter :: GUI_INMOVESIZE = #00000002
          integer, parameter :: GUI_INMENUMODE = #00000004
          integer, parameter :: GUI_SYSTEMMENUMODE = #00000008
          integer, parameter :: GUI_POPUPMENUMODE = #00000010
          integer, parameter :: STATE_SYSTEM_UNAVAILABLE = #00000001
          integer, parameter :: STATE_SYSTEM_SELECTED = #00000002
          integer, parameter :: STATE_SYSTEM_FOCUSED = #00000004
          integer, parameter :: STATE_SYSTEM_PRESSED = #00000008
          integer, parameter :: STATE_SYSTEM_CHECKED = #00000010
          integer, parameter :: STATE_SYSTEM_MIXED = #00000020
          integer, parameter :: STATE_SYSTEM_READONLY = #00000040
          integer, parameter :: STATE_SYSTEM_HOTTRACKED = #00000080
          integer, parameter :: STATE_SYSTEM_DEFAULT = #00000100
          integer, parameter :: STATE_SYSTEM_EXPANDED = #00000200
          integer, parameter :: STATE_SYSTEM_COLLAPSED = #00000400
          integer, parameter :: STATE_SYSTEM_BUSY = #00000800
          integer, parameter :: STATE_SYSTEM_FLOATING = #00001000
          integer, parameter :: STATE_SYSTEM_MARQUEED = #00002000
          integer, parameter :: STATE_SYSTEM_ANIMATED = #00004000
          integer, parameter :: STATE_SYSTEM_INVISIBLE = #00008000
          integer, parameter :: STATE_SYSTEM_OFFSCREEN = #00010000
          integer, parameter :: STATE_SYSTEM_SIZEABLE = #00020000
          integer, parameter :: STATE_SYSTEM_MOVEABLE = #00040000
          integer, parameter :: STATE_SYSTEM_SELFVOICING = #00080000
          integer, parameter :: STATE_SYSTEM_FOCUSABLE = #00100000
          integer, parameter :: STATE_SYSTEM_SELECTABLE = #00200000
          integer, parameter :: STATE_SYSTEM_LINKED = #00400000
          integer, parameter :: STATE_SYSTEM_TRAVERSED = #00800000
          integer, parameter :: STATE_SYSTEM_MULTISELECTABLE = #01000000
          integer, parameter :: STATE_SYSTEM_EXTSELECTABLE = #02000000
          integer, parameter :: STATE_SYSTEM_ALERT_LOW = #04000000
          integer, parameter :: STATE_SYSTEM_ALERT_MEDIUM = #08000000
          integer, parameter :: STATE_SYSTEM_ALERT_HIGH = #10000000
          integer, parameter :: STATE_SYSTEM_PROTECTED = #20000000
          integer, parameter :: STATE_SYSTEM_VALID = #3FFFFFFF
          integer, parameter :: CCHILDREN_TITLEBAR = 5
          integer, parameter :: CCHILDREN_SCROLLBAR = 5
          integer, parameter :: CURSOR_SHOWING = #00000001
          integer, parameter :: WS_ACTIVECAPTION = #0001
          integer, parameter :: GA_PARENT = 1
          integer, parameter :: GA_ROOT = 2
          integer, parameter :: GA_ROOTOWNER = 3
    !DEC$ ENDIF
          integer, parameter :: MAX_LEADBYTES = 12
          integer, parameter :: MAX_DEFAULTCHAR = 2
          integer, parameter :: MB_PRECOMPOSED = #00000001
          integer, parameter :: MB_COMPOSITE = #00000002
          integer, parameter :: MB_USEGLYPHCHARS = #00000004
          integer, parameter :: MB_ERR_INVALID_CHARS = #00000008
          integer, parameter :: WC_COMPOSITECHECK = #00000200
          integer, parameter :: WC_DISCARDNS = #00000010
          integer, parameter :: WC_SEPCHARS = #00000020
          integer, parameter :: WC_DEFAULTCHAR = #00000040
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: WC_NO_BEST_FIT_CHARS = #00000400
    !DEC$ ENDIF
          integer, parameter :: CT_CTYPE1 = #00000001
          integer, parameter :: CT_CTYPE2 = #00000002
          integer, parameter :: CT_CTYPE3 = #00000004
          integer, parameter :: C1_UPPER = #0001
          integer, parameter :: C1_LOWER = #0002
          integer, parameter :: C1_DIGIT = #0004
          integer, parameter :: C1_SPACE = #0008
          integer, parameter :: C1_PUNCT = #0010
          integer, parameter :: C1_CNTRL = #0020
          integer, parameter :: C1_BLANK = #0040
          integer, parameter :: C1_XDIGIT = #0080
          integer, parameter :: C1_ALPHA = #0100
          integer, parameter :: C2_LEFTTORIGHT = #0001
          integer, parameter :: C2_RIGHTTOLEFT = #0002
          integer, parameter :: C2_EUROPENUMBER = #0003
          integer, parameter :: C2_EUROPESEPARATOR = #0004
          integer, parameter :: C2_EUROPETERMINATOR = #0005
          integer, parameter :: C2_ARABICNUMBER = #0006
          integer, parameter :: C2_COMMONSEPARATOR = #0007
          integer, parameter :: C2_BLOCKSEPARATOR = #0008
          integer, parameter :: C2_SEGMENTSEPARATOR = #0009
          integer, parameter :: C2_WHITESPACE = #000A
          integer, parameter :: C2_OTHERNEUTRAL = #000B
          integer, parameter :: C2_NOTAPPLICABLE = #0000
          integer, parameter :: C3_NONSPACING = #0001
          integer, parameter :: C3_DIACRITIC = #0002
          integer, parameter :: C3_VOWELMARK = #0004
          integer, parameter :: C3_SYMBOL = #0008
          integer, parameter :: C3_KATAKANA = #0010
          integer, parameter :: C3_HIRAGANA = #0020
          integer, parameter :: C3_HALFWIDTH = #0040
          integer, parameter :: C3_FULLWIDTH = #0080
          integer, parameter :: C3_IDEOGRAPH = #0100
          integer, parameter :: C3_KASHIDA = #0200
          integer, parameter :: C3_LEXICAL = #0400
          integer, parameter :: C3_ALPHA = #8000
          integer, parameter :: C3_NOTAPPLICABLE = #0000
          integer, parameter :: NORM_IGNORECASE = #00000001
          integer, parameter :: NORM_IGNORENONSPACE = #00000002
          integer, parameter :: NORM_IGNORESYMBOLS = #00000004
          integer, parameter :: NORM_IGNOREKANATYPE = #00010000
          integer, parameter :: NORM_IGNOREWIDTH = #00020000
          integer, parameter :: MAP_FOLDCZONE = #00000010
          integer, parameter :: MAP_PRECOMPOSED = #00000020
          integer, parameter :: MAP_COMPOSITE = #00000040
          integer, parameter :: MAP_FOLDDIGITS = #00000080
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: MAP_EXPAND_LIGATURES = #00002000
    !DEC$ ENDIF
          integer, parameter :: LCMAP_LOWERCASE = #00000100
          integer, parameter :: LCMAP_UPPERCASE = #00000200
          integer, parameter :: LCMAP_SORTKEY = #00000400
          integer, parameter :: LCMAP_BYTEREV = #00000800
          integer, parameter :: LCMAP_HIRAGANA = #00100000
          integer, parameter :: LCMAP_KATAKANA = #00200000
          integer, parameter :: LCMAP_HALFWIDTH = #00400000
          integer, parameter :: LCMAP_FULLWIDTH = #00800000
          integer, parameter :: LCMAP_LINGUISTIC_CASING = #01000000
          integer, parameter :: LCMAP_SIMPLIFIED_CHINESE = #02000000
          integer, parameter :: LCMAP_TRADITIONAL_CHINESE = #04000000
          integer, parameter :: LGRPID_INSTALLED = #00000001
          integer, parameter :: LGRPID_SUPPORTED = #00000002
          integer, parameter :: LCID_INSTALLED = #00000001
          integer, parameter :: LCID_SUPPORTED = #00000002
          integer, parameter :: LCID_ALTERNATE_SORTS = #00000004
          integer, parameter :: CP_INSTALLED = #00000001
          integer, parameter :: CP_SUPPORTED = #00000002
          integer, parameter :: SORT_STRINGSORT = #00001000
          integer, parameter :: CSTR_LESS_THAN = 1
          integer, parameter :: CSTR_EQUAL = 2
          integer, parameter :: CSTR_GREATER_THAN = 3
          integer, parameter :: CP_ACP = 0
          integer, parameter :: CP_OEMCP = 1
          integer, parameter :: CP_MACCP = 2
          integer, parameter :: CP_THREAD_ACP = 3
          integer, parameter :: CP_SYMBOL = 42
          integer, parameter :: CP_UTF7 = 65000
          integer, parameter :: CP_UTF8 = 65001
          integer, parameter :: CTRY_DEFAULT = 0
          integer, parameter :: CTRY_ALBANIA = 355
          integer, parameter :: CTRY_ALGERIA = 213
          integer, parameter :: CTRY_ARGENTINA = 54
          integer, parameter :: CTRY_ARMENIA = 374
          integer, parameter :: CTRY_AUSTRALIA = 61
          integer, parameter :: CTRY_AUSTRIA = 43
          integer, parameter :: CTRY_AZERBAIJAN = 994
          integer, parameter :: CTRY_BAHRAIN = 973
          integer, parameter :: CTRY_BELARUS = 375
          integer, parameter :: CTRY_BELGIUM = 32
          integer, parameter :: CTRY_BELIZE = 501
          integer, parameter :: CTRY_BOLIVIA = 591
          integer, parameter :: CTRY_BRAZIL = 55
          integer, parameter :: CTRY_BRUNEI_DARUSSALAM = 673
          integer, parameter :: CTRY_BULGARIA = 359
          integer, parameter :: CTRY_CANADA = 2
          integer, parameter :: CTRY_CARIBBEAN = 1
          integer, parameter :: CTRY_CHILE = 56
          integer, parameter :: CTRY_COLOMBIA = 57
          integer, parameter :: CTRY_COSTA_RICA = 506
          integer, parameter :: CTRY_CROATIA = 385
          integer, parameter :: CTRY_CZECH = 420
          integer, parameter :: CTRY_DENMARK = 45
          integer, parameter :: CTRY_DOMINICAN_REPUBLIC = 1
          integer, parameter :: CTRY_ECUADOR = 593
          integer, parameter :: CTRY_EGYPT = 20
          integer, parameter :: CTRY_EL_SALVADOR = 503
          integer, parameter :: CTRY_ESTONIA = 372
          integer, parameter :: CTRY_FAEROE_ISLANDS = 298
          integer, parameter :: CTRY_FINLAND = 358
          integer, parameter :: CTRY_FRANCE = 33
          integer, parameter :: CTRY_GEORGIA = 995
          integer, parameter :: CTRY_GERMANY = 49
          integer, parameter :: CTRY_GREECE = 30
          integer, parameter :: CTRY_GUATEMALA = 502
          integer, parameter :: CTRY_HONDURAS = 504
          integer, parameter :: CTRY_HONG_KONG = 852
          integer, parameter :: CTRY_HUNGARY = 36
          integer, parameter :: CTRY_ICELAND = 354
          integer, parameter :: CTRY_INDIA = 91
          integer, parameter :: CTRY_INDONESIA = 62
          integer, parameter :: CTRY_IRAN = 981
          integer, parameter :: CTRY_IRAQ = 964
          integer, parameter :: CTRY_IRELAND = 353
          integer, parameter :: CTRY_ISRAEL = 972
          integer, parameter :: CTRY_ITALY = 39
          integer, parameter :: CTRY_JAMAICA = 1
          integer, parameter :: CTRY_JAPAN = 81
          integer, parameter :: CTRY_JORDAN = 962
          integer, parameter :: CTRY_KAZAKSTAN = 7
          integer, parameter :: CTRY_KENYA = 254
          integer, parameter :: CTRY_KUWAIT = 965
          integer, parameter :: CTRY_LATVIA = 371
          integer, parameter :: CTRY_LEBANON = 961
          integer, parameter :: CTRY_LIBYA = 218
          integer, parameter :: CTRY_LIECHTENSTEIN = 41
          integer, parameter :: CTRY_LITHUANIA = 370
          integer, parameter :: CTRY_LUXEMBOURG = 352
          integer, parameter :: CTRY_MACAU = 853
          integer, parameter :: CTRY_MACEDONIA = 389
          integer, parameter :: CTRY_MALAYSIA = 60
          integer, parameter :: CTRY_MEXICO = 52
          integer, parameter :: CTRY_MONACO = 33
          integer, parameter :: CTRY_MOROCCO = 212
          integer, parameter :: CTRY_NETHERLANDS = 31
          integer, parameter :: CTRY_NEW_ZEALAND = 64
          integer, parameter :: CTRY_NICARAGUA = 505
          integer, parameter :: CTRY_NORWAY = 47
          integer, parameter :: CTRY_OMAN = 968
          integer, parameter :: CTRY_PAKISTAN = 92
          integer, parameter :: CTRY_PANAMA = 507
          integer, parameter :: CTRY_PARAGUAY = 595
          integer, parameter :: CTRY_PERU = 51
          integer, parameter :: CTRY_PHILIPPINES = 63
          integer, parameter :: CTRY_POLAND = 48
          integer, parameter :: CTRY_PORTUGAL = 351
          integer, parameter :: CTRY_PRCHINA = 86
          integer, parameter :: CTRY_PUERTO_RICO = 1
          integer, parameter :: CTRY_QATAR = 974
          integer, parameter :: CTRY_ROMANIA = 40
          integer, parameter :: CTRY_RUSSIA = 7
          integer, parameter :: CTRY_SAUDI_ARABIA = 966
          integer, parameter :: CTRY_SERBIA = 381
          integer, parameter :: CTRY_SINGAPORE = 65
          integer, parameter :: CTRY_SLOVAK = 421
          integer, parameter :: CTRY_SLOVENIA = 386
          integer, parameter :: CTRY_SOUTH_AFRICA = 27
          integer, parameter :: CTRY_SOUTH_KOREA = 82
          integer, parameter :: CTRY_SPAIN = 34
          integer, parameter :: CTRY_SWEDEN = 46
          integer, parameter :: CTRY_SWITZERLAND = 41
          integer, parameter :: CTRY_SYRIA = 963
          integer, parameter :: CTRY_TAIWAN = 886
          integer, parameter :: CTRY_TATARSTAN = 7
          integer, parameter :: CTRY_THAILAND = 66
          integer, parameter :: CTRY_TRINIDAD_Y_TOBAGO = 1
          integer, parameter :: CTRY_TUNISIA = 216
          integer, parameter :: CTRY_TURKEY = 90
          integer, parameter :: CTRY_UAE = 971
          integer, parameter :: CTRY_UKRAINE = 380
          integer, parameter :: CTRY_UNITED_KINGDOM = 44
          integer, parameter :: CTRY_UNITED_STATES = 1
          integer, parameter :: CTRY_URUGUAY = 598
          integer, parameter :: CTRY_UZBEKISTAN = 7
          integer, parameter :: CTRY_VENEZUELA = 58
          integer, parameter :: CTRY_VIET_NAM = 84
          integer, parameter :: CTRY_YEMEN = 967
          integer, parameter :: CTRY_ZIMBABWE = 263
          integer, parameter :: LOCALE_NOUSEROVERRIDE = #80000000
          integer, parameter :: LOCALE_USE_CP_ACP = #40000000
          integer, parameter :: LOCALE_RETURN_NUMBER = #20000000
          integer, parameter :: LOCALE_ILANGUAGE = #00000001
          integer, parameter :: LOCALE_SLANGUAGE = #00000002
          integer, parameter :: LOCALE_SENGLANGUAGE = #00001001
          integer, parameter :: LOCALE_SABBREVLANGNAME = #00000003
          integer, parameter :: LOCALE_SNATIVELANGNAME = #00000004
          integer, parameter :: LOCALE_ICOUNTRY = #00000005
          integer, parameter :: LOCALE_SCOUNTRY = #00000006
          integer, parameter :: LOCALE_SENGCOUNTRY = #00001002
          integer, parameter :: LOCALE_SABBREVCTRYNAME = #00000007
          integer, parameter :: LOCALE_SNATIVECTRYNAME = #00000008
          integer, parameter :: LOCALE_IDEFAULTLANGUAGE = #00000009
          integer, parameter :: LOCALE_IDEFAULTCOUNTRY = #0000000A
          integer, parameter :: LOCALE_IDEFAULTCODEPAGE = #0000000B
          integer, parameter :: LOCALE_IDEFAULTANSICODEPAGE = #00001004
          integer, parameter :: LOCALE_IDEFAULTMACCODEPAGE = #00001011
          integer, parameter :: LOCALE_SLIST = #0000000C
          integer, parameter :: LOCALE_IMEASURE = #0000000D
          integer, parameter :: LOCALE_SDECIMAL = #0000000E
          integer, parameter :: LOCALE_STHOUSAND = #0000000F
          integer, parameter :: LOCALE_SGROUPING = #00000010
          integer, parameter :: LOCALE_IDIGITS = #00000011
          integer, parameter :: LOCALE_ILZERO = #00000012
          integer, parameter :: LOCALE_INEGNUMBER = #00001010
          integer, parameter :: LOCALE_SNATIVEDIGITS = #00000013
          integer, parameter :: LOCALE_SCURRENCY = #00000014
          integer, parameter :: LOCALE_SINTLSYMBOL = #00000015
          integer, parameter :: LOCALE_SMONDECIMALSEP = #00000016
          integer, parameter :: LOCALE_SMONTHOUSANDSEP = #00000017
          integer, parameter :: LOCALE_SMONGROUPING = #00000018
          integer, parameter :: LOCALE_ICURRDIGITS = #00000019
          integer, parameter :: LOCALE_IINTLCURRDIGITS = #0000001A
          integer, parameter :: LOCALE_ICURRENCY = #0000001B
          integer, parameter :: LOCALE_INEGCURR = #0000001C
          integer, parameter :: LOCALE_SDATE = #0000001D
          integer, parameter :: LOCALE_STIME = #0000001E
          integer, parameter :: LOCALE_SSHORTDATE = #0000001F
          integer, parameter :: LOCALE_SLONGDATE = #00000020
          integer, parameter :: LOCALE_STIMEFORMAT = #00001003
          integer, parameter :: LOCALE_IDATE = #00000021
          integer, parameter :: LOCALE_ILDATE = #00000022
          integer, parameter :: LOCALE_ITIME = #00000023
          integer, parameter :: LOCALE_ITIMEMARKPOSN = #00001005
          integer, parameter :: LOCALE_ICENTURY = #00000024
          integer, parameter :: LOCALE_ITLZERO = #00000025
          integer, parameter :: LOCALE_IDAYLZERO = #00000026
          integer, parameter :: LOCALE_IMONLZERO = #00000027
          integer, parameter :: LOCALE_S1159 = #00000028
          integer, parameter :: LOCALE_S2359 = #00000029
          integer, parameter :: LOCALE_ICALENDARTYPE = #00001009
          integer, parameter :: LOCALE_IOPTIONALCALENDAR = #0000100B
          integer, parameter :: LOCALE_IFIRSTDAYOFWEEK = #0000100C
          integer, parameter :: LOCALE_IFIRSTWEEKOFYEAR = #0000100D
          integer, parameter :: LOCALE_SDAYNAME1 = #0000002A
          integer, parameter :: LOCALE_SDAYNAME2 = #0000002B
          integer, parameter :: LOCALE_SDAYNAME3 = #0000002C
          integer, parameter :: LOCALE_SDAYNAME4 = #0000002D
          integer, parameter :: LOCALE_SDAYNAME5 = #0000002E
          integer, parameter :: LOCALE_SDAYNAME6 = #0000002F
          integer, parameter :: LOCALE_SDAYNAME7 = #00000030
          integer, parameter :: LOCALE_SABBREVDAYNAME1 = #00000031
          integer, parameter :: LOCALE_SABBREVDAYNAME2 = #00000032
          integer, parameter :: LOCALE_SABBREVDAYNAME3 = #00000033
          integer, parameter :: LOCALE_SABBREVDAYNAME4 = #00000034
          integer, parameter :: LOCALE_SABBREVDAYNAME5 = #00000035
          integer, parameter :: LOCALE_SABBREVDAYNAME6 = #00000036
          integer, parameter :: LOCALE_SABBREVDAYNAME7 = #00000037
          integer, parameter :: LOCALE_SMONTHNAME1 = #00000038
          integer, parameter :: LOCALE_SMONTHNAME2 = #00000039
          integer, parameter :: LOCALE_SMONTHNAME3 = #0000003A
          integer, parameter :: LOCALE_SMONTHNAME4 = #0000003B
          integer, parameter :: LOCALE_SMONTHNAME5 = #0000003C
          integer, parameter :: LOCALE_SMONTHNAME6 = #0000003D
          integer, parameter :: LOCALE_SMONTHNAME7 = #0000003E
          integer, parameter :: LOCALE_SMONTHNAME8 = #0000003F
          integer, parameter :: LOCALE_SMONTHNAME9 = #00000040
          integer, parameter :: LOCALE_SMONTHNAME10 = #00000041
          integer, parameter :: LOCALE_SMONTHNAME11 = #00000042
          integer, parameter :: LOCALE_SMONTHNAME12 = #00000043
          integer, parameter :: LOCALE_SMONTHNAME13 = #0000100E
          integer, parameter :: LOCALE_SABBREVMONTHNAME1 = #00000044
          integer, parameter :: LOCALE_SABBREVMONTHNAME2 = #00000045
          integer, parameter :: LOCALE_SABBREVMONTHNAME3 = #00000046
          integer, parameter :: LOCALE_SABBREVMONTHNAME4 = #00000047
          integer, parameter :: LOCALE_SABBREVMONTHNAME5 = #00000048
          integer, parameter :: LOCALE_SABBREVMONTHNAME6 = #00000049
          integer, parameter :: LOCALE_SABBREVMONTHNAME7 = #0000004A
          integer, parameter :: LOCALE_SABBREVMONTHNAME8 = #0000004B
          integer, parameter :: LOCALE_SABBREVMONTHNAME9 = #0000004C
          integer, parameter :: LOCALE_SABBREVMONTHNAME10 = #0000004D
          integer, parameter :: LOCALE_SABBREVMONTHNAME11 = #0000004E
          integer, parameter :: LOCALE_SABBREVMONTHNAME12 = #0000004F
          integer, parameter :: LOCALE_SABBREVMONTHNAME13 = #0000100F
          integer, parameter :: LOCALE_SPOSITIVESIGN = #00000050
          integer, parameter :: LOCALE_SNEGATIVESIGN = #00000051
          integer, parameter :: LOCALE_IPOSSIGNPOSN = #00000052
          integer, parameter :: LOCALE_INEGSIGNPOSN = #00000053
          integer, parameter :: LOCALE_IPOSSYMPRECEDES = #00000054
          integer, parameter :: LOCALE_IPOSSEPBYSPACE = #00000055
          integer, parameter :: LOCALE_INEGSYMPRECEDES = #00000056
          integer, parameter :: LOCALE_INEGSEPBYSPACE = #00000057
          integer, parameter :: LOCALE_FONTSIGNATURE = #00000058
          integer, parameter :: LOCALE_SISO639ANGNAME = #00000059
          integer, parameter :: LOCALE_SISO3166CTRYNAME = #0000005A
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: LOCALE_IDEFAULTEBCDICCODEPAGE = #00001012
          integer, parameter :: LOCALE_IPAPERSIZE = #0000100A
          integer, parameter :: LOCALE_SENGCURRNAME = #00001007
          integer, parameter :: LOCALE_SNATIVECURRNAME = #00001008
          integer, parameter :: LOCALE_SYEARMONTH = #00001006
          integer, parameter :: LOCALE_SSORTNAME = #00001013
          integer, parameter :: LOCALE_IDIGITSUBSTITUTION = #00001014
    !DEC$ ENDIF
          integer, parameter :: TIME_NOMINUTESORSECONDS = #00000001
          integer, parameter :: TIME_NOSECONDS = #00000002
          integer, parameter :: TIME_NOTIMEMARKER = #00000004
          integer, parameter :: TIME_FORCE24HOURFORMAT = #00000008
          integer, parameter :: DATE_SHORTDATE = #00000001
          integer, parameter :: DATE_LONGDATE = #00000002
          integer, parameter :: DATE_USE_ALT_CALENDAR = #00000004
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: DATE_YEARMONTH = #00000008
          integer, parameter :: DATE_LTRREADING = #00000010
          integer, parameter :: DATE_RTLREADING = #00000020
    !DEC$ ENDIF
          integer, parameter :: CAL_ICALINTVALUE = #00000001
          integer, parameter :: CAL_SCALNAME = #00000002
          integer, parameter :: CAL_IYEAROFFSETRANGE = #00000003
          integer, parameter :: CAL_SERASTRING = #00000004
          integer, parameter :: CAL_SSHORTDATE = #00000005
          integer, parameter :: CAL_SLONGDATE = #00000006
          integer, parameter :: CAL_SDAYNAME1 = #00000007
          integer, parameter :: CAL_SDAYNAME2 = #00000008
          integer, parameter :: CAL_SDAYNAME3 = #00000009
          integer, parameter :: CAL_SDAYNAME4 = #0000000a
          integer, parameter :: CAL_SDAYNAME5 = #0000000b
          integer, parameter :: CAL_SDAYNAME6 = #0000000c
          integer, parameter :: CAL_SDAYNAME7 = #0000000d
          integer, parameter :: CAL_SABBREVDAYNAME1 = #0000000e
          integer, parameter :: CAL_SABBREVDAYNAME2 = #0000000f
          integer, parameter :: CAL_SABBREVDAYNAME3 = #00000010
          integer, parameter :: CAL_SABBREVDAYNAME4 = #00000011
          integer, parameter :: CAL_SABBREVDAYNAME5 = #00000012
          integer, parameter :: CAL_SABBREVDAYNAME6 = #00000013
          integer, parameter :: CAL_SABBREVDAYNAME7 = #00000014
          integer, parameter :: CAL_SMONTHNAME1 = #00000015
          integer, parameter :: CAL_SMONTHNAME2 = #00000016
          integer, parameter :: CAL_SMONTHNAME3 = #00000017
          integer, parameter :: CAL_SMONTHNAME4 = #00000018
          integer, parameter :: CAL_SMONTHNAME5 = #00000019
          integer, parameter :: CAL_SMONTHNAME6 = #0000001a
          integer, parameter :: CAL_SMONTHNAME7 = #0000001b
          integer, parameter :: CAL_SMONTHNAME8 = #0000001c
          integer, parameter :: CAL_SMONTHNAME9 = #0000001d
          integer, parameter :: CAL_SMONTHNAME10 = #0000001e
          integer, parameter :: CAL_SMONTHNAME11 = #0000001f
          integer, parameter :: CAL_SMONTHNAME12 = #00000020
          integer, parameter :: CAL_SMONTHNAME13 = #00000021
          integer, parameter :: CAL_SABBREVMONTHNAME1 = #00000022
          integer, parameter :: CAL_SABBREVMONTHNAME2 = #00000023
          integer, parameter :: CAL_SABBREVMONTHNAME3 = #00000024
          integer, parameter :: CAL_SABBREVMONTHNAME4 = #00000025
          integer, parameter :: CAL_SABBREVMONTHNAME5 = #00000026
          integer, parameter :: CAL_SABBREVMONTHNAME6 = #00000027
          integer, parameter :: CAL_SABBREVMONTHNAME7 = #00000028
          integer, parameter :: CAL_SABBREVMONTHNAME8 = #00000029
          integer, parameter :: CAL_SABBREVMONTHNAME9 = #0000002a
          integer, parameter :: CAL_SABBREVMONTHNAME10 = #0000002b
          integer, parameter :: CAL_SABBREVMONTHNAME11 = #0000002c
          integer, parameter :: CAL_SABBREVMONTHNAME12 = #0000002d
          integer, parameter :: CAL_SABBREVMONTHNAME13 = #0000002e
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: CAL_SYEARMONTH = #0000002f
          integer, parameter :: CAL_ITWODIGITYEARMAX = #00000030
    !DEC$ ENDIF
          integer, parameter :: ENUM_ALL_CALENDARS = #ffffffff
          integer, parameter :: CAL_GREGORIAN = 1
          integer, parameter :: CAL_GREGORIAN_US = 2
          integer, parameter :: CAL_JAPAN = 3
          integer, parameter :: CAL_TAIWAN = 4
          integer, parameter :: CAL_KOREA = 5
          integer, parameter :: CAL_HIJRI = 6
          integer, parameter :: CAL_THAI = 7
          integer, parameter :: CAL_HEBREW = 8
          integer, parameter :: CAL_GREGORIAN_ME_FRENCH = 9
          integer, parameter :: CAL_GREGORIAN_ARABIC = 10
          integer, parameter :: CAL_GREGORIAN_XLIT_ENGLISH = 11
          integer, parameter :: CAL_GREGORIAN_XLIT_FRENCH = 12
          integer, parameter :: LGRPID_WESTERN_EUROPE = #0001
          integer, parameter :: LGRPID_CENTRAL_EUROPE = #0002
          integer, parameter :: LGRPID_BALTIC = #0003
          integer, parameter :: LGRPID_GREEK = #0004
          integer, parameter :: LGRPID_CYRILLIC = #0005
          integer, parameter :: LGRPID_TURKISH = #0006
          integer, parameter :: LGRPID_JAPANESE = #0007
          integer, parameter :: LGRPID_KOREAN = #0008
          integer, parameter :: LGRPID_TRADITIONAL_CHINESE = #0009
          integer, parameter :: LGRPID_SIMPLIFIED_CHINESE = #000a
          integer, parameter :: LGRPID_THAI = #000b
          integer, parameter :: LGRPID_HEBREW = #000c
          integer, parameter :: LGRPID_ARABIC = #000d
          integer, parameter :: LGRPID_VIETNAMESE = #000e
          integer, parameter :: LGRPID_INDIC = #000f
          integer, parameter :: LGRPID_GEORGIAN = #0010
          integer, parameter :: LGRPID_ARMENIAN = #0011
          integer, parameter :: RIGHT_ALT_PRESSED = #0001
          integer, parameter :: LEFT_ALT_PRESSED = #0002
          integer, parameter :: RIGHT_CTRL_PRESSED = #0004
          integer, parameter :: LEFT_CTRL_PRESSED = #0008
          integer, parameter :: SHIFT_PRESSED = #0010
          integer, parameter :: NUMLOCK_ON = #0020
          integer, parameter :: SCROLLLOCK_ON = #0040
          integer, parameter :: CAPSLOCK_ON = #0080
          integer, parameter :: ENHANCED_KEY = #0100
          integer, parameter :: NLS_DBCSCHAR = #00010000
          integer, parameter :: NLS_ALPHANUMERIC = #00000000
          integer, parameter :: NLS_KATAKANA = #00020000
          integer, parameter :: NLS_HIRAGANA = #00040000
          integer, parameter :: NLS_ROMAN = #00400000
          integer, parameter :: NLS_IME_CONVERSION = #00800000
          integer, parameter :: NLS_IME_DISABLE = #20000000
          integer, parameter :: FROM_LEFT_1ST_BUTTON_PRESSED = #0001
          integer, parameter :: RIGHTMOST_BUTTON_PRESSED = #0002
          integer, parameter :: FROM_LEFT_2ND_BUTTON_PRESSED = #0004
          integer, parameter :: FROM_LEFT_3RD_BUTTON_PRESSED = #0008
          integer, parameter :: FROM_LEFT_4TH_BUTTON_PRESSED = #0010
          integer, parameter :: MOUSE_MOVED = #0001
          integer, parameter :: DOUBLE_CLICK = #0002
          integer, parameter :: MOUSE_WHEELED = #0004
          integer, parameter :: KEY_EVENT = #0001
          integer, parameter :: MOUSE_EVENT = #0002
          integer, parameter :: WINDOW_BUFFER_SIZE_EVENT = #0004
          integer, parameter :: MENU_EVENT = #0008
          integer, parameter :: FOCUS_EVENT = #0010
          integer, parameter :: FOREGROUND_BLUE = #0001
          integer, parameter :: FOREGROUND_GREEN = #0002
          integer, parameter :: FOREGROUND_RED = #0004
          integer, parameter :: FOREGROUND_INTENSITY = #0008
          integer, parameter :: BACKGROUND_BLUE = #0010
          integer, parameter :: BACKGROUND_GREEN = #0020
          integer, parameter :: BACKGROUND_RED = #0040
          integer, parameter :: BACKGROUND_INTENSITY = #0080
          integer, parameter :: COMMON_LVB_LEADING_BYTE = #0100
          integer, parameter :: COMMON_LVB_TRAILING_BYTE = #0200
          integer, parameter :: COMMON_LVB_GRID_HORIZONTAL = #0400
          integer, parameter :: COMMON_LVB_GRID_LVERTICAL = #0800
          integer, parameter :: COMMON_LVB_GRID_RVERTICAL = #1000
          integer, parameter :: COMMON_LVB_REVERSE_VIDEO = #4000
          integer, parameter :: COMMON_LVB_UNDERSCORE = #8000
          integer, parameter :: COMMON_LVB_SBCSDBCS = #0300
          integer, parameter :: CTRL_C_EVENT = 0
          integer, parameter :: CTRL_BREAK_EVENT = 1
          integer, parameter :: CTRL_CLOSE_EVENT = 2
          integer, parameter :: CTRL_LOGOFF_EVENT = 5
          integer, parameter :: CTRL_SHUTDOWN_EVENT = 6
          integer, parameter :: ENABLE_PROCESSED_INPUT = #0001
          integer, parameter :: ENABLE_LINE_INPUT = #0002
          integer, parameter :: ENABLE_ECHO_INPUT = #0004
          integer, parameter :: ENABLE_WINDOW_INPUT = #0008
          integer, parameter :: ENABLE_MOUSE_INPUT = #0010
          integer, parameter :: ENABLE_PROCESSED_OUTPUT = #0001
          integer, parameter :: ENABLE_WRAP_AT_EOL_OUTPUT = #0002
          integer, parameter :: CONSOLE_TEXTMODE_BUFFER = 1
          integer, parameter :: VS_VERSION_INFO = 1
          integer, parameter :: VS_USER_DEFINED = 100
          integer, parameter :: VS_FFI_SIGNATURE = #FEEF04BD
          integer, parameter :: VS_FFI_STRUCVERSION = #00010000
          integer, parameter :: VS_FFI_FILEFLAGSMASK = #0000003F
          integer, parameter :: VS_FF_DEBUG = #00000001
          integer, parameter :: VS_FF_PRERELEASE = #00000002
          integer, parameter :: VS_FF_PATCHED = #00000004
          integer, parameter :: VS_FF_PRIVATEBUILD = #00000008
          integer, parameter :: VS_FF_INFOINFERRED = #00000010
          integer, parameter :: VS_FF_SPECIALBUILD = #00000020
          integer, parameter :: VOS_UNKNOWN = #00000000
          integer, parameter :: VOS_DOS = #00010000
          integer, parameter :: VOS_OS216 = #00020000
          integer, parameter :: VOS_OS232 = #00030000
          integer, parameter :: VOS_NT = #00040000
          integer, parameter :: VOS__BASE = #00000000
          integer, parameter :: VOS__WINDOWS16 = #00000001
          integer, parameter :: VOS__PM16 = #00000002
          integer, parameter :: VOS__PM32 = #00000003
          integer, parameter :: VOS__WINDOWS32 = #00000004
          integer, parameter :: VOS_DOS_WINDOWS16 = #00010001
          integer, parameter :: VOS_DOS_WINDOWS32 = #00010004
          integer, parameter :: VOS_OS216_PM16 = #00020002
          integer, parameter :: VOS_OS232_PM32 = #00030003
          integer, parameter :: VOS_NT_WINDOWS32 = #00040004
          integer, parameter :: VFT_UNKNOWN = #00000000
          integer, parameter :: VFT_APP = #00000001
          integer, parameter :: VFT_DLL = #00000002
          integer, parameter :: VFT_DRV = #00000003
          integer, parameter :: VFT_FONT = #00000004
          integer, parameter :: VFT_VXD = #00000005
          integer, parameter :: VFT_STATIC_LIB = #00000007
          integer, parameter :: VFT2_UNKNOWN = #00000000
          integer, parameter :: VFT2_DRV_PRINTER = #00000001
          integer, parameter :: VFT2_DRV_KEYBOARD = #00000002
          integer, parameter :: VFT2_DRV_LANGUAGE = #00000003
          integer, parameter :: VFT2_DRV_DISPLAY = #00000004
          integer, parameter :: VFT2_DRV_MOUSE = #00000005
          integer, parameter :: VFT2_DRV_NETWORK = #00000006
          integer, parameter :: VFT2_DRV_SYSTEM = #00000007
          integer, parameter :: VFT2_DRV_INSTALLABLE = #00000008
          integer, parameter :: VFT2_DRV_SOUND = #00000009
          integer, parameter :: VFT2_DRV_COMM = #0000000A
          integer, parameter :: VFT2_DRV_INPUTMETHOD = #0000000B
          integer, parameter :: VFT2_FONT_RASTER = #00000001
          integer, parameter :: VFT2_FONT_VECTOR = #00000002
          integer, parameter :: VFT2_FONT_TRUETYPE = #00000003
          integer, parameter :: VFFF_ISSHAREDFILE = #0001
          integer, parameter :: VFF_CURNEDEST = #0001
          integer, parameter :: VFF_FILEINUSE = #0002
          integer, parameter :: VFF_BUFFTOOSMALL = #0004
          integer, parameter :: VIFF_FORCEINSTALL = #0001
          integer, parameter :: VIFF_DONTDELETEOLD = #0002
          integer, parameter :: VIF_TEMPFILE = #00000001
          integer, parameter :: VIF_MISMATCH = #00000002
          integer, parameter :: VIF_SRCOLD = #00000004
          integer, parameter :: VIF_DIFFLANG = #00000008
          integer, parameter :: VIF_DIFFCODEPG = #00000010
          integer, parameter :: VIF_DIFFTYPE = #00000020
          integer, parameter :: VIF_WRITEPROT = #00000040
          integer, parameter :: VIF_FILEINUSE = #00000080
          integer, parameter :: VIF_OUTOFSPACE = #00000100
          integer, parameter :: VIF_ACCESSVIOLATION = #00000200
          integer, parameter :: VIF_SHARINGVIOLATION = #00000400
          integer, parameter :: VIF_CANNOTCREATE = #00000800
          integer, parameter :: VIF_CANNOTDELETE = #00001000
          integer, parameter :: VIF_CANNOTRENAME = #00002000
          integer, parameter :: VIF_CANNOTDELETECUR = #00004000
          integer, parameter :: VIF_OUTOFMEMORY = #00008000
          integer, parameter :: VIF_CANNOTREADSRC = #00010000
          integer, parameter :: VIF_CANNOTREADDST = #00020000
          integer, parameter :: VIF_BUFFTOOSMALL = #00040000
          integer, parameter :: VIF_CANNOTLOADLZ32 = #00080000
          integer, parameter :: VIF_CANNOTLOADCABINET = #00100000
          integer, parameter :: HKEY_CLASSES_ROOT = (   ( #80000000) )
          integer, parameter :: HKEY_CURRENT_USER = (   ( #80000001) )
          integer, parameter :: HKEY_LOCAL_MACHINE = (   ( #80000002) )
          integer, parameter :: HKEY_USERS = (   ( #80000003) )
          integer, parameter :: HKEY_PERFORMANCE_DATA = (   ( #80000004) )
          integer, parameter :: HKEY_CURRENT_CONFIG = (   ( #80000005) )
          integer, parameter :: HKEY_DYN_DATA = (   ( #80000006) )
          integer, parameter :: PROVIDER_KEEPS_VALUE_LENGTH = #1
          integer, parameter :: REASON_SWINSTALL = 0
          integer, parameter :: REASON_HWINSTALL = 1
          integer, parameter :: REASON_SERVICEHANG = 2
          integer, parameter :: REASON_UNSTABLE = 3
          integer, parameter :: REASON_SWHWRECONF = 4
          integer, parameter :: REASON_OTHER = 5
          integer, parameter :: REASON_UNKNOWN = 255
          integer, parameter :: REASON_PLANNED_FLAG = #80000000
          integer, parameter :: WNNC_NET_MSNET = #00010000
          integer, parameter :: WNNC_NET_LANMAN = #00020000
          integer, parameter :: WNNC_NET_NETWARE = #00030000
          integer, parameter :: WNNC_NET_VINES = #00040000
          integer, parameter :: WNNC_NET_10NET = #00050000
          integer, parameter :: WNNC_NET_LOCUS = #00060000
          integer, parameter :: WNNC_NET_SUN_PC_NFS = #00070000
          integer, parameter :: WNNC_NET_LANSTEP = #00080000
          integer, parameter :: WNNC_NET_9TILES = #00090000
          integer, parameter :: WNNC_NET_LANTASTIC = #000A0000
          integer, parameter :: WNNC_NET_AS400 = #000B0000
          integer, parameter :: WNNC_NET_FTP_NFS = #000C0000
          integer, parameter :: WNNC_NET_PATHWORKS = #000D0000
          integer, parameter :: WNNC_NET_LIFENET = #000E0000
          integer, parameter :: WNNC_NET_POWERLAN = #000F0000
          integer, parameter :: WNNC_NET_BWNFS = #00100000
          integer, parameter :: WNNC_NET_COGENT = #00110000
          integer, parameter :: WNNC_NET_FARALLON = #00120000
          integer, parameter :: WNNC_NET_APPLETALK = #00130000
          integer, parameter :: WNNC_NET_INTERGRAPH = #00140000
          integer, parameter :: WNNC_NET_SYMFONET = #00150000
          integer, parameter :: WNNC_NET_CLEARCASE = #00160000
          integer, parameter :: WNNC_NET_FRONTIER = #00170000
          integer, parameter :: WNNC_NET_BMC = #00180000
          integer, parameter :: WNNC_NET_DCE = #00190000
          integer, parameter :: WNNC_NET_AVID = #001A0000
          integer, parameter :: WNNC_NET_DOCUSPACE = #001B0000
          integer, parameter :: WNNC_NET_MANGOSOFT = #001C0000
          integer, parameter :: WNNC_NET_SERNET = #001D0000
          integer, parameter :: WNNC_NET_RIVERFRONT2 = #001F0000
          integer, parameter :: WNNC_NET_DECORB = #00200000
          integer, parameter :: WNNC_NET_PROTSTOR = #00210000
          integer, parameter :: WNNC_NET_FJ_REDIR = #00220000
          integer, parameter :: WNNC_NET_DISTINCT = #00230000
          integer, parameter :: WNNC_NET_TWINS = #00240000
          integer, parameter :: WNNC_NET_RDR2SAMPLE = #00250000
          integer, parameter :: WNNC_NET_CSC = #00260000
          integer, parameter :: WNNC_NET_3IN1 = #00270000
          integer, parameter :: WNNC_NET_EXTENDNET = #00290000
          integer, parameter :: WNNC_NET_OBJECT_DIRE = #00300000
          integer, parameter :: WNNC_NET_MASFAX = #00310000
          integer, parameter :: WNNC_NET_HOB_NFS = #00320000
          integer, parameter :: WNNC_NET_SHIVA = #00330000
          integer, parameter :: WNNC_NET_IBMAL = #00340000
          integer, parameter :: WNNC_CRED_MANAGER = #FFFF0000
          integer, parameter :: RESOURCE_CONNECTED = #00000001
          integer, parameter :: RESOURCE_GLOBALNET = #00000002
          integer, parameter :: RESOURCE_REMEMBERED = #00000003
          integer, parameter :: RESOURCE_RECENT = #00000004
          integer, parameter :: RESOURCE_CONTEXT = #00000005
          integer, parameter :: RESOURCETYPE_ANY = #00000000
          integer, parameter :: RESOURCETYPE_DISK = #00000001
          integer, parameter :: RESOURCETYPE_PRINT = #00000002
          integer, parameter :: RESOURCETYPE_RESERVED = #00000008
          integer, parameter :: RESOURCETYPE_UNKNOWN = #FFFFFFFF
          integer, parameter :: RESOURCEUSAGE_CONNECTABLE = #00000001
          integer, parameter :: RESOURCEUSAGE_CONTAINER = #00000002
          integer, parameter :: RESOURCEUSAGE_NOLOCALDEVICE = #00000004
          integer, parameter :: RESOURCEUSAGE_SIBLING = #00000008
          integer, parameter :: RESOURCEUSAGE_ATTACHED = #00000010
          integer, parameter :: RESOURCEUSAGE_ALL = (#00000001 .OR. #00000002 .OR. #00000010)
          integer, parameter :: RESOURCEUSAGE_RESERVED = #80000000
          integer, parameter :: RESOURCEDISPLAYTYPE_GENERIC = #00000000
          integer, parameter :: RESOURCEDISPLAYTYPE_DOMAIN = #00000001
          integer, parameter :: RESOURCEDISPLAYTYPE_SERVER = #00000002
          integer, parameter :: RESOURCEDISPLAYTYPE_SHARE = #00000003
          integer, parameter :: RESOURCEDISPLAYTYPE_FILE = #00000004
          integer, parameter :: RESOURCEDISPLAYTYPE_GROUP = #00000005
          integer, parameter :: RESOURCEDISPLAYTYPE_NETWORK = #00000006
          integer, parameter :: RESOURCEDISPLAYTYPE_ROOT = #00000007
          integer, parameter :: RESOURCEDISPLAYTYPE_SHAREADMIN = #00000008
          integer, parameter :: RESOURCEDISPLAYTYPE_DIRECTORY = #00000009
          integer, parameter :: RESOURCEDISPLAYTYPE_TREE = #0000000A
          integer, parameter :: RESOURCEDISPLAYTYPE_NDSCONTAINER = #0000000B
          integer, parameter :: NETPROPERTY_PERSISTENT = 1
          integer, parameter :: CONNECT_UPDATE_PROFILE = #00000001
          integer, parameter :: CONNECT_UPDATE_RECENT = #00000002
          integer, parameter :: CONNECT_TEMPORARY = #00000004
          integer, parameter :: CONNECT_INTERACTIVE = #00000008
          integer, parameter :: CONNECT_PROMPT = #00000010
          integer, parameter :: CONNECT_NEED_DRIVE = #00000020
          integer, parameter :: CONNECT_REFCOUNT = #00000040
          integer, parameter :: CONNECT_REDIRECT = #00000080
          integer, parameter :: CONNECT_LOCALDRIVE = #00000100
          integer, parameter :: CONNECT_CURRENT_MEDIA = #00000200
          integer, parameter :: CONNECT_DEFERRED = #00000400
          integer, parameter :: CONNECT_RESERVED = #FF000000
          integer, parameter :: CONNDLG_RO_PATH = #00000001
          integer, parameter :: CONNDLG_CONN_POINT = #00000002
          integer, parameter :: CONNDLG_USE_MRU = #00000004
          integer, parameter :: CONNDLG_HIDE_BOX = #00000008
          integer, parameter :: CONNDLG_PERSIST = #00000010
          integer, parameter :: CONNDLG_NOT_PERSIST = #00000020
          integer, parameter :: DISC_UPDATE_PROFILE = #00000001
          integer, parameter :: DISC_NO_FORCE = #00000040
          integer, parameter :: UNIVERSAL_NAME_INFO_LEVEL = #00000001
          integer, parameter :: REMOTE_NAME_INFO_LEVEL = #00000002
          integer, parameter :: WNFMT_MULTILINE = #01
          integer, parameter :: WNFMT_ABBREVIATED = #02
          integer, parameter :: WNFMT_INENUM = #10
          integer, parameter :: WNFMT_CONNECTION = #20
          integer, parameter :: NETINFO_DLL16 = #00000001
          integer, parameter :: NETINFO_DISKRED = #00000004
          integer, parameter :: NETINFO_PRINTERRED = #00000008
          integer, parameter :: RP_LOGON = #01
          integer, parameter :: RP_INIFILE = #02
          integer, parameter :: PP_DISPLAYERRORS = #01
          integer, parameter :: WNCON_FORNETCARD = #00000001
          integer, parameter :: WNCON_NOTROUTED = #00000002
          integer, parameter :: WNCON_SLOWLINK = #00000004
          integer, parameter :: WNCON_DYNAMIC = #00000008
          integer, parameter :: CDERR_DIALOGFAILURE = #FFFF
          integer, parameter :: CDERR_GENERALCODES = #0000
          integer, parameter :: CDERR_STRUCTSIZE = #0001
          integer, parameter :: CDERR_INITIALIZATION = #0002
          integer, parameter :: CDERR_NOTEMPLATE = #0003
          integer, parameter :: CDERR_NOHINSTANCE = #0004
          integer, parameter :: CDERR_LOADSTRFAILURE = #0005
          integer, parameter :: CDERR_FINDRESFAILURE = #0006
          integer, parameter :: CDERR_LOADRESFAILURE = #0007
          integer, parameter :: CDERR_LOCKRESFAILURE = #0008
          integer, parameter :: CDERR_MEMALLOCFAILURE = #0009
          integer, parameter :: CDERR_MEMLOCKFAILURE = #000A
          integer, parameter :: CDERR_NOHOOK = #000B
          integer, parameter :: CDERR_REGISTERMSGFAIL = #000C
          integer, parameter :: PDERR_PRINTERCODES = #1000
          integer, parameter :: PDERR_SETUPFAILURE = #1001
          integer, parameter :: PDERR_PARSEFAILURE = #1002
          integer, parameter :: PDERR_RETDEFFAILURE = #1003
          integer, parameter :: PDERR_LOADDRVFAILURE = #1004
          integer, parameter :: PDERR_GETDEVMODEFAIL = #1005
          integer, parameter :: PDERR_INITFAILURE = #1006
          integer, parameter :: PDERR_NODEVICES = #1007
          integer, parameter :: PDERR_NODEFAULTPRN = #1008
          integer, parameter :: PDERR_DNDMMISMATCH = #1009
          integer, parameter :: PDERR_CREATEICFAILURE = #100A
          integer, parameter :: PDERR_PRINTERNOTFOUND = #100B
          integer, parameter :: PDERR_DEFAULTDIFFERENT = #100C
          integer, parameter :: CFERR_CHOOSEFONTCODES = #2000
          integer, parameter :: CFERR_NOFONTS = #2001
          integer, parameter :: CFERR_MAXLESSTHANMIN = #2002
          integer, parameter :: FNERR_FILENAMECODES = #3000
          integer, parameter :: FNERR_SUBCLASSFAILURE = #3001
          integer, parameter :: FNERR_INVALIDFILENAME = #3002
          integer, parameter :: FNERR_BUFFERTOOSMALL = #3003
          integer, parameter :: FRERR_FINDREPLACECODES = #4000
          integer, parameter :: FRERR_BUFFERLENGTHZERO = #4001
          integer, parameter :: CCERR_CHOOSECOLORCODES = #5000
          integer, parameter :: WM_DDE_FIRST = #03E0
          integer, parameter :: WM_DDE_INITIATE = (#03E0)
          integer, parameter :: WM_DDE_TERMINATE = (#03E0+1)
          integer, parameter :: WM_DDE_ADVISE = (#03E0+2)
          integer, parameter :: WM_DDE_UNADVISE = (#03E0+3)
          integer, parameter :: WM_DDE_ACK = (#03E0+4)
          integer, parameter :: WM_DDE_DATA = (#03E0+5)
          integer, parameter :: WM_DDE_REQUEST = (#03E0+6)
          integer, parameter :: WM_DDE_POKE = (#03E0+7)
          integer, parameter :: WM_DDE_EXECUTE = (#03E0+8)
          integer, parameter :: WM_DDE_LAST = (#03E0+8)
          integer, parameter :: XST_NULL = 0
          integer, parameter :: XST_INCOMPLETE = 1
          integer, parameter :: XST_CONNECTED = 2
          integer, parameter :: XST_INIT1 = 3
          integer, parameter :: XST_INIT2 = 4
          integer, parameter :: XST_REQSENT = 5
          integer, parameter :: XST_DATARCVD = 6
          integer, parameter :: XST_POKESENT = 7
          integer, parameter :: XST_POKEACKRCVD = 8
          integer, parameter :: XST_EXECSENT = 9
          integer, parameter :: XST_EXECACKRCVD = 10
          integer, parameter :: XST_ADVSENT = 11
          integer, parameter :: XST_UNADVSENT = 12
          integer, parameter :: XST_ADVACKRCVD = 13
          integer, parameter :: XST_UNADVACKRCVD = 14
          integer, parameter :: XST_ADVDATASENT = 15
          integer, parameter :: XST_ADVDATAACKRCVD = 16
          integer, parameter :: CADV_LATEACK = #FFFF
          integer, parameter :: ST_CONNECTED = #0001
          integer, parameter :: ST_ADVISE = #0002
          integer, parameter :: ST_ISLOCAL = #0004
          integer, parameter :: ST_BLOCKED = #0008
          integer, parameter :: ST_CLIENT = #0010
          integer, parameter :: ST_TERMINATED = #0020
          integer, parameter :: ST_INLIST = #0040
          integer, parameter :: ST_BLOCKNEXT = #0080
          integer, parameter :: ST_ISSELF = #0100
          integer, parameter :: DDE_FACK = #8000
          integer, parameter :: DDE_FBUSY = #4000
          integer, parameter :: DDE_FDEFERUPD = #4000
          integer, parameter :: DDE_FACKREQ = #8000
          integer, parameter :: DDE_FRELEASE = #2000
          integer, parameter :: DDE_FREQUESTED = #1000
          integer, parameter :: DDE_FAPPSTATUS = #00ff
          integer, parameter :: DDE_FNOTPROCESSED = #0000
          integer, parameter :: DDE_FACKRESERVED = (.NOT.(#8000 .OR. #4000 .OR. #00ff))
          integer, parameter :: DDE_FADVRESERVED = (.NOT.(#8000 .OR. #4000))
          integer, parameter :: DDE_FDATRESERVED = (.NOT.(#8000 .OR. #2000 .OR. #1000))
          integer, parameter :: DDE_FPOKRESERVED = (.NOT.(#2000))
          integer, parameter :: MSGF_DDEMGR = #8001
          integer, parameter :: CP_WINANSI = 1004
          integer, parameter :: CP_WINUNICODE = 1200
          integer, parameter :: XTYPF_NOBLOCK = #0002
          integer, parameter :: XTYPF_NODATA = #0004
          integer, parameter :: XTYPF_ACKREQ = #0008
          integer, parameter :: XCLASS_MASK = #FC00
          integer, parameter :: XCLASS_BOOL = #1000
          integer, parameter :: XCLASS_DATA = #2000
          integer, parameter :: XCLASS_FLAGS = #4000
          integer, parameter :: XCLASS_NOTIFICATION = #8000
          integer, parameter :: XTYP_ERROR = (#0000 .OR. #8000 .OR. #0002 )
          integer, parameter :: XTYP_ADVDATA = (#0010 .OR. #4000 )
          integer, parameter :: XTYP_ADVREQ = (#0020 .OR. #2000 .OR. #0002 )
          integer, parameter :: XTYP_ADVSTART = (#0030 .OR. #1000 )
          integer, parameter :: XTYP_ADVSTOP = (#0040 .OR. #8000)
          integer, parameter :: XTYP_EXECUTE = (#0050 .OR. #4000 )
          integer, parameter :: XTYP_CONNECT = (#0060 .OR. #1000 .OR. #0002)
          integer, parameter :: XTYP_CONNECT_CONFIRM = (#0070 .OR. #8000 .OR. #0002)
          integer, parameter :: XTYP_XACT_COMPLETE = (#0080 .OR. #8000 )
          integer, parameter :: XTYP_POKE = (#0090 .OR. #4000 )
          integer, parameter :: XTYP_REGISTER = (#00A0 .OR. #8000 .OR. #0002)
          integer, parameter :: XTYP_REQUEST = (#00B0 .OR. #2000 )
          integer, parameter :: XTYP_DISCONNECT = (#00C0 .OR. #8000 .OR. #0002)
          integer, parameter :: XTYP_UNREGISTER = (#00D0 .OR. #8000 .OR. #0002)
          integer, parameter :: XTYP_WILDCONNECT = (#00E0 .OR. #2000 .OR. #0002)
          integer, parameter :: XTYP_MASK = #00F0
          integer, parameter :: XTYP_SHIFT = 4
          integer, parameter :: TIMEOUT_ASYNC = #FFFFFFFF
          integer, parameter :: QID_SYNC = #FFFFFFFF
          character*6, parameter :: SZDDESYS_TOPIC = "System"
          character*6, parameter :: SZDDESYS_ITEM_TOPICS = "Topics"
          character*8, parameter :: SZDDESYS_ITEM_SYSITEMS = "SysItems"
          character*13, parameter :: SZDDESYS_ITEM_RTNMSG = "ReturnMessage"
          character*6, parameter :: SZDDESYS_ITEM_STATUS = "Status"
          character*7, parameter :: SZDDESYS_ITEM_FORMATS = "Formats"
          character*4, parameter :: SZDDESYS_ITEM_HELP = "Help"
          character*13, parameter :: SZDDE_ITEM_ITEMLIST = "TopicItemList"
          integer, parameter :: CBR_BLOCK = ( #ffffffff)
          integer, parameter :: CBF_FAIL_SELFCONNECTIONS = #00001000
          integer, parameter :: CBF_FAIL_CONNECTIONS = #00002000
          integer, parameter :: CBF_FAIL_ADVISES = #00004000
          integer, parameter :: CBF_FAIL_EXECUTES = #00008000
          integer, parameter :: CBF_FAIL_POKES = #00010000
          integer, parameter :: CBF_FAIL_REQUESTS = #00020000
          integer, parameter :: CBF_FAIL_ALLSVRXACTIONS = #0003f000
          integer, parameter :: CBF_SKIP_CONNECT_CONFIRMS = #00040000
          integer, parameter :: CBF_SKIP_REGISTRATIONS = #00080000
          integer, parameter :: CBF_SKIP_UNREGISTRATIONS = #00100000
          integer, parameter :: CBF_SKIP_DISCONNECTS = #00200000
          integer, parameter :: CBF_SKIP_ALLNOTIFICATIONS = #003c0000
          integer, parameter :: APPCMD_CLIENTONLY = #00000010
          integer, parameter :: APPCMD_FILTERINITS = #00000020
          integer, parameter :: APPCMD_MASK = #00000FF0
          integer, parameter :: APPCLASS_STANDARD = #00000000
          integer, parameter :: APPCLASS_MASK = #0000000F
          integer, parameter :: EC_ENABLEALL = 0
          integer, parameter :: EC_QUERYWAITING = 2
          integer, parameter :: DNS_REGISTER = #0001
          integer, parameter :: DNS_UNREGISTER = #0002
          integer, parameter :: DNS_FILTERON = #0004
          integer, parameter :: DNS_FILTEROFF = #0008
          integer, parameter :: HDATA_APPOWNED = #0001
          integer, parameter :: DMLERR_NO_ERROR = 0
          integer, parameter :: DMLERR_FIRST = #4000
          integer, parameter :: DMLERR_ADVACKTIMEOUT = #4000
          integer, parameter :: DMLERR_BUSY = #4001
          integer, parameter :: DMLERR_DATAACKTIMEOUT = #4002
          integer, parameter :: DMLERR_DLL_NOT_INITIALIZED = #4003
          integer, parameter :: DMLERR_DLL_USAGE = #4004
          integer, parameter :: DMLERR_EXECACKTIMEOUT = #4005
          integer, parameter :: DMLERR_INVALIDPARAMETER = #4006
          integer, parameter :: DMLERR_LOW_MEMORY = #4007
          integer, parameter :: DMLERR_MEMORY_ERROR = #4008
          integer, parameter :: DMLERR_NOTPROCESSED = #4009
          integer, parameter :: DMLERR_NO_CONV_ESTABLISHED = #400a
          integer, parameter :: DMLERR_POKEACKTIMEOUT = #400b
          integer, parameter :: DMLERR_POSTMSG_FAILED = #400c
          integer, parameter :: DMLERR_REENTRANCY = #400d
          integer, parameter :: DMLERR_SERVER_DIED = #400e
          integer, parameter :: DMLERR_SYS_ERROR = #400f
          integer, parameter :: DMLERR_UNADVACKTIMEOUT = #4010
          integer, parameter :: DMLERR_UNFOUND_QUEUE_ID = #4011
          integer, parameter :: DMLERR_LAST = #4011
          integer, parameter :: MH_CREATE = 1
          integer, parameter :: MH_KEEP = 2
          integer, parameter :: MH_DELETE = 3
          integer, parameter :: MH_CLEANUP = 4
          integer, parameter :: MAX_MONITORS = 4
          integer, parameter :: APPCLASS_MONITOR = #00000001
          integer, parameter :: XTYP_MONITOR = (#00F0 .OR. #8000 .OR. #0002)
          integer, parameter :: MF_HSZ_INFO = #01000000
          integer, parameter :: MF_SENDMSGS = #02000000
          integer, parameter :: MF_POSTMSGS = #04000000
          integer, parameter :: MF_CALLBACKS = #08000000
          integer, parameter :: MF_ERRORS = #10000000
          integer, parameter :: MF_LINKS = #20000000
          integer, parameter :: MF_CONV = #40000000
          integer, parameter :: MF_MASK = #FF000000
          integer, parameter :: ctlFirst = #0400
          integer, parameter :: ctlLast = #04ff
          integer, parameter :: psh1 = #0400
          integer, parameter :: psh2 = #0401
          integer, parameter :: psh3 = #0402
          integer, parameter :: psh4 = #0403
          integer, parameter :: psh5 = #0404
          integer, parameter :: psh6 = #0405
          integer, parameter :: psh7 = #0406
          integer, parameter :: psh8 = #0407
          integer, parameter :: psh9 = #0408
          integer, parameter :: psh10 = #0409
          integer, parameter :: psh11 = #040a
          integer, parameter :: psh12 = #040b
          integer, parameter :: psh13 = #040c
          integer, parameter :: psh14 = #040d
          integer, parameter :: psh15 = #040e
          integer, parameter :: psh16 = #040f
          integer, parameter :: chx1 = #0410
          integer, parameter :: chx2 = #0411
          integer, parameter :: chx3 = #0412
          integer, parameter :: chx4 = #0413
          integer, parameter :: chx5 = #0414
          integer, parameter :: chx6 = #0415
          integer, parameter :: chx7 = #0416
          integer, parameter :: chx8 = #0417
          integer, parameter :: chx9 = #0418
          integer, parameter :: chx10 = #0419
          integer, parameter :: chx11 = #041a
          integer, parameter :: chx12 = #041b
          integer, parameter :: chx13 = #041c
          integer, parameter :: chx14 = #041d
          integer, parameter :: chx15 = #041e
          integer, parameter :: chx16 = #041f
          integer, parameter :: rad1 = #0420
          integer, parameter :: rad2 = #0421
          integer, parameter :: rad3 = #0422
          integer, parameter :: rad4 = #0423
          integer, parameter :: rad5 = #0424
          integer, parameter :: rad6 = #0425
          integer, parameter :: rad7 = #0426
          integer, parameter :: rad8 = #0427
          integer, parameter :: rad9 = #0428
          integer, parameter :: rad10 = #0429
          integer, parameter :: rad11 = #042a
          integer, parameter :: rad12 = #042b
          integer, parameter :: rad13 = #042c
          integer, parameter :: rad14 = #042d
          integer, parameter :: rad15 = #042e
          integer, parameter :: rad16 = #042f
          integer, parameter :: grp1 = #0430
          integer, parameter :: grp2 = #0431
          integer, parameter :: grp3 = #0432
          integer, parameter :: grp4 = #0433
          integer, parameter :: frm1 = #0434
          integer, parameter :: frm2 = #0435
          integer, parameter :: frm3 = #0436
          integer, parameter :: frm4 = #0437
          integer, parameter :: rct1 = #0438
          integer, parameter :: rct2 = #0439
          integer, parameter :: rct3 = #043a
          integer, parameter :: rct4 = #043b
          integer, parameter :: ico1 = #043c
          integer, parameter :: ico2 = #043d
          integer, parameter :: ico3 = #043e
          integer, parameter :: ico4 = #043f
          integer, parameter :: stc1 = #0440
          integer, parameter :: stc2 = #0441
          integer, parameter :: stc3 = #0442
          integer, parameter :: stc4 = #0443
          integer, parameter :: stc5 = #0444
          integer, parameter :: stc6 = #0445
          integer, parameter :: stc7 = #0446
          integer, parameter :: stc8 = #0447
          integer, parameter :: stc9 = #0448
          integer, parameter :: stc10 = #0449
          integer, parameter :: stc11 = #044a
          integer, parameter :: stc12 = #044b
          integer, parameter :: stc13 = #044c
          integer, parameter :: stc14 = #044d
          integer, parameter :: stc15 = #044e
          integer, parameter :: stc16 = #044f
          integer, parameter :: stc17 = #0450
          integer, parameter :: stc18 = #0451
          integer, parameter :: stc19 = #0452
          integer, parameter :: stc20 = #0453
          integer, parameter :: stc21 = #0454
          integer, parameter :: stc22 = #0455
          integer, parameter :: stc23 = #0456
          integer, parameter :: stc24 = #0457
          integer, parameter :: stc25 = #0458
          integer, parameter :: stc26 = #0459
          integer, parameter :: stc27 = #045a
          integer, parameter :: stc28 = #045b
          integer, parameter :: stc29 = #045c
          integer, parameter :: stc30 = #045d
          integer, parameter :: stc31 = #045e
          integer, parameter :: stc32 = #045f
          integer, parameter :: lst1 = #0460
          integer, parameter :: lst2 = #0461
          integer, parameter :: lst3 = #0462
          integer, parameter :: lst4 = #0463
          integer, parameter :: lst5 = #0464
          integer, parameter :: lst6 = #0465
          integer, parameter :: lst7 = #0466
          integer, parameter :: lst8 = #0467
          integer, parameter :: lst9 = #0468
          integer, parameter :: lst10 = #0469
          integer, parameter :: lst11 = #046a
          integer, parameter :: lst12 = #046b
          integer, parameter :: lst13 = #046c
          integer, parameter :: lst14 = #046d
          integer, parameter :: lst15 = #046e
          integer, parameter :: lst16 = #046f
          integer, parameter :: cmb1 = #0470
          integer, parameter :: cmb2 = #0471
          integer, parameter :: cmb3 = #0472
          integer, parameter :: cmb4 = #0473
          integer, parameter :: cmb5 = #0474
          integer, parameter :: cmb6 = #0475
          integer, parameter :: cmb7 = #0476
          integer, parameter :: cmb8 = #0477
          integer, parameter :: cmb9 = #0478
          integer, parameter :: cmb10 = #0479
          integer, parameter :: cmb11 = #047a
          integer, parameter :: cmb12 = #047b
          integer, parameter :: cmb13 = #047c
          integer, parameter :: cmb14 = #047d
          integer, parameter :: cmb15 = #047e
          integer, parameter :: cmb16 = #047f
          integer, parameter :: edt1 = #0480
          integer, parameter :: edt2 = #0481
          integer, parameter :: edt3 = #0482
          integer, parameter :: edt4 = #0483
          integer, parameter :: edt5 = #0484
          integer, parameter :: edt6 = #0485
          integer, parameter :: edt7 = #0486
          integer, parameter :: edt8 = #0487
          integer, parameter :: edt9 = #0488
          integer, parameter :: edt10 = #0489
          integer, parameter :: edt11 = #048a
          integer, parameter :: edt12 = #048b
          integer, parameter :: edt13 = #048c
          integer, parameter :: edt14 = #048d
          integer, parameter :: edt15 = #048e
          integer, parameter :: edt16 = #048f
          integer, parameter :: scr1 = #0490
          integer, parameter :: scr2 = #0491
          integer, parameter :: scr3 = #0492
          integer, parameter :: scr4 = #0493
          integer, parameter :: scr5 = #0494
          integer, parameter :: scr6 = #0495
          integer, parameter :: scr7 = #0496
          integer, parameter :: scr8 = #0497
          integer, parameter :: ctl1 = #04A0
          integer, parameter :: FILEOPENORD = 1536
          integer, parameter :: MULTIFILEOPENORD = 1537
          integer, parameter :: PRINTDLGORD = 1538
          integer, parameter :: PRNSETUPDLGORD = 1539
          integer, parameter :: FINDDLGORD = 1540
          integer, parameter :: REPLACEDLGORD = 1541
          integer, parameter :: FONTDLGORD = 1542
          integer, parameter :: FORMATDLGORD31 = 1543
          integer, parameter :: FORMATDLGORD30 = 1544
          integer, parameter :: RUNDLGORD = 1545
          integer, parameter :: PAGESETUPDLGORD = 1546
          integer, parameter :: NEWFILEOPENORD = 1547
          integer, parameter :: PRINTDLGEXORD = 1549
          integer, parameter :: PAGESETUPDLGORDMOTIF = 1550
          integer, parameter :: COLORMGMTDLGORD = 1551
          integer, parameter :: NEWFILEOPENV2ORD = 1552
          integer, parameter :: LZERROR_BADINHANDLE = (-1)
          integer, parameter :: LZERROR_BADOUTHANDLE = (-2)
          integer, parameter :: LZERROR_READ = (-3)
          integer, parameter :: LZERROR_WRITE = (-4)
          integer, parameter :: LZERROR_GLOBALLOC = (-5)
          integer, parameter :: LZERROR_GLOBLOCK = (-6)
          integer, parameter :: LZERROR_BADVALUE = (-7)
          integer, parameter :: LZERROR_UNKNOWNALG = (-8)
          integer, parameter :: MAXPNAMELEN = 32
          integer, parameter :: MAXERRORLENGTH = 256
          integer, parameter :: MAX_JOYSTICKOEMVXDNAME = 260
          integer, parameter :: MM_MICROSOFT = 1
          integer, parameter :: MM_MIDI_MAPPER = 1
          integer, parameter :: MM_WAVE_MAPPER = 2
          integer, parameter :: MM_SNDBLST_MIDIOUT = 3
          integer, parameter :: MM_SNDBLST_MIDIIN = 4
          integer, parameter :: MM_SNDBLST_SYNTH = 5
          integer, parameter :: MM_SNDBLST_WAVEOUT = 6
          integer, parameter :: MM_SNDBLST_WAVEIN = 7
          integer, parameter :: MM_ADLIB = 9
          integer, parameter :: MM_MPU401_MIDIOUT = 10
          integer, parameter :: MM_MPU401_MIDIIN = 11
          integer, parameter :: MM_PC_JOYSTICK = 12
          integer, parameter :: TIME_MS = #0001
          integer, parameter :: TIME_SAMPLES = #0002
          integer, parameter :: TIME_BYTES = #0004
          integer, parameter :: TIME_SMPTE = #0008
          integer, parameter :: TIME_MIDI = #0010
          integer, parameter :: TIME_TICKS = #0020
          integer, parameter :: MM_JOY1MOVE = #3A0
          integer, parameter :: MM_JOY2MOVE = #3A1
          integer, parameter :: MM_JOY1ZMOVE = #3A2
          integer, parameter :: MM_JOY2ZMOVE = #3A3
          integer, parameter :: MM_JOY1BUTTONDOWN = #3B5
          integer, parameter :: MM_JOY2BUTTONDOWN = #3B6
          integer, parameter :: MM_JOY1BUTTONUP = #3B7
          integer, parameter :: MM_JOY2BUTTONUP = #3B8
          integer, parameter :: MM_MCINOTIFY = #3B9
          integer, parameter :: MM_WOM_OPEN = #3BB
          integer, parameter :: MM_WOM_CLOSE = #3BC
          integer, parameter :: MM_WOM_DONE = #3BD
          integer, parameter :: MM_WIM_OPEN = #3BE
          integer, parameter :: MM_WIM_CLOSE = #3BF
          integer, parameter :: MM_WIM_DATA = #3C0
          integer, parameter :: MM_MIM_OPEN = #3C1
          integer, parameter :: MM_MIM_CLOSE = #3C2
          integer, parameter :: MM_MIM_DATA = #3C3
          integer, parameter :: MM_MIM_LONGDATA = #3C4
          integer, parameter :: MM_MIM_ERROR = #3C5
          integer, parameter :: MM_MIM_LONGERROR = #3C6
          integer, parameter :: MM_MOM_OPEN = #3C7
          integer, parameter :: MM_MOM_CLOSE = #3C8
          integer, parameter :: MM_MOM_DONE = #3C9
          integer, parameter :: MM_DRVM_OPEN = #3D0
          integer, parameter :: MM_DRVM_CLOSE = #3D1
          integer, parameter :: MM_DRVM_DATA = #3D2
          integer, parameter :: MM_DRVM_ERROR = #3D3
          integer, parameter :: MM_STREAM_OPEN = #3D4
          integer, parameter :: MM_STREAM_CLOSE = #3D5
          integer, parameter :: MM_STREAM_DONE = #3D6
          integer, parameter :: MM_STREAM_ERROR = #3D7
          integer, parameter :: MM_MOM_POSITIONCB = #3CA
          integer, parameter :: MM_MCISIGNAL = #3CB
          integer, parameter :: MM_MIM_MOREDATA = #3CC
          integer, parameter :: MM_MIXM_LINE_CHANGE = #3D0
          integer, parameter :: MM_MIXM_CONTROL_CHANGE = #3D1
          integer, parameter :: MMSYSERR_BASE = 0
          integer, parameter :: WAVERR_BASE = 32
          integer, parameter :: MIDIERR_BASE = 64
          integer, parameter :: TIMERR_BASE = 96
          integer, parameter :: JOYERR_BASE = 160
          integer, parameter :: MCIERR_BASE = 256
          integer, parameter :: MIXERR_BASE = 1024
          integer, parameter :: MCI_STRING_OFFSET = 512
          integer, parameter :: MCI_VD_OFFSET = 1024
          integer, parameter :: MCI_CD_OFFSET = 1088
          integer, parameter :: MCI_WAVE_OFFSET = 1152
          integer, parameter :: MCI_SEQ_OFFSET = 1216
          integer, parameter :: MMSYSERR_NOERROR = 0
          integer, parameter :: MMSYSERR_ERROR = (0 + 1)
          integer, parameter :: MMSYSERR_BADDEVICEID = (0 + 2)
          integer, parameter :: MMSYSERR_NOTENABLED = (0 + 3)
          integer, parameter :: MMSYSERR_ALLOCATED = (0 + 4)
          integer, parameter :: MMSYSERR_INVALHANDLE = (0 + 5)
          integer, parameter :: MMSYSERR_NODRIVER = (0 + 6)
          integer, parameter :: MMSYSERR_NOMEM = (0 + 7)
          integer, parameter :: MMSYSERR_NOTSUPPORTED = (0 + 8)
          integer, parameter :: MMSYSERR_BADERRNUM = (0 + 9)
          integer, parameter :: MMSYSERR_INVALFLAG = (0 + 10)
          integer, parameter :: MMSYSERR_INVALPARAM = (0 + 11)
          integer, parameter :: MMSYSERR_HANDLEBUSY = (0 + 12)
          integer, parameter :: MMSYSERR_INVALIDALIAS = (0 + 13)
          integer, parameter :: MMSYSERR_BADDB = (0 + 14)
          integer, parameter :: MMSYSERR_KEYNOTFOUND = (0 + 15)
          integer, parameter :: MMSYSERR_READERROR = (0 + 16)
          integer, parameter :: MMSYSERR_WRITEERROR = (0 + 17)
          integer, parameter :: MMSYSERR_DELETEERROR = (0 + 18)
          integer, parameter :: MMSYSERR_VALNOTFOUND = (0 + 19)
          integer, parameter :: MMSYSERR_NODRIVERCB = (0 + 20)
          integer, parameter :: MMSYSERR_MOREDATA = (0 + 21)
          integer, parameter :: MMSYSERR_LASTERROR = (0 + 21)
          integer, parameter :: DRV_LOAD = #0001
          integer, parameter :: DRV_ENABLE = #0002
          integer, parameter :: DRV_OPEN = #0003
          integer, parameter :: DRV_CLOSE = #0004
          integer, parameter :: DRV_DISABLE = #0005
          integer, parameter :: DRV_FREE = #0006
          integer, parameter :: DRV_CONFIGURE = #0007
          integer, parameter :: DRV_QUERYCONFIGURE = #0008
          integer, parameter :: DRV_INSTALL = #0009
          integer, parameter :: DRV_REMOVE = #000A
          integer, parameter :: DRV_EXITSESSION = #000B
          integer, parameter :: DRV_POWER = #000F
          integer, parameter :: DRV_RESERVED = #0800
          integer, parameter :: DRV_USER = #4000
          integer, parameter :: DRVCNF_CANCEL = #0000
          integer, parameter :: DRVCNF_OK = #0001
          integer, parameter :: DRVCNF_RESTART = #0002
          integer, parameter :: DRV_MCI_LAST = (#0800 + #FFF)
          integer, parameter :: CALLBACK_TYPEMASK = #00070000
          integer, parameter :: CALLBACK_NULL = #00000000
          integer, parameter :: CALLBACK_WINDOW = #00010000
          integer, parameter :: CALLBACK_TASK = #00020000
          integer, parameter :: CALLBACK_FUNCTION = #00030000
          integer, parameter :: CALLBACK_THREAD = (#00020000)
          integer, parameter :: CALLBACK_EVENT = #00050000
          integer, parameter :: SND_SYNC = #0000
          integer, parameter :: SND_ASYNC = #0001
          integer, parameter :: SND_NODEFAULT = #0002
          integer, parameter :: SND_MEMORY = #0004
          integer, parameter :: SND_LOOP = #0008
          integer, parameter :: SND_NOSTOP = #0010
          integer, parameter :: SND_NOWAIT = #00002000
          integer, parameter :: SND_ALIAS = #00010000
          integer, parameter :: SND_ALIAS_ID = #00110000
          integer, parameter :: SND_FILENAME = #00020000
          integer, parameter :: SND_RESOURCE = #00040004
          integer, parameter :: SND_PURGE = #0040
          integer, parameter :: SND_APPLICATION = #0080
          integer, parameter :: SND_ALIAS_START = 0
    !???      integer, parameter :: SND_ALIAS_SYSTEMASTERISK = (0 +   ('S') .OR. (  ('*') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMQUESTION = (0 +   ('S') .OR. (  ('?') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMHAND = (0 +   ('S') .OR. (  ('H') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMEXIT = (0 +   ('S') .OR. (  ('E') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMSTART = (0 +   ('S') .OR. (  ('S') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMWELCOME = (0 +   ('S') .OR. (  ('W') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMEXCLAMATION = (0 +   ('S') .OR. (  ('!') * 2** 8))
    !???      integer, parameter :: SND_ALIAS_SYSTEMDEFAULT = (0 +   ('S') .OR. (  ('D') * 2** 8))
          integer, parameter :: WAVERR_BADFORMAT = (32 + 0)
          integer, parameter :: WAVERR_STILLPLAYING = (32 + 1)
          integer, parameter :: WAVERR_UNPREPARED = (32 + 2)
          integer, parameter :: WAVERR_SYNC = (32 + 3)
          integer, parameter :: WAVERR_LASTERROR = (32 + 3)
          integer, parameter :: WAVE_MAPPER = ( -1)
          integer, parameter :: WAVE_FORMAT_QUERY = #0001
          integer, parameter :: WAVE_ALLOWSYNC = #0002
          integer, parameter :: WAVE_MAPPED = #0004
          integer, parameter :: WAVE_FORMAT_DIRECT = #0008
          integer, parameter :: WAVE_FORMAT_DIRECT_QUERY = (#0001 .OR. #0008)
          integer, parameter :: WHDR_DONE = #00000001
          integer, parameter :: WHDR_PREPARED = #00000002
          integer, parameter :: WHDR_BEGINLOOP = #00000004
          integer, parameter :: WHDR_ENDLOOP = #00000008
          integer, parameter :: WHDR_INQUEUE = #00000010
          integer, parameter :: WAVECAPS_PITCH = #0001
          integer, parameter :: WAVECAPS_PLAYBACKRATE = #0002
          integer, parameter :: WAVECAPS_VOLUME = #0004
          integer, parameter :: WAVECAPS_LRVOLUME = #0008
          integer, parameter :: WAVECAPS_SYNC = #0010
          integer, parameter :: WAVECAPS_SAMPLEACCURATE = #0020
          integer, parameter :: WAVE_INVALIDFORMAT = #00000000
          integer, parameter :: WAVE_FORMAT_1M08 = #00000001
          integer, parameter :: WAVE_FORMAT_1S08 = #00000002
          integer, parameter :: WAVE_FORMAT_1M16 = #00000004
          integer, parameter :: WAVE_FORMAT_1S16 = #00000008
          integer, parameter :: WAVE_FORMAT_2M08 = #00000010
          integer, parameter :: WAVE_FORMAT_2S08 = #00000020
          integer, parameter :: WAVE_FORMAT_2M16 = #00000040
          integer, parameter :: WAVE_FORMAT_2S16 = #00000080
          integer, parameter :: WAVE_FORMAT_4M08 = #00000100
          integer, parameter :: WAVE_FORMAT_4S08 = #00000200
          integer, parameter :: WAVE_FORMAT_4M16 = #00000400
          integer, parameter :: WAVE_FORMAT_4S16 = #00000800
          integer, parameter :: WAVE_FORMAT_PCM = 1
          integer, parameter :: MIDIERR_UNPREPARED = (64 + 0)
          integer, parameter :: MIDIERR_STILLPLAYING = (64 + 1)
          integer, parameter :: MIDIERR_NOMAP = (64 + 2)
          integer, parameter :: MIDIERR_NOTREADY = (64 + 3)
          integer, parameter :: MIDIERR_NODEVICE = (64 + 4)
          integer, parameter :: MIDIERR_INVALIDSETUP = (64 + 5)
          integer, parameter :: MIDIERR_BADOPENMODE = (64 + 6)
          integer, parameter :: MIDIERR_DONT_CONTINUE = (64 + 7)
          integer, parameter :: MIDIERR_LASTERROR = (64 + 7)
          integer, parameter :: MIDIPATCHSIZE = 128
          integer, parameter :: MIDIMAPPER = ( -1)
          integer, parameter :: MIDI_MAPPER = ( -1)
          integer, parameter :: MIDI_IO_STATUS = #00000020
          integer, parameter :: MIDI_CACHE_ALL = 1
          integer, parameter :: MIDI_CACHE_BESTFIT = 2
          integer, parameter :: MIDI_CACHE_QUERY = 3
          integer, parameter :: MIDI_UNCACHE = 4
          integer, parameter :: MOD_MIDIPORT = 1
          integer, parameter :: MOD_SYNTH = 2
          integer, parameter :: MOD_SQSYNTH = 3
          integer, parameter :: MOD_FMSYNTH = 4
          integer, parameter :: MOD_MAPPER = 5
          integer, parameter :: MOD_WAVETABLE = 6
          integer, parameter :: MOD_SWSYNTH = 7
          integer, parameter :: MIDICAPS_VOLUME = #0001
          integer, parameter :: MIDICAPS_LRVOLUME = #0002
          integer, parameter :: MIDICAPS_CACHE = #0004
          integer, parameter :: MIDICAPS_STREAM = #0008
          integer, parameter :: MHDR_DONE = #00000001
          integer, parameter :: MHDR_PREPARED = #00000002
          integer, parameter :: MHDR_INQUEUE = #00000004
          integer, parameter :: MHDR_ISSTRM = #00000008
          integer, parameter :: MEVT_F_SHORT = #00000000
          integer, parameter :: MEVT_F_LONG = #80000000
          integer, parameter :: MEVT_F_CALLBACK = #40000000
          integer, parameter :: MEVT_SHORTMSG = ( #00)
          integer, parameter :: MEVT_TEMPO = ( #01)
          integer, parameter :: MEVT_NOP = ( #02)
          integer, parameter :: MEVT_LONGMSG = ( #80)
          integer, parameter :: MEVT_COMMENT = ( #82)
          integer, parameter :: MEVT_VERSION = ( #84)
          integer, parameter :: MIDISTRM_ERROR = (-2)
          integer, parameter :: MIDIPROP_SET = #80000000
          integer, parameter :: MIDIPROP_GET = #40000000
          integer, parameter :: MIDIPROP_TIMEDIV = #00000001
          integer, parameter :: MIDIPROP_TEMPO = #00000002
          integer, parameter :: AUX_MAPPER = ( -1)
          integer, parameter :: AUXCAPS_CDAUDIO = 1
          integer, parameter :: AUXCAPS_AUXIN = 2
          integer, parameter :: AUXCAPS_VOLUME = #0001
          integer, parameter :: AUXCAPS_LRVOLUME = #0002
          integer, parameter :: MIXER_SHORT_NAME_CHARS = 16
          integer, parameter :: MIXER_LONG_NAME_CHARS = 64
          integer, parameter :: MIXERR_INVALLINE = (1024 + 0)
          integer, parameter :: MIXERR_INVALCONTROL = (1024 + 1)
          integer, parameter :: MIXERR_INVALVALUE = (1024 + 2)
          integer, parameter :: MIXERR_LASTERROR = (1024 + 2)
          integer, parameter :: MIXER_OBJECTF_HANDLE = #80000000
          integer, parameter :: MIXER_OBJECTF_MIXER = #00000000
          integer, parameter :: MIXER_OBJECTF_HMIXER = (#80000000.OR.#00000000)
          integer, parameter :: MIXER_OBJECTF_WAVEOUT = #10000000
          integer, parameter :: MIXER_OBJECTF_HWAVEOUT = (#80000000.OR.#10000000)
          integer, parameter :: MIXER_OBJECTF_WAVEIN = #20000000
          integer, parameter :: MIXER_OBJECTF_HWAVEIN = (#80000000.OR.#20000000)
          integer, parameter :: MIXER_OBJECTF_MIDIOUT = #30000000
          integer, parameter :: MIXER_OBJECTF_HMIDIOUT = (#80000000.OR.#30000000)
          integer, parameter :: MIXER_OBJECTF_MIDIIN = #40000000
          integer, parameter :: MIXER_OBJECTF_HMIDIIN = (#80000000.OR.#40000000)
          integer, parameter :: MIXER_OBJECTF_AUX = #50000000
          integer, parameter :: MIXERLINE_LINEF_ACTIVE = #00000001
          integer, parameter :: MIXERLINE_LINEF_DISCONNECTED = #00008000
          integer, parameter :: MIXERLINE_LINEF_SOURCE = #80000000
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_FIRST = #00000000
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = (#00000000 + 0)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_DIGITAL = (#00000000 + 1)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_LINE = (#00000000 + 2)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_MONITOR = (#00000000 + 3)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = (#00000000 + 4)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = (#00000000 + 5)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_TELEPHONE = (#00000000 + 6)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_WAVEIN = (#00000000 + 7)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_VOICEIN = (#00000000 + 8)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_DST_LAST = (#00000000 + 8)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_FIRST = #00001000
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = (#00001000 + 0)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = (#00001000 + 1)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_LINE = (#00001000 + 2)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = (#00001000 + 3)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = (#00001000 + 4)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = (#00001000 + 5)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = (#00001000 + 6)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = (#00001000 + 7)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = (#00001000 + 8)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = (#00001000 + 9)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_ANALOG = (#00001000 + 10)
          integer, parameter :: MIXERLINE_COMPONENTTYPE_SRC_LAST = (#00001000 + 10)
          integer, parameter :: MIXERLINE_TARGETTYPE_UNDEFINED = 0
          integer, parameter :: MIXERLINE_TARGETTYPE_WAVEOUT = 1
          integer, parameter :: MIXERLINE_TARGETTYPE_WAVEIN = 2
          integer, parameter :: MIXERLINE_TARGETTYPE_MIDIOUT = 3
          integer, parameter :: MIXERLINE_TARGETTYPE_MIDIIN = 4
          integer, parameter :: MIXERLINE_TARGETTYPE_AUX = 5
          integer, parameter :: MIXER_GETLINEINFOF_DESTINATION = #00000000
          integer, parameter :: MIXER_GETLINEINFOF_SOURCE = #00000001
          integer, parameter :: MIXER_GETLINEINFOF_LINEID = #00000002
          integer, parameter :: MIXER_GETLINEINFOF_COMPONENTTYPE = #00000003
          integer, parameter :: MIXER_GETLINEINFOF_TARGETTYPE = #00000004
          integer, parameter :: MIXER_GETLINEINFOF_QUERYMASK = #0000000F
          integer, parameter :: MIXERCONTROL_CONTROLF_UNIFORM = #00000001
          integer, parameter :: MIXERCONTROL_CONTROLF_MULTIPLE = #00000002
          integer, parameter :: MIXERCONTROL_CONTROLF_DISABLED = #80000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_MASK = #F0000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_CUSTOM = #00000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_METER = #10000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_SWITCH = #20000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_NUMBER = #30000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_SLIDER = #40000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_FADER = #50000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_TIME = #60000000
          integer, parameter :: MIXERCONTROL_CT_CLASS_LIST = #70000000
          integer, parameter :: MIXERCONTROL_CT_SUBCLASS_MASK = #0F000000
          integer, parameter :: MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = #00000000
          integer, parameter :: MIXERCONTROL_CT_SC_SWITCH_BUTTON = #01000000
          integer, parameter :: MIXERCONTROL_CT_SC_METER_POLLED = #00000000
          integer, parameter :: MIXERCONTROL_CT_SC_TIME_MICROSECS = #00000000
          integer, parameter :: MIXERCONTROL_CT_SC_TIME_MILLISECS = #01000000
          integer, parameter :: MIXERCONTROL_CT_SC_LIST_SINGLE = #00000000
          integer, parameter :: MIXERCONTROL_CT_SC_LIST_MULTIPLE = #01000000
          integer, parameter :: MIXERCONTROL_CT_UNITS_MASK = #00FF0000
          integer, parameter :: MIXERCONTROL_CT_UNITS_CUSTOM = #00000000
          integer, parameter :: MIXERCONTROL_CT_UNITS_BOOLEAN = #00010000
          integer, parameter :: MIXERCONTROL_CT_UNITS_SIGNED = #00020000
          integer, parameter :: MIXERCONTROL_CT_UNITS_UNSIGNED = #00030000
          integer, parameter :: MIXERCONTROL_CT_UNITS_DECIBELS = #00040000
          integer, parameter :: MIXERCONTROL_CT_UNITS_PERCENT = #00050000
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_CUSTOM = (#00000000 .OR. #00000000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_BOOLEANMETER = (#10000000 .OR. #00000000 .OR. #00010000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = (#10000000 .OR. #00000000 .OR. #00020000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_PEAKMETER = ((#10000000 .OR. #00000000 .OR. #00020000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = (#10000000 .OR. #00000000 .OR. #00030000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_BOOLEAN = (#20000000 .OR. #00000000 .OR. #00010000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_ONOFF = ((#20000000 .OR. #00000000 .OR. #00010000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MUTE = ((#20000000 .OR. #00000000 .OR. #00010000) + 2)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MONO = ((#20000000 .OR. #00000000 .OR. #00010000) + 3)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_LOUDNESS = ((#20000000 .OR. #00000000 .OR. #00010000) + 4)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_STEREOENH = ((#20000000 .OR. #00000000 .OR. #00010000) + 5)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_BASS_BOOST = ((#20000000 .OR. #00000000 .OR. #00010000) + #00002277)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_BUTTON = (#20000000 .OR. #01000000 .OR. #00010000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_DECIBELS = (#30000000 .OR. #00040000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_SIGNED = (#30000000 .OR. #00020000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_UNSIGNED = (#30000000 .OR. #00030000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_PERCENT = (#30000000 .OR. #00050000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_SLIDER = (#40000000 .OR. #00020000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_PAN = ((#40000000 .OR. #00020000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = ((#40000000 .OR. #00020000) + 2)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_FADER = (#50000000 .OR. #00030000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_VOLUME = ((#50000000 .OR. #00030000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_BASS = ((#50000000 .OR. #00030000) + 2)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_TREBLE = ((#50000000 .OR. #00030000) + 3)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_EQUALIZER = ((#50000000 .OR. #00030000) + 4)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_SINGLESELECT = (#70000000 .OR. #00000000 .OR. #00010000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MUX = ((#70000000 .OR. #00000000 .OR. #00010000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = (#70000000 .OR. #01000000 .OR. #00010000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MIXER = ((#70000000 .OR. #01000000 .OR. #00010000) + 1)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MICROTIME = (#60000000 .OR. #00000000 .OR. #00030000)
          integer, parameter :: MIXERCONTROL_CONTROLTYPE_MILLITIME = (#60000000 .OR. #01000000 .OR. #00030000)
          integer, parameter :: MIXER_GETLINECONTROLSF_ALL = #00000000
          integer, parameter :: MIXER_GETLINECONTROLSF_ONEBYID = #00000001
          integer, parameter :: MIXER_GETLINECONTROLSF_ONEBYTYPE = #00000002
          integer, parameter :: MIXER_GETLINECONTROLSF_QUERYMASK = #0000000F
          integer, parameter :: MIXER_GETCONTROLDETAILSF_VALUE = #00000000
          integer, parameter :: MIXER_GETCONTROLDETAILSF_LISTTEXT = #00000001
          integer, parameter :: MIXER_GETCONTROLDETAILSF_QUERYMASK = #0000000F
          integer, parameter :: MIXER_SETCONTROLDETAILSF_VALUE = #00000000
          integer, parameter :: MIXER_SETCONTROLDETAILSF_CUSTOM = #00000001
          integer, parameter :: MIXER_SETCONTROLDETAILSF_QUERYMASK = #0000000F
          integer, parameter :: TIMERR_NOERROR = (0)
          integer, parameter :: TIMERR_NOCANDO = (96+1)
          integer, parameter :: TIMERR_STRUCT = (96+33)
          integer, parameter :: TIME_ONESHOT = #0000
          integer, parameter :: TIME_PERIODIC = #0001
          integer, parameter :: TIME_CALLBACK_FUNCTION = #0000
          integer, parameter :: TIME_CALLBACK_EVENT_SET = #0010
          integer, parameter :: TIME_CALLBACK_EVENT_PULSE = #0020
          integer, parameter :: JOYERR_NOERROR = (0)
          integer, parameter :: JOYERR_PARMS = (160+5)
          integer, parameter :: JOYERR_NOCANDO = (160+6)
          integer, parameter :: JOYERR_UNPLUGGED = (160+7)
          integer, parameter :: JOY_BUTTON1 = #0001
          integer, parameter :: JOY_BUTTON2 = #0002
          integer, parameter :: JOY_BUTTON3 = #0004
          integer, parameter :: JOY_BUTTON4 = #0008
          integer, parameter :: JOY_BUTTON1CHG = #0100
          integer, parameter :: JOY_BUTTON2CHG = #0200
          integer, parameter :: JOY_BUTTON3CHG = #0400
          integer, parameter :: JOY_BUTTON4CHG = #0800
          integer, parameter :: JOY_BUTTON5 = #00000010
          integer, parameter :: JOY_BUTTON6 = #00000020
          integer, parameter :: JOY_BUTTON7 = #00000040
          integer, parameter :: JOY_BUTTON8 = #00000080
          integer, parameter :: JOY_BUTTON9 = #00000100
          integer, parameter :: JOY_BUTTON10 = #00000200
          integer, parameter :: JOY_BUTTON11 = #00000400
          integer, parameter :: JOY_BUTTON12 = #00000800
          integer, parameter :: JOY_BUTTON13 = #00001000
          integer, parameter :: JOY_BUTTON14 = #00002000
          integer, parameter :: JOY_BUTTON15 = #00004000
          integer, parameter :: JOY_BUTTON16 = #00008000
          integer, parameter :: JOY_BUTTON17 = #00010000
          integer, parameter :: JOY_BUTTON18 = #00020000
          integer, parameter :: JOY_BUTTON19 = #00040000
          integer, parameter :: JOY_BUTTON20 = #00080000
          integer, parameter :: JOY_BUTTON21 = #00100000
          integer, parameter :: JOY_BUTTON22 = #00200000
          integer, parameter :: JOY_BUTTON23 = #00400000
          integer, parameter :: JOY_BUTTON24 = #00800000
          integer, parameter :: JOY_BUTTON25 = #01000000
          integer, parameter :: JOY_BUTTON26 = #02000000
          integer, parameter :: JOY_BUTTON27 = #04000000
          integer, parameter :: JOY_BUTTON28 = #08000000
          integer, parameter :: JOY_BUTTON29 = #10000000
          integer, parameter :: JOY_BUTTON30 = #20000000
          integer, parameter :: JOY_BUTTON31 = #40000000
          integer, parameter :: JOY_BUTTON32 = #80000000
          integer, parameter :: JOY_POVCENTERED =   -1
          integer, parameter :: JOY_POVFORWARD = 0
          integer, parameter :: JOY_POVRIGHT = 9000
          integer, parameter :: JOY_POVBACKWARD = 18000
          integer, parameter :: JOY_POVLEFT = 27000
          integer, parameter :: JOY_RETURNX = #00000001
          integer, parameter :: JOY_RETURNY = #00000002
          integer, parameter :: JOY_RETURNZ = #00000004
          integer, parameter :: JOY_RETURNR = #00000008
          integer, parameter :: JOY_RETURNU = #00000010
          integer, parameter :: JOY_RETURNV = #00000020
          integer, parameter :: JOY_RETURNPOV = #00000040
          integer, parameter :: JOY_RETURNBUTTONS = #00000080
          integer, parameter :: JOY_RETURNRAWDATA = #00000100
          integer, parameter :: JOY_RETURNPOVCTS = #00000200
          integer, parameter :: JOY_RETURNCENTERED = #00000400
          integer, parameter :: JOY_USEDEADZONE = #00000800
          integer, parameter :: JOY_RETURNALL = (#00000001 .OR. #00000002 .OR. #00000004 .OR.  #00000008 .OR. #00000010 .OR. #00000020 .OR.  #00000040 .OR. #00000080)
          integer, parameter :: JOY_CAL_READALWAYS = #00010000
          integer, parameter :: JOY_CAL_READXYONLY = #00020000
          integer, parameter :: JOY_CAL_READ3 = #00040000
          integer, parameter :: JOY_CAL_READ4 = #00080000
          integer, parameter :: JOY_CAL_READXONLY = #00100000
          integer, parameter :: JOY_CAL_READYONLY = #00200000
          integer, parameter :: JOY_CAL_READ5 = #00400000
          integer, parameter :: JOY_CAL_READ6 = #00800000
          integer, parameter :: JOY_CAL_READZONLY = #01000000
          integer, parameter :: JOY_CAL_READRONLY = #02000000
          integer, parameter :: JOY_CAL_READUONLY = #04000000
          integer, parameter :: JOY_CAL_READVONLY = #08000000
          integer, parameter :: JOYSTICKID1 = 0
          integer, parameter :: JOYSTICKID2 = 1
          integer, parameter :: JOYCAPS_HASZ = #0001
          integer, parameter :: JOYCAPS_HASR = #0002
          integer, parameter :: JOYCAPS_HASU = #0004
          integer, parameter :: JOYCAPS_HASV = #0008
          integer, parameter :: JOYCAPS_HASPOV = #0010
          integer, parameter :: JOYCAPS_POV4DIR = #0020
          integer, parameter :: JOYCAPS_POVCTS = #0040
          integer, parameter :: MMIOERR_BASE = 256
          integer, parameter :: MMIOERR_FILENOTFOUND = (256 + 1)
          integer, parameter :: MMIOERR_OUTOFMEMORY = (256 + 2)
          integer, parameter :: MMIOERR_CANNOTOPEN = (256 + 3)
          integer, parameter :: MMIOERR_CANNOTCLOSE = (256 + 4)
          integer, parameter :: MMIOERR_CANNOTREAD = (256 + 5)
          integer, parameter :: MMIOERR_CANNOTWRITE = (256 + 6)
          integer, parameter :: MMIOERR_CANNOTSEEK = (256 + 7)
          integer, parameter :: MMIOERR_CANNOTEXPAND = (256 + 8)
          integer, parameter :: MMIOERR_CHUNKNOTFOUND = (256 + 9)
          integer, parameter :: MMIOERR_UNBUFFERED = (256 + 10)
          integer, parameter :: MMIOERR_PATHNOTFOUND = (256 + 11)
          integer, parameter :: MMIOERR_ACCESSDENIED = (256 + 12)
          integer, parameter :: MMIOERR_SHARINGVIOLATION = (256 + 13)
          integer, parameter :: MMIOERR_NETWORKERROR = (256 + 14)
          integer, parameter :: MMIOERR_TOOMANYOPENFILES = (256 + 15)
          integer, parameter :: MMIOERR_INVALIDFILE = (256 + 16)
          integer, parameter :: MMIO_RWMODE = #00000003
          integer, parameter :: MMIO_SHAREMODE = #00000070
          integer, parameter :: MMIO_CREATE = #00001000
          integer, parameter :: MMIO_PARSE = #00000100
          integer, parameter :: MMIO_DELETE = #00000200
          integer, parameter :: MMIO_EXIST = #00004000
          integer, parameter :: MMIO_ALLOCBUF = #00010000
          integer, parameter :: MMIO_GETTEMP = #00020000
          integer, parameter :: MMIO_DIRTY = #10000000
          integer, parameter :: MMIO_READ = #00000000
          integer, parameter :: MMIO_WRITE = #00000001
          integer, parameter :: MMIO_READWRITE = #00000002
          integer, parameter :: MMIO_COMPAT = #00000000
          integer, parameter :: MMIO_EXCLUSIVE = #00000010
          integer, parameter :: MMIO_DENYWRITE = #00000020
          integer, parameter :: MMIO_DENYREAD = #00000030
          integer, parameter :: MMIO_DENYNONE = #00000040
          integer, parameter :: MMIO_FHOPEN = #0010
          integer, parameter :: MMIO_EMPTYBUF = #0010
          integer, parameter :: MMIO_TOUPPER = #0010
          integer, parameter :: MMIO_INSTALLPROC = #00010000
          integer, parameter :: MMIO_GLOBALPROC = #10000000
          integer, parameter :: MMIO_REMOVEPROC = #00020000
          integer, parameter :: MMIO_UNICODEPROC = #01000000
          integer, parameter :: MMIO_FINDPROC = #00040000
          integer, parameter :: MMIO_FINDCHUNK = #0010
          integer, parameter :: MMIO_FINDRIFF = #0020
          integer, parameter :: MMIO_FINDLIST = #0040
          integer, parameter :: MMIO_CREATERIFF = #0020
          integer, parameter :: MMIO_CREATELIST = #0040
          integer, parameter :: MMIOM_SEEK = 2
          integer, parameter :: MMIOM_OPEN = 3
          integer, parameter :: MMIOM_CLOSE = 4
          integer, parameter :: MMIOM_WRITEFLUSH = 5
          integer, parameter :: MMIOM_RENAME = 6
          integer, parameter :: MMIOM_USER = #8000
    !???      integer, parameter :: FOURCC_RIFF = mmioFOURCC('R', 'I', 'F', 'F')
    !???      integer, parameter :: FOURCC_LIST = mmioFOURCC('L', 'I', 'S', 'T')
    !???      integer, parameter :: FOURCC_DOS = mmioFOURCC('D', 'O', 'S', ' ')
    !???      integer, parameter :: FOURCC_MEM = mmioFOURCC('M', 'E', 'M', ' ')
          integer, parameter :: SEEK_SET = 0
          integer, parameter :: SEEK_CUR = 1
          integer, parameter :: SEEK_END = 2
          integer, parameter :: MMIO_DEFAULTBUFFER = 8192
          integer, parameter :: MCIERR_INVALID_DEVICE_ID = (256 + 1)
          integer, parameter :: MCIERR_UNRECOGNIZED_KEYWORD = (256 + 3)
          integer, parameter :: MCIERR_UNRECOGNIZED_COMMAND = (256 + 5)
          integer, parameter :: MCIERR_HARDWARE = (256 + 6)
          integer, parameter :: MCIERR_INVALID_DEVICE_NAME = (256 + 7)
          integer, parameter :: MCIERR_OUT_OF_MEMORY = (256 + 8)
          integer, parameter :: MCIERR_DEVICE_OPEN = (256 + 9)
          integer, parameter :: MCIERR_CANNOT_LOAD_DRIVER = (256 + 10)
          integer, parameter :: MCIERR_MISSING_COMMAND_STRING = (256 + 11)
          integer, parameter :: MCIERR_PARAM_OVERFLOW = (256 + 12)
          integer, parameter :: MCIERR_MISSING_STRING_ARGUMENT = (256 + 13)
          integer, parameter :: MCIERR_BAD_INTEGER = (256 + 14)
          integer, parameter :: MCIERR_PARSER_INTERNAL = (256 + 15)
          integer, parameter :: MCIERR_DRIVER_INTERNAL = (256 + 16)
          integer, parameter :: MCIERR_MISSING_PARAMETER = (256 + 17)
          integer, parameter :: MCIERR_UNSUPPORTED_FUNCTION = (256 + 18)
          integer, parameter :: MCIERR_FILE_NOT_FOUND = (256 + 19)
          integer, parameter :: MCIERR_DEVICE_NOT_READY = (256 + 20)
          integer, parameter :: MCIERR_INTERNAL = (256 + 21)
          integer, parameter :: MCIERR_DRIVER = (256 + 22)
          integer, parameter :: MCIERR_CANNOT_USE_ALL = (256 + 23)
          integer, parameter :: MCIERR_MULTIPLE = (256 + 24)
          integer, parameter :: MCIERR_EXTENSION_NOT_FOUND = (256 + 25)
          integer, parameter :: MCIERR_OUTOFRANGE = (256 + 26)
          integer, parameter :: MCIERR_FLAGS_NOT_COMPATIBLE = (256 + 28)
          integer, parameter :: MCIERR_FILE_NOT_SAVED = (256 + 30)
          integer, parameter :: MCIERR_DEVICE_TYPE_REQUIRED = (256 + 31)
          integer, parameter :: MCIERR_DEVICE_LOCKED = (256 + 32)
          integer, parameter :: MCIERR_DUPLICATE_ALIAS = (256 + 33)
          integer, parameter :: MCIERR_BAD_CONSTANT = (256 + 34)
          integer, parameter :: MCIERR_MUST_USE_SHAREABLE = (256 + 35)
          integer, parameter :: MCIERR_MISSING_DEVICE_NAME = (256 + 36)
          integer, parameter :: MCIERR_BAD_TIME_FORMAT = (256 + 37)
          integer, parameter :: MCIERR_NO_CLOSING_QUOTE = (256 + 38)
          integer, parameter :: MCIERR_DUPLICATE_FLAGS = (256 + 39)
          integer, parameter :: MCIERR_INVALID_FILE = (256 + 40)
          integer, parameter :: MCIERR_NULL_PARAMETER_BLOCK = (256 + 41)
          integer, parameter :: MCIERR_UNNAMED_RESOURCE = (256 + 42)
          integer, parameter :: MCIERR_NEW_REQUIRES_ALIAS = (256 + 43)
          integer, parameter :: MCIERR_NOTIFY_ON_AUTO_OPEN = (256 + 44)
          integer, parameter :: MCIERR_NO_ELEMENT_ALLOWED = (256 + 45)
          integer, parameter :: MCIERR_NONAPPLICABLE_FUNCTION = (256 + 46)
          integer, parameter :: MCIERR_ILLEGAL_FOR_AUTO_OPEN = (256 + 47)
          integer, parameter :: MCIERR_FILENAME_REQUIRED = (256 + 48)
          integer, parameter :: MCIERR_EXTRA_CHARACTERS = (256 + 49)
          integer, parameter :: MCIERR_DEVICE_NOT_INSTALLED = (256 + 50)
          integer, parameter :: MCIERR_GET_CD = (256 + 51)
          integer, parameter :: MCIERR_SET_CD = (256 + 52)
          integer, parameter :: MCIERR_SET_DRIVE = (256 + 53)
          integer, parameter :: MCIERR_DEVICE_LENGTH = (256 + 54)
          integer, parameter :: MCIERR_DEVICE_ORD_LENGTH = (256 + 55)
          integer, parameter :: MCIERR_NO_INTEGER = (256 + 56)
          integer, parameter :: MCIERR_WAVE_OUTPUTSINUSE = (256 + 64)
          integer, parameter :: MCIERR_WAVE_SETOUTPUTINUSE = (256 + 65)
          integer, parameter :: MCIERR_WAVE_INPUTSINUSE = (256 + 66)
          integer, parameter :: MCIERR_WAVE_SETINPUTINUSE = (256 + 67)
          integer, parameter :: MCIERR_WAVE_OUTPUTUNSPECIFIED = (256 + 68)
          integer, parameter :: MCIERR_WAVE_INPUTUNSPECIFIED = (256 + 69)
          integer, parameter :: MCIERR_WAVE_OUTPUTSUNSUITABLE = (256 + 70)
          integer, parameter :: MCIERR_WAVE_SETOUTPUTUNSUITABLE = (256 + 71)
          integer, parameter :: MCIERR_WAVE_INPUTSUNSUITABLE = (256 + 72)
          integer, parameter :: MCIERR_WAVE_SETINPUTUNSUITABLE = (256 + 73)
          integer, parameter :: MCIERR_SEQ_DIV_INCOMPATIBLE = (256 + 80)
          integer, parameter :: MCIERR_SEQ_PORT_INUSE = (256 + 81)
          integer, parameter :: MCIERR_SEQ_PORT_NONEXISTENT = (256 + 82)
          integer, parameter :: MCIERR_SEQ_PORT_MAPNODEVICE = (256 + 83)
          integer, parameter :: MCIERR_SEQ_PORT_MISCERROR = (256 + 84)
          integer, parameter :: MCIERR_SEQ_TIMER = (256 + 85)
          integer, parameter :: MCIERR_SEQ_PORTUNSPECIFIED = (256 + 86)
          integer, parameter :: MCIERR_SEQ_NOMIDIPRESENT = (256 + 87)
          integer, parameter :: MCIERR_NO_WINDOW = (256 + 90)
          integer, parameter :: MCIERR_CREATEWINDOW = (256 + 91)
          integer, parameter :: MCIERR_FILE_READ = (256 + 92)
          integer, parameter :: MCIERR_FILE_WRITE = (256 + 93)
          integer, parameter :: MCIERR_NO_IDENTITY = (256 + 94)
          integer, parameter :: MCIERR_CUSTOM_DRIVER_BASE = (256 + 256)
          integer, parameter :: MCI_OPEN = #0803
          integer, parameter :: MCI_CLOSE = #0804
          integer, parameter :: MCI_ESCAPE = #0805
          integer, parameter :: MCI_PLAY = #0806
          integer, parameter :: MCI_SEEK = #0807
          integer, parameter :: MCI_STOP = #0808
          integer, parameter :: MCI_PAUSE = #0809
          integer, parameter :: MCI_INFO = #080A
          integer, parameter :: MCI_GETDEVCAPS = #080B
          integer, parameter :: MCI_SPIN = #080C
          integer, parameter :: MCI_SET = #080D
          integer, parameter :: MCI_STEP = #080E
          integer, parameter :: MCI_RECORD = #080F
          integer, parameter :: MCI_SYSINFO = #0810
          integer, parameter :: MCI_BREAK = #0811
          integer, parameter :: MCI_SAVE = #0813
          integer, parameter :: MCI_STATUS = #0814
          integer, parameter :: MCI_CUE = #0830
          integer, parameter :: MCI_REALIZE = #0840
          integer, parameter :: MCI_WINDOW = #0841
          integer, parameter :: MCI_PUT = #0842
          integer, parameter :: MCI_WHERE = #0843
          integer, parameter :: MCI_FREEZE = #0844
          integer, parameter :: MCI_UNFREEZE = #0845
          integer, parameter :: MCI_LOAD = #0850
          integer, parameter :: MCI_CUT = #0851
          integer, parameter :: MCI_COPY = #0852
          integer, parameter :: MCI_PASTE = #0853
          integer, parameter :: MCI_UPDATE = #0854
          integer, parameter :: MCI_RESUME = #0855
          integer, parameter :: MCI_DELETE = #0856
          integer, parameter :: MCI_USER_MESSAGES = (#0800 + #400)
          integer, parameter :: MCI_LAST = #0FFF
          integer, parameter :: MCI_ALL_DEVICE_ID = ( -1)
          integer, parameter :: MCI_DEVTYPE_VCR = 513
          integer, parameter :: MCI_DEVTYPE_VIDEODISC = 514
          integer, parameter :: MCI_DEVTYPE_OVERLAY = 515
          integer, parameter :: MCI_DEVTYPE_CD_AUDIO = 516
          integer, parameter :: MCI_DEVTYPE_DAT = 517
          integer, parameter :: MCI_DEVTYPE_SCANNER = 518
          integer, parameter :: MCI_DEVTYPE_ANIMATION = 519
          integer, parameter :: MCI_DEVTYPE_DIGITAL_VIDEO = 520
          integer, parameter :: MCI_DEVTYPE_OTHER = 521
          integer, parameter :: MCI_DEVTYPE_WAVEFORM_AUDIO = 522
          integer, parameter :: MCI_DEVTYPE_SEQUENCER = 523
          integer, parameter :: MCI_DEVTYPE_FIRST_USER = #1000
          integer, parameter :: MCI_MODE_NOT_READY = (512 + 12)
          integer, parameter :: MCI_MODE_STOP = (512 + 13)
          integer, parameter :: MCI_MODE_PLAY = (512 + 14)
          integer, parameter :: MCI_MODE_RECORD = (512 + 15)
          integer, parameter :: MCI_MODE_SEEK = (512 + 16)
          integer, parameter :: MCI_MODE_PAUSE = (512 + 17)
          integer, parameter :: MCI_MODE_OPEN = (512 + 18)
          integer, parameter :: MCI_FORMAT_MILLISECONDS = 0
          integer, parameter :: MCI_FORMAT_HMS = 1
          integer, parameter :: MCI_FORMAT_MSF = 2
          integer, parameter :: MCI_FORMAT_FRAMES = 3
          integer, parameter :: MCI_FORMAT_SMPTE_24 = 4
          integer, parameter :: MCI_FORMAT_SMPTE_25 = 5
          integer, parameter :: MCI_FORMAT_SMPTE_30 = 6
          integer, parameter :: MCI_FORMAT_SMPTE_30DROP = 7
          integer, parameter :: MCI_FORMAT_BYTES = 8
          integer, parameter :: MCI_FORMAT_SAMPLES = 9
          integer, parameter :: MCI_FORMAT_TMSF = 10
          integer, parameter :: MCI_NOTIFY_SUCCESSFUL = #0001
          integer, parameter :: MCI_NOTIFY_SUPERSEDED = #0002
          integer, parameter :: MCI_NOTIFY_ABORTED = #0004
          integer, parameter :: MCI_NOTIFY_FAILURE = #0008
          integer, parameter :: MCI_NOTIFY = #00000001
          integer, parameter :: MCI_WAIT = #00000002
          integer, parameter :: MCI_FROM = #00000004
          integer, parameter :: MCI_TO = #00000008
          integer, parameter :: MCI_TRACK = #00000010
          integer, parameter :: MCI_OPEN_SHAREABLE = #00000100
          integer, parameter :: MCI_OPEN_ELEMENT = #00000200
          integer, parameter :: MCI_OPEN_ALIAS = #00000400
          integer, parameter :: MCI_OPEN_ELEMENT_ID = #00000800
          integer, parameter :: MCI_OPEN_TYPE_ID = #00001000
          integer, parameter :: MCI_OPEN_TYPE = #00002000
          integer, parameter :: MCI_SEEK_TO_START = #00000100
          integer, parameter :: MCI_SEEK_TO_END = #00000200
          integer, parameter :: MCI_STATUS_ITEM = #00000100
          integer, parameter :: MCI_STATUS_START = #00000200
          integer, parameter :: MCI_STATUS_LENGTH = #00000001
          integer, parameter :: MCI_STATUS_POSITION = #00000002
          integer, parameter :: MCI_STATUS_NUMBER_OF_TRACKS = #00000003
          integer, parameter :: MCI_STATUS_MODE = #00000004
          integer, parameter :: MCI_STATUS_MEDIA_PRESENT = #00000005
          integer, parameter :: MCI_STATUS_TIME_FORMAT = #00000006
          integer, parameter :: MCI_STATUS_READY = #00000007
          integer, parameter :: MCI_STATUS_CURRENT_TRACK = #00000008
          integer, parameter :: MCI_INFO_PRODUCT = #00000100
          integer, parameter :: MCI_INFO_FILE = #00000200
          integer, parameter :: MCI_INFO_MEDIA_UPC = #00000400
          integer, parameter :: MCI_INFO_MEDIA_IDENTITY = #00000800
          integer, parameter :: MCI_INFO_NAME = #00001000
          integer, parameter :: MCI_INFO_COPYRIGHT = #00002000
          integer, parameter :: MCI_GETDEVCAPS_ITEM = #00000100
          integer, parameter :: MCI_GETDEVCAPS_CAN_RECORD = #00000001
          integer, parameter :: MCI_GETDEVCAPS_HAS_AUDIO = #00000002
          integer, parameter :: MCI_GETDEVCAPS_HAS_VIDEO = #00000003
          integer, parameter :: MCI_GETDEVCAPS_DEVICE_TYPE = #00000004
          integer, parameter :: MCI_GETDEVCAPS_USES_FILES = #00000005
          integer, parameter :: MCI_GETDEVCAPS_COMPOUND_DEVICE = #00000006
          integer, parameter :: MCI_GETDEVCAPS_CAN_EJECT = #00000007
          integer, parameter :: MCI_GETDEVCAPS_CAN_PLAY = #00000008
          integer, parameter :: MCI_GETDEVCAPS_CAN_SAVE = #00000009
          integer, parameter :: MCI_SYSINFO_QUANTITY = #00000100
          integer, parameter :: MCI_SYSINFO_OPEN = #00000200
          integer, parameter :: MCI_SYSINFO_NAME = #00000400
          integer, parameter :: MCI_SYSINFO_INSTALLNAME = #00000800
          integer, parameter :: MCI_SET_DOOR_OPEN = #00000100
          integer, parameter :: MCI_SET_DOOR_CLOSED = #00000200
          integer, parameter :: MCI_SET_TIME_FORMAT = #00000400
          integer, parameter :: MCI_SET_AUDIO = #00000800
          integer, parameter :: MCI_SET_VIDEO = #00001000
          integer, parameter :: MCI_SET_ON = #00002000
          integer, parameter :: MCI_SET_OFF = #00004000
          integer, parameter :: MCI_SET_AUDIO_ALL = #00000000
          integer, parameter :: MCI_SET_AUDIO_LEFT = #00000001
          integer, parameter :: MCI_SET_AUDIO_RIGHT = #00000002
          integer, parameter :: MCI_BREAK_KEY = #00000100
          integer, parameter :: MCI_BREAK_HWND = #00000200
          integer, parameter :: MCI_BREAK_OFF = #00000400
          integer, parameter :: MCI_RECORD_INSERT = #00000100
          integer, parameter :: MCI_RECORD_OVERWRITE = #00000200
          integer, parameter :: MCI_SAVE_FILE = #00000100
          integer, parameter :: MCI_LOAD_FILE = #00000100
          integer, parameter :: MCI_VD_MODE_PARK = (1024 + 1)
          integer, parameter :: MCI_VD_MEDIA_CLV = (1024 + 2)
          integer, parameter :: MCI_VD_MEDIA_CAV = (1024 + 3)
          integer, parameter :: MCI_VD_MEDIA_OTHER = (1024 + 4)
          integer, parameter :: MCI_VD_FORMAT_TRACK = #4001
          integer, parameter :: MCI_VD_PLAY_REVERSE = #00010000
          integer, parameter :: MCI_VD_PLAY_FAST = #00020000
          integer, parameter :: MCI_VD_PLAY_SPEED = #00040000
          integer, parameter :: MCI_VD_PLAY_SCAN = #00080000
          integer, parameter :: MCI_VD_PLAY_SLOW = #00100000
          integer, parameter :: MCI_VD_SEEK_REVERSE = #00010000
          integer, parameter :: MCI_VD_STATUS_SPEED = #00004002
          integer, parameter :: MCI_VD_STATUS_FORWARD = #00004003
          integer, parameter :: MCI_VD_STATUS_MEDIA_TYPE = #00004004
          integer, parameter :: MCI_VD_STATUS_SIDE = #00004005
          integer, parameter :: MCI_VD_STATUS_DISC_SIZE = #00004006
          integer, parameter :: MCI_VD_GETDEVCAPS_CLV = #00010000
          integer, parameter :: MCI_VD_GETDEVCAPS_CAV = #00020000
          integer, parameter :: MCI_VD_SPIN_UP = #00010000
          integer, parameter :: MCI_VD_SPIN_DOWN = #00020000
          integer, parameter :: MCI_VD_GETDEVCAPS_CAN_REVERSE = #00004002
          integer, parameter :: MCI_VD_GETDEVCAPS_FAST_RATE = #00004003
          integer, parameter :: MCI_VD_GETDEVCAPS_SLOW_RATE = #00004004
          integer, parameter :: MCI_VD_GETDEVCAPS_NORMAL_RATE = #00004005
          integer, parameter :: MCI_VD_STEP_FRAMES = #00010000
          integer, parameter :: MCI_VD_STEP_REVERSE = #00020000
          integer, parameter :: MCI_VD_ESCAPE_STRING = #00000100
          integer, parameter :: MCI_CDA_STATUS_TYPE_TRACK = #00004001
          integer, parameter :: MCI_CDA_TRACK_AUDIO = (1088 + 0)
          integer, parameter :: MCI_CDA_TRACK_OTHER = (1088 + 1)
          integer, parameter :: MCI_WAVE_PCM = (1152 + 0)
          integer, parameter :: MCI_WAVE_MAPPER = (1152 + 1)
          integer, parameter :: MCI_WAVE_OPEN_BUFFER = #00010000
          integer, parameter :: MCI_WAVE_SET_FORMATTAG = #00010000
          integer, parameter :: MCI_WAVE_SET_CHANNELS = #00020000
          integer, parameter :: MCI_WAVE_SET_SAMPLESPERSEC = #00040000
          integer, parameter :: MCI_WAVE_SET_AVGBYTESPERSEC = #00080000
          integer, parameter :: MCI_WAVE_SET_BLOCKALIGN = #00100000
          integer, parameter :: MCI_WAVE_SET_BITSPERSAMPLE = #00200000
          integer, parameter :: MCI_WAVE_INPUT = #00400000
          integer, parameter :: MCI_WAVE_OUTPUT = #00800000
          integer, parameter :: MCI_WAVE_STATUS_FORMATTAG = #00004001
          integer, parameter :: MCI_WAVE_STATUS_CHANNELS = #00004002
          integer, parameter :: MCI_WAVE_STATUS_SAMPLESPERSEC = #00004003
          integer, parameter :: MCI_WAVE_STATUS_AVGBYTESPERSEC = #00004004
          integer, parameter :: MCI_WAVE_STATUS_BLOCKALIGN = #00004005
          integer, parameter :: MCI_WAVE_STATUS_BITSPERSAMPLE = #00004006
          integer, parameter :: MCI_WAVE_STATUS_LEVEL = #00004007
          integer, parameter :: MCI_WAVE_SET_ANYINPUT = #04000000
          integer, parameter :: MCI_WAVE_SET_ANYOUTPUT = #08000000
          integer, parameter :: MCI_WAVE_GETDEVCAPS_INPUTS = #00004001
          integer, parameter :: MCI_WAVE_GETDEVCAPS_OUTPUTS = #00004002
          integer, parameter :: MCI_SEQ_DIV_PPQN = (0 + 1216)
          integer, parameter :: MCI_SEQ_DIV_SMPTE_24 = (1 + 1216)
          integer, parameter :: MCI_SEQ_DIV_SMPTE_25 = (2 + 1216)
          integer, parameter :: MCI_SEQ_DIV_SMPTE_30DROP = (3 + 1216)
          integer, parameter :: MCI_SEQ_DIV_SMPTE_30 = (4 + 1216)
          integer, parameter :: MCI_SEQ_FORMAT_SONGPTR = #4001
          integer, parameter :: MCI_SEQ_FILE = #4002
          integer, parameter :: MCI_SEQ_MIDI = #4003
          integer, parameter :: MCI_SEQ_SMPTE = #4004
          integer, parameter :: MCI_SEQ_NONE = 65533
          integer, parameter :: MCI_SEQ_MAPPER = 65535
          integer, parameter :: MCI_SEQ_STATUS_TEMPO = #00004002
          integer, parameter :: MCI_SEQ_STATUS_PORT = #00004003
          integer, parameter :: MCI_SEQ_STATUS_SLAVE = #00004007
          integer, parameter :: MCI_SEQ_STATUS_MASTER = #00004008
          integer, parameter :: MCI_SEQ_STATUS_OFFSET = #00004009
          integer, parameter :: MCI_SEQ_STATUS_DIVTYPE = #0000400A
          integer, parameter :: MCI_SEQ_STATUS_NAME = #0000400B
          integer, parameter :: MCI_SEQ_STATUS_COPYRIGHT = #0000400C
          integer, parameter :: MCI_SEQ_SET_TEMPO = #00010000
          integer, parameter :: MCI_SEQ_SET_PORT = #00020000
          integer, parameter :: MCI_SEQ_SET_SLAVE = #00040000
          integer, parameter :: MCI_SEQ_SET_MASTER = #00080000
          integer, parameter :: MCI_SEQ_SET_OFFSET = #01000000
          integer, parameter :: MCI_ANIM_OPEN_WS = #00010000
          integer, parameter :: MCI_ANIM_OPEN_PARENT = #00020000
          integer, parameter :: MCI_ANIM_OPEN_NOSTATIC = #00040000
          integer, parameter :: MCI_ANIM_PLAY_SPEED = #00010000
          integer, parameter :: MCI_ANIM_PLAY_REVERSE = #00020000
          integer, parameter :: MCI_ANIM_PLAY_FAST = #00040000
          integer, parameter :: MCI_ANIM_PLAY_SLOW = #00080000
          integer, parameter :: MCI_ANIM_PLAY_SCAN = #00100000
          integer, parameter :: MCI_ANIM_STEP_REVERSE = #00010000
          integer, parameter :: MCI_ANIM_STEP_FRAMES = #00020000
          integer, parameter :: MCI_ANIM_STATUS_SPEED = #00004001
          integer, parameter :: MCI_ANIM_STATUS_FORWARD = #00004002
          integer, parameter :: MCI_ANIM_STATUS_HWND = #00004003
          integer, parameter :: MCI_ANIM_STATUS_HPAL = #00004004
          integer, parameter :: MCI_ANIM_STATUS_STRETCH = #00004005
          integer, parameter :: MCI_ANIM_INFO_TEXT = #00010000
          integer, parameter :: MCI_ANIM_GETDEVCAPS_CAN_REVERSE = #00004001
          integer, parameter :: MCI_ANIM_GETDEVCAPS_FAST_RATE = #00004002
          integer, parameter :: MCI_ANIM_GETDEVCAPS_SLOW_RATE = #00004003
          integer, parameter :: MCI_ANIM_GETDEVCAPS_NORMAL_RATE = #00004004
          integer, parameter :: MCI_ANIM_GETDEVCAPS_PALETTES = #00004006
          integer, parameter :: MCI_ANIM_GETDEVCAPS_CAN_STRETCH = #00004007
          integer, parameter :: MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = #00004008
          integer, parameter :: MCI_ANIM_REALIZE_NORM = #00010000
          integer, parameter :: MCI_ANIM_REALIZE_BKGD = #00020000
          integer, parameter :: MCI_ANIM_WINDOW_HWND = #00010000
          integer, parameter :: MCI_ANIM_WINDOW_STATE = #00040000
          integer, parameter :: MCI_ANIM_WINDOW_TEXT = #00080000
          integer, parameter :: MCI_ANIM_WINDOW_ENABLE_STRETCH = #00100000
          integer, parameter :: MCI_ANIM_WINDOW_DISABLE_STRETCH = #00200000
          integer, parameter :: MCI_ANIM_WINDOW_DEFAULT = #00000000
          integer, parameter :: MCI_ANIM_RECT = #00010000
          integer, parameter :: MCI_ANIM_PUT_SOURCE = #00020000
          integer, parameter :: MCI_ANIM_PUT_DESTINATION = #00040000
          integer, parameter :: MCI_ANIM_WHERE_SOURCE = #00020000
          integer, parameter :: MCI_ANIM_WHERE_DESTINATION = #00040000
          integer, parameter :: MCI_ANIM_UPDATE_HDC = #00020000
          integer, parameter :: MCI_OVLY_OPEN_WS = #00010000
          integer, parameter :: MCI_OVLY_OPEN_PARENT = #00020000
          integer, parameter :: MCI_OVLY_STATUS_HWND = #00004001
          integer, parameter :: MCI_OVLY_STATUS_STRETCH = #00004002
          integer, parameter :: MCI_OVLY_INFO_TEXT = #00010000
          integer, parameter :: MCI_OVLY_GETDEVCAPS_CAN_STRETCH = #00004001
          integer, parameter :: MCI_OVLY_GETDEVCAPS_CAN_FREEZE = #00004002
          integer, parameter :: MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = #00004003
          integer, parameter :: MCI_OVLY_WINDOW_HWND = #00010000
          integer, parameter :: MCI_OVLY_WINDOW_STATE = #00040000
          integer, parameter :: MCI_OVLY_WINDOW_TEXT = #00080000
          integer, parameter :: MCI_OVLY_WINDOW_ENABLE_STRETCH = #00100000
          integer, parameter :: MCI_OVLY_WINDOW_DISABLE_STRETCH = #00200000
          integer, parameter :: MCI_OVLY_WINDOW_DEFAULT = #00000000
          integer, parameter :: MCI_OVLY_RECT = #00010000
          integer, parameter :: MCI_OVLY_PUT_SOURCE = #00020000
          integer, parameter :: MCI_OVLY_PUT_DESTINATION = #00040000
          integer, parameter :: MCI_OVLY_PUT_FRAME = #00080000
          integer, parameter :: MCI_OVLY_PUT_VIDEO = #00100000
          integer, parameter :: MCI_OVLY_WHERE_SOURCE = #00020000
          integer, parameter :: MCI_OVLY_WHERE_DESTINATION = #00040000
          integer, parameter :: MCI_OVLY_WHERE_FRAME = #00080000
          integer, parameter :: MCI_OVLY_WHERE_VIDEO = #00100000
          integer, parameter :: NEWTRANSPARENT = 3
          integer, parameter :: QUERYROPSUPPORT = 40
          integer, parameter :: SELECTDIB = 41
          integer, parameter :: NCBNAMSZ = 16
          integer, parameter :: MAX_LANA = 254
          integer, parameter :: NAME_FLAGS_MASK = #87
          integer, parameter :: GROUP_NAME = #80
          integer, parameter :: UNIQUE_NAME = #00
          integer, parameter :: REGISTERING = #00
          integer, parameter :: REGISTERED = #04
          integer, parameter :: DEREGISTERED = #05
          integer, parameter :: DUPLICATE = #06
          integer, parameter :: DUPLICATE_DEREG = #07
          integer, parameter :: LISTEN_OUTSTANDING = #01
          integer, parameter :: CALL_PENDING = #02
          integer, parameter :: SESSION_ESTABLISHED = #03
          integer, parameter :: HANGUP_PENDING = #04
          integer, parameter :: HANGUP_COMPLETE = #05
          integer, parameter :: SESSION_ABORTED = #06
          character*5, parameter :: ALL_TRANSPORTS = "M\000\000\000"C
          character*4, parameter :: MS_NBF = "MNBF"
          integer, parameter :: NCBCALL = #10
          integer, parameter :: NCBLISTEN = #11
          integer, parameter :: NCBHANGUP = #12
          integer, parameter :: NCBSEND = #14
          integer, parameter :: NCBRECV = #15
          integer, parameter :: NCBRECVANY = #16
          integer, parameter :: NCBCHAINSEND = #17
          integer, parameter :: NCBDGSEND = #20
          integer, parameter :: NCBDGRECV = #21
          integer, parameter :: NCBDGSENDBC = #22
          integer, parameter :: NCBDGRECVBC = #23
          integer, parameter :: NCBADDNAME = #30
          integer, parameter :: NCBDELNAME = #31
          integer, parameter :: NCBRESET = #32
          integer, parameter :: NCBASTAT = #33
          integer, parameter :: NCBSSTAT = #34
          integer, parameter :: NCBCANCEL = #35
          integer, parameter :: NCBADDGRNAME = #36
          integer, parameter :: NCBENUM = #37
          integer, parameter :: NCBUNLINK = #70
          integer, parameter :: NCBSENDNA = #71
          integer, parameter :: NCBCHAINSENDNA = #72
          integer, parameter :: NCBLANSTALERT = #73
          integer, parameter :: NCBACTION = #77
          integer, parameter :: NCBFINDNAME = #78
          integer, parameter :: NCBTRACE = #79
          integer, parameter :: ASYNCH = #80
          integer, parameter :: NRC_GOODRET = #00
          integer, parameter :: NRC_BUFLEN = #01
          integer, parameter :: NRC_ILLCMD = #03
          integer, parameter :: NRC_CMDTMO = #05
          integer, parameter :: NRC_INCOMP = #06
          integer, parameter :: NRC_BADDR = #07
          integer, parameter :: NRC_SNUMOUT = #08
          integer, parameter :: NRC_NORES = #09
          integer, parameter :: NRC_SCLOSED = #0a
          integer, parameter :: NRC_CMDCAN = #0b
          integer, parameter :: NRC_DUPNAME = #0d
          integer, parameter :: NRC_NAMTFUL = #0e
          integer, parameter :: NRC_ACTSES = #0f
          integer, parameter :: NRC_LOCTFUL = #11
          integer, parameter :: NRC_REMTFUL = #12
          integer, parameter :: NRC_ILLNN = #13
          integer, parameter :: NRC_NOCALL = #14
          integer, parameter :: NRC_NOWILD = #15
          integer, parameter :: NRC_INUSE = #16
          integer, parameter :: NRC_NAMERR = #17
          integer, parameter :: NRC_SABORT = #18
          integer, parameter :: NRC_NAMCONF = #19
          integer, parameter :: NRC_IFBUSY = #21
          integer, parameter :: NRC_TOOMANY = #22
          integer, parameter :: NRC_BRIDGE = #23
          integer, parameter :: NRC_CANOCCR = #24
          integer, parameter :: NRC_CANCEL = #26
          integer, parameter :: NRC_DUPENV = #30
          integer, parameter :: NRC_ENVNOTDEF = #34
          integer, parameter :: NRC_OSRESNOTAV = #35
          integer, parameter :: NRC_MAXAPPS = #36
          integer, parameter :: NRC_NOSAPS = #37
          integer, parameter :: NRC_NORESOURCES = #38
          integer, parameter :: NRC_INVADDRESS = #39
          integer, parameter :: NRC_INVDDID = #3B
          integer, parameter :: NRC_LOCKFAIL = #3C
          integer, parameter :: NRC_OPENERR = #3f
          integer, parameter :: NRC_SYSTEM = #40
          integer, parameter :: NRC_PENDING = #ff
    !DEC$ IF DEFINED( _M_IA64)
          integer(8), parameter :: ADDRESS_TAG_BIT = #40000000000
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: ADDRESS_TAG_BIT = #80000000
    !DEC$ ENDIF
          integer, parameter :: MAXUINT_PTR = (.NOT.( 0))
          integer, parameter :: MAXINT_PTR = ( ((.NOT.( 0)) / 2** 1))
          integer, parameter :: MININT_PTR = (.NOT.( ((.NOT.( 0)) / 2** 1)))
          integer, parameter :: MAXULONG_PTR = (.NOT.( 0))
          integer, parameter :: MAXLONG_PTR = ( ((.NOT.( 0)) / 2** 1))
          integer, parameter :: MINLONG_PTR = (.NOT.( ((.NOT.( 0)) / 2** 1)))
          integer, parameter :: MAXUHALF_PTR = ( .NOT.0)
          integer, parameter :: MAXHALF_PTR = ( (( .NOT.0) / 2** 1))
          integer, parameter :: MINHALF_PTR = (.NOT.( (( .NOT.0) / 2** 1)))
    !DEC$ IF DEFINED( _M_IA64)
    ! 50747 FORTRAN integer, parameter :: RPC_ASYNC_VERSION_1_0 = sizeof(RPC_ASYNC_STATE)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 48926 FORTRAN integer, parameter :: RPC_ASYNC_VERSION_1_0 = sizeof(RPC_ASYNC_STATE)
    !DEC$ ENDIF
          integer, parameter ::   RpcNotificationTypeNone = 0
          integer, parameter ::   RpcNotificationTypeEvent = 1
          integer, parameter ::   RpcNotificationTypeApc = 2
          integer, parameter ::   RpcNotificationTypeIoc = 3
          integer, parameter ::   RpcNotificationTypeHwnd = 4
          integer, parameter ::   RpcNotificationTypeCallback  = 5
          integer, parameter ::   RpcCallComplete = 0
          integer, parameter ::   RpcSendComplete = 1
          integer, parameter ::   RpcReceiveComplete   = 2
          integer, parameter :: RPC_C_NOTIFY_ON_SEND_COMPLETE = #1
          integer, parameter :: ABM_NEW = #00000000
          integer, parameter :: ABM_REMOVE = #00000001
          integer, parameter :: ABM_QUERYPOS = #00000002
          integer, parameter :: ABM_SETPOS = #00000003
          integer, parameter :: ABM_GETSTATE = #00000004
          integer, parameter :: ABM_GETTASKBARPOS = #00000005
          integer, parameter :: ABM_ACTIVATE = #00000006
          integer, parameter :: ABM_GETAUTOHIDEBAR = #00000007
          integer, parameter :: ABM_SETAUTOHIDEBAR = #00000008
          integer, parameter :: ABM_WINDOWPOSCHANGED = #0000009
          integer, parameter :: ABN_STATECHANGE = #0000000
          integer, parameter :: ABN_POSCHANGED = #0000001
          integer, parameter :: ABN_FULLSCREENAPP = #0000002
          integer, parameter :: ABN_WINDOWARRANGE = #0000003
          integer, parameter :: ABS_AUTOHIDE = #0000001
          integer, parameter :: ABS_ALWAYSONTOP = #0000002
          integer, parameter :: ABE_LEFT = 0
          integer, parameter :: ABE_TOP = 1
          integer, parameter :: ABE_RIGHT = 2
          integer, parameter :: ABE_BOTTOM = 3
          integer, parameter :: FO_MOVE = #0001
          integer, parameter :: FO_COPY = #0002
          integer, parameter :: FO_DELETE = #0003
          integer, parameter :: FO_RENAME = #0004
          integer, parameter :: FOF_MULTIDESTFILES = #0001
          integer, parameter :: FOF_CONFIRMMOUSE = #0002
          integer, parameter :: FOF_SILENT = #0004
          integer, parameter :: FOF_RENAMEONCOLLISION = #0008
          integer, parameter :: FOF_NOCONFIRMATION = #0010
          integer, parameter :: FOF_WANTMAPPINGHANDLE = #0020
          integer, parameter :: FOF_ALLOWUNDO = #0040
          integer, parameter :: FOF_FILESONLY = #0080
          integer, parameter :: FOF_SIMPLEPROGRESS = #0100
          integer, parameter :: FOF_NOCONFIRMMKDIR = #0200
          integer, parameter :: FOF_NOERRORUI = #0400
          integer, parameter :: FOF_NOCOPYSECURITYATTRIBS = #0800
          integer, parameter :: FOF_NORECURSION = #1000
          integer, parameter :: PO_DELETE = #0013
          integer, parameter :: PO_RENAME = #0014
          integer, parameter :: PO_PORTCHANGE = #0020
          integer, parameter :: PO_REN_PORT = #0034
          integer, parameter :: SE_ERR_FNF = 2
          integer, parameter :: SE_ERR_PNF = 3
          integer, parameter :: SE_ERR_ACCESSDENIED = 5
          integer, parameter :: SE_ERR_OOM = 8
          integer, parameter :: SE_ERR_DLLNOTFOUND = 32
          integer, parameter :: SE_ERR_SHARE = 26
          integer, parameter :: SE_ERR_ASSOCINCOMPLETE = 27
          integer, parameter :: SE_ERR_DDETIMEOUT = 28
          integer, parameter :: SE_ERR_DDEFAIL = 29
          integer, parameter :: SE_ERR_DDEBUSY = 30
          integer, parameter :: SE_ERR_NOASSOC = 31
          integer, parameter :: SEE_MASK_CLASSNAME = #00000001
          integer, parameter :: SEE_MASK_CLASSKEY = #00000003
          integer, parameter :: SEE_MASK_IDLIST = #00000004
          integer, parameter :: SEE_MASK_INVOKEIDLIST = #0000000c
          integer, parameter :: SEE_MASK_ICON = #00000010
          integer, parameter :: SEE_MASK_HOTKEY = #00000020
          integer, parameter :: SEE_MASK_NOCLOSEPROCESS = #00000040
          integer, parameter :: SEE_MASK_CONNECTNETDRV = #00000080
          integer, parameter :: SEE_MASK_FLAG_DDEWAIT = #00000100
          integer, parameter :: SEE_MASK_DOENVSUBST = #00000200
          integer, parameter :: SEE_MASK_FLAG_NO_UI = #00000400
          integer, parameter :: SEE_MASK_UNICODE = #00004000
          integer, parameter :: SEE_MASK_NO_CONSOLE = #00008000
          integer, parameter :: SEE_MASK_ASYNCOK = #00100000
          integer, parameter :: SEE_MASK_HMONITOR = #00200000
          integer, parameter :: SHERB_NOCONFIRMATION = #00000001
          integer, parameter :: SHERB_NOPROGRESSUI = #00000002
          integer, parameter :: SHERB_NOSOUND = #00000004
    !DEC$ IF DEFINED( _M_IA64)
    ! 51790 FORTRAN integer, parameter :: NOTIFYICONDATAA_V1_SIZE = ((LONG)(LONG_PTR).AND.(((NOTIFYICONDATAA *)0)->szTip[64]))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 49967 FORTRAN integer, parameter :: NOTIFYICONDATAA_V1_SIZE = ((LONG)(LONG_PTR).AND.(((NOTIFYICONDATAA *)0)->szTip[64]))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 51791 FORTRAN integer, parameter :: NOTIFYICONDATAW_V1_SIZE = ((LONG)(LONG_PTR).AND.(((NOTIFYICONDATAW *)0)->szTip[64]))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 49968 FORTRAN integer, parameter :: NOTIFYICONDATAW_V1_SIZE = ((LONG)(LONG_PTR).AND.(((NOTIFYICONDATAW *)0)->szTip[64]))
    !DEC$ ENDIF
          integer, parameter :: NIM_ADD = #00000000
          integer, parameter :: NIM_MODIFY = #00000001
          integer, parameter :: NIM_DELETE = #00000002
          integer, parameter :: NIF_MESSAGE = #00000001
          integer, parameter :: NIF_ICON = #00000002
          integer, parameter :: NIF_TIP = #00000004
          integer, parameter :: SHGFI_ICON = #000000100
          integer, parameter :: SHGFI_DISPLAYNAME = #000000200
          integer, parameter :: SHGFI_TYPENAME = #000000400
          integer, parameter :: SHGFI_ATTRIBUTES = #000000800
          integer, parameter :: SHGFI_ICONLOCATION = #000001000
          integer, parameter :: SHGFI_EXETYPE = #000002000
          integer, parameter :: SHGFI_SYSICONINDEX = #000004000
          integer, parameter :: SHGFI_LINKOVERLAY = #000008000
          integer, parameter :: SHGFI_SELECTED = #000010000
          integer, parameter :: SHGFI_ATTR_SPECIFIED = #000020000
          integer, parameter :: SHGFI_LARGEICON = #000000000
          integer, parameter :: SHGFI_SMALLICON = #000000001
          integer, parameter :: SHGFI_OPENICON = #000000002
          integer, parameter :: SHGFI_SHELLICONSIZE = #000000004
          integer, parameter :: SHGFI_PIDL = #000000008
          integer, parameter :: SHGFI_USEFILEATTRIBUTES = #000000010
          integer, parameter :: SHGNLI_PIDL = #000000001
          integer, parameter :: SHGNLI_PREFIXNAME = #000000002
          integer, parameter :: SHGNLI_NOUNIQUE = #000000004
          integer, parameter :: PRINTACTION_OPEN = 0
          integer, parameter :: PRINTACTION_PROPERTIES = 1
          integer, parameter :: PRINTACTION_NETINSTALL = 2
          integer, parameter :: PRINTACTION_NETINSTALLLINK = 3
          integer, parameter :: PRINTACTION_TESTPAGE = 4
          integer, parameter :: PRINTACTION_OPENNETPRN = 5
          integer, parameter :: PERF_DATA_VERSION = 1
          integer, parameter :: PERF_DATA_REVISION = 1
          integer, parameter :: PERF_NO_INSTANCES = -1
          integer, parameter :: PERF_SIZE_DWORD = #00000000
          integer, parameter :: PERF_SIZE_LARGE = #00000100
          integer, parameter :: PERF_SIZE_ZERO = #00000200
          integer, parameter :: PERF_SIZE_VARIABLE_LEN = #00000300
          integer, parameter :: PERF_TYPE_NUMBER = #00000000
          integer, parameter :: PERF_TYPE_COUNTER = #00000400
          integer, parameter :: PERF_TYPE_TEXT = #00000800
          integer, parameter :: PERF_TYPE_ZERO = #00000C00
          integer, parameter :: PERF_NUMBER_HEX = #00000000
          integer, parameter :: PERF_NUMBER_DECIMAL = #00010000
          integer, parameter :: PERF_NUMBER_DEC_1000 = #00020000
          integer, parameter :: PERF_COUNTER_VALUE = #00000000
          integer, parameter :: PERF_COUNTER_RATE = #00010000
          integer, parameter :: PERF_COUNTER_FRACTION = #00020000
          integer, parameter :: PERF_COUNTER_BASE = #00030000
          integer, parameter :: PERF_COUNTER_ELAPSED = #00040000
          integer, parameter :: PERF_COUNTER_QUEUELEN = #00050000
          integer, parameter :: PERF_COUNTER_HISTOGRAM = #00060000
          integer, parameter :: PERF_COUNTER_PRECISION = #00070000
          integer, parameter :: PERF_TEXT_UNICODE = #00000000
          integer, parameter :: PERF_TEXT_ASCII = #00010000
          integer, parameter :: PERF_TIMER_TICK = #00000000
          integer, parameter :: PERF_TIMER_100NS = #00100000
          integer, parameter :: PERF_OBJECT_TIMER = #00200000
          integer, parameter :: PERF_DELTA_COUNTER = #00400000
          integer, parameter :: PERF_DELTA_BASE = #00800000
          integer, parameter :: PERF_INVERSE_COUNTER = #01000000
          integer, parameter :: PERF_MULTI_COUNTER = #02000000
          integer, parameter :: PERF_DISPLAY_NO_SUFFIX = #00000000
          integer, parameter :: PERF_DISPLAY_PER_SEC = #10000000
          integer, parameter :: PERF_DISPLAY_PERCENT = #20000000
          integer, parameter :: PERF_DISPLAY_SECONDS = #30000000
          integer, parameter :: PERF_DISPLAY_NOSHOW = #40000000
          integer, parameter :: PERF_COUNTER_COUNTER = (#00000000 .OR. #00000400 .OR. #00010000 .OR. #00000000 .OR. #00400000 .OR. #10000000)
          integer, parameter :: PERF_COUNTER_TIMER = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00000000 .OR. #00400000 .OR. #20000000)
          integer, parameter :: PERF_COUNTER_QUEUELEN_TYPE = (#00000000 .OR. #00000400 .OR. #00050000 .OR. #00000000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_LARGE_QUEUELEN_TYPE = (#00000100 .OR. #00000400 .OR. #00050000 .OR. #00000000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_100NS_QUEUELEN_TYPE = (#00000100 .OR. #00000400 .OR. #00050000 .OR. #00100000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE = (#00000100 .OR. #00000400 .OR. #00050000 .OR. #00200000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_BULK_COUNT = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00000000 .OR. #00400000 .OR. #10000000)
          integer, parameter :: PERF_COUNTER_TEXT = (#00000300 .OR. #00000800 .OR. #00000000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_RAWCOUNT = (#00000000 .OR. #00000000 .OR. #00010000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_LARGE_RAWCOUNT = (#00000100 .OR. #00000000 .OR. #00010000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_RAWCOUNT_HEX = (#00000000 .OR. #00000000 .OR. #00000000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_LARGE_RAWCOUNT_HEX = (#00000100 .OR. #00000000 .OR. #00000000 .OR. #00000000)
          integer, parameter :: PERF_SAMPLE_FRACTION = (#00000000 .OR. #00000400 .OR. #00020000 .OR. #00400000 .OR. #00800000 .OR. #20000000)
          integer, parameter :: PERF_SAMPLE_COUNTER = (#00000000 .OR. #00000400 .OR. #00010000 .OR. #00000000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_NODATA = (#00000200 .OR. #40000000)
          integer, parameter :: PERF_COUNTER_TIMER_INV = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00000000 .OR. #00400000 .OR. #01000000 .OR.  #20000000)
          integer, parameter :: PERF_SAMPLE_BASE = (#00000000 .OR. #00000400 .OR. #00030000 .OR. #40000000 .OR. #00000001)
          integer, parameter :: PERF_AVERAGE_TIMER = (#00000000 .OR. #00000400 .OR. #00020000 .OR. #30000000)
          integer, parameter :: PERF_AVERAGE_BASE = (#00000000 .OR. #00000400 .OR. #00030000 .OR. #40000000 .OR. #00000002)
          integer, parameter :: PERF_AVERAGE_BULK = (#00000100 .OR. #00000400 .OR. #00020000 .OR. #40000000)
          integer, parameter :: PERF_OBJ_TIME_TIMER = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00200000 .OR. #00400000 .OR. #20000000)
          integer, parameter :: PERF_100NSEC_TIMER = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00100000 .OR. #00400000 .OR. #20000000)
          integer, parameter :: PERF_100NSEC_TIMER_INV = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00100000 .OR. #00400000 .OR. #01000000 .OR. #20000000)
          integer, parameter :: PERF_COUNTER_MULTI_TIMER = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00400000 .OR. #00000000 .OR. #02000000 .OR. #20000000)
          integer, parameter :: PERF_COUNTER_MULTI_TIMER_INV = (#00000100 .OR. #00000400 .OR. #00010000 .OR. #00400000 .OR. #02000000 .OR. #00000000 .OR. #01000000 .OR. #20000000)
          integer, parameter :: PERF_COUNTER_MULTI_BASE = (#00000100 .OR. #00000400 .OR. #00030000 .OR. #02000000 .OR. #40000000)
          integer, parameter :: PERF_100NSEC_MULTI_TIMER = (#00000100 .OR. #00000400 .OR. #00400000 .OR. #00010000 .OR. #00100000 .OR. #02000000 .OR. #20000000)
          integer, parameter :: PERF_100NSEC_MULTI_TIMER_INV = (#00000100 .OR. #00000400 .OR. #00400000 .OR. #00010000 .OR. #00100000 .OR. #02000000 .OR. #01000000 .OR. #20000000)
          integer, parameter :: PERF_RAW_FRACTION = (#00000000 .OR. #00000400 .OR. #00020000 .OR. #20000000)
          integer, parameter :: PERF_LARGE_RAW_FRACTION = (#00000100 .OR. #00000400 .OR. #00020000 .OR. #20000000)
          integer, parameter :: PERF_RAW_BASE = (#00000000 .OR. #00000400 .OR. #00030000 .OR. #40000000 .OR. #00000003)
          integer, parameter :: PERF_LARGE_RAW_BASE = (#00000100 .OR. #00000400 .OR. #00030000 .OR. #40000000 )
          integer, parameter :: PERF_ELAPSED_TIME = (#00000100 .OR. #00000400 .OR. #00040000 .OR. #00200000 .OR. #30000000)
          integer, parameter :: PERF_COUNTER_HISTOGRAM_TYPE = #80000000
          integer, parameter :: PERF_COUNTER_DELTA = (#00000000 .OR. #00000400 .OR. #00000000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_COUNTER_LARGE_DELTA = (#00000100 .OR. #00000400 .OR. #00000000 .OR. #00400000 .OR. #00000000)
          integer, parameter :: PERF_PRECISION_SYSTEM_TIMER = (#00000100 .OR. #00000400 .OR. #00070000 .OR.  #00000000 .OR. #00400000 .OR. #20000000 )
          integer, parameter :: PERF_PRECISION_100NS_TIMER = (#00000100 .OR. #00000400 .OR. #00070000 .OR.  #00100000 .OR. #00400000 .OR. #20000000 )
          integer, parameter :: PERF_PRECISION_OBJECT_TIMER = (#00000100 .OR. #00000400 .OR. #00070000 .OR.  #00200000 .OR. #00400000 .OR. #20000000 )
          integer, parameter :: PERF_DETAIL_NOVICE = 100
          integer, parameter :: PERF_DETAIL_ADVANCED = 200
          integer, parameter :: PERF_DETAIL_EXPERT = 300
          integer, parameter :: PERF_DETAIL_WIZARD = 400
          integer, parameter :: PERF_NO_UNIQUE_ID = -1
          integer, parameter :: PERF_QUERY_OBJECTS = ( #80000000)
          integer, parameter :: PERF_QUERY_GLOBAL = ( #80000001)
          integer, parameter :: PERF_QUERY_COSTLY = ( #80000002)
          integer, parameter :: MAX_PERF_OBJECTS_IN_QUERY_FUNCTION = (8)
          integer, parameter :: FD_SETSIZE = 64
          integer, parameter :: IOCPARM_MASK = #7f
          integer, parameter :: IOC_VOID = #20000000
          integer, parameter :: IOC_OUT = #40000000
          integer, parameter :: IOC_IN = #80000000
          integer, parameter :: IOC_INOUT = (#80000000.OR.#40000000)
    !DEC$ IF DEFINED( _M_IA64)
    ! 52246 FORTRAN integer, parameter :: FIONREAD = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(127))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50423 FORTRAN integer, parameter :: FIONREAD = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(127))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52247 FORTRAN integer, parameter :: FIONBIO = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(126))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50424 FORTRAN integer, parameter :: FIONBIO = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(126))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52248 FORTRAN integer, parameter :: FIOASYNC = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(125))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50425 FORTRAN integer, parameter :: FIOASYNC = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(125))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52249 FORTRAN integer, parameter :: SIOCSHIWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(0))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50426 FORTRAN integer, parameter :: SIOCSHIWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(0))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52250 FORTRAN integer, parameter :: SIOCGHIWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(1))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50427 FORTRAN integer, parameter :: SIOCGHIWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(1))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52251 FORTRAN integer, parameter :: SIOCSLOWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(2))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50428 FORTRAN integer, parameter :: SIOCSLOWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(2))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52252 FORTRAN integer, parameter :: SIOCGLOWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(3))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50429 FORTRAN integer, parameter :: SIOCGLOWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(3))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 52253 FORTRAN integer, parameter :: SIOCATMARK = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(7))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 50430 FORTRAN integer, parameter :: SIOCATMARK = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(7))
    !DEC$ ENDIF
          integer, parameter :: IPPROTO_IP = 0
          integer, parameter :: IPPROTO_ICMP = 1
          integer, parameter :: IPPROTO_IGMP = 2
          integer, parameter :: IPPROTO_GGP = 3
          integer, parameter :: IPPROTO_TCP = 6
          integer, parameter :: IPPROTO_PUP = 12
          integer, parameter :: IPPROTO_UDP = 17
          integer, parameter :: IPPROTO_IDP = 22
          integer, parameter :: IPPROTO_ND = 77
          integer, parameter :: IPPROTO_RAW = 255
          integer, parameter :: IPPROTO_MAX = 256
          integer, parameter :: IPPORT_ECHO = 7
          integer, parameter :: IPPORT_DISCARD = 9
          integer, parameter :: IPPORT_SYSTAT = 11
          integer, parameter :: IPPORT_DAYTIME = 13
          integer, parameter :: IPPORT_NETSTAT = 15
          integer, parameter :: IPPORT_FTP = 21
          integer, parameter :: IPPORT_TELNET = 23
          integer, parameter :: IPPORT_SMTP = 25
          integer, parameter :: IPPORT_TIMESERVER = 37
          integer, parameter :: IPPORT_NAMESERVER = 42
          integer, parameter :: IPPORT_WHOIS = 43
          integer, parameter :: IPPORT_MTP = 57
          integer, parameter :: IPPORT_TFTP = 69
          integer, parameter :: IPPORT_RJE = 77
          integer, parameter :: IPPORT_FINGER = 79
          integer, parameter :: IPPORT_TTYLINK = 87
          integer, parameter :: IPPORT_SUPDUP = 95
          integer, parameter :: IPPORT_EXECSERVER = 512
          integer, parameter :: IPPORT_LOGINSERVER = 513
          integer, parameter :: IPPORT_CMDSERVER = 514
          integer, parameter :: IPPORT_EFSSERVER = 520
          integer, parameter :: IPPORT_BIFFUDP = 512
          integer, parameter :: IPPORT_WHOSERVER = 513
          integer, parameter :: IPPORT_ROUTESERVER = 520
          integer, parameter :: IPPORT_RESERVED = 1024
          integer, parameter :: IMPLINK_IP = 155
          integer, parameter :: IMPLINK_LOWEXPER = 156
          integer, parameter :: IMPLINK_HIGHEXPER = 158
          integer, parameter :: IN_CLASSA_NET = #ff000000
          integer, parameter :: IN_CLASSA_NSHIFT = 24
          integer, parameter :: IN_CLASSA_HOST = #00ffffff
          integer, parameter :: IN_CLASSA_MAX = 128
          integer, parameter :: IN_CLASSB_NET = #ffff0000
          integer, parameter :: IN_CLASSB_NSHIFT = 16
          integer, parameter :: IN_CLASSB_HOST = #0000ffff
          integer, parameter :: IN_CLASSB_MAX = 65536
          integer, parameter :: IN_CLASSC_NET = #ffffff00
          integer, parameter :: IN_CLASSC_NSHIFT = 8
          integer, parameter :: IN_CLASSC_HOST = #000000ff
          integer, parameter :: INADDR_ANY =  #00000000
          integer, parameter :: INADDR_LOOPBACK = #7f000001
          integer, parameter :: INADDR_BROADCAST =  #ffffffff
          integer, parameter :: INADDR_NONE = #ffffffff
          integer, parameter :: WSADESCRIPTION_LEN = 256
          integer, parameter :: WSASYS_STATUS_LEN = 128
          integer, parameter :: IP_OPTIONS = 1
          integer, parameter :: IP_MULTICAST_IF = 2
          integer, parameter :: IP_MULTICAST_TTL = 3
          integer, parameter :: IP_MULTICAST_LOOP = 4
          integer, parameter :: IP_ADD_MEMBERSHIP = 5
          integer, parameter :: IP_DROP_MEMBERSHIP = 6
          integer, parameter :: IP_TTL = 7
          integer, parameter :: IP_TOS = 8
          integer, parameter :: IP_DONTFRAGMENT = 9
          integer, parameter :: IP_DEFAULT_MULTICAST_TTL = 1
          integer, parameter :: IP_DEFAULT_MULTICAST_LOOP = 1
          integer, parameter :: IP_MAX_MEMBERSHIPS = 20
          integer, parameter :: INVALID_SOCKET =  (.NOT.0)
          integer, parameter :: SOCKET_ERROR = (-1)
          integer, parameter :: SOCK_STREAM = 1
          integer, parameter :: SOCK_DGRAM = 2
          integer, parameter :: SOCK_RAW = 3
          integer, parameter :: SOCK_RDM = 4
          integer, parameter :: SOCK_SEQPACKET = 5
          integer, parameter :: SO_DEBUG = #0001
          integer, parameter :: SO_ACCEPTCONN = #0002
          integer, parameter :: SO_REUSEADDR = #0004
          integer, parameter :: SO_KEEPALIVE = #0008
          integer, parameter :: SO_DONTROUTE = #0010
          integer, parameter :: SO_BROADCAST = #0020
          integer, parameter :: SO_USELOOPBACK = #0040
          integer, parameter :: SO_LINGER = #0080
          integer, parameter :: SO_OOBINLINE = #0100
          integer, parameter :: SO_DONTLINGER =  (.NOT.#0080)
          integer, parameter :: SO_SNDBUF = #1001
          integer, parameter :: SO_RCVBUF = #1002
          integer, parameter :: SO_SNDLOWAT = #1003
          integer, parameter :: SO_RCVLOWAT = #1004
          integer, parameter :: SO_SNDTIMEO = #1005
          integer, parameter :: SO_RCVTIMEO = #1006
          integer, parameter :: SO_ERROR = #1007
          integer, parameter :: SO_TYPE = #1008
          integer, parameter :: SO_CONNDATA = #7000
          integer, parameter :: SO_CONNOPT = #7001
          integer, parameter :: SO_DISCDATA = #7002
          integer, parameter :: SO_DISCOPT = #7003
          integer, parameter :: SO_CONNDATALEN = #7004
          integer, parameter :: SO_CONNOPTLEN = #7005
          integer, parameter :: SO_DISCDATALEN = #7006
          integer, parameter :: SO_DISCOPTLEN = #7007
          integer, parameter :: SO_OPENTYPE = #7008
          integer, parameter :: SO_SYNCHRONOUS_ALERT = #10
          integer, parameter :: SO_SYNCHRONOUS_NONALERT = #20
          integer, parameter :: SO_MAXDG = #7009
          integer, parameter :: SO_MAXPATHDG = #700A
          integer, parameter :: SO_UPDATE_ACCEPT_CONTEXT = #700B
          integer, parameter :: SO_CONNECT_TIME = #700C
          integer, parameter :: TCP_NODELAY = #0001
          integer, parameter :: TCP_BSDURGENT = #7000
          integer, parameter :: AF_UNSPEC = 0
          integer, parameter :: AF_UNIX = 1
          integer, parameter :: AF_INET = 2
          integer, parameter :: AF_IMPLINK = 3
          integer, parameter :: AF_PUP = 4
          integer, parameter :: AF_CHAOS = 5
          integer, parameter :: AF_IPX = 6
          integer, parameter :: AF_NS = 6
          integer, parameter :: AF_ISO = 7
          integer, parameter :: AF_ECMA = 8
          integer, parameter :: AF_DATAKIT = 9
          integer, parameter :: AF_CCITT = 10
          integer, parameter :: AF_SNA = 11
          integer, parameter :: AF_DECnet = 12
          integer, parameter :: AF_DLI = 13
          integer, parameter :: AF_LAT = 14
          integer, parameter :: AF_HYLINK = 15
          integer, parameter :: AF_APPLETALK = 16
          integer, parameter :: AF_NETBIOS = 17
          integer, parameter :: AF_VOICEVIEW = 18
          integer, parameter :: AF_FIREFOX = 19
          integer, parameter :: AF_UNKNOWN1 = 20
          integer, parameter :: AF_BAN = 21
          integer, parameter :: AF_MAX = 22
          integer, parameter :: SOL_SOCKET = #ffff
          integer, parameter :: SOMAXCONN = 5
          integer, parameter :: MSG_OOB = #1
          integer, parameter :: MSG_PEEK = #2
          integer, parameter :: MSG_DONTROUTE = #4
          integer, parameter :: MSG_MAXIOVLEN = 16
          integer, parameter :: MSG_PARTIAL = #8000
          integer, parameter :: MAXGETHOSTSTRUCT = 1024
          integer, parameter :: FD_READ = #01
          integer, parameter :: FD_WRITE = #02
          integer, parameter :: FD_OOB = #04
          integer, parameter :: FD_ACCEPT = #08
          integer, parameter :: FD_CONNECT = #10
          integer, parameter :: FD_CLOSE = #20
    !???      integer, parameter :: h_errno = WSAGetLastError()
          integer, parameter :: TF_DISCONNECT = #01
          integer, parameter :: TF_REUSE_SOCKET = #02
          integer, parameter :: TF_WRITE_BEHIND = #04
          integer, parameter :: ALG_CLASS_ANY = (0)
          integer, parameter :: ALG_CLASS_SIGNATURE = (1 * 2** 13)
          integer, parameter :: ALG_CLASS_MSG_ENCRYPT = (2 * 2** 13)
          integer, parameter :: ALG_CLASS_DATA_ENCRYPT = (3 * 2** 13)
          integer, parameter :: ALG_CLASS_HASH = (4 * 2** 13)
          integer, parameter :: ALG_CLASS_KEY_EXCHANGE = (5 * 2** 13)
          integer, parameter :: ALG_CLASS_ALL = (7 * 2** 13)
          integer, parameter :: ALG_TYPE_ANY = (0)
          integer, parameter :: ALG_TYPE_DSS = (1 * 2** 9)
          integer, parameter :: ALG_TYPE_RSA = (2 * 2** 9)
          integer, parameter :: ALG_TYPE_BLOCK = (3 * 2** 9)
          integer, parameter :: ALG_TYPE_STREAM = (4 * 2** 9)
          integer, parameter :: ALG_TYPE_DH = (5 * 2** 9)
          integer, parameter :: ALG_TYPE_SECURECHANNEL = (6 * 2** 9)
          integer, parameter :: ALG_SID_ANY = (0)
          integer, parameter :: ALG_SID_RSA_ANY = 0
          integer, parameter :: ALG_SID_RSA_PKCS = 1
          integer, parameter :: ALG_SID_RSA_MSATWORK = 2
          integer, parameter :: ALG_SID_RSA_ENTRUST = 3
          integer, parameter :: ALG_SID_RSA_PGP = 4
          integer, parameter :: ALG_SID_DSS_ANY = 0
          integer, parameter :: ALG_SID_DSS_PKCS = 1
          integer, parameter :: ALG_SID_DSS_DMS = 2
          integer, parameter :: ALG_SID_DES = 1
          integer, parameter :: ALG_SID_3DES = 3
          integer, parameter :: ALG_SID_DESX = 4
          integer, parameter :: ALG_SID_IDEA = 5
          integer, parameter :: ALG_SID_CAST = 6
          integer, parameter :: ALG_SID_SAFERSK64 = 7
          integer, parameter :: ALG_SID_SAFERSK128 = 8
          integer, parameter :: ALG_SID_3DES_112 = 9
          integer, parameter :: ALG_SID_CYLINK_MEK = 12
          integer, parameter :: ALG_SID_RC5 = 13
          integer, parameter :: ALG_SID_SKIPJACK = 10
          integer, parameter :: ALG_SID_TEK = 11
          integer, parameter :: CRYPT_MODE_CBCI = 6
          integer, parameter :: CRYPT_MODE_CFBP = 7
          integer, parameter :: CRYPT_MODE_OFBP = 8
          integer, parameter :: CRYPT_MODE_CBCOFM = 9
          integer, parameter :: CRYPT_MODE_CBCOFMI = 10
          integer, parameter :: ALG_SID_RC2 = 2
          integer, parameter :: ALG_SID_RC4 = 1
          integer, parameter :: ALG_SID_SEAL = 2
          integer, parameter :: ALG_SID_DH_SANDF = 1
          integer, parameter :: ALG_SID_DH_EPHEM = 2
          integer, parameter :: ALG_SID_AGREED_KEY_ANY = 3
          integer, parameter :: ALG_SID_KEA = 4
          integer, parameter :: ALG_SID_MD2 = 1
          integer, parameter :: ALG_SID_MD4 = 2
          integer, parameter :: ALG_SID_MD5 = 3
          integer, parameter :: ALG_SID_SHA = 4
          integer, parameter :: ALG_SID_SHA1 = 4
          integer, parameter :: ALG_SID_MAC = 5
          integer, parameter :: ALG_SID_RIPEMD = 6
          integer, parameter :: ALG_SID_RIPEMD160 = 7
          integer, parameter :: ALG_SID_SSL3SHAMD5 = 8
          integer, parameter :: ALG_SID_HMAC = 9
          integer, parameter :: ALG_SID_TLS1PRF = 10
          integer, parameter :: ALG_SID_SSL3_MASTER = 1
          integer, parameter :: ALG_SID_SCHANNEL_MASTER_HASH = 2
          integer, parameter :: ALG_SID_SCHANNEL_MAC_KEY = 3
          integer, parameter :: ALG_SID_PCT1_MASTER = 4
          integer, parameter :: ALG_SID_SSL2_MASTER = 5
          integer, parameter :: ALG_SID_TLS1_MASTER = 6
          integer, parameter :: ALG_SID_SCHANNEL_ENC_KEY = 7
          integer, parameter :: ALG_SID_EXAMPLE = 80
          integer, parameter :: CALG_MD2 = ((4 * 2** 13) .OR. (0) .OR. 1)
          integer, parameter :: CALG_MD4 = ((4 * 2** 13) .OR. (0) .OR. 2)
          integer, parameter :: CALG_MD5 = ((4 * 2** 13) .OR. (0) .OR. 3)
          integer, parameter :: CALG_SHA = ((4 * 2** 13) .OR. (0) .OR. 4)
          integer, parameter :: CALG_SHA1 = ((4 * 2** 13) .OR. (0) .OR. 4)
          integer, parameter :: CALG_MAC = ((4 * 2** 13) .OR. (0) .OR. 5)
          integer, parameter :: CALG_RSA_SIGN = ((1 * 2** 13) .OR. (2 * 2** 9) .OR. 0)
          integer, parameter :: CALG_DSS_SIGN = ((1 * 2** 13) .OR. (1 * 2** 9) .OR. 0)
          integer, parameter :: CALG_RSA_KEYX = ((5 * 2** 13).OR.(2 * 2** 9).OR.0)
          integer, parameter :: CALG_DES = ((3 * 2** 13).OR.(3 * 2** 9).OR.1)
          integer, parameter :: CALG_3DES_112 = ((3 * 2** 13).OR.(3 * 2** 9).OR.9)
          integer, parameter :: CALG_3DES = ((3 * 2** 13).OR.(3 * 2** 9).OR.3)
          integer, parameter :: CALG_DESX = ((3 * 2** 13).OR.(3 * 2** 9).OR.4)
          integer, parameter :: CALG_RC2 = ((3 * 2** 13).OR.(3 * 2** 9).OR.2)
          integer, parameter :: CALG_RC4 = ((3 * 2** 13).OR.(4 * 2** 9).OR.1)
          integer, parameter :: CALG_SEAL = ((3 * 2** 13).OR.(4 * 2** 9).OR.2)
          integer, parameter :: CALG_DH_SF = ((5 * 2** 13).OR.(5 * 2** 9).OR.1)
          integer, parameter :: CALG_DH_EPHEM = ((5 * 2** 13).OR.(5 * 2** 9).OR.2)
          integer, parameter :: CALG_AGREEDKEY_ANY = ((5 * 2** 13).OR.(5 * 2** 9).OR.3)
          integer, parameter :: CALG_KEA_KEYX = ((5 * 2** 13).OR.(5 * 2** 9).OR.4)
          integer, parameter :: CALG_HUGHES_MD5 = ((5 * 2** 13).OR.(0).OR.3)
          integer, parameter :: CALG_SKIPJACK = ((3 * 2** 13).OR.(3 * 2** 9).OR.10)
          integer, parameter :: CALG_TEK = ((3 * 2** 13).OR.(3 * 2** 9).OR.11)
          integer, parameter :: CALG_CYLINK_MEK = ((3 * 2** 13).OR.(3 * 2** 9).OR.12)
          integer, parameter :: CALG_SSL3_SHAMD5 = ((4 * 2** 13) .OR. (0) .OR. 8)
          integer, parameter :: CALG_SSL3_MASTER = ((2 * 2** 13).OR.(6 * 2** 9).OR.1)
          integer, parameter :: CALG_SCHANNEL_MASTER_HASH = ((2 * 2** 13).OR.(6 * 2** 9).OR.2)
          integer, parameter :: CALG_SCHANNEL_MAC_KEY = ((2 * 2** 13).OR.(6 * 2** 9).OR.3)
          integer, parameter :: CALG_SCHANNEL_ENC_KEY = ((2 * 2** 13).OR.(6 * 2** 9).OR.7)
          integer, parameter :: CALG_PCT1_MASTER = ((2 * 2** 13).OR.(6 * 2** 9).OR.4)
          integer, parameter :: CALG_SSL2_MASTER = ((2 * 2** 13).OR.(6 * 2** 9).OR.5)
          integer, parameter :: CALG_TLS1_MASTER = ((2 * 2** 13).OR.(6 * 2** 9).OR.6)
          integer, parameter :: CALG_RC5 = ((3 * 2** 13).OR.(3 * 2** 9).OR.13)
          integer, parameter :: CALG_HMAC = ((4 * 2** 13) .OR. (0) .OR. 9)
          integer, parameter :: CALG_TLS1PRF = ((4 * 2** 13) .OR. (0) .OR. 10)
          integer, parameter :: SIGNATURE_RESOURCE_NUMBER = #29A
          integer, parameter :: CRYPT_VERIFYCONTEXT = #F0000000
          integer, parameter :: CRYPT_NEWKEYSET = #00000008
          integer, parameter :: CRYPT_DELETEKEYSET = #00000010
          integer, parameter :: CRYPT_MACHINE_KEYSET = #00000020
          integer, parameter :: CRYPT_SILENT = #00000040
          integer, parameter :: CRYPT_EXPORTABLE = #00000001
          integer, parameter :: CRYPT_USER_PROTECTED = #00000002
          integer, parameter :: CRYPT_CREATE_SALT = #00000004
          integer, parameter :: CRYPT_UPDATE_KEY = #00000008
          integer, parameter :: CRYPT_NO_SALT = #00000010
          integer, parameter :: CRYPT_PREGEN = #00000040
          integer, parameter :: CRYPT_RECIPIENT = #00000010
          integer, parameter :: CRYPT_INITIATOR = #00000040
          integer, parameter :: CRYPT_ONLINE = #00000080
          integer, parameter :: CRYPT_SF = #00000100
          integer, parameter :: CRYPT_CREATE_IV = #00000200
          integer, parameter :: CRYPT_KEK = #00000400
          integer, parameter :: CRYPT_DATA_KEY = #00000800
          integer, parameter :: CRYPT_VOLATILE = #00001000
          integer, parameter :: CRYPT_SGCKEY = #00002000
          integer, parameter :: RSA1024BIT_KEY = #04000000
          integer, parameter :: CRYPT_SERVER = #00000400
          integer, parameter :: KEY_LENGTH_MASK = #FFFF0000
          integer, parameter :: CRYPT_Y_ONLY = #00000001
          integer, parameter :: CRYPT_SSL2_FALLBACK = #00000002
          integer, parameter :: CRYPT_DESTROYKEY = #00000004
          integer, parameter :: CRYPT_OAEP = #00000040
          integer, parameter :: CRYPT_BLOB_VER3 = #00000080
          integer, parameter :: CRYPT_SECRETDIGEST = #00000001
          integer, parameter :: CRYPT_LITTLE_ENDIAN = #00000001
          integer, parameter :: CRYPT_NOHASHOID = #00000001
          integer, parameter :: CRYPT_TYPE2_FORMAT = #00000002
          integer, parameter :: CRYPT_X931_FORMAT = #00000004
          integer, parameter :: CRYPT_MACHINE_DEFAULT = #00000001
          integer, parameter :: CRYPT_USER_DEFAULT = #00000002
          integer, parameter :: CRYPT_DELETE_DEFAULT = #00000004
          integer, parameter :: SIMPLEBLOB = #1
          integer, parameter :: PUBLICKEYBLOB = #6
          integer, parameter :: PRIVATEKEYBLOB = #7
          integer, parameter :: PLAINTEXTKEYBLOB = #8
          integer, parameter :: OPAQUEKEYBLOB = #9
          integer, parameter :: PUBLICKEYBLOBEX = #A
          integer, parameter :: SYMMETRICWRAPKEYBLOB = #B
          integer, parameter :: AT_KEYEXCHANGE = 1
          integer, parameter :: AT_SIGNATURE = 2
          integer, parameter :: CRYPT_USERDATA = 1
          integer, parameter :: KP_IV = 1
          integer, parameter :: KP_SALT = 2
          integer, parameter :: KP_PADDING = 3
          integer, parameter :: KP_MODE = 4
          integer, parameter :: KP_MODE_BITS = 5
          integer, parameter :: KP_PERMISSIONS = 6
          integer, parameter :: KP_ALGID = 7
          integer, parameter :: KP_BLOCKLEN = 8
          integer, parameter :: KP_KEYLEN = 9
          integer, parameter :: KP_SALT_EX = 10
          integer, parameter :: KP_P = 11
          integer, parameter :: KP_G = 12
          integer, parameter :: KP_Q = 13
          integer, parameter :: KP_X = 14
          integer, parameter :: KP_Y = 15
          integer, parameter :: KP_RA = 16
          integer, parameter :: KP_RB = 17
          integer, parameter :: KP_INFO = 18
          integer, parameter :: KP_EFFECTIVE_KEYLEN = 19
          integer, parameter :: KP_SCHANNEL_ALG = 20
          integer, parameter :: KP_CLIENT_RANDOM = 21
          integer, parameter :: KP_SERVER_RANDOM = 22
          integer, parameter :: KP_RP = 23
          integer, parameter :: KP_PRECOMP_MD5 = 24
          integer, parameter :: KP_PRECOMP_SHA = 25
          integer, parameter :: KP_CERTIFICATE = 26
          integer, parameter :: KP_CLEAR_KEY = 27
          integer, parameter :: KP_PUB_EX_LEN = 28
          integer, parameter :: KP_PUB_EX_VAL = 29
          integer, parameter :: KP_KEYVAL = 30
          integer, parameter :: KP_ADMIN_PIN = 31
          integer, parameter :: KP_KEYEXCHANGE_PIN = 32
          integer, parameter :: KP_SIGNATURE_PIN = 33
          integer, parameter :: KP_PREHASH = 34
          integer, parameter :: KP_OAEP_PARAMS = 36
          integer, parameter :: KP_CMS_KEY_INFO = 37
          integer, parameter :: KP_CMS_DH_KEY_INFO = 38
          integer, parameter :: KP_PUB_PARAMS = 39
          integer, parameter :: KP_VERIFY_PARAMS = 40
          integer, parameter :: KP_HIGHEST_VERSION = 41
          integer, parameter :: PKCS5_PADDING = 1
          integer, parameter :: RANDOM_PADDING = 2
          integer, parameter :: ZERO_PADDING = 3
          integer, parameter :: CRYPT_MODE_CBC = 1
          integer, parameter :: CRYPT_MODE_ECB = 2
          integer, parameter :: CRYPT_MODE_OFB = 3
          integer, parameter :: CRYPT_MODE_CFB = 4
          integer, parameter :: CRYPT_MODE_CTS = 5
          integer, parameter :: CRYPT_ENCRYPT = #0001
          integer, parameter :: CRYPT_DECRYPT = #0002
          integer, parameter :: CRYPT_EXPORT = #0004
          integer, parameter :: CRYPT_READ = #0008
          integer, parameter :: CRYPT_WRITE = #0010
          integer, parameter :: CRYPT_MAC = #0020
          integer, parameter :: CRYPT_EXPORT_KEY = #0040
          integer, parameter :: CRYPT_IMPORT_KEY = #0080
          integer, parameter :: HP_ALGID = #0001
          integer, parameter :: HP_HASHVAL = #0002
          integer, parameter :: HP_HASHSIZE = #0004
          integer, parameter :: HP_HMAC_INFO = #0005
          integer, parameter :: HP_TLS1PRF_LABEL = #0006
          integer, parameter :: HP_TLS1PRF_SEED = #0007
          integer, parameter :: PP_ENUMALGS = 1
          integer, parameter :: PP_ENUMCONTAINERS = 2
          integer, parameter :: PP_IMPTYPE = 3
          integer, parameter :: PP_NAME = 4
          integer, parameter :: PP_VERSION = 5
          integer, parameter :: PP_CONTAINER = 6
          integer, parameter :: PP_CHANGE_PASSWORD = 7
          integer, parameter :: PP_KEYSET_SEC_DESCR = 8
          integer, parameter :: PP_CERTCHAIN = 9
          integer, parameter :: PP_KEY_TYPE_SUBTYPE = 10
          integer, parameter :: PP_PROVTYPE = 16
          integer, parameter :: PP_KEYSTORAGE = 17
          integer, parameter :: PP_APPLI_CERT = 18
          integer, parameter :: PP_SYM_KEYSIZE = 19
          integer, parameter :: PP_SESSION_KEYSIZE = 20
          integer, parameter :: PP_UI_PROMPT = 21
          integer, parameter :: PP_ENUMALGS_EX = 22
          integer, parameter :: PP_ENUMMANDROOTS = 25
          integer, parameter :: PP_ENUMELECTROOTS = 26
          integer, parameter :: PP_KEYSET_TYPE = 27
          integer, parameter :: PP_ADMIN_PIN = 31
          integer, parameter :: PP_KEYEXCHANGE_PIN = 32
          integer, parameter :: PP_SIGNATURE_PIN = 33
          integer, parameter :: PP_SIG_KEYSIZE_INC = 34
          integer, parameter :: PP_KEYX_KEYSIZE_INC = 35
          integer, parameter :: PP_UNIQUE_CONTAINER = 36
          integer, parameter :: PP_SGC_INFO = 37
          integer, parameter :: PP_USE_HARDWARE_RNG = 38
          integer, parameter :: PP_KEYSPEC = 39
          integer, parameter :: PP_ENUMEX_SIGNING_PROT = 40
          integer, parameter :: CRYPT_FIRST = 1
          integer, parameter :: CRYPT_NEXT = 2
          integer, parameter :: CRYPT_SGC_ENUM = 4
          integer, parameter :: CRYPT_IMPL_HARDWARE = 1
          integer, parameter :: CRYPT_IMPL_SOFTWARE = 2
          integer, parameter :: CRYPT_IMPL_MIXED = 3
          integer, parameter :: CRYPT_IMPL_UNKNOWN = 4
          integer, parameter :: CRYPT_IMPL_REMOVABLE = 8
          integer, parameter :: CRYPT_SEC_DESCR = #00000001
          integer, parameter :: CRYPT_PSTORE = #00000002
          integer, parameter :: CRYPT_UI_PROMPT = #00000004
          integer, parameter :: CRYPT_FLAG_PCT1 = #0001
          integer, parameter :: CRYPT_FLAG_SSL2 = #0002
          integer, parameter :: CRYPT_FLAG_SSL3 = #0004
          integer, parameter :: CRYPT_FLAG_TLS1 = #0008
          integer, parameter :: CRYPT_FLAG_IPSEC = #0010
          integer, parameter :: CRYPT_FLAG_SIGNING = #0020
          integer, parameter :: CRYPT_SGC = #0001
          integer, parameter :: CRYPT_FASTSGC = #0002
          integer, parameter :: PP_CLIENT_HWND = 1
          integer, parameter :: PP_CONTEXT_INFO = 11
          integer, parameter :: PP_KEYEXCHANGE_KEYSIZE = 12
          integer, parameter :: PP_SIGNATURE_KEYSIZE = 13
          integer, parameter :: PP_KEYEXCHANGE_ALG = 14
          integer, parameter :: PP_SIGNATURE_ALG = 15
          integer, parameter :: PP_DELETEKEY = 24
          integer, parameter :: PROV_RSA_FULL = 1
          integer, parameter :: PROV_RSA_SIG = 2
          integer, parameter :: PROV_DSS = 3
          integer, parameter :: PROV_FORTEZZA = 4
          integer, parameter :: PROV_MS_EXCHANGE = 5
          integer, parameter :: PROV_SSL = 6
          integer, parameter :: PROV_RSA_SCHANNEL = 12
          integer, parameter :: PROV_DSS_DH = 13
          integer, parameter :: PROV_EC_ECDSA_SIG = 14
          integer, parameter :: PROV_EC_ECNRA_SIG = 15
          integer, parameter :: PROV_EC_ECDSA_FULL = 16
          integer, parameter :: PROV_EC_ECNRA_FULL = 17
          integer, parameter :: PROV_DH_SCHANNEL = 18
          integer, parameter :: PROV_SPYRUS_LYNKS = 20
          integer, parameter :: PROV_RNG = 21
          integer, parameter :: PROV_INTEL_SEC = 22
          integer, parameter :: PROV_STT_MER = 7
          integer, parameter :: PROV_STT_ACQ = 8
          integer, parameter :: PROV_STT_BRND = 9
          integer, parameter :: PROV_STT_ROOT = 10
          integer, parameter :: PROV_STT_ISS = 11
          character*42, parameter :: MS_DEF_PROV_A = "Microsoft Base Cryptographic Provider v1.0"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53624 FORTRAN character*42, parameter :: MS_DEF_PROV_W = L"Microsoft Base Cryptographic Provider v1.0"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51801 FORTRAN character*42, parameter :: MS_DEF_PROV_W = L"Microsoft Base Cryptographic Provider v1.0"
    !DEC$ ENDIF
          character*46, parameter :: MS_ENHANCED_PROV_A = "Microsoft Enhanced Cryptographic Provider v1.0"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53626 FORTRAN character*46, parameter :: MS_ENHANCED_PROV_W = L"Microsoft Enhanced Cryptographic Provider v1.0"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51803 FORTRAN character*46, parameter :: MS_ENHANCED_PROV_W = L"Microsoft Enhanced Cryptographic Provider v1.0"
    !DEC$ ENDIF
          character*39, parameter :: MS_STRONG_PROV_A = "Microsoft Strong Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53628 FORTRAN character*39, parameter :: MS_STRONG_PROV_W = L"Microsoft Strong Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51805 FORTRAN character*39, parameter :: MS_STRONG_PROV_W = L"Microsoft Strong Cryptographic Provider"
    !DEC$ ENDIF
          character*46, parameter :: MS_DEF_RSA_SIG_PROV_A = "Microsoft RSA Signature Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53630 FORTRAN character*46, parameter :: MS_DEF_RSA_SIG_PROV_W = L"Microsoft RSA Signature Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51807 FORTRAN character*46, parameter :: MS_DEF_RSA_SIG_PROV_W = L"Microsoft RSA Signature Cryptographic Provider"
    !DEC$ ENDIF
          character*45, parameter :: MS_DEF_RSA_SCHANNEL_PROV_A = "Microsoft RSA SChannel Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53632 FORTRAN character*45, parameter :: MS_DEF_RSA_SCHANNEL_PROV_W = L"Microsoft RSA SChannel Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51809 FORTRAN character*45, parameter :: MS_DEF_RSA_SCHANNEL_PROV_W = L"Microsoft RSA SChannel Cryptographic Provider"
    !DEC$ ENDIF
          character*41, parameter :: MS_DEF_DSS_PROV_A = "Microsoft Base DSS Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53634 FORTRAN character*41, parameter :: MS_DEF_DSS_PROV_W = L"Microsoft Base DSS Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51811 FORTRAN character*41, parameter :: MS_DEF_DSS_PROV_W = L"Microsoft Base DSS Cryptographic Provider"
    !DEC$ ENDIF
          character*60, parameter :: MS_DEF_DSS_DH_PROV_A = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53636 FORTRAN character*60, parameter :: MS_DEF_DSS_DH_PROV_W = L"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51813 FORTRAN character*60, parameter :: MS_DEF_DSS_DH_PROV_W = L"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ ENDIF
          character*64, parameter :: MS_ENH_DSS_DH_PROV_A = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53638 FORTRAN character*64, parameter :: MS_ENH_DSS_DH_PROV_W = L"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51815 FORTRAN character*64, parameter :: MS_ENH_DSS_DH_PROV_W = L"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
    !DEC$ ENDIF
          character*44, parameter :: MS_DEF_DH_SCHANNEL_PROV_A = "Microsoft DH SChannel Cryptographic Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53640 FORTRAN character*44, parameter :: MS_DEF_DH_SCHANNEL_PROV_W = L"Microsoft DH SChannel Cryptographic Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51817 FORTRAN character*44, parameter :: MS_DEF_DH_SCHANNEL_PROV_W = L"Microsoft DH SChannel Cryptographic Provider"
    !DEC$ ENDIF
          character*41, parameter :: MS_SCARD_PROV_A = "Microsoft Base Smart Card Crypto Provider"
    !DEC$ IF DEFINED( _M_IA64)
    ! 53642 FORTRAN character*41, parameter :: MS_SCARD_PROV_W = L"Microsoft Base Smart Card Crypto Provider"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 51819 FORTRAN character*41, parameter :: MS_SCARD_PROV_W = L"Microsoft Base Smart Card Crypto Provider"
    !DEC$ ENDIF
          integer, parameter :: MAXUIDLEN = 64
          character*11, parameter :: EXPO_OFFLOAD_REG_VALUE = "ExpoOffload"
          character*14, parameter :: EXPO_OFFLOAD_FUNC_NAME = "OffloadModExpo"
          integer, parameter :: CUR_BLOB_VERSION = 2
          integer, parameter :: SCHANNEL_MAC_KEY = #00000000
          integer, parameter :: SCHANNEL_ENC_KEY = #00000001
          integer, parameter :: INTERNATIONAL_USAGE = #00000001
          character*14, parameter :: szOID_RSA = "1.2.840.113549"
          character*16, parameter :: szOID_PKCS = "1.2.840.113549.1"
          character*16, parameter :: szOID_RSA_HASH = "1.2.840.113549.2"
          character*16, parameter :: szOID_RSA_ENCRYPT = "1.2.840.113549.3"
          character*18, parameter :: szOID_PKCS_1 = "1.2.840.113549.1.1"
          character*18, parameter :: szOID_PKCS_2 = "1.2.840.113549.1.2"
          character*18, parameter :: szOID_PKCS_3 = "1.2.840.113549.1.3"
          character*18, parameter :: szOID_PKCS_4 = "1.2.840.113549.1.4"
          character*18, parameter :: szOID_PKCS_5 = "1.2.840.113549.1.5"
          character*18, parameter :: szOID_PKCS_6 = "1.2.840.113549.1.6"
          character*18, parameter :: szOID_PKCS_7 = "1.2.840.113549.1.7"
          character*18, parameter :: szOID_PKCS_8 = "1.2.840.113549.1.8"
          character*18, parameter :: szOID_PKCS_9 = "1.2.840.113549.1.9"
          character*19, parameter :: szOID_PKCS_10 = "1.2.840.113549.1.10"
          character*19, parameter :: szOID_PKCS_12 = "1.2.840.113549.1.12"
          character*20, parameter :: szOID_RSA_RSA = "1.2.840.113549.1.1.1"
          character*20, parameter :: szOID_RSA_MD2RSA = "1.2.840.113549.1.1.2"
          character*20, parameter :: szOID_RSA_MD4RSA = "1.2.840.113549.1.1.3"
          character*20, parameter :: szOID_RSA_MD5RSA = "1.2.840.113549.1.1.4"
          character*20, parameter :: szOID_RSA_SHA1RSA = "1.2.840.113549.1.1.5"
          character*20, parameter :: szOID_RSA_SETOAEP_RSA = "1.2.840.113549.1.1.6"
          character*20, parameter :: szOID_RSA_DH = "1.2.840.113549.1.3.1"
          character*20, parameter :: szOID_RSA_data = "1.2.840.113549.1.7.1"
          character*20, parameter :: szOID_RSA_signedData = "1.2.840.113549.1.7.2"
          character*20, parameter :: szOID_RSA_envelopedData = "1.2.840.113549.1.7.3"
          character*20, parameter :: szOID_RSA_signEnvData = "1.2.840.113549.1.7.4"
          character*20, parameter :: szOID_RSA_digestedData = "1.2.840.113549.1.7.5"
          character*20, parameter :: szOID_RSA_hashedData = "1.2.840.113549.1.7.5"
          character*20, parameter :: szOID_RSA_encryptedData = "1.2.840.113549.1.7.6"
          character*20, parameter :: szOID_RSA_emailAddr = "1.2.840.113549.1.9.1"
          character*20, parameter :: szOID_RSA_unstructName = "1.2.840.113549.1.9.2"
          character*20, parameter :: szOID_RSA_contentType = "1.2.840.113549.1.9.3"
          character*20, parameter :: szOID_RSA_messageDigest = "1.2.840.113549.1.9.4"
          character*20, parameter :: szOID_RSA_signingTime = "1.2.840.113549.1.9.5"
          character*20, parameter :: szOID_RSA_counterSign = "1.2.840.113549.1.9.6"
          character*20, parameter :: szOID_RSA_challengePwd = "1.2.840.113549.1.9.7"
          character*20, parameter :: szOID_RSA_unstructAddr = "1.2.840.113549.1.9.8"
          character*20, parameter :: szOID_RSA_extCertAttrs = "1.2.840.113549.1.9.9"
          character*21, parameter :: szOID_RSA_certExtensions = "1.2.840.113549.1.9.14"
          character*21, parameter :: szOID_RSA_SMIMECapabilities = "1.2.840.113549.1.9.15"
          character*23, parameter :: szOID_RSA_preferSignedData = "1.2.840.113549.1.9.15.1"
          character*23, parameter :: szOID_RSA_SMIMEalg = "1.2.840.113549.1.9.16.3"
          character*25, parameter :: szOID_RSA_SMIMEalgESDH = "1.2.840.113549.1.9.16.3.5"
          character*25, parameter :: szOID_RSA_SMIMEalgCMS3DESwrap = "1.2.840.113549.1.9.16.3.6"
          character*25, parameter :: szOID_RSA_SMIMEalgCMSRC2wrap = "1.2.840.113549.1.9.16.3.7"
          character*18, parameter :: szOID_RSA_MD2 = "1.2.840.113549.2.2"
          character*18, parameter :: szOID_RSA_MD4 = "1.2.840.113549.2.4"
          character*18, parameter :: szOID_RSA_MD5 = "1.2.840.113549.2.5"
          character*18, parameter :: szOID_RSA_RC2CBC = "1.2.840.113549.3.2"
          character*18, parameter :: szOID_RSA_RC4 = "1.2.840.113549.3.4"
          character*18, parameter :: szOID_RSA_DES_EDE3_CBC = "1.2.840.113549.3.7"
          character*18, parameter :: szOID_RSA_RC5_CBCPad = "1.2.840.113549.3.9"
          character*13, parameter :: szOID_ANSI_X942 = "1.2.840.10046"
          character*17, parameter :: szOID_ANSI_X942_DH = "1.2.840.10046.2.1"
          character*13, parameter :: szOID_X957 = "1.2.840.10040"
          character*17, parameter :: szOID_X957_DSA = "1.2.840.10040.4.1"
          character*17, parameter :: szOID_X957_SHA1DSA = "1.2.840.10040.4.3"
          character*3, parameter :: szOID_DS = "2.5"
          character*5, parameter :: szOID_DSALG = "2.5.8"
          character*7, parameter :: szOID_DSALG_CRPT = "2.5.8.1"
          character*7, parameter :: szOID_DSALG_HASH = "2.5.8.2"
          character*7, parameter :: szOID_DSALG_SIGN = "2.5.8.3"
          character*9, parameter :: szOID_DSALG_RS = "2.5.8.1.1"
          character*9, parameter :: szOID_DSALG_RSA = "2.5.8.1.1"
          character*6, parameter :: szOID_OIW = "1.3.14"
          character*10, parameter :: szOID_OIWSEC = "1.3.14.3.2"
          character*12, parameter :: szOID_OIWSEC_md4RSA = "1.3.14.3.2.2"
          character*12, parameter :: szOID_OIWSEC_md5RSA = "1.3.14.3.2.3"
          character*12, parameter :: szOID_OIWSEC_md4RSA2 = "1.3.14.3.2.4"
          character*12, parameter :: szOID_OIWSEC_desECB = "1.3.14.3.2.6"
          character*12, parameter :: szOID_OIWSEC_desCBC = "1.3.14.3.2.7"
          character*12, parameter :: szOID_OIWSEC_desOFB = "1.3.14.3.2.8"
          character*12, parameter :: szOID_OIWSEC_desCFB = "1.3.14.3.2.9"
          character*13, parameter :: szOID_OIWSEC_desMAC = "1.3.14.3.2.10"
          character*13, parameter :: szOID_OIWSEC_rsaSign = "1.3.14.3.2.11"
          character*13, parameter :: szOID_OIWSEC_dsa = "1.3.14.3.2.12"
          character*13, parameter :: szOID_OIWSEC_shaDSA = "1.3.14.3.2.13"
          character*13, parameter :: szOID_OIWSEC_mdc2RSA = "1.3.14.3.2.14"
          character*13, parameter :: szOID_OIWSEC_shaRSA = "1.3.14.3.2.15"
          character*13, parameter :: szOID_OIWSEC_dhCommMod = "1.3.14.3.2.16"
          character*13, parameter :: szOID_OIWSEC_desEDE = "1.3.14.3.2.17"
          character*13, parameter :: szOID_OIWSEC_sha = "1.3.14.3.2.18"
          character*13, parameter :: szOID_OIWSEC_mdc2 = "1.3.14.3.2.19"
          character*13, parameter :: szOID_OIWSEC_dsaComm = "1.3.14.3.2.20"
          character*13, parameter :: szOID_OIWSEC_dsaCommSHA = "1.3.14.3.2.21"
          character*13, parameter :: szOID_OIWSEC_rsaXchg = "1.3.14.3.2.22"
          character*13, parameter :: szOID_OIWSEC_keyHashSeal = "1.3.14.3.2.23"
          character*13, parameter :: szOID_OIWSEC_md2RSASign = "1.3.14.3.2.24"
          character*13, parameter :: szOID_OIWSEC_md5RSASign = "1.3.14.3.2.25"
          character*13, parameter :: szOID_OIWSEC_sha1 = "1.3.14.3.2.26"
          character*13, parameter :: szOID_OIWSEC_dsaSHA1 = "1.3.14.3.2.27"
          character*13, parameter :: szOID_OIWSEC_dsaCommSHA1 = "1.3.14.3.2.28"
          character*13, parameter :: szOID_OIWSEC_sha1RSASign = "1.3.14.3.2.29"
          character*10, parameter :: szOID_OIWDIR = "1.3.14.7.2"
          character*12, parameter :: szOID_OIWDIR_CRPT = "1.3.14.7.2.1"
          character*12, parameter :: szOID_OIWDIR_HASH = "1.3.14.7.2.2"
          character*12, parameter :: szOID_OIWDIR_SIGN = "1.3.14.7.2.3"
          character*14, parameter :: szOID_OIWDIR_md2 = "1.3.14.7.2.2.1"
          character*14, parameter :: szOID_OIWDIR_md2RSA = "1.3.14.7.2.3.1"
          character*18, parameter :: szOID_INFOSEC = "2.16.840.1.101.2.1"
          character*22, parameter :: szOID_INFOSEC_sdnsSignature = "2.16.840.1.101.2.1.1.1"
          character*22, parameter :: szOID_INFOSEC_mosaicSignature = "2.16.840.1.101.2.1.1.2"
          character*22, parameter :: szOID_INFOSEC_sdnsConfidentiality = "2.16.840.1.101.2.1.1.3"
          character*22, parameter :: szOID_INFOSEC_mosaicConfidentiality = "2.16.840.1.101.2.1.1.4"
          character*22, parameter :: szOID_INFOSEC_sdnsIntegrity = "2.16.840.1.101.2.1.1.5"
          character*22, parameter :: szOID_INFOSEC_mosaicIntegrity = "2.16.840.1.101.2.1.1.6"
          character*22, parameter :: szOID_INFOSEC_sdnsTokenProtection = "2.16.840.1.101.2.1.1.7"
          character*22, parameter :: szOID_INFOSEC_mosaicTokenProtection = "2.16.840.1.101.2.1.1.8"
          character*22, parameter :: szOID_INFOSEC_sdnsKeyManagement = "2.16.840.1.101.2.1.1.9"
          character*23, parameter :: szOID_INFOSEC_mosaicKeyManagement = "2.16.840.1.101.2.1.1.10"
          character*23, parameter :: szOID_INFOSEC_sdnsKMandSig = "2.16.840.1.101.2.1.1.11"
          character*23, parameter :: szOID_INFOSEC_mosaicKMandSig = "2.16.840.1.101.2.1.1.12"
          character*23, parameter :: szOID_INFOSEC_SuiteASignature = "2.16.840.1.101.2.1.1.13"
          character*23, parameter :: szOID_INFOSEC_SuiteAConfidentiality = "2.16.840.1.101.2.1.1.14"
          character*23, parameter :: szOID_INFOSEC_SuiteAIntegrity = "2.16.840.1.101.2.1.1.15"
          character*23, parameter :: szOID_INFOSEC_SuiteATokenProtection = "2.16.840.1.101.2.1.1.16"
          character*23, parameter :: szOID_INFOSEC_SuiteAKeyManagement = "2.16.840.1.101.2.1.1.17"
          character*23, parameter :: szOID_INFOSEC_SuiteAKMandSig = "2.16.840.1.101.2.1.1.18"
          character*23, parameter :: szOID_INFOSEC_mosaicUpdatedSig = "2.16.840.1.101.2.1.1.19"
          character*23, parameter :: szOID_INFOSEC_mosaicKMandUpdSig = "2.16.840.1.101.2.1.1.20"
          character*23, parameter :: szOID_INFOSEC_mosaicUpdatedInteg = "2.16.840.1.101.2.1.1.21"
          character*7, parameter :: szOID_COMMON_NAME = "2.5.4.3"
          character*7, parameter :: szOID_SUR_NAME = "2.5.4.4"
          character*7, parameter :: szOID_DEVICE_SERIAL_NUMBER = "2.5.4.5"
          character*7, parameter :: szOID_COUNTRY_NAME = "2.5.4.6"
          character*7, parameter :: szOID_LOCALITY_NAME = "2.5.4.7"
          character*7, parameter :: szOID_STATE_OR_PROVINCE_NAME = "2.5.4.8"
          character*7, parameter :: szOID_STREET_ADDRESS = "2.5.4.9"
          character*8, parameter :: szOID_ORGANIZATION_NAME = "2.5.4.10"
          character*8, parameter :: szOID_ORGANIZATIONAL_UNIT_NAME = "2.5.4.11"
          character*8, parameter :: szOID_TITLE = "2.5.4.12"
          character*8, parameter :: szOID_DESCRIPTION = "2.5.4.13"
          character*8, parameter :: szOID_SEARCH_GUIDE = "2.5.4.14"
          character*8, parameter :: szOID_BUSINESS_CATEGORY = "2.5.4.15"
          character*8, parameter :: szOID_POSTAL_ADDRESS = "2.5.4.16"
          character*8, parameter :: szOID_POSTAL_CODE = "2.5.4.17"
          character*8, parameter :: szOID_POST_OFFICE_BOX = "2.5.4.18"
          character*8, parameter :: szOID_PHYSICAL_DELIVERY_OFFICE_NAME = "2.5.4.19"
          character*8, parameter :: szOID_TELEPHONE_NUMBER = "2.5.4.20"
          character*8, parameter :: szOID_TELEX_NUMBER = "2.5.4.21"
          character*8, parameter :: szOID_TELETEXT_TERMINAL_IDENTIFIER = "2.5.4.22"
          character*8, parameter :: szOID_FACSIMILE_TELEPHONE_NUMBER = "2.5.4.23"
          character*8, parameter :: szOID_X21_ADDRESS = "2.5.4.24"
          character*8, parameter :: szOID_INTERNATIONAL_ISDN_NUMBER = "2.5.4.25"
          character*8, parameter :: szOID_REGISTERED_ADDRESS = "2.5.4.26"
          character*8, parameter :: szOID_DESTINATION_INDICATOR = "2.5.4.27"
          character*8, parameter :: szOID_PREFERRED_DELIVERY_METHOD = "2.5.4.28"
          character*8, parameter :: szOID_PRESENTATION_ADDRESS = "2.5.4.29"
          character*8, parameter :: szOID_SUPPORTED_APPLICATION_CONTEXT = "2.5.4.30"
          character*8, parameter :: szOID_MEMBER = "2.5.4.31"
          character*8, parameter :: szOID_OWNER = "2.5.4.32"
          character*8, parameter :: szOID_ROLE_OCCUPANT = "2.5.4.33"
          character*8, parameter :: szOID_SEE_ALSO = "2.5.4.34"
          character*8, parameter :: szOID_USER_PASSWORD = "2.5.4.35"
          character*8, parameter :: szOID_USER_CERTIFICATE = "2.5.4.36"
          character*8, parameter :: szOID_CA_CERTIFICATE = "2.5.4.37"
          character*8, parameter :: szOID_AUTHORITY_REVOCATION_LIST = "2.5.4.38"
          character*8, parameter :: szOID_CERTIFICATE_REVOCATION_LIST = "2.5.4.39"
          character*8, parameter :: szOID_CROSS_CERTIFICATE_PAIR = "2.5.4.40"
          character*8, parameter :: szOID_GIVEN_NAME = "2.5.4.42"
          character*8, parameter :: szOID_INITIALS = "2.5.4.43"
          character*8, parameter :: szOID_DN_QUALIFIER = "2.5.4.46"
          character*26, parameter :: szOID_DOMAIN_COMPONENT = "0.9.2342.19200300.100.1.25"
          character*21, parameter :: szOID_PKCS_12_FRIENDLY_NAME_ATTR = "1.2.840.113549.1.9.20"
          character*21, parameter :: szOID_PKCS_12_LOCAL_KEY_ID = "1.2.840.113549.1.9.21"
          character*20, parameter :: szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR = "1.3.6.1.4.1.311.17.1"
          character*20, parameter :: szOID_LOCAL_MACHINE_KEYSET = "1.3.6.1.4.1.311.17.2"
          character*22, parameter :: szOID_KEYID_RDN = "1.3.6.1.4.1.311.10.7.1"
          integer, parameter :: CERT_RDN_ANY_TYPE = 0
          integer, parameter :: CERT_RDN_ENCODED_BLOB = 1
          integer, parameter :: CERT_RDN_OCTET_STRING = 2
          integer, parameter :: CERT_RDN_NUMERIC_STRING = 3
          integer, parameter :: CERT_RDN_PRINTABLE_STRING = 4
          integer, parameter :: CERT_RDN_TELETEX_STRING = 5
          integer, parameter :: CERT_RDN_T61_STRING = 5
          integer, parameter :: CERT_RDN_VIDEOTEX_STRING = 6
          integer, parameter :: CERT_RDN_IA5_STRING = 7
          integer, parameter :: CERT_RDN_GRAPHIC_STRING = 8
          integer, parameter :: CERT_RDN_VISIBLE_STRING = 9
          integer, parameter :: CERT_RDN_ISO646_STRING = 9
          integer, parameter :: CERT_RDN_GENERAL_STRING = 10
          integer, parameter :: CERT_RDN_UNIVERSAL_STRING = 11
          integer, parameter :: CERT_RDN_INT4_STRING = 11
          integer, parameter :: CERT_RDN_BMP_STRING = 12
          integer, parameter :: CERT_RDN_UNICODE_STRING = 12
          integer, parameter :: CERT_RDN_UTF8_STRING = 13
          integer, parameter :: CERT_RDN_TYPE_MASK = #000000FF
          integer, parameter :: CERT_RDN_FLAGS_MASK = #FF000000
          integer, parameter :: CERT_RDN_ENABLE_T61_UNICODE_FLAG = #80000000
          integer, parameter :: CERT_RDN_ENABLE_UTF8_UNICODE_FLAG = #20000000
          integer, parameter :: CERT_RDN_DISABLE_CHECK_TYPE_FLAG = #40000000
          integer, parameter :: CERT_RDN_DISABLE_IE4_UTF8_FLAG = #01000000
          integer, parameter :: CERT_V1 = 0
          integer, parameter :: CERT_V2 = 1
          integer, parameter :: CERT_V3 = 2
          integer, parameter :: CERT_INFO_VERSION_FLAG = 1
          integer, parameter :: CERT_INFO_SERIAL_NUMBER_FLAG = 2
          integer, parameter :: CERT_INFO_SIGNATURE_ALGORITHM_FLAG = 3
          integer, parameter :: CERT_INFO_ISSUER_FLAG = 4
          integer, parameter :: CERT_INFO_NOT_BEFORE_FLAG = 5
          integer, parameter :: CERT_INFO_NOT_AFTER_FLAG = 6
          integer, parameter :: CERT_INFO_SUBJECT_FLAG = 7
          integer, parameter :: CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8
          integer, parameter :: CERT_INFO_ISSUER_UNIQUE_ID_FLAG = 9
          integer, parameter :: CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = 10
          integer, parameter :: CERT_INFO_EXTENSION_FLAG = 11
          integer, parameter :: CRL_V1 = 0
          integer, parameter :: CRL_V2 = 1
          integer, parameter :: CERT_REQUEST_V1 = 0
          integer, parameter :: CERT_KEYGEN_REQUEST_V1 = 0
          integer, parameter :: CTL_V1 = 0
          integer, parameter :: CERT_ENCODING_TYPE_MASK = #0000FFFF
          integer, parameter :: CMSG_ENCODING_TYPE_MASK = #FFFF0000
          integer, parameter :: CRYPT_ASN_ENCODING = #00000001
          integer, parameter :: CRYPT_NDR_ENCODING = #00000002
          integer, parameter :: X509_ASN_ENCODING = #00000001
          integer, parameter :: X509_NDR_ENCODING = #00000002
          integer, parameter :: PKCS_7_ASN_ENCODING = #00010000
          integer, parameter :: PKCS_7_NDR_ENCODING = #00020000
          integer, parameter :: CRYPT_FORMAT_STR_MULTI_LINE = #0001
          integer, parameter :: CRYPT_FORMAT_STR_NO_HEX = #0010
          integer, parameter :: CRYPT_FORMAT_SIMPLE = #0001
          integer, parameter :: CRYPT_FORMAT_X509 = #0002
          integer, parameter :: CRYPT_FORMAT_OID = #0004
          integer, parameter :: CRYPT_FORMAT_RDN_SEMICOLON = #0100
          integer, parameter :: CRYPT_FORMAT_RDN_CRLF = #0200
          integer, parameter :: CRYPT_FORMAT_RDN_UNQUOTE = #0400
          integer, parameter :: CRYPT_FORMAT_RDN_REVERSE = #0800
          integer, parameter :: CRYPT_FORMAT_COMMA = #1000
          integer, parameter :: CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG = #8
          integer, parameter :: CRYPT_ENCODE_ALLOC_FLAG = #8000
          integer, parameter :: CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG = #10000
          integer, parameter :: CRYPT_DECODE_NOCOPY_FLAG = #1
          integer, parameter :: CRYPT_DECODE_TO_BE_SIGNED_FLAG = #2
          integer, parameter :: CRYPT_DECODE_SHARE_OID_STRING_FLAG = #4
          integer, parameter :: CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG = #8
          integer, parameter :: CRYPT_DECODE_ALLOC_FLAG = #8000
          integer, parameter :: CRYPT_ENCODE_DECODE_NONE = 0
          integer, parameter :: X509_CERT = (  1)
          integer, parameter :: X509_CERT_TO_BE_SIGNED = (  2)
          integer, parameter :: X509_CERT_CRL_TO_BE_SIGNED = (  3)
          integer, parameter :: X509_CERT_REQUEST_TO_BE_SIGNED = (  4)
          integer, parameter :: X509_EXTENSIONS = (  5)
          integer, parameter :: X509_NAME_VALUE = (  6)
          integer, parameter :: X509_NAME = (  7)
          integer, parameter :: X509_PUBLIC_KEY_INFO = (  8)
          integer, parameter :: X509_AUTHORITY_KEY_ID = (  9)
          integer, parameter :: X509_KEY_ATTRIBUTES = (  10)
          integer, parameter :: X509_KEY_USAGE_RESTRICTION = (  11)
          integer, parameter :: X509_ALTERNATE_NAME = (  12)
          integer, parameter :: X509_BASIC_CONSTRAINTS = (  13)
          integer, parameter :: X509_KEY_USAGE = (  14)
          integer, parameter :: X509_BASIC_CONSTRAINTS2 = (  15)
          integer, parameter :: X509_CERT_POLICIES = (  16)
          integer, parameter :: PKCS_UTC_TIME = (  17)
          integer, parameter :: PKCS_TIME_REQUEST = (  18)
          integer, parameter :: RSA_CSP_PUBLICKEYBLOB = (  19)
          integer, parameter :: X509_UNICODE_NAME = (  20)
          integer, parameter :: X509_KEYGEN_REQUEST_TO_BE_SIGNED = (  21)
          integer, parameter :: PKCS_ATTRIBUTE = (  22)
          integer, parameter :: PKCS_CONTENT_INFO_SEQUENCE_OF_ANY = (  23)
          integer, parameter :: X509_UNICODE_NAME_VALUE = (  24)
          integer, parameter :: X509_OCTET_STRING = (  25)
          integer, parameter :: X509_BITS = (  26)
          integer, parameter :: X509_INTEGER = (  27)
          integer, parameter :: X509_MULTI_BYTE_INTEGER = (  28)
          integer, parameter :: X509_ENUMERATED = (  29)
          integer, parameter :: X509_CHOICE_OF_TIME = (  30)
          integer, parameter :: X509_AUTHORITY_KEY_ID2 = (  31)
          integer, parameter :: X509_AUTHORITY_INFO_ACCESS = (  32)
          integer, parameter :: PKCS_CONTENT_INFO = (  33)
          integer, parameter :: X509_SEQUENCE_OF_ANY = (  34)
          integer, parameter :: X509_CRL_DIST_POINTS = (  35)
          integer, parameter :: X509_ENHANCED_KEY_USAGE = (  36)
          integer, parameter :: PKCS_CTL = (  37)
          integer, parameter :: X509_MULTI_BYTE_UINT = (  38)
          integer, parameter :: X509_DSS_PARAMETERS = (  39)
          integer, parameter :: X509_DSS_SIGNATURE = (  40)
          integer, parameter :: PKCS_RC2_CBC_PARAMETERS = (  41)
          integer, parameter :: PKCS_SMIME_CAPABILITIES = (  42)
          integer, parameter :: PKCS_RSA_PRIVATE_KEY = (  43)
          integer, parameter :: PKCS_PRIVATE_KEY_INFO = (  44)
          integer, parameter :: PKCS_ENCRYPTED_PRIVATE_KEY_INFO = (  45)
          integer, parameter :: X509_PKIX_POLICY_QUALIFIER_USERNOTICE = (  46)
          integer, parameter :: X509_DH_PARAMETERS = (  47)
          integer, parameter :: PKCS_ATTRIBUTES = (  48)
          integer, parameter :: PKCS_SORTED_CTL = (  49)
          integer, parameter :: X942_DH_PARAMETERS = (  50)
          integer, parameter :: X509_BITS_WITHOUT_TRAILING_ZEROES = (  51)
          integer, parameter :: X942_OTHER_INFO = (  52)
          integer, parameter :: PKCS7_SIGNER_INFO = (  500)
          integer, parameter :: CMS_SIGNER_INFO = (  501)
          character*8, parameter :: szOID_AUTHORITY_KEY_IDENTIFIER = "2.5.29.1"
          character*8, parameter :: szOID_KEY_ATTRIBUTES = "2.5.29.2"
          character*8, parameter :: szOID_CERT_POLICIES_95 = "2.5.29.3"
          character*8, parameter :: szOID_KEY_USAGE_RESTRICTION = "2.5.29.4"
          character*8, parameter :: szOID_SUBJECT_ALT_NAME = "2.5.29.7"
          character*8, parameter :: szOID_ISSUER_ALT_NAME = "2.5.29.8"
          character*9, parameter :: szOID_BASIC_CONSTRAINTS = "2.5.29.10"
          character*9, parameter :: szOID_KEY_USAGE = "2.5.29.15"
          character*9, parameter :: szOID_PRIVATEKEY_USAGE_PERIOD = "2.5.29.16"
          character*9, parameter :: szOID_BASIC_CONSTRAINTS2 = "2.5.29.19"
          character*9, parameter :: szOID_CERT_POLICIES = "2.5.29.32"
          character*9, parameter :: szOID_AUTHORITY_KEY_IDENTIFIER2 = "2.5.29.35"
          character*9, parameter :: szOID_SUBJECT_KEY_IDENTIFIER = "2.5.29.14"
          character*9, parameter :: szOID_SUBJECT_ALT_NAME2 = "2.5.29.17"
          character*9, parameter :: szOID_ISSUER_ALT_NAME2 = "2.5.29.18"
          character*9, parameter :: szOID_CRL_REASON_CODE = "2.5.29.21"
          character*9, parameter :: szOID_CRL_DIST_POINTS = "2.5.29.31"
          character*9, parameter :: szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
          character*20, parameter :: szOID_RENEWAL_CERTIFICATE = "1.3.6.1.4.1.311.13.1"
          character*22, parameter :: szOID_ENROLLMENT_NAME_VALUE_PAIR = "1.3.6.1.4.1.311.13.2.1"
          character*22, parameter :: szOID_ENROLLMENT_CSP_PROVIDER = "1.3.6.1.4.1.311.13.2.2"
          character*22, parameter :: szOID_OS_VERSION = "1.3.6.1.4.1.311.13.2.3"
          character*22, parameter :: szOID_ENROLLMENT_AGENT = "1.3.6.1.4.1.311.20.2.1"
          character*13, parameter :: szOID_PKIX = "1.3.6.1.5.5.7"
          character*15, parameter :: szOID_PKIX_PE = "1.3.6.1.5.5.7.1"
          character*17, parameter :: szOID_AUTHORITY_INFO_ACCESS = "1.3.6.1.5.5.7.1.1"
          character*22, parameter :: szOID_CERT_EXTENSIONS = "1.3.6.1.4.1.311.2.1.14"
          character*20, parameter :: szOID_NEXT_UPDATE_LOCATION = "1.3.6.1.4.1.311.10.2"
          character*20, parameter :: szOID_CTL = "1.3.6.1.4.1.311.10.1"
          character*22, parameter :: szOID_SORTED_CTL = "1.3.6.1.4.1.311.10.1.1"
          character*24, parameter :: szOID_SERIALIZED = "1.3.6.1.4.1.311.10.3.3.1"
          character*22, parameter :: szOID_NT_PRINCIPAL_NAME = "1.3.6.1.4.1.311.20.2.3"
          character*20, parameter :: szOID_PRODUCT_UPDATE = "1.3.6.1.4.1.311.31.1"
          character*20, parameter :: szOID_AUTO_ENROLL_CTL_USAGE = "1.3.6.1.4.1.311.20.1"
          character*20, parameter :: szOID_ENROLL_CERTTYPE_EXTENSION = "1.3.6.1.4.1.311.20.2"
          character*20, parameter :: szOID_CERT_MANIFOLD = "1.3.6.1.4.1.311.20.3"
          character*20, parameter :: szOID_CERTSRV_CA_VERSION = "1.3.6.1.4.1.311.21.1"
          character*20, parameter :: szOID_NTDS_REPLICATION = "1.3.6.1.4.1.311.25.1"
          character*8, parameter :: szOID_POLICY_MAPPINGS = "2.5.29.5"
          character*8, parameter :: szOID_SUBJECT_DIR_ATTRS = "2.5.29.9"
          character*15, parameter :: szOID_PKIX_KP = "1.3.6.1.5.5.7.3"
          character*17, parameter :: szOID_PKIX_KP_SERVER_AUTH = "1.3.6.1.5.5.7.3.1"
          character*17, parameter :: szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2"
          character*17, parameter :: szOID_PKIX_KP_CODE_SIGNING = "1.3.6.1.5.5.7.3.3"
          character*17, parameter :: szOID_PKIX_KP_EMAIL_PROTECTION = "1.3.6.1.5.5.7.3.4"
          character*17, parameter :: szOID_PKIX_KP_IPSEC_END_SYSTEM = "1.3.6.1.5.5.7.3.5"
          character*17, parameter :: szOID_PKIX_KP_IPSEC_TUNNEL = "1.3.6.1.5.5.7.3.6"
          character*17, parameter :: szOID_PKIX_KP_IPSEC_USER = "1.3.6.1.5.5.7.3.7"
          character*17, parameter :: szOID_PKIX_KP_TIMESTAMP_SIGNING = "1.3.6.1.5.5.7.3.8"
          character*22, parameter :: szOID_KP_CTL_USAGE_SIGNING = "1.3.6.1.4.1.311.10.3.1"
          character*22, parameter :: szOID_KP_TIME_STAMP_SIGNING = "1.3.6.1.4.1.311.10.3.2"
          character*22, parameter :: szOID_SERVER_GATED_CRYPTO = "1.3.6.1.4.1.311.10.3.3"
          character*21, parameter :: szOID_SGC_NETSCAPE = "2.16.840.1.113730.4.1"
          character*22, parameter :: szOID_KP_EFS = "1.3.6.1.4.1.311.10.3.4"
          character*22, parameter :: szOID_WHQL_CRYPTO = "1.3.6.1.4.1.311.10.3.5"
          character*22, parameter :: szOID_NT5_CRYPTO = "1.3.6.1.4.1.311.10.3.6"
          character*22, parameter :: szOID_OEM_WHQL_CRYPTO = "1.3.6.1.4.1.311.10.3.7"
          character*22, parameter :: szOID_EMBEDDED_NT_CRYPTO = "1.3.6.1.4.1.311.10.3.8"
          character*22, parameter :: szOID_DRM = "1.3.6.1.4.1.311.10.5.1"
          character*22, parameter :: szOID_LICENSES = "1.3.6.1.4.1.311.10.6.1"
          character*22, parameter :: szOID_LICENSE_SERVER = "1.3.6.1.4.1.311.10.6.2"
          character*22, parameter :: szOID_KP_SMARTCARD_LOGON = "1.3.6.1.4.1.311.20.2.2"
          character*22, parameter :: szOID_YESNO_TRUST_ATTR = "1.3.6.1.4.1.311.10.4.1"
          character*17, parameter :: szOID_PKIX_POLICY_QUALIFIER_CPS = "1.3.6.1.5.5.7.2.1"
          character*17, parameter :: szOID_PKIX_POLICY_QUALIFIER_USERNOTICE = "1.3.6.1.5.5.7.2.2"
          character*25, parameter :: szOID_CERT_POLICIES_95_QUALIFIER1 = "2.16.840.1.113733.1.7.1.1"
          integer, parameter :: CERT_UNICODE_RDN_ERR_INDEX_MASK = #3FF
          integer, parameter :: CERT_UNICODE_RDN_ERR_INDEX_SHIFT = 22
          integer, parameter :: CERT_UNICODE_ATTR_ERR_INDEX_MASK = #003F
          integer, parameter :: CERT_UNICODE_ATTR_ERR_INDEX_SHIFT = 16
          integer, parameter :: CERT_UNICODE_VALUE_ERR_INDEX_MASK = #0000FFFF
          integer, parameter :: CERT_UNICODE_VALUE_ERR_INDEX_SHIFT = 0
          integer, parameter :: CERT_DIGITAL_SIGNATURE_KEY_USAGE = #80
          integer, parameter :: CERT_NON_REPUDIATION_KEY_USAGE = #40
          integer, parameter :: CERT_KEY_ENCIPHERMENT_KEY_USAGE = #20
          integer, parameter :: CERT_DATA_ENCIPHERMENT_KEY_USAGE = #10
          integer, parameter :: CERT_KEY_AGREEMENT_KEY_USAGE = #08
          integer, parameter :: CERT_KEY_CERT_SIGN_KEY_USAGE = #04
          integer, parameter :: CERT_OFFLINE_CRL_SIGN_KEY_USAGE = #02
          integer, parameter :: CERT_CRL_SIGN_KEY_USAGE = #02
          integer, parameter :: CERT_ENCIPHER_ONLY_KEY_USAGE = #01
          integer, parameter :: CERT_DECIPHER_ONLY_KEY_USAGE = #80
          integer, parameter :: CERT_ALT_NAME_OTHER_NAME = 1
          integer, parameter :: CERT_ALT_NAME_RFC822_NAME = 2
          integer, parameter :: CERT_ALT_NAME_DNS_NAME = 3
          integer, parameter :: CERT_ALT_NAME_X400_ADDRESS = 4
          integer, parameter :: CERT_ALT_NAME_DIRECTORY_NAME = 5
          integer, parameter :: CERT_ALT_NAME_EDI_PARTY_NAME = 6
          integer, parameter :: CERT_ALT_NAME_URL = 7
          integer, parameter :: CERT_ALT_NAME_IP_ADDRESS = 8
          integer, parameter :: CERT_ALT_NAME_REGISTERED_ID = 9
          integer, parameter :: CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK = #FF
          integer, parameter :: CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT = 16
          integer, parameter :: CERT_ALT_NAME_VALUE_ERR_INDEX_MASK = #0000FFFF
          integer, parameter :: CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT = 0
          integer, parameter :: CERT_CA_SUBJECT_FLAG = #80
          integer, parameter :: CERT_END_ENTITY_SUBJECT_FLAG = #40
          character*16, parameter :: szOID_PKIX_ACC_DESCR = "1.3.6.1.5.5.7.48"
          character*18, parameter :: szOID_PKIX_OCSP = "1.3.6.1.5.5.7.48.1"
          character*18, parameter :: szOID_PKIX_CA_ISSUERS = "1.3.6.1.5.5.7.48.2"
          integer, parameter :: CRL_REASON_UNSPECIFIED = 0
          integer, parameter :: CRL_REASON_KEY_COMPROMISE = 1
          integer, parameter :: CRL_REASON_CA_COMPROMISE = 2
          integer, parameter :: CRL_REASON_AFFILIATION_CHANGED = 3
          integer, parameter :: CRL_REASON_SUPERSEDED = 4
          integer, parameter :: CRL_REASON_CESSATION_OF_OPERATION = 5
          integer, parameter :: CRL_REASON_CERTIFICATE_HOLD = 6
          integer, parameter :: CRL_REASON_REMOVE_FROM_CRL = 8
          integer, parameter :: CRL_DIST_POINT_NO_NAME = 0
          integer, parameter :: CRL_DIST_POINT_FULL_NAME = 1
          integer, parameter :: CRL_DIST_POINT_ISSUER_RDN_NAME = 2
          integer, parameter :: CRL_REASON_UNUSED_FLAG = #80
          integer, parameter :: CRL_REASON_KEY_COMPROMISE_FLAG = #40
          integer, parameter :: CRL_REASON_CA_COMPROMISE_FLAG = #20
          integer, parameter :: CRL_REASON_AFFILIATION_CHANGED_FLAG = #10
          integer, parameter :: CRL_REASON_SUPERSEDED_FLAG = #08
          integer, parameter :: CRL_REASON_CESSATION_OF_OPERATION_FLAG = #04
          integer, parameter :: CRL_REASON_CERTIFICATE_HOLD_FLAG = #02
          integer, parameter :: CRL_DIST_POINT_ERR_INDEX_MASK = #7F
          integer, parameter :: CRL_DIST_POINT_ERR_INDEX_SHIFT = 24
          integer, parameter :: CRL_DIST_POINT_ERR_CRL_ISSUER_BIT = #80000000
          integer, parameter :: SORTED_CTL_EXT_FLAGS_OFFSET = (0*4)
          integer, parameter :: SORTED_CTL_EXT_COUNT_OFFSET = (1*4)
          integer, parameter :: SORTED_CTL_EXT_MAX_COLLISION_OFFSET = (2*4)
          integer, parameter :: SORTED_CTL_EXT_HASH_BUCKET_OFFSET = (3*4)
          integer, parameter :: SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG = #1
          integer, parameter :: CERT_DSS_R_LEN = 20
          integer, parameter :: CERT_DSS_S_LEN = 20
          integer, parameter :: CERT_DSS_SIGNATURE_LEN = (20 + 20)
          integer, parameter :: CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN = (2 + 2*(2 + 20 +1))
          integer, parameter :: CRYPT_X942_COUNTER_BYTE_LENGTH = 4
          integer, parameter :: CRYPT_X942_KEY_LENGTH_BYTE_LENGTH = 4
          integer, parameter :: CRYPT_X942_PUB_INFO_BYTE_LENGTH = (512/8)
          integer, parameter :: CRYPT_RC2_40BIT_VERSION = 160
          integer, parameter :: CRYPT_RC2_56BIT_VERSION = 52
          integer, parameter :: CRYPT_RC2_64BIT_VERSION = 120
          integer, parameter :: CRYPT_RC2_128BIT_VERSION = 58
          character*17, parameter :: szOID_NETSCAPE = "2.16.840.1.113730"
          character*19, parameter :: szOID_NETSCAPE_CERT_EXTENSION = "2.16.840.1.113730.1"
          character*21, parameter :: szOID_NETSCAPE_CERT_TYPE = "2.16.840.1.113730.1.1"
          character*21, parameter :: szOID_NETSCAPE_BASE_URL = "2.16.840.1.113730.1.2"
          character*21, parameter :: szOID_NETSCAPE_REVOCATION_URL = "2.16.840.1.113730.1.3"
          character*21, parameter :: szOID_NETSCAPE_CA_REVOCATION_URL = "2.16.840.1.113730.1.4"
          character*21, parameter :: szOID_NETSCAPE_CERT_RENEWAL_URL = "2.16.840.1.113730.1.7"
          character*21, parameter :: szOID_NETSCAPE_CA_POLICY_URL = "2.16.840.1.113730.1.8"
          character*22, parameter :: szOID_NETSCAPE_SSL_SERVER_NAME = "2.16.840.1.113730.1.12"
          character*22, parameter :: szOID_NETSCAPE_COMMENT = "2.16.840.1.113730.1.13"
          character*19, parameter :: szOID_NETSCAPE_DATA_TYPE = "2.16.840.1.113730.2"
          character*21, parameter :: szOID_NETSCAPE_CERT_SEQUENCE = "2.16.840.1.113730.2.5"
          integer, parameter :: NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE = #80
          integer, parameter :: NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE = #40
          integer, parameter :: NETSCAPE_SMIME_CERT_TYPE = #20
          integer, parameter :: NETSCAPE_SIGN_CERT_TYPE = #10
          integer, parameter :: NETSCAPE_SSL_CA_CERT_TYPE = #04
          integer, parameter :: NETSCAPE_SMIME_CA_CERT_TYPE = #02
          integer, parameter :: NETSCAPE_SIGN_CA_CERT_TYPE = #01
          character*20, parameter :: CRYPT_OID_ENCODE_OBJECT_FUNC = "CryptDllEncodeObject"
          character*20, parameter :: CRYPT_OID_DECODE_OBJECT_FUNC = "CryptDllDecodeObject"
          character*22, parameter :: CRYPT_OID_ENCODE_OBJECT_EX_FUNC = "CryptDllEncodeObjectEx"
          character*22, parameter :: CRYPT_OID_DECODE_OBJECT_EX_FUNC = "CryptDllDecodeObjectEx"
          character*23, parameter :: CRYPT_OID_CREATE_COM_OBJECT_FUNC = "CryptDllCreateCOMObject"
          character*23, parameter :: CRYPT_OID_VERIFY_REVOCATION_FUNC = "CertDllVerifyRevocation"
          character*21, parameter :: CRYPT_OID_VERIFY_CTL_USAGE_FUNC = "CertDllVerifyCTLUsage"
          character*20, parameter :: CRYPT_OID_FORMAT_OBJECT_FUNC = "CryptDllFormatObject"
          character*19, parameter :: CRYPT_OID_FIND_OID_INFO_FUNC = "CryptDllFindOIDInfo"
          character*25, parameter :: CRYPT_OID_FIND_LOCALIZED_NAME_FUNC = "CryptDllFindLocalizedName"
          character*38, parameter :: CRYPT_OID_REGPATH = "Software\\Microsoft\\Cryptography\\OID"
          character*13, parameter :: CRYPT_OID_REG_ENCODING_TYPE_PREFIX = "EncodingType "
    !DEC$ IF DEFINED( _M_IA64)
    ! 55732 FORTRAN character*3, parameter :: CRYPT_OID_REG_DLL_VALUE_NAME = L"Dll"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 53909 FORTRAN character*3, parameter :: CRYPT_OID_REG_DLL_VALUE_NAME = L"Dll"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 55733 FORTRAN character*8, parameter :: CRYPT_OID_REG_FUNC_NAME_VALUE_NAME = L"FuncName"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 53910 FORTRAN character*8, parameter :: CRYPT_OID_REG_FUNC_NAME_VALUE_NAME = L"FuncName"
    !DEC$ ENDIF
          character*8, parameter :: CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A = "FuncName"
    !DEC$ IF DEFINED( _M_IA64)
    ! 55735 FORTRAN character*10, parameter :: CRYPT_OID_REG_FLAGS_VALUE_NAME = L"CryptFlags"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 53912 FORTRAN character*10, parameter :: CRYPT_OID_REG_FLAGS_VALUE_NAME = L"CryptFlags"
    !DEC$ ENDIF
          character*7, parameter :: CRYPT_DEFAULT_OID = "DEFAULT"
          integer, parameter :: CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG = 1
          integer, parameter :: CRYPT_GET_INSTALLED_OID_FUNC_FLAG = #1
          integer, parameter :: CRYPT_REGISTER_FIRST_INDEX = 0
          integer, parameter :: CRYPT_REGISTER_LAST_INDEX = #FFFFFFFF
          integer, parameter :: CRYPT_MATCH_ANY_ENCODING_TYPE = #FFFFFFFF
          integer, parameter :: CRYPT_HASH_ALG_OID_GROUP_ID = 1
          integer, parameter :: CRYPT_ENCRYPT_ALG_OID_GROUP_ID = 2
          integer, parameter :: CRYPT_PUBKEY_ALG_OID_GROUP_ID = 3
          integer, parameter :: CRYPT_SIGN_ALG_OID_GROUP_ID = 4
          integer, parameter :: CRYPT_RDN_ATTR_OID_GROUP_ID = 5
          integer, parameter :: CRYPT_EXT_OR_ATTR_OID_GROUP_ID = 6
          integer, parameter :: CRYPT_ENHKEY_USAGE_OID_GROUP_ID = 7
          integer, parameter :: CRYPT_POLICY_OID_GROUP_ID = 8
          integer, parameter :: CRYPT_LAST_OID_GROUP_ID = 8
          integer, parameter :: CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG = #1
          integer, parameter :: CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG = #2
          integer, parameter :: CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG = #4
          integer, parameter :: CRYPT_OID_INFO_OID_KEY = 1
          integer, parameter :: CRYPT_OID_INFO_NAME_KEY = 2
          integer, parameter :: CRYPT_OID_INFO_ALGID_KEY = 3
          integer, parameter :: CRYPT_OID_INFO_SIGN_KEY = 4
          integer, parameter :: CRYPT_INSTALL_OID_INFO_BEFORE_FLAG = 1
          integer, parameter :: CRYPT_LOCALIZED_NAME_ENCODING_TYPE = 0
          character*14, parameter :: CRYPT_LOCALIZED_NAME_OID = "LocalizedNames"
          character*20, parameter :: szOID_PKCS_7_DATA = "1.2.840.113549.1.7.1"
          character*20, parameter :: szOID_PKCS_7_SIGNED = "1.2.840.113549.1.7.2"
          character*20, parameter :: szOID_PKCS_7_ENVELOPED = "1.2.840.113549.1.7.3"
          character*20, parameter :: szOID_PKCS_7_SIGNEDANDENVELOPED = "1.2.840.113549.1.7.4"
          character*20, parameter :: szOID_PKCS_7_DIGESTED = "1.2.840.113549.1.7.5"
          character*20, parameter :: szOID_PKCS_7_ENCRYPTED = "1.2.840.113549.1.7.6"
          character*20, parameter :: szOID_PKCS_9_CONTENT_TYPE = "1.2.840.113549.1.9.3"
          character*20, parameter :: szOID_PKCS_9_MESSAGE_DIGEST = "1.2.840.113549.1.9.4"
          integer, parameter :: CMSG_DATA = 1
          integer, parameter :: CMSG_SIGNED = 2
          integer, parameter :: CMSG_ENVELOPED = 3
          integer, parameter :: CMSG_SIGNED_AND_ENVELOPED = 4
          integer, parameter :: CMSG_HASHED = 5
          integer, parameter :: CMSG_ENCRYPTED = 6
          integer, parameter :: CMSG_ALL_FLAGS = (.NOT.0)
          integer, parameter :: CMSG_DATA_FLAG = (1 * 2** 1)
          integer, parameter :: CMSG_SIGNED_FLAG = (1 * 2** 2)
          integer, parameter :: CMSG_ENVELOPED_FLAG = (1 * 2** 3)
          integer, parameter :: CMSG_SIGNED_AND_ENVELOPED_FLAG = (1 * 2** 4)
          integer, parameter :: CMSG_HASHED_FLAG = (1 * 2** 5)
          integer, parameter :: CMSG_ENCRYPTED_FLAG = (1 * 2** 6)
          integer, parameter :: CERT_ID_ISSUER_SERIAL_NUMBER = 1
          integer, parameter :: CERT_ID_KEY_IDENTIFIER = 2
          integer, parameter :: CERT_ID_SHA1_HASH = 3
          integer, parameter :: CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE = 1
          integer, parameter :: CMSG_KEY_AGREE_STATIC_KEY_CHOICE = 2
          integer, parameter :: CMSG_MAIL_LIST_HANDLE_KEY_CHOICE = 1
          integer, parameter :: CMSG_KEY_TRANS_RECIPIENT = 1
          integer, parameter :: CMSG_KEY_AGREE_RECIPIENT = 2
          integer, parameter :: CMSG_MAIL_LIST_RECIPIENT = 3
          integer, parameter :: CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG = #80000000
          integer, parameter :: CMSG_RC4_NO_SALT_FLAG = #40000000
          integer, parameter :: CMSG_INDEFINITE_LENGTH = (#FFFFFFFF)
          integer, parameter :: CMSG_BARE_CONTENT_FLAG = #00000001
          integer, parameter :: CMSG_LENGTH_ONLY_FLAG = #00000002
          integer, parameter :: CMSG_DETACHED_FLAG = #00000004
          integer, parameter :: CMSG_AUTHENTICATED_ATTRIBUTES_FLAG = #00000008
          integer, parameter :: CMSG_CONTENTS_OCTETS_FLAG = #00000010
          integer, parameter :: CMSG_MAX_LENGTH_FLAG = #00000020
          integer, parameter :: CMSG_CMS_ENCAPSULATED_CONTENT_FLAG = #00000040
          integer, parameter :: CMSG_CRYPT_RELEASE_CONTEXT_FLAG = #00008000
          integer, parameter :: CMSG_TYPE_PARAM = 1
          integer, parameter :: CMSG_CONTENT_PARAM = 2
          integer, parameter :: CMSG_BARE_CONTENT_PARAM = 3
          integer, parameter :: CMSG_INNER_CONTENT_TYPE_PARAM = 4
          integer, parameter :: CMSG_SIGNER_COUNT_PARAM = 5
          integer, parameter :: CMSG_SIGNER_INFO_PARAM = 6
          integer, parameter :: CMSG_SIGNER_CERT_INFO_PARAM = 7
          integer, parameter :: CMSG_SIGNER_HASH_ALGORITHM_PARAM = 8
          integer, parameter :: CMSG_SIGNER_AUTH_ATTR_PARAM = 9
          integer, parameter :: CMSG_SIGNER_UNAUTH_ATTR_PARAM = 10
          integer, parameter :: CMSG_CERT_COUNT_PARAM = 11
          integer, parameter :: CMSG_CERT_PARAM = 12
          integer, parameter :: CMSG_CRL_COUNT_PARAM = 13
          integer, parameter :: CMSG_CRL_PARAM = 14
          integer, parameter :: CMSG_ENVELOPE_ALGORITHM_PARAM = 15
          integer, parameter :: CMSG_RECIPIENT_COUNT_PARAM = 17
          integer, parameter :: CMSG_RECIPIENT_INDEX_PARAM = 18
          integer, parameter :: CMSG_RECIPIENT_INFO_PARAM = 19
          integer, parameter :: CMSG_HASH_ALGORITHM_PARAM = 20
          integer, parameter :: CMSG_HASH_DATA_PARAM = 21
          integer, parameter :: CMSG_COMPUTED_HASH_PARAM = 22
          integer, parameter :: CMSG_ENCRYPT_PARAM = 26
          integer, parameter :: CMSG_ENCRYPTED_DIGEST = 27
          integer, parameter :: CMSG_ENCODED_SIGNER = 28
          integer, parameter :: CMSG_ENCODED_MESSAGE = 29
          integer, parameter :: CMSG_VERSION_PARAM = 30
          integer, parameter :: CMSG_ATTR_CERT_COUNT_PARAM = 31
          integer, parameter :: CMSG_ATTR_CERT_PARAM = 32
          integer, parameter :: CMSG_CMS_RECIPIENT_COUNT_PARAM = 33
          integer, parameter :: CMSG_CMS_RECIPIENT_INDEX_PARAM = 34
          integer, parameter :: CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM = 35
          integer, parameter :: CMSG_CMS_RECIPIENT_INFO_PARAM = 36
          integer, parameter :: CMSG_UNPROTECTED_ATTR_PARAM = 37
          integer, parameter :: CMSG_SIGNER_CERT_ID_PARAM = 38
          integer, parameter :: CMSG_CMS_SIGNER_INFO_PARAM = 39
          integer, parameter :: CMSG_SIGNED_DATA_V1 = 1
          integer, parameter :: CMSG_SIGNED_DATA_V3 = 3
          integer, parameter :: CMSG_SIGNER_INFO_V1 = 1
          integer, parameter :: CMSG_SIGNER_INFO_V3 = 3
          integer, parameter :: CMSG_HASHED_DATA_V0 = 0
          integer, parameter :: CMSG_HASHED_DATA_V2 = 2
          integer, parameter :: CMSG_ENVELOPED_DATA_V0 = 0
          integer, parameter :: CMSG_ENVELOPED_DATA_V2 = 2
          integer, parameter :: CMSG_KEY_AGREE_ORIGINATOR_CERT = 1
          integer, parameter :: CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY = 2
          integer, parameter :: CMSG_ENVELOPED_RECIPIENT_V0 = 0
          integer, parameter :: CMSG_ENVELOPED_RECIPIENT_V2 = 2
          integer, parameter :: CMSG_ENVELOPED_RECIPIENT_V3 = 3
          integer, parameter :: CMSG_ENVELOPED_RECIPIENT_V4 = 4
          integer, parameter :: CMSG_CTRL_VERIFY_SIGNATURE = 1
          integer, parameter :: CMSG_CTRL_DECRYPT = 2
          integer, parameter :: CMSG_CTRL_VERIFY_HASH = 5
          integer, parameter :: CMSG_CTRL_ADD_SIGNER = 6
          integer, parameter :: CMSG_CTRL_DEL_SIGNER = 7
          integer, parameter :: CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR = 8
          integer, parameter :: CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR = 9
          integer, parameter :: CMSG_CTRL_ADD_CERT = 10
          integer, parameter :: CMSG_CTRL_DEL_CERT = 11
          integer, parameter :: CMSG_CTRL_ADD_CRL = 12
          integer, parameter :: CMSG_CTRL_DEL_CRL = 13
          integer, parameter :: CMSG_CTRL_ADD_ATTR_CERT = 14
          integer, parameter :: CMSG_CTRL_DEL_ATTR_CERT = 15
          integer, parameter :: CMSG_CTRL_KEY_TRANS_DECRYPT = 16
          integer, parameter :: CMSG_CTRL_KEY_AGREE_DECRYPT = 17
          integer, parameter :: CMSG_CTRL_MAIL_LIST_DECRYPT = 18
          integer, parameter :: CMSG_CTRL_VERIFY_SIGNATURE_EX = 19
          integer, parameter :: CMSG_CTRL_ADD_CMS_SIGNER_INFO = 20
          integer, parameter :: CMSG_VERIFY_SIGNER_PUBKEY = 1
          integer, parameter :: CMSG_VERIFY_SIGNER_CERT = 2
          integer, parameter :: CMSG_VERIFY_SIGNER_CHAIN = 3
          character*24, parameter :: CMSG_OID_GEN_ENCRYPT_KEY_FUNC = "CryptMsgDllGenEncryptKey"
          character*27, parameter :: CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC = "CryptMsgDllExportEncryptKey"
          character*27, parameter :: CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC = "CryptMsgDllImportEncryptKey"
          integer, parameter :: CMSG_DEFAULT_INSTALLABLE_FUNC_OID = (  1)
          integer, parameter :: CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG = #00000001
          integer, parameter :: CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG = #00000001
          integer, parameter :: CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG = #00008000
          character*31, parameter :: CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC = "CryptMsgDllGenContentEncryptKey"
          integer, parameter :: CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG = #00000001
          character*25, parameter :: CMSG_OID_EXPORT_KEY_TRANS_FUNC = "CryptMsgDllExportKeyTrans"
          integer, parameter :: CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG = #00000001
          integer, parameter :: CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG = #00000002
          integer, parameter :: CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG = #00000004
          integer, parameter :: CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG = #00000008
          integer, parameter :: CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG = #00000010
          character*25, parameter :: CMSG_OID_EXPORT_KEY_AGREE_FUNC = "CryptMsgDllExportKeyAgree"
          integer, parameter :: CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG = #00000001
          character*25, parameter :: CMSG_OID_EXPORT_MAIL_LIST_FUNC = "CryptMsgDllExportMailList"
          character*25, parameter :: CMSG_OID_IMPORT_KEY_TRANS_FUNC = "CryptMsgDllImportKeyTrans"
          character*25, parameter :: CMSG_OID_IMPORT_KEY_AGREE_FUNC = "CryptMsgDllImportKeyAgree"
          character*25, parameter :: CMSG_OID_IMPORT_MAIL_LIST_FUNC = "CryptMsgDllImportMailList"
          integer, parameter :: CERT_KEY_PROV_HANDLE_PROP_ID = 1
          integer, parameter :: CERT_KEY_PROV_INFO_PROP_ID = 2
          integer, parameter :: CERT_SHA1_HASH_PROP_ID = 3
          integer, parameter :: CERT_MD5_HASH_PROP_ID = 4
          integer, parameter :: CERT_KEY_CONTEXT_PROP_ID = 5
          integer, parameter :: CERT_KEY_SPEC_PROP_ID = 6
          integer, parameter :: CERT_IE30_RESERVED_PROP_ID = 7
          integer, parameter :: CERT_PUBKEY_HASH_RESERVED_PROP_ID = 8
          integer, parameter :: CERT_ENHKEY_USAGE_PROP_ID = 9
          integer, parameter :: CERT_NEXT_UPDATE_LOCATION_PROP_ID = 10
          integer, parameter :: CERT_FRIENDLY_NAME_PROP_ID = 11
          integer, parameter :: CERT_PVK_FILE_PROP_ID = 12
          integer, parameter :: CERT_DESCRIPTION_PROP_ID = 13
          integer, parameter :: CERT_ACCESS_STATE_PROP_ID = 14
          integer, parameter :: CERT_SIGNATURE_HASH_PROP_ID = 15
          integer, parameter :: CERT_SMART_CARD_DATA_PROP_ID = 16
          integer, parameter :: CERT_EFS_PROP_ID = 17
          integer, parameter :: CERT_FORTEZZA_DATA_PROP_ID = 18
          integer, parameter :: CERT_ARCHIVED_PROP_ID = 19
          integer, parameter :: CERT_KEY_IDENTIFIER_PROP_ID = 20
          integer, parameter :: CERT_AUTO_ENROLL_PROP_ID = 21
          integer, parameter :: CERT_PUBKEY_ALG_PARA_PROP_ID = 22
          integer, parameter :: CERT_FIRST_RESERVED_PROP_ID = 23
          integer, parameter :: CERT_LAST_RESERVED_PROP_ID = #00007FFF
          integer, parameter :: CERT_FIRST_USER_PROP_ID = #00008000
          integer, parameter :: CERT_LAST_USER_PROP_ID = #0000FFFF
          integer, parameter :: CERT_ACCESS_STATE_WRITE_PERSIST_FLAG = #1
          integer, parameter :: CERT_ACCESS_STATE_SYSTEM_STORE_FLAG = #2
          integer, parameter :: CERT_SET_KEY_PROV_HANDLE_PROP_ID = #00000001
          integer, parameter :: CERT_SET_KEY_CONTEXT_PROP_ID = #00000001
          integer, parameter :: CERT_STORE_PROV_MSG = (  1)
          integer, parameter :: CERT_STORE_PROV_MEMORY = (  2)
          integer, parameter :: CERT_STORE_PROV_FILE = (  3)
          integer, parameter :: CERT_STORE_PROV_REG = (  4)
          integer, parameter :: CERT_STORE_PROV_PKCS7 = (  5)
          integer, parameter :: CERT_STORE_PROV_SERIALIZED = (  6)
          integer, parameter :: CERT_STORE_PROV_FILENAME_ = (  7)
          integer, parameter :: CERT_STORE_PROV_FILENAME_A = (  7)
          integer, parameter :: CERT_STORE_PROV_FILENAME_W = (  8)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_ = (  9)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_A = (  9)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_W = (  10)
          integer, parameter :: CERT_STORE_PROV_COLLECTION = (  11)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_REGISTRY_ = (  12)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_REGISTRY_A = (  12)
          integer, parameter :: CERT_STORE_PROV_SYSTEM_REGISTRY_W = (  13)
          integer, parameter :: CERT_STORE_PROV_PHYSICAL_W = (  14)
          integer, parameter :: CERT_STORE_PROV_SMART_CARD_W = (  15)
          integer, parameter :: CERT_STORE_PROV_LDAP_W = (  16)
          character*6, parameter :: sz_CERT_STORE_PROV_MEMORY = "Memory"
          character*4, parameter :: sz_CERT_STORE_PROV_FILENAME_W = "File"
          character*6, parameter :: sz_CERT_STORE_PROV_SYSTEM_W = "System"
          character*5, parameter :: sz_CERT_STORE_PROV_PKCS7 = "PKCS7"
          character*10, parameter :: sz_CERT_STORE_PROV_SERIALIZED = "Serialized"
          character*10, parameter :: sz_CERT_STORE_PROV_COLLECTION = "Collection"
          character*14, parameter :: sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W = "SystemRegistry"
          character*8, parameter :: sz_CERT_STORE_PROV_PHYSICAL_W = "Physical"
          character*9, parameter :: sz_CERT_STORE_PROV_SMART_CARD_W = "SmartCard"
          character*4, parameter :: sz_CERT_STORE_PROV_LDAP_W = "Ldap"
          integer, parameter :: CERT_STORE_SIGNATURE_FLAG = #00000001
          integer, parameter :: CERT_STORE_TIME_VALIDITY_FLAG = #00000002
          integer, parameter :: CERT_STORE_REVOCATION_FLAG = #00000004
          integer, parameter :: CERT_STORE_NO_CRL_FLAG = #00010000
          integer, parameter :: CERT_STORE_NO_ISSUER_FLAG = #00020000
          integer, parameter :: CERT_STORE_NO_CRYPT_RELEASE_FLAG = #00000001
          integer, parameter :: CERT_STORE_SET_LOCALIZED_NAME_FLAG = #00000002
          integer, parameter :: CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = #00000004
          integer, parameter :: CERT_STORE_DELETE_FLAG = #00000010
          integer, parameter :: CERT_STORE_MANIFOLD_FLAG = #00000100
          integer, parameter :: CERT_STORE_ENUM_ARCHIVED_FLAG = #00000200
          integer, parameter :: CERT_STORE_UPDATE_KEYID_FLAG = #00000400
          integer, parameter :: CERT_STORE_READONLY_FLAG = #00008000
          integer, parameter :: CERT_STORE_OPEN_EXISTING_FLAG = #00004000
          integer, parameter :: CERT_STORE_CREATE_NEW_FLAG = #00002000
          integer, parameter :: CERT_STORE_MAXIMUM_ALLOWED_FLAG = #00001000
          integer, parameter :: CERT_SYSTEM_STORE_MASK = #FFFF0000
          integer, parameter :: CERT_SYSTEM_STORE_RELOCATE_FLAG = #80000000
          integer, parameter :: CERT_SYSTEM_STORE_UNPROTECTED_FLAG = #40000000
          integer, parameter :: CERT_SYSTEM_STORE_LOCATION_MASK = #00FF0000
          integer, parameter :: CERT_SYSTEM_STORE_LOCATION_SHIFT = 16
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_USER_ID = 1
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE_ID = 2
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_SERVICE_ID = 4
          integer, parameter :: CERT_SYSTEM_STORE_SERVICES_ID = 5
          integer, parameter :: CERT_SYSTEM_STORE_USERS_ID = 6
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID = 7
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID = 8
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID = 9
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_USER = (1 * 2** 16)
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE = (2 * 2** 16)
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_SERVICE = (4 * 2** 16)
          integer, parameter :: CERT_SYSTEM_STORE_SERVICES = (5 * 2** 16)
          integer, parameter :: CERT_SYSTEM_STORE_USERS = (6 * 2** 16)
          integer, parameter :: CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = (7 * 2**  16)
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = (8 * 2**  16)
          integer, parameter :: CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = (9 * 2**  16)
    !DEC$ IF DEFINED( _M_IA64)
    ! 57110 FORTRAN character*49, parameter :: CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55287 FORTRAN character*49, parameter :: CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 57111 FORTRAN character*5, parameter :: CERT_EFSBLOB_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates" L"\\EFS"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55288 FORTRAN character*5, parameter :: CERT_EFSBLOB_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates" L"\\EFS"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 57112 FORTRAN character*7, parameter :: CERT_EFSBLOB_VALUE_NAME = L"EFSBlob"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55289 FORTRAN character*7, parameter :: CERT_EFSBLOB_VALUE_NAME = L"EFSBlob"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 57113 FORTRAN character*22, parameter :: CERT_PROT_ROOT_FLAGS_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates" L"\\Root\\ProtectedRoots"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55290 FORTRAN character*22, parameter :: CERT_PROT_ROOT_FLAGS_REGPATH = L"Software\\Policies\\Microsoft\\SystemCertificates" L"\\Root\\ProtectedRoots"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 57114 FORTRAN character*5, parameter :: CERT_PROT_ROOT_FLAGS_VALUE_NAME = L"Flags"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55291 FORTRAN character*5, parameter :: CERT_PROT_ROOT_FLAGS_VALUE_NAME = L"Flags"
    !DEC$ ENDIF
          integer, parameter :: CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG = #1
          integer, parameter :: CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG = #2
          integer, parameter :: CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG = #4
          integer, parameter :: CERT_PROT_ROOT_ONLY_LM_GPT_FLAG = #8
          integer, parameter :: CERT_REGISTRY_STORE_REMOTE_FLAG = #10000
          integer, parameter :: CERT_REGISTRY_STORE_SERIALIZED_FLAG = #20000
          integer, parameter :: CERT_REGISTRY_STORE_CLIENT_GPT_FLAG = #80000000
          integer, parameter :: CERT_REGISTRY_STORE_LM_GPT_FLAG = #01000000
          integer, parameter :: CERT_REGISTRY_STORE_ROAMING_FLAG = #40000
          integer, parameter :: CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG = #80000
    !DEC$ IF DEFINED( _M_IA64)
    ! 57135 FORTRAN character*47, parameter :: CERT_IE_DIRTY_FLAGS_REGPATH = L"Software\\Microsoft\\Cryptography\\IEDirtyFlags"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 55312 FORTRAN character*47, parameter :: CERT_IE_DIRTY_FLAGS_REGPATH = L"Software\\Microsoft\\Cryptography\\IEDirtyFlags"
    !DEC$ ENDIF
          integer, parameter :: CERT_FILE_STORE_COMMIT_ENABLE_FLAG = #10000
          character*20, parameter :: CRYPT_OID_OPEN_STORE_PROV_FUNC = "CertDllOpenStoreProv"
          integer, parameter :: CERT_STORE_PROV_EXTERNAL_FLAG = #1
          integer, parameter :: CERT_STORE_PROV_DELETED_FLAG = #2
          integer, parameter :: CERT_STORE_PROV_NO_PERSIST_FLAG = #4
          integer, parameter :: CERT_STORE_PROV_SYSTEM_STORE_FLAG = #8
          integer, parameter :: CERT_STORE_PROV_CLOSE_FUNC = 0
          integer, parameter :: CERT_STORE_PROV_READ_CERT_FUNC = 1
          integer, parameter :: CERT_STORE_PROV_WRITE_CERT_FUNC = 2
          integer, parameter :: CERT_STORE_PROV_DELETE_CERT_FUNC = 3
          integer, parameter :: CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC = 4
          integer, parameter :: CERT_STORE_PROV_READ_CRL_FUNC = 5
          integer, parameter :: CERT_STORE_PROV_WRITE_CRL_FUNC = 6
          integer, parameter :: CERT_STORE_PROV_DELETE_CRL_FUNC = 7
          integer, parameter :: CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC = 8
          integer, parameter :: CERT_STORE_PROV_READ_CTL_FUNC = 9
          integer, parameter :: CERT_STORE_PROV_WRITE_CTL_FUNC = 10
          integer, parameter :: CERT_STORE_PROV_DELETE_CTL_FUNC = 11
          integer, parameter :: CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC = 12
          integer, parameter :: CERT_STORE_PROV_CONTROL_FUNC = 13
          integer, parameter :: CERT_STORE_PROV_FIND_CERT_FUNC = 14
          integer, parameter :: CERT_STORE_PROV_FREE_FIND_CERT_FUNC = 15
          integer, parameter :: CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC = 16
          integer, parameter :: CERT_STORE_PROV_FIND_CRL_FUNC = 17
          integer, parameter :: CERT_STORE_PROV_FREE_FIND_CRL_FUNC = 18
          integer, parameter :: CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC = 19
          integer, parameter :: CERT_STORE_PROV_FIND_CTL_FUNC = 20
          integer, parameter :: CERT_STORE_PROV_FREE_FIND_CTL_FUNC = 21
          integer, parameter :: CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC = 22
          integer, parameter :: CERT_STORE_PROV_WRITE_ADD_FLAG = #1
          integer, parameter :: CERT_STORE_SAVE_AS_STORE = 1
          integer, parameter :: CERT_STORE_SAVE_AS_PKCS7 = 2
          integer, parameter :: CERT_STORE_SAVE_TO_FILE = 1
          integer, parameter :: CERT_STORE_SAVE_TO_MEMORY = 2
          integer, parameter :: CERT_STORE_SAVE_TO_FILENAME_ = 3
          integer, parameter :: CERT_STORE_SAVE_TO_FILENAME_A = 3
          integer, parameter :: CERT_STORE_SAVE_TO_FILENAME_W = 4
          integer, parameter :: CERT_CLOSE_STORE_FORCE_FLAG = #00000001
          integer, parameter :: CERT_CLOSE_STORE_CHECK_FLAG = #00000002
          integer, parameter :: CERT_COMPARE_MASK = #FFFF
          integer, parameter :: CERT_COMPARE_SHIFT = 16
          integer, parameter :: CERT_COMPARE_ANY = 0
          integer, parameter :: CERT_COMPARE_SHA1_HASH = 1
          integer, parameter :: CERT_COMPARE_NAME = 2
          integer, parameter :: CERT_COMPARE_ATTR = 3
          integer, parameter :: CERT_COMPARE_MD5_HASH = 4
          integer, parameter :: CERT_COMPARE_PROPERTY = 5
          integer, parameter :: CERT_COMPARE_PUBLIC_KEY = 6
          integer, parameter :: CERT_COMPARE_NAME_STR_ = 7
          integer, parameter :: CERT_COMPARE_NAME_STR_A = 7
          integer, parameter :: CERT_COMPARE_NAME_STR_W = 8
          integer, parameter :: CERT_COMPARE_KEY_SPEC = 9
          integer, parameter :: CERT_COMPARE_ENHKEY_USAGE = 10
          integer, parameter :: CERT_COMPARE_SUBJECT_CERT = 11
          integer, parameter :: CERT_COMPARE_ISSUER_OF = 12
          integer, parameter :: CERT_COMPARE_EXISTING = 13
          integer, parameter :: CERT_COMPARE_SIGNATURE_HASH = 14
          integer, parameter :: CERT_COMPARE_KEY_IDENTIFIER = 15
          integer, parameter :: CERT_COMPARE_CERT_ID = 16
          integer, parameter :: CERT_FIND_ANY = (0 * 2** 16)
          integer, parameter :: CERT_FIND_SHA1_HASH = (1 * 2** 16)
          integer, parameter :: CERT_FIND_MD5_HASH = (4 * 2** 16)
          integer, parameter :: CERT_FIND_SIGNATURE_HASH = (14 * 2** 16)
          integer, parameter :: CERT_FIND_KEY_IDENTIFIER = (15 * 2** 16)
          integer, parameter :: CERT_FIND_PROPERTY = (5 * 2** 16)
          integer, parameter :: CERT_FIND_PUBLIC_KEY = (6 * 2** 16)
          integer, parameter :: CERT_FIND_SUBJECT_NAME = (2 * 2** 16 .OR.  7)
          integer, parameter :: CERT_FIND_SUBJECT_ATTR = (3 * 2** 16 .OR.  7)
          integer, parameter :: CERT_FIND_ISSUER_NAME = (2 * 2** 16 .OR.  4)
          integer, parameter :: CERT_FIND_ISSUER_ATTR = (3 * 2** 16 .OR.  4)
          integer, parameter :: CERT_FIND_SUBJECT_STR_ = (7 * 2** 16 .OR.  7)
          integer, parameter :: CERT_FIND_SUBJECT_STR_A = (7 * 2** 16 .OR.  7)
          integer, parameter :: CERT_FIND_SUBJECT_STR_W = (8 * 2** 16 .OR.  7)
          integer, parameter :: CERT_FIND_ISSUER_STR_ = (7 * 2** 16 .OR.  4)
          integer, parameter :: CERT_FIND_ISSUER_STR_A = (7 * 2** 16 .OR.  4)
          integer, parameter :: CERT_FIND_ISSUER_STR_W = (8 * 2** 16 .OR.  4)
          integer, parameter :: CERT_FIND_KEY_SPEC = (9 * 2** 16)
          integer, parameter :: CERT_FIND_ENHKEY_USAGE = (10 * 2** 16)
          integer, parameter :: CERT_FIND_SUBJECT_CERT = (11 * 2** 16)
          integer, parameter :: CERT_FIND_ISSUER_OF = (12 * 2** 16)
          integer, parameter :: CERT_FIND_EXISTING = (13 * 2** 16)
          integer, parameter :: CERT_FIND_CERT_ID = (16 * 2** 16)
          integer, parameter :: CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG = #1
          integer, parameter :: CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG = #2
          integer, parameter :: CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG = #4
          integer, parameter :: CERT_FIND_NO_ENHKEY_USAGE_FLAG = #8
          integer, parameter :: CERT_FIND_OR_ENHKEY_USAGE_FLAG = #10
          integer, parameter :: CERT_FIND_VALID_ENHKEY_USAGE_FLAG = #20
          integer, parameter :: CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG = #80000000
          integer, parameter :: CRL_FIND_ANY = 0
          integer, parameter :: CRL_FIND_ISSUED_BY = 1
          integer, parameter :: CRL_FIND_EXISTING = 2
          integer, parameter :: CRL_FIND_ISSUED_BY_AKI_FLAG = #1
          integer, parameter :: CRL_FIND_ISSUED_BY_SIGNATURE_FLAG = #2
          integer, parameter :: CERT_STORE_ADD_NEW = 1
          integer, parameter :: CERT_STORE_ADD_USE_EXISTING = 2
          integer, parameter :: CERT_STORE_ADD_REPLACE_EXISTING = 3
          integer, parameter :: CERT_STORE_ADD_ALWAYS = 4
          integer, parameter :: CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES = 5
          integer, parameter :: CERT_STORE_ADD_NEWER = 6
          integer, parameter :: CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES = 7
          integer, parameter :: CERT_STORE_CERTIFICATE_CONTEXT = 1
          integer, parameter :: CERT_STORE_CRL_CONTEXT = 2
          integer, parameter :: CERT_STORE_CTL_CONTEXT = 3
          integer, parameter :: CERT_STORE_ALL_CONTEXT_FLAG = (.NOT.0)
          integer, parameter :: CERT_STORE_CERTIFICATE_CONTEXT_FLAG = (1 * 2** 1)
          integer, parameter :: CERT_STORE_CRL_CONTEXT_FLAG = (1 * 2** 2)
          integer, parameter :: CERT_STORE_CTL_CONTEXT_FLAG = (1 * 2** 3)
          integer, parameter :: CTL_ANY_SUBJECT_TYPE = 1
          integer, parameter :: CTL_CERT_SUBJECT_TYPE = 2
          integer, parameter :: CTL_FIND_ANY = 0
          integer, parameter :: CTL_FIND_SHA1_HASH = 1
          integer, parameter :: CTL_FIND_MD5_HASH = 2
          integer, parameter :: CTL_FIND_USAGE = 3
          integer, parameter :: CTL_FIND_SUBJECT = 4
          integer, parameter :: CTL_FIND_EXISTING = 5
          integer, parameter :: CTL_FIND_NO_LIST_ID_CBDATA = #FFFFFFFF
          integer, parameter :: CTL_FIND_NO_SIGNER_PTR = (  -1)
          integer, parameter :: CTL_FIND_SAME_USAGE_FLAG = #1
          integer, parameter :: CERT_STORE_CTRL_RESYNC = 1
          integer, parameter :: CERT_STORE_CTRL_NOTIFY_CHANGE = 2
          integer, parameter :: CERT_STORE_CTRL_COMMIT = 3
          integer, parameter :: CERT_STORE_CTRL_AUTO_RESYNC = 4
          integer, parameter :: CERT_STORE_CTRL_COMMIT_FORCE_FLAG = #1
          integer, parameter :: CERT_STORE_CTRL_COMMIT_CLEAR_FLAG = #2
          integer, parameter :: CERT_STORE_LOCALIZED_NAME_PROP_ID = #1000
          integer, parameter :: CERT_CREATE_CONTEXT_NOCOPY_FLAG = #1
          integer, parameter :: CERT_CREATE_CONTEXT_SORTED_FLAG = #2
          integer, parameter :: CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG = #4
          integer, parameter :: CERT_CREATE_CONTEXT_NO_ENTRY_FLAG = #8
          integer, parameter :: CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG = #1
          integer, parameter :: CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG = #2
          integer, parameter :: CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG = #4
          integer, parameter :: CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG = #8
          integer, parameter :: CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG = #1
    !DEC$ IF DEFINED( _M_IA64)
    ! 58462 FORTRAN character*8, parameter :: CERT_PHYSICAL_STORE_DEFAULT_NAME = L".Default"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56639 FORTRAN character*8, parameter :: CERT_PHYSICAL_STORE_DEFAULT_NAME = L".Default"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 58463 FORTRAN character*12, parameter :: CERT_PHYSICAL_STORE_GROUP_POLICY_NAME = L".GroupPolicy"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56640 FORTRAN character*12, parameter :: CERT_PHYSICAL_STORE_GROUP_POLICY_NAME = L".GroupPolicy"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 58464 FORTRAN character*13, parameter :: CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME = L".LocalMachine"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56641 FORTRAN character*13, parameter :: CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME = L".LocalMachine"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 58465 FORTRAN character*16, parameter :: CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME = L".UserCertificate"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56642 FORTRAN character*16, parameter :: CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME = L".UserCertificate"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 58466 FORTRAN character*24, parameter :: CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME = L".LocalMachineGroupPolicy"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56643 FORTRAN character*24, parameter :: CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME = L".LocalMachineGroupPolicy"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 58467 FORTRAN character*11, parameter :: CERT_PHYSICAL_STORE_ENTERPRISE_NAME = L".Enterprise"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56644 FORTRAN character*11, parameter :: CERT_PHYSICAL_STORE_ENTERPRISE_NAME = L".Enterprise"
    !DEC$ ENDIF
          character*26, parameter :: CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC = "CertDllOpenSystemStoreProv"
          character*26, parameter :: CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC = "CertDllRegisterSystemStore"
          character*28, parameter :: CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC = "CertDllUnregisterSystemStore"
          character*22, parameter :: CRYPT_OID_ENUM_SYSTEM_STORE_FUNC = "CertDllEnumSystemStore"
          character*28, parameter :: CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC = "CertDllRegisterPhysicalStore"
          character*30, parameter :: CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC = "CertDllUnregisterPhysicalStore"
          character*24, parameter :: CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC = "CertDllEnumPhysicalStore"
    !DEC$ IF DEFINED( _M_IA64)
    ! 58533 FORTRAN character*19, parameter :: CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME = L"SystemStoreLocation"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 56710 FORTRAN character*19, parameter :: CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME = L"SystemStoreLocation"
    !DEC$ ENDIF
          integer, parameter :: CMSG_TRUSTED_SIGNER_FLAG = #1
          integer, parameter :: CMSG_SIGNER_ONLY_FLAG = #2
          integer, parameter :: CMSG_USE_SIGNER_INDEX_FLAG = #4
          integer, parameter :: CMSG_CMS_ENCAPSULATED_CTL_FLAG = #00008000
          integer, parameter :: CMSG_ENCODE_SORTED_CTL_FLAG = #1
          integer, parameter :: CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG = #2
          integer, parameter :: CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG = #1
          integer, parameter :: CERT_VERIFY_TRUSTED_SIGNERS_FLAG = #2
          integer, parameter :: CERT_VERIFY_NO_TIME_CHECK_FLAG = #4
          integer, parameter :: CERT_VERIFY_ALLOW_MORE_USAGE_FLAG = #8
          integer, parameter :: CERT_VERIFY_UPDATED_CTL_FLAG = #1
          integer, parameter :: CERT_CONTEXT_REVOCATION_TYPE = 1
          integer, parameter :: CERT_VERIFY_REV_CHAIN_FLAG = #00000001
          integer, parameter :: CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION = #00000002
          integer, parameter :: CERT_UNICODE_IS_RDN_ATTRS_FLAG = #1
          integer, parameter :: CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG = #2
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB = 1
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT = 2
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL = 3
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY = 1
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT = 2
          integer, parameter :: CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN = 3
          integer, parameter :: CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG = #00000001
          integer, parameter :: CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG = #00000002
          integer, parameter :: CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID = 1
          integer, parameter :: CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID = 2
          character*29, parameter :: CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC = "CryptDllExportPublicKeyInfoEx"
          character*29, parameter :: CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC = "CryptDllImportPublicKeyInfoEx"
          integer, parameter :: CRYPT_ACQUIRE_CACHE_FLAG = #1
          integer, parameter :: CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = #2
          integer, parameter :: CRYPT_ACQUIRE_COMPARE_KEY_FLAG = #4
          integer, parameter :: CRYPT_FIND_USER_KEYSET_FLAG = #1
          integer, parameter :: CRYPT_FIND_MACHINE_KEYSET_FLAG = #2
          character*30, parameter :: CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC = "CryptDllImportPrivateKeyInfoEx"
          character*30, parameter :: CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC = "CryptDllExportPrivateKeyInfoEx"
          integer, parameter :: CRYPT_DELETE_KEYSET = #0001
          integer, parameter :: CERT_SIMPLE_NAME_STR = 1
          integer, parameter :: CERT_OID_NAME_STR = 2
          integer, parameter :: CERT_X500_NAME_STR = 3
          integer, parameter :: CERT_NAME_STR_SEMICOLON_FLAG = #40000000
          integer, parameter :: CERT_NAME_STR_NO_PLUS_FLAG = #20000000
          integer, parameter :: CERT_NAME_STR_NO_QUOTING_FLAG = #10000000
          integer, parameter :: CERT_NAME_STR_CRLF_FLAG = #08000000
          integer, parameter :: CERT_NAME_STR_COMMA_FLAG = #04000000
          integer, parameter :: CERT_NAME_STR_REVERSE_FLAG = #02000000
          integer, parameter :: CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG = #00010000
          integer, parameter :: CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = #00020000
          integer, parameter :: CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG = #00040000
          integer, parameter :: CERT_NAME_EMAIL_TYPE = 1
          integer, parameter :: CERT_NAME_RDN_TYPE = 2
          integer, parameter :: CERT_NAME_ATTR_TYPE = 3
          integer, parameter :: CERT_NAME_SIMPLE_DISPLAY_TYPE = 4
          integer, parameter :: CERT_NAME_FRIENDLY_DISPLAY_TYPE = 5
          integer, parameter :: CERT_NAME_ISSUER_FLAG = #1
          integer, parameter :: CERT_NAME_DISABLE_IE4_UTF8_FLAG = #00010000
          integer, parameter :: CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG = #1
          integer, parameter :: CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG = #2
          integer, parameter :: CRYPT_MESSAGE_KEYID_SIGNER_FLAG = #4
          integer, parameter :: CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG = #4
          integer, parameter :: CERT_QUERY_OBJECT_FILE = #00000001
          integer, parameter :: CERT_QUERY_OBJECT_BLOB = #00000002
          integer, parameter :: CERT_QUERY_CONTENT_CERT = 1
          integer, parameter :: CERT_QUERY_CONTENT_CTL = 2
          integer, parameter :: CERT_QUERY_CONTENT_CRL = 3
          integer, parameter :: CERT_QUERY_CONTENT_SERIALIZED_STORE = 4
          integer, parameter :: CERT_QUERY_CONTENT_SERIALIZED_CERT = 5
          integer, parameter :: CERT_QUERY_CONTENT_SERIALIZED_CTL = 6
          integer, parameter :: CERT_QUERY_CONTENT_SERIALIZED_CRL = 7
          integer, parameter :: CERT_QUERY_CONTENT_PKCS7_SIGNED = 8
          integer, parameter :: CERT_QUERY_CONTENT_PKCS7_UNSIGNED = 9
          integer, parameter :: CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED = 10
          integer, parameter :: CERT_QUERY_CONTENT_PKCS10 = 11
          integer, parameter :: CERT_QUERY_CONTENT_PFX = 12
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_CERT = ( 1 * 2** 1)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_CTL = ( 1 * 2** 2)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_CRL = ( 1 * 2** 3)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE = ( 1 * 2** 4)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT = ( 1 * 2** 5)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL = ( 1 * 2** 6)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL = ( 1 * 2** 7)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED = ( 1 * 2** 8)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED = ( 1 * 2** 9)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED = ( 1 * 2** 10)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_PKCS10 = ( 1 * 2** 11)
          integer, parameter :: CERT_QUERY_CONTENT_FLAG_PFX = ( 1 * 2** 12)
          integer, parameter :: CERT_QUERY_FORMAT_BINARY = 1
          integer, parameter :: CERT_QUERY_FORMAT_BASE64_ENCODED = 2
          integer, parameter :: CERT_QUERY_FORMAT_FLAG_BINARY = ( 1 * 2** 1)
          integer, parameter :: CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED = ( 1 * 2** 2)
          integer, parameter :: CREDENTIAL_OID_PASSWORD_CREDENTIALS_ = ( 1)
          integer, parameter :: CREDENTIAL_OID_PASSWORD_CREDENTIALS_A = ( 1)
          integer, parameter :: CREDENTIAL_OID_PASSWORD_CREDENTIALS_W = ( 2)
          character*30, parameter :: SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC = "SchemeDllRetrieveEncodedObject"
          character*29, parameter :: CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC = "ContextDllCreateObjectContext"
          integer, parameter :: CONTEXT_OID_CERTIFICATE = ( 1)
          integer, parameter :: CONTEXT_OID_CRL = ( 2)
          integer, parameter :: CONTEXT_OID_CTL = ( 3)
          integer, parameter :: CONTEXT_OID_PKCS7 = ( 4)
          integer, parameter :: CONTEXT_OID_CAPI2_ANY = ( 5)
          integer, parameter :: CRYPT_RETRIEVE_MULTIPLE_OBJECTS = #00000001
          integer, parameter :: CRYPT_CACHE_ONLY_RETRIEVAL = #00000002
          integer, parameter :: CRYPT_WIRE_ONLY_RETRIEVAL = #00000004
          integer, parameter :: CRYPT_DONT_CACHE_RESULT = #00000008
          integer, parameter :: CRYPT_ASYNC_RETRIEVAL = #00000010
          integer, parameter :: CRYPT_VERIFY_CONTEXT_SIGNATURE = #00000020
          integer, parameter :: CRYPT_VERIFY_DATA_HASH = #00000040
          integer, parameter :: CRYPT_KEEP_TIME_VALID = #00000080
          integer, parameter :: CRYPT_DONT_VERIFY_SIGNATURE = #00000100
          integer, parameter :: CRYPT_DONT_CHECK_TIME_VALIDITY = #00000200
          integer, parameter :: CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION = ( 1)
          integer, parameter :: CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL = ( 2)
          integer, parameter :: CRYPT_GET_URL_FROM_PROPERTY = #00000001
          integer, parameter :: CRYPT_GET_URL_FROM_EXTENSION = #00000002
          integer, parameter :: CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE = #00000004
          integer, parameter :: CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE = #00000008
          character*18, parameter :: URL_OID_GET_OBJECT_URL_FUNC = "UrlDllGetObjectUrl"
          integer, parameter :: URL_OID_CERTIFICATE_ISSUER = ( 1)
          integer, parameter :: URL_OID_CERTIFICATE_CRL_DIST_POINT = ( 2)
          integer, parameter :: URL_OID_CTL_ISSUER = ( 3)
          integer, parameter :: URL_OID_CTL_NEXT_UPDATE = ( 4)
          integer, parameter :: URL_OID_CRL_ISSUER = ( 5)
          character*21, parameter :: TIME_VALID_OID_GET_OBJECT_FUNC = "TimeValidDllGetObject"
          integer, parameter :: TIME_VALID_OID_GET_CTL = ( 1)
          integer, parameter :: TIME_VALID_OID_GET_CRL = ( 2)
          integer, parameter :: TIME_VALID_OID_GET_CRL_FROM_CERT = ( 3)
          character*23, parameter :: TIME_VALID_OID_FLUSH_OBJECT_FUNC = "TimeValidDllFlushObject"
          integer, parameter :: TIME_VALID_OID_FLUSH_CTL = ( 1)
          integer, parameter :: TIME_VALID_OID_FLUSH_CRL = ( 2)
          integer, parameter :: TIME_VALID_OID_FLUSH_CRL_FROM_CERT = ( 3)
          integer, parameter :: CRYPTPROTECT_PROMPT_ON_UNPROTECT = #1
          integer, parameter :: CRYPTPROTECT_PROMPT_ON_PROTECT = #2
          integer, parameter :: CRYPTPROTECT_PROMPT_RESERVED = #04
          integer, parameter :: CRYPTPROTECT_PROMPT_STRONG = #08
          integer, parameter :: CRYPTPROTECT_UI_FORBIDDEN = #1
          integer, parameter :: CRYPTPROTECT_LOCAL_MACHINE = #4
          integer, parameter :: CRYPTPROTECT_CRED_SYNC = #8
          integer, parameter :: CRYPTPROTECT_FIRST_RESERVED_FLAGVAL = #0FFFFFFF
          integer, parameter :: CRYPTPROTECT_LAST_RESERVED_FLAGVAL = #FFFFFFFF
          integer, parameter :: CERT_CREATE_SELFSIGN_NO_SIGN = 1
          integer, parameter :: CERT_CREATE_SELFSIGN_NO_KEY_INFO = 2
          integer, parameter :: CRYPT_KEYID_MACHINE_FLAG = #00000020
          integer, parameter :: CRYPT_KEYID_ALLOC_FLAG = #00008000
          integer, parameter :: CRYPT_KEYID_DELETE_FLAG = #00000010
          integer, parameter :: CRYPT_KEYID_SET_NEW_FLAG = #00002000
          integer, parameter :: HCCE_CURRENT_USER = 0
          integer, parameter :: HCCE_LOCAL_MACHINE = ( #1)
          integer, parameter :: CERT_CHAIN_CACHE_END_CERT = #00000001
          integer, parameter :: CERT_CHAIN_THREAD_STORE_SYNC = #00000002
          integer, parameter :: CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL = #00000004
          integer, parameter :: CERT_CHAIN_USE_LOCAL_MACHINE_STORE = #00000008
          integer, parameter :: CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE = #00000010
          integer, parameter :: CERT_TRUST_NO_ERROR = #00000000
          integer, parameter :: CERT_TRUST_IS_NOT_TIME_VALID = #00000001
          integer, parameter :: CERT_TRUST_IS_NOT_TIME_NESTED = #00000002
          integer, parameter :: CERT_TRUST_IS_REVOKED = #00000004
          integer, parameter :: CERT_TRUST_IS_NOT_SIGNATURE_VALID = #00000008
          integer, parameter :: CERT_TRUST_IS_NOT_VALID_FOR_USAGE = #00000010
          integer, parameter :: CERT_TRUST_IS_UNTRUSTED_ROOT = #00000020
          integer, parameter :: CERT_TRUST_REVOCATION_STATUS_UNKNOWN = #00000040
          integer, parameter :: CERT_TRUST_IS_CYCLIC = #00000080
          integer, parameter :: CERT_TRUST_IS_PARTIAL_CHAIN = #00010000
          integer, parameter :: CERT_TRUST_CTL_IS_NOT_TIME_VALID = #00020000
          integer, parameter :: CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID = #00040000
          integer, parameter :: CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE = #00080000
          integer, parameter :: CERT_TRUST_HAS_EXACT_MATCH_ISSUER = #00000001
          integer, parameter :: CERT_TRUST_HAS_KEY_MATCH_ISSUER = #00000002
          integer, parameter :: CERT_TRUST_HAS_NAME_MATCH_ISSUER = #00000004
          integer, parameter :: CERT_TRUST_IS_SELF_SIGNED = #00000008
          integer, parameter :: CERT_TRUST_IS_COMPLEX_CHAIN = #00010000
          integer, parameter :: USAGE_MATCH_TYPE_AND = #00000000
          integer, parameter :: USAGE_MATCH_TYPE_OR = #00000001
          integer, parameter :: CERT_CHAIN_REVOCATION_CHECK_END_CERT = #10000000
          integer, parameter :: CERT_CHAIN_REVOCATION_CHECK_CHAIN = #20000000
          integer, parameter :: CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = #40000000
          integer, parameter :: CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY = #80000000
          integer, parameter :: REVOCATION_OID_CRL_REVOCATION = ( 1)
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER = 1
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG = #0001
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG = #0002
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG = #0004
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG = #0008
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG = #4000
          integer, parameter :: CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG = #8000
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG = #00000001
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG = #00000002
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG = #00000004
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS = (  #00000001 .OR.  #00000002 .OR.  #00000004  )
          integer, parameter :: CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG = #00000010
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG = #00000020
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG = #00000100
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG = #00000200
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG = #00000400
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG = #00000800
          integer, parameter :: CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS = (  #00000100 .OR.  #00000200 .OR.  #00000400 .OR.  #00000800  )
          integer, parameter :: CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG = #00008000
          integer, parameter :: CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG = #00004000
          character*35, parameter :: CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC = "CertDllVerifyCertificateChainPolicy"
          integer, parameter :: CERT_CHAIN_POLICY_BASE = (  1)
          integer, parameter :: CERT_CHAIN_POLICY_AUTHENTICODE = (  2)
          integer, parameter :: CERT_CHAIN_POLICY_AUTHENTICODE_TS = (  3)
          integer, parameter :: CERT_CHAIN_POLICY_SSL = (  4)
          integer, parameter :: CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = (  5)
          integer, parameter :: CERT_CHAIN_POLICY_NT_AUTH = (  6)
          integer, parameter :: AUTHTYPE_CLIENT = 1
          integer, parameter :: AUTHTYPE_SERVER = 2
          integer, parameter :: BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG = #80000000
          integer, parameter :: BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG = #40000000
          integer, parameter :: MAX_SID_SIZE = 256
          integer, parameter :: f__REQUIRED_RPCNDR_H_VERSION__ = 475
          integer, parameter :: f__RPCNDR_H_VERSION__ =  475 
          integer, parameter :: NDR_CHAR_REP_MASK = #0000000F
          integer, parameter :: NDR_INT_REP_MASK = #000000F0
          integer, parameter :: NDR_FLOAT_REP_MASK = #0000FF00
          integer, parameter :: NDR_LITTLE_ENDIAN = #00000010
          integer, parameter :: NDR_BIG_ENDIAN = #00000000
          integer, parameter :: NDR_IEEE_FLOAT = #00000000
          integer, parameter :: NDR_VAX_FLOAT = #00000100
          integer, parameter :: NDR_IBM_FLOAT = #00000300
          integer, parameter :: NDR_ASCII_CHAR = #00000000
          integer, parameter :: NDR_EBCDIC_CHAR = #00000001
          integer, parameter :: NDR_LOCAL_DATA_REPRESENTATION = #00000010
!         integer, parameter :: TARGET_IS_NT50_OR_LATER = 0
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: TARGET_IS_NT50_OR_LATER = 1
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: TARGET_IS_NT40_OR_LATER = 1
    !DEC$ ENDIF
          integer, parameter :: TARGET_IS_NT351_OR_WIN95_OR_LATER = 1
          integer, parameter :: cbNDRContext = 20
    !DEC$ IF DEFINED( _M_IA64)
    ! 62318 FORTRAN integer, parameter :: RPC_BAD_STUB_DATA_EXCEPTION_FILTER = ( (GetExceptionCode() == ((DWORD )#C0000005L)) .OR..OR.  (GetExceptionCode() == ((DWORD )#80000002L)) .OR..OR.  (GetExceptionCode() == 1783L) .OR..OR.  (GetExceptionCode() == 1734L) )
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 60494 FORTRAN integer, parameter :: RPC_BAD_STUB_DATA_EXCEPTION_FILTER = ( (GetExceptionCode() == ((DWORD )#C0000005L)) .OR..OR.  (GetExceptionCode() == ((DWORD )#80000002L)) .OR..OR.  (GetExceptionCode() == 1783L) .OR..OR.  (GetExceptionCode() == 1734L) )
    !DEC$ ENDIF
          integer, parameter ::   USER_MARSHAL_CB_BUFFER_SIZE = 0
          integer, parameter ::   USER_MARSHAL_CB_MARSHALL = 1
          integer, parameter ::   USER_MARSHAL_CB_UNMARSHALL = 2
          integer, parameter ::   USER_MARSHAL_CB_FREE  = 3
          integer, parameter :: USER_CALL_IS_ASYNC = #0100
          integer, parameter :: USER_CALL_NEW_CORRELATION_DESC = #0200
          integer, parameter ::   XLAT_SERVER = 1
          integer, parameter ::   XLAT_CLIENT   = 2
          integer, parameter :: USER_MARSHAL_FC_BYTE = 1
          integer, parameter :: USER_MARSHAL_FC_CHAR = 2
          integer, parameter :: USER_MARSHAL_FC_SMALL = 3
          integer, parameter :: USER_MARSHAL_FC_USMALL = 4
          integer, parameter :: USER_MARSHAL_FC_WCHAR = 5
          integer, parameter :: USER_MARSHAL_FC_SHORT = 6
          integer, parameter :: USER_MARSHAL_FC_USHORT = 7
          integer, parameter :: USER_MARSHAL_FC_LONG = 8
          integer, parameter :: USER_MARSHAL_FC_ULONG = 9
          integer, parameter :: USER_MARSHAL_FC_FLOAT = 10
          integer, parameter :: USER_MARSHAL_FC_HYPER = 11
          integer, parameter :: USER_MARSHAL_FC_DOUBLE = 12
          integer, parameter ::   STUB_UNMARSHAL = 0
          integer, parameter ::   STUB_CALL_SERVER = 1
          integer, parameter ::   STUB_MARSHAL = 2
          integer, parameter ::   STUB_CALL_SERVER_NO_HRESULT  = 3
          integer, parameter ::   PROXY_CALCSIZE = 0
          integer, parameter ::   PROXY_GETBUFFER = 1
          integer, parameter ::   PROXY_MARSHAL = 2
          integer, parameter ::   PROXY_SENDRECEIVE = 3
          integer, parameter ::   PROXY_UNMARSHAL  = 4
          integer, parameter ::  MEMCTX_TASK = 1
          integer, parameter ::   MEMCTX_SHARED = 2
          integer, parameter ::   MEMCTX_MACSYSTEM = 3
          integer, parameter ::   MEMCTX_UNKNOWN = -1
          integer, parameter ::   MEMCTX_SAME = -2  
          integer, parameter :: ROTFLAGS_REGISTRATIONKEEPSALIVE = #1
          integer, parameter :: ROTFLAGS_ALLOWANYCLIENT = #2
          integer, parameter :: ROT_COMPARE_MAX = 2048
          integer, parameter ::  CLSCTX_INPROC_SERVER = #1
          integer, parameter ::   CLSCTX_INPROC_HANDLER = #2
          integer, parameter ::   CLSCTX_LOCAL_SERVER = #4
          integer, parameter ::   CLSCTX_INPROC_SERVER16 = #8
          integer, parameter ::   CLSCTX_REMOTE_SERVER = #10
          integer, parameter ::   CLSCTX_INPROC_HANDLER16 = #20
          integer, parameter ::   CLSCTX_INPROC_SERVERX86 = #40
          integer, parameter ::   CLSCTX_INPROC_HANDLERX86 = #80
          integer, parameter ::   CLSCTX_ESERVER_HANDLER = #100
          integer, parameter ::   CLSCTX_RESERVED = #200
          integer, parameter ::   CLSCTX_NO_CODE_DOWNLOAD = #400
          integer, parameter ::   CLSCTX_NO_WX86_TRANSLATION = #800
          integer, parameter ::   CLSCTX_NO_CUSTOM_MARSHAL = #1000
          integer, parameter ::   CLSCTX_ENABLE_CODE_DOWNLOAD = #2000
          integer, parameter ::   CLSCTX_NO_FAILURE_LOG = #4000  
          integer, parameter ::  MSHLFLAGS_NORMAL = 0
          integer, parameter ::   MSHLFLAGS_TABLESTRONG = 1
          integer, parameter ::   MSHLFLAGS_TABLEWEAK = 2
          integer, parameter ::   MSHLFLAGS_NOPING = 4
          integer, parameter ::   MSHLFLAGS_RESERVED1 = 8
          integer, parameter ::   MSHLFLAGS_RESERVED2 = 16
          integer, parameter ::   MSHLFLAGS_RESERVED3 = 32
          integer, parameter ::   MSHLFLAGS_RESERVED4 = 64  
          integer, parameter ::  MSHCTX_LOCAL = 0
          integer, parameter ::   MSHCTX_NOSHAREDMEM = 1
          integer, parameter ::   MSHCTX_DIFFERENTMACHINE = 2
          integer, parameter ::   MSHCTX_INPROC = 3
          integer, parameter ::   MSHCTX_CROSSCTX = 4  
          integer, parameter ::  DVASPECT_CONTENT = 1
          integer, parameter ::   DVASPECT_THUMBNAIL = 2
          integer, parameter ::   DVASPECT_ICON = 4
          integer, parameter ::   DVASPECT_DOCPRINT = 8  
          integer, parameter ::  STGC_DEFAULT = 0
          integer, parameter ::   STGC_OVERWRITE = 1
          integer, parameter ::   STGC_ONLYIFCURRENT = 2
          integer, parameter ::   STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
          integer, parameter ::   STGC_CONSOLIDATE = 8  
          integer, parameter ::  STGMOVE_MOVE = 0
          integer, parameter ::   STGMOVE_COPY = 1
          integer, parameter ::   STGMOVE_SHALLOWCOPY = 2  
          integer, parameter ::  STATFLAG_DEFAULT = 0
          integer, parameter ::   STATFLAG_NONAME = 1
          integer, parameter ::   STATFLAG_NOOPEN = 2  
          integer, parameter :: WDT_INPROC_CALL = ( #48746457 )
          integer, parameter :: WDT_REMOTE_CALL = ( #52746457 )
          integer, parameter :: WDT_INPROC64_CALL = ( #50746457 )
          integer, parameter :: DECIMAL_NEG = ( #80)
          integer(2), parameter :: VARIANT_TRUE = ( -1)
          integer(2), parameter :: VARIANT_FALSE = ( 0)
          integer(2), parameter ::  VT_EMPTY = 0
          integer(2), parameter ::   VT_NULL = 1
          integer(2), parameter ::   VT_I2 = 2
          integer(2), parameter ::   VT_I4 = 3
          integer(2), parameter ::   VT_R4 = 4
          integer(2), parameter ::   VT_R8 = 5
          integer(2), parameter ::   VT_CY = 6
          integer(2), parameter ::   VT_DATE = 7
          integer(2), parameter ::   VT_BSTR = 8
          integer(2), parameter ::   VT_DISPATCH = 9
          integer(2), parameter ::   VT_ERROR = 10
          integer(2), parameter ::   VT_BOOL = 11
          integer(2), parameter ::   VT_VARIANT = 12
          integer(2), parameter ::   VT_UNKNOWN = 13
          integer(2), parameter ::   VT_DECIMAL = 14
          integer(2), parameter ::   VT_I1 = 16
          integer(2), parameter ::   VT_UI1 = 17
          integer(2), parameter ::   VT_UI2 = 18
          integer(2), parameter ::   VT_UI4 = 19
          integer(2), parameter ::   VT_I8 = 20
          integer(2), parameter ::   VT_UI8 = 21
          integer(2), parameter ::   VT_INT = 22
          integer(2), parameter ::   VT_UINT = 23
          integer(2), parameter ::   VT_VOID = 24
          integer(2), parameter ::   VT_HRESULT = 25
          integer(2), parameter ::   VT_PTR = 26
          integer(2), parameter ::   VT_SAFEARRAY = 27
          integer(2), parameter ::   VT_CARRAY = 28
          integer(2), parameter ::   VT_USERDEFINED = 29
          integer(2), parameter ::   VT_LPSTR = 30
          integer(2), parameter ::   VT_LPWSTR = 31
          integer(2), parameter ::   VT_RECORD = 36
          integer(2), parameter ::   VT_FILETIME = 64
          integer(2), parameter ::   VT_BLOB = 65
          integer(2), parameter ::   VT_STREAM = 66
          integer(2), parameter ::   VT_STORAGE = 67
          integer(2), parameter ::   VT_STREAMED_OBJECT = 68
          integer(2), parameter ::   VT_STORED_OBJECT = 69
          integer(2), parameter ::   VT_BLOB_OBJECT = 70
          integer(2), parameter ::   VT_CF = 71
          integer(2), parameter ::   VT_CLSID = 72
          integer(2), parameter ::   VT_VERSIONED_STREAM = 73
          integer(2), parameter ::   VT_BSTR_BLOB = #fff
          integer(2), parameter ::   VT_VECTOR = #1000
          integer(2), parameter ::   VT_ARRAY = #2000
          integer(2), parameter ::   VT_BYREF = #4000
          integer(2), parameter ::   VT_RESERVED = #8000
          integer(2), parameter ::   VT_ILLEGAL = #ffff
          integer(2), parameter ::   VT_ILLEGALMASKED = #fff
          integer(2), parameter ::   VT_TYPEMASK = #fff  
          integer, parameter ::  TYSPEC_CLSID = 0
          integer, parameter ::   TYSPEC_FILEEXT = TYSPEC_CLSID + 1
          integer, parameter ::   TYSPEC_MIMETYPE = TYSPEC_FILEEXT + 1
          integer, parameter ::   TYSPEC_FILENAME = TYSPEC_MIMETYPE + 1
          integer, parameter ::   TYSPEC_PROGID = TYSPEC_FILENAME + 1
          integer, parameter ::   TYSPEC_PACKAGENAME = TYSPEC_PROGID + 1
          integer, parameter ::   TYSPEC_OBJECTID = TYSPEC_PACKAGENAME + 1  
          integer, parameter :: FILE_DEVICE_BEEP = #00000001
          integer, parameter :: FILE_DEVICE_CD_ROM = #00000002
          integer, parameter :: FILE_DEVICE_CD_ROM_FILE_SYSTEM = #00000003
          integer, parameter :: FILE_DEVICE_CONTROLLER = #00000004
          integer, parameter :: FILE_DEVICE_DATALINK = #00000005
          integer, parameter :: FILE_DEVICE_DFS = #00000006
          integer, parameter :: FILE_DEVICE_DISK = #00000007
          integer, parameter :: FILE_DEVICE_DISK_FILE_SYSTEM = #00000008
          integer, parameter :: FILE_DEVICE_FILE_SYSTEM = #00000009
          integer, parameter :: FILE_DEVICE_INPORT_PORT = #0000000a
          integer, parameter :: FILE_DEVICE_KEYBOARD = #0000000b
          integer, parameter :: FILE_DEVICE_MAILSLOT = #0000000c
          integer, parameter :: FILE_DEVICE_MIDI_IN = #0000000d
          integer, parameter :: FILE_DEVICE_MIDI_OUT = #0000000e
          integer, parameter :: FILE_DEVICE_MOUSE = #0000000f
          integer, parameter :: FILE_DEVICE_MULTI_UNC_PROVIDER = #00000010
          integer, parameter :: FILE_DEVICE_NAMED_PIPE = #00000011
          integer, parameter :: FILE_DEVICE_NETWORK = #00000012
          integer, parameter :: FILE_DEVICE_NETWORK_BROWSER = #00000013
          integer, parameter :: FILE_DEVICE_NETWORK_FILE_SYSTEM = #00000014
          integer, parameter :: FILE_DEVICE_NULL = #00000015
          integer, parameter :: FILE_DEVICE_PARALLEL_PORT = #00000016
          integer, parameter :: FILE_DEVICE_PHYSICAL_NETCARD = #00000017
          integer, parameter :: FILE_DEVICE_PRINTER = #00000018
          integer, parameter :: FILE_DEVICE_SCANNER = #00000019
          integer, parameter :: FILE_DEVICE_SERIAL_MOUSE_PORT = #0000001a
          integer, parameter :: FILE_DEVICE_SERIAL_PORT = #0000001b
          integer, parameter :: FILE_DEVICE_SCREEN = #0000001c
          integer, parameter :: FILE_DEVICE_SOUND = #0000001d
          integer, parameter :: FILE_DEVICE_STREAMS = #0000001e
          integer, parameter :: FILE_DEVICE_TAPE = #0000001f
          integer, parameter :: FILE_DEVICE_TAPE_FILE_SYSTEM = #00000020
          integer, parameter :: FILE_DEVICE_TRANSPORT = #00000021
          integer, parameter :: FILE_DEVICE_UNKNOWN = #00000022
          integer, parameter :: FILE_DEVICE_VIDEO = #00000023
          integer, parameter :: FILE_DEVICE_VIRTUAL_DISK = #00000024
          integer, parameter :: FILE_DEVICE_WAVE_IN = #00000025
          integer, parameter :: FILE_DEVICE_WAVE_OUT = #00000026
          integer, parameter :: FILE_DEVICE_8042_PORT = #00000027
          integer, parameter :: FILE_DEVICE_NETWORK_REDIRECTOR = #00000028
          integer, parameter :: FILE_DEVICE_BATTERY = #00000029
          integer, parameter :: FILE_DEVICE_BUS_EXTENDER = #0000002a
          integer, parameter :: FILE_DEVICE_MODEM = #0000002b
          integer, parameter :: FILE_DEVICE_VDM = #0000002c
          integer, parameter :: FILE_DEVICE_MASS_STORAGE = #0000002d
          integer, parameter :: FILE_DEVICE_SMB = #0000002e
          integer, parameter :: FILE_DEVICE_KS = #0000002f
          integer, parameter :: FILE_DEVICE_CHANGER = #00000030
          integer, parameter :: FILE_DEVICE_ACPI = #00000032
          integer, parameter :: FILE_DEVICE_DVD = #00000033
          integer, parameter :: FILE_DEVICE_FULLSCREEN_VIDEO = #00000034
          integer, parameter :: FILE_DEVICE_DFS_FILE_SYSTEM = #00000035
          integer, parameter :: FILE_DEVICE_DFS_VOLUME = #00000036
          integer, parameter :: FILE_DEVICE_SERENUM = #00000037
          integer, parameter :: FILE_DEVICE_TERMSRV = #00000038
          integer, parameter :: FILE_DEVICE_KSEC = #00000039
          integer, parameter :: METHOD_BUFFERED = 0
          integer, parameter :: METHOD_IN_DIRECT = 1
          integer, parameter :: METHOD_OUT_DIRECT = 2
          integer, parameter :: METHOD_NEITHER = 3
          integer, parameter :: FILE_ANY_ACCESS = 0
          integer, parameter :: FILE_SPECIAL_ACCESS = (0)
          integer, parameter :: FILE_READ_ACCESS = ( #0001 )
          integer, parameter :: FILE_WRITE_ACCESS = ( #0002 )
          integer, parameter :: IOCTL_STORAGE_CHECK_VERIFY = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0200) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_CHECK_VERIFY2 = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0200) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_MEDIA_REMOVAL = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0201) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_EJECT_MEDIA = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0202) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_LOAD_MEDIA = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0203) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_LOAD_MEDIA2 = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0203) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_RESERVE = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0204) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_RELEASE = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0205) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_FIND_NEW_DEVICES = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0206) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_EJECTION_CONTROL = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0250) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_MCN_CONTROL = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0251) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_GET_MEDIA_TYPES = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0300) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_GET_MEDIA_TYPES_EX = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0301) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_RESET_BUS = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0400) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_RESET_DEVICE = ( ((#0000002d) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0401) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_GET_DEVICE_NUMBER = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0420) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_STORAGE_PREDICT_FAILURE = ( ((#0000002d) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0440) * 2** 2) .OR. (0) )
          integer, parameter :: OBSOLETE_IOCTL_STORAGE_RESET_BUS = ( ((#0000002d) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0400) * 2** 2) .OR. (0) )
          integer, parameter :: OBSOLETE_IOCTL_STORAGE_RESET_DEVICE = ( ((#0000002d) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0401) * 2** 2) .OR. (0) )
          integer, parameter :: RECOVERED_WRITES_VALID = #00000001
          integer, parameter :: UNRECOVERED_WRITES_VALID = #00000002
          integer, parameter :: RECOVERED_READS_VALID = #00000004
          integer, parameter :: UNRECOVERED_READS_VALID = #00000008
          integer, parameter :: WRITE_COMPRESSION_INFO_VALID = #00000010
          integer, parameter :: READ_COMPRESSION_INFO_VALID = #00000020
          integer, parameter ::   DDS_4mm = #20
          integer, parameter ::    MiniQic = 1
          integer, parameter ::    Travan = 2
          integer, parameter ::    QIC = 3
          integer, parameter ::    MP_8mm = 4
          integer, parameter ::    AME_8mm = 5
          integer, parameter ::    AIT1_8mm = 6
          integer, parameter ::    DLT = 7
          integer, parameter ::    NCTP = 8
          integer, parameter ::    IBM_3480 = 9
          integer, parameter ::    IBM_3490E = 10
          integer, parameter ::    IBM_Magstar_3590 = 11
          integer, parameter ::    IBM_Magstar_MP = 12
          integer, parameter ::    STK_DATA_D3 = 13
          integer, parameter ::    SONY_DTF = 14
          integer, parameter ::    DV_6mm = 15
          integer, parameter ::    DMI = 16
          integer, parameter ::    SONY_D2 = 17
          integer, parameter ::    CLEANER_CARTRIDGE = 18
          integer, parameter ::    CD_ROM = 19
          integer, parameter ::    CD_R = 20
          integer, parameter ::    CD_RW = 21
          integer, parameter ::    DVD_ROM = 22
          integer, parameter ::    DVD_R = 23
          integer, parameter ::    DVD_RW = 24
          integer, parameter ::    MO_3_RW = 25
          integer, parameter ::    MO_5_WO = 26
          integer, parameter ::    MO_5_RW = 27
          integer, parameter ::    MO_5_LIMDOW = 28
          integer, parameter ::    PC_5_WO = 29
          integer, parameter ::    PC_5_RW = 30
          integer, parameter ::    PD_5_RW = 31
          integer, parameter ::    ABL_5_WO = 32
          integer, parameter ::    PINNACLE_APEX_5_RW = 33
          integer, parameter ::    SONY_12_WO = 34
          integer, parameter ::    PHILIPS_12_WO = 35
          integer, parameter ::    HITACHI_12_WO = 36
          integer, parameter ::    CYGNET_12_WO = 37
          integer, parameter ::    KODAK_14_WO = 38
          integer, parameter ::    MO_NFR_525 = 39
          integer, parameter ::    NIKON_12_RW = 40
          integer, parameter ::    IOMEGA_ZIP = 41
          integer, parameter ::    IOMEGA_JAZ = 42
          integer, parameter ::    SYQUEST_EZ135 = 43
          integer, parameter ::    SYQUEST_EZFLYER = 44
          integer, parameter ::    SYQUEST_SYJET = 45
          integer, parameter ::    AVATAR_F2 = 46
          integer, parameter ::    MP2_8mm = 47
          integer, parameter ::    DST_S = 48
          integer, parameter ::    DST_M = 49
          integer, parameter ::    DST_L = 50
          integer, parameter ::    VXATape_1 = 51
          integer, parameter ::    VXATape_2 = 52
          integer, parameter ::    STK_EAGLE = 53
          integer, parameter ::    LTO_Ultrium = 54
          integer, parameter ::    LTO_Accelis   = 55
          integer, parameter :: MEDIA_ERASEABLE = #00000001
          integer, parameter :: MEDIA_WRITE_ONCE = #00000002
          integer, parameter :: MEDIA_READ_ONLY = #00000004
          integer, parameter :: MEDIA_READ_WRITE = #00000008
          integer, parameter :: MEDIA_WRITE_PROTECTED = #00000100
          integer, parameter :: MEDIA_CURRENTLY_MOUNTED = #80000000
          integer, parameter ::   BusTypeUnknown = #00
          integer, parameter ::   BusTypeScsi = 1
          integer, parameter ::   BusTypeAtapi = 2
          integer, parameter ::   BusTypeAta = 3
          integer, parameter ::   BusType1394 = 4
          integer, parameter ::   BusTypeSsa = 5
          integer, parameter ::   BusTypeFibre = 6
          integer, parameter ::   BusTypeUsb = 7
          integer, parameter ::   BusTypeRAID = 8
          integer, parameter ::   BusTypeMaxReserved = #7F 
          integer, parameter :: IOCTL_DISK_GET_DRIVE_GEOMETRY = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0000) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_GET_PARTITION_INFO = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0001) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_SET_PARTITION_INFO = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0002) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_GET_DRIVE_LAYOUT = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0003) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_SET_DRIVE_LAYOUT = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0004) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_VERIFY = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0005) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_FORMAT_TRACKS = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0006) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_REASSIGN_BLOCKS = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0007) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_PERFORMANCE = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0008) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_IS_WRITABLE = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0009) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_LOGGING = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#000a) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_FORMAT_TRACKS_EX = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#000b) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_HISTOGRAM_STRUCTURE = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#000c) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_HISTOGRAM_DATA = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#000d) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_HISTOGRAM_RESET = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#000e) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_REQUEST_STRUCTURE = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#000f) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_REQUEST_DATA = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0010) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_CONTROLLER_NUMBER = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0011) * 2** 2) .OR. (0) )
          integer, parameter :: SMART_GET_VERSION = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0020) * 2** 2) .OR. (0) )
          integer, parameter :: SMART_SEND_DRIVE_COMMAND = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0021) * 2** 2) .OR. (0) )
          integer, parameter :: SMART_RCV_DRIVE_DATA = ( ((#00000007) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0022) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_CHECK_VERIFY = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0200) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_MEDIA_REMOVAL = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0201) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_EJECT_MEDIA = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0202) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_LOAD_MEDIA = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0203) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_RESERVE = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0204) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_RELEASE = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0205) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_FIND_NEW_DEVICES = ( ((#00000007) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0206) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_DISK_GET_MEDIA_TYPES = ( ((#00000007) * 2** 16) .OR. ((0) * 2** 14) .OR. ((#0300) * 2** 2) .OR. (0) )
          integer, parameter :: PARTITION_ENTRY_UNUSED = #00
          integer, parameter :: PARTITION_FAT_12 = #01
          integer, parameter :: PARTITION_XENIX_1 = #02
          integer, parameter :: PARTITION_XENIX_2 = #03
          integer, parameter :: PARTITION_FAT_16 = #04
          integer, parameter :: PARTITION_EXTENDED = #05
          integer, parameter :: PARTITION_HUGE = #06
          integer, parameter :: PARTITION_IFS = #07
          integer, parameter :: PARTITION_FAT32 = #0B
          integer, parameter :: PARTITION_FAT32_XINT13 = #0C
          integer, parameter :: PARTITION_XINT13 = #0E
          integer, parameter :: PARTITION_XINT13_EXTENDED = #0F
          integer, parameter :: PARTITION_PREP = #41
          integer, parameter :: PARTITION_LDM = #42
          integer, parameter :: PARTITION_UNIX = #63
          integer, parameter :: VALID_NTFT = #C0
          integer, parameter :: PARTITION_NTFT = #80
          integer, parameter ::   Unknown = 0
          integer, parameter ::    F5_1Pt2_512 = 1
          integer, parameter ::    F3_1Pt44_512 = 2
          integer, parameter ::    F3_2Pt88_512 = 3
          integer, parameter ::    F3_20Pt8_512 = 4
          integer, parameter ::    F3_720_512 = 5
          integer, parameter ::    F5_360_512 = 6
          integer, parameter ::    F5_320_512 = 7
          integer, parameter ::    F5_320_1024 = 8
          integer, parameter ::    F5_180_512 = 9
          integer, parameter ::    F5_160_512 = 10
          integer, parameter ::    RemovableMedia = 11
          integer, parameter ::    FixedMedia = 12
          integer, parameter ::    F3_120M_512 = 13
          integer, parameter ::    F3_640_512 = 14
          integer, parameter ::    F5_640_512 = 15
          integer, parameter ::    F5_720_512 = 16
          integer, parameter ::    F3_1Pt2_512 = 17
          integer, parameter ::    F3_1Pt23_1024 = 18
          integer, parameter ::    F5_1Pt23_1024 = 19
          integer, parameter ::    F3_128Mb_512 = 20
          integer, parameter ::    F3_230Mb_512 = 21
          integer, parameter ::    F8_256_128   = 22
          integer, parameter :: HIST_NO_OF_BUCKETS = 24
    !DEC$ IF DEFINED( _M_IA64)
    ! 66613 FORTRAN integer, parameter :: HISTOGRAM_BUCKET_SIZE = sizeof(HISTOGRAM_BUCKET)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 64799 FORTRAN integer, parameter :: HISTOGRAM_BUCKET_SIZE = sizeof(HISTOGRAM_BUCKET)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 66628 FORTRAN integer, parameter :: DISK_HISTOGRAM_SIZE = sizeof(DISK_HISTOGRAM)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 64814 FORTRAN integer, parameter :: DISK_HISTOGRAM_SIZE = sizeof(DISK_HISTOGRAM)
    !DEC$ ENDIF
          integer, parameter :: DISK_LOGGING_START = 0
          integer, parameter :: DISK_LOGGING_STOP = 1
          integer, parameter :: DISK_LOGGING_DUMP = 2
          integer, parameter :: DISK_BINNING = 3
          integer, parameter ::   RequestSize = 0
          integer, parameter ::   RequestLocation  = 1
          integer, parameter :: CAP_ATA_ID_CMD = 1
          integer, parameter :: CAP_ATAPI_ID_CMD = 2
          integer, parameter :: CAP_SMART_CMD = 4
          integer, parameter :: ATAPI_ID_CMD = #A1
          integer, parameter :: ID_CMD = #EC
          integer, parameter :: SMART_CMD = #B0
          integer, parameter :: SMART_CYL_LOW = #4F
          integer, parameter :: SMART_CYL_HI = #C2
          integer, parameter :: SMART_NO_ERROR = 0
          integer, parameter :: SMART_IDE_ERROR = 1
          integer, parameter :: SMART_INVALID_FLAG = 2
          integer, parameter :: SMART_INVALID_COMMAND = 3
          integer, parameter :: SMART_INVALID_BUFFER = 4
          integer, parameter :: SMART_INVALID_DRIVE = 5
          integer, parameter :: SMART_INVALID_IOCTL = 6
          integer, parameter :: SMART_ERROR_NO_MEM = 7
          integer, parameter :: SMART_INVALID_REGISTER = 8
          integer, parameter :: SMART_NOT_SUPPORTED = 9
          integer, parameter :: SMART_NO_IDE_DEVICE = 10
          integer, parameter :: READ_ATTRIBUTE_BUFFER_SIZE = 512
          integer, parameter :: IDENTIFY_BUFFER_SIZE = 512
          integer, parameter :: READ_THRESHOLD_BUFFER_SIZE = 512
          integer, parameter :: READ_ATTRIBUTES = #D0
          integer, parameter :: READ_THRESHOLDS = #D1
          integer, parameter :: ENABLE_DISABLE_AUTOSAVE = #D2
          integer, parameter :: SAVE_ATTRIBUTE_VALUES = #D3
          integer, parameter :: EXECUTE_OFFLINE_DIAGS = #D4
          integer, parameter :: ENABLE_SMART = #D8
          integer, parameter :: DISABLE_SMART = #D9
          integer, parameter :: RETURN_SMART_STATUS = #DA
          integer, parameter :: ENABLE_DISABLE_AUTO_OFFLINE = #DB
          integer, parameter :: IOCTL_CHANGER_GET_PARAMETERS = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0000) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_GET_STATUS = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0001) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_GET_PRODUCT_DATA = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0002) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_SET_ACCESS = ( ((#00000030) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0004) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_GET_ELEMENT_STATUS = ( ((#00000030) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#0005) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0006) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_SET_POSITION = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0007) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_EXCHANGE_MEDIUM = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0008) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_MOVE_MEDIUM = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#0009) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_REINITIALIZE_TRANSPORT = ( ((#00000030) * 2** 16) .OR. ((( #0001 )) * 2** 14) .OR. ((#000A) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_CHANGER_QUERY_VOLUME_TAGS = ( ((#00000030) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((#000B) * 2** 2) .OR. (0) )
          integer, parameter :: MAX_VOLUME_ID_SIZE = 36
          integer, parameter :: MAX_VOLUME_TEMPLATE_SIZE = 40
          integer, parameter :: VENDOR_ID_LENGTH = 8
          integer, parameter :: PRODUCT_ID_LENGTH = 16
          integer, parameter :: REVISION_LENGTH = 4
          integer, parameter :: SERIAL_NUMBER_LENGTH = 32
          integer, parameter ::   AllElements = 0
          integer, parameter ::    ChangerTransport = 1
          integer, parameter ::    ChangerSlot = 2
          integer, parameter ::    ChangerIEPort = 3
          integer, parameter ::    ChangerDrive = 4
          integer, parameter ::    ChangerDoor = 5
          integer, parameter ::    ChangerKeypad = 6
          integer, parameter ::    ChangerMaxElement   = 7
          integer, parameter :: CHANGER_BAR_CODE_SCANNER_INSTALLED = #00000001
          integer, parameter :: CHANGER_INIT_ELEM_STAT_WITH_RANGE = #00000002
          integer, parameter :: CHANGER_CLOSE_IEPORT = #00000004
          integer, parameter :: CHANGER_OPEN_IEPORT = #00000008
          integer, parameter :: CHANGER_STATUS_NON_VOLATILE = #00000010
          integer, parameter :: CHANGER_EXCHANGE_MEDIA = #00000020
          integer, parameter :: CHANGER_CLEANER_SLOT = #00000040
          integer, parameter :: CHANGER_LOCK_UNLOCK = #00000080
          integer, parameter :: CHANGER_CARTRIDGE_MAGAZINE = #00000100
          integer, parameter :: CHANGER_MEDIUM_FLIP = #00000200
          integer, parameter :: CHANGER_POSITION_TO_ELEMENT = #00000400
          integer, parameter :: CHANGER_REPORT_IEPORT_STATE = #00000800
          integer, parameter :: CHANGER_STORAGE_DRIVE = #00001000
          integer, parameter :: CHANGER_STORAGE_IEPORT = #00002000
          integer, parameter :: CHANGER_STORAGE_SLOT = #00004000
          integer, parameter :: CHANGER_STORAGE_TRANSPORT = #00008000
          integer, parameter :: CHANGER_DRIVE_CLEANING_REQUIRED = #00010000
          integer, parameter :: CHANGER_PREDISMOUNT_EJECT_REQUIRED = #00020000
          integer, parameter :: CHANGER_CLEANER_ACCESS_NOT_VALID = #00040000
          integer, parameter :: CHANGER_PREMOUNT_EJECT_REQUIRED = #00080000
          integer, parameter :: CHANGER_VOLUME_IDENTIFICATION = #00100000
          integer, parameter :: CHANGER_VOLUME_SEARCH = #00200000
          integer, parameter :: CHANGER_VOLUME_ASSERT = #00400000
          integer, parameter :: CHANGER_VOLUME_REPLACE = #00800000
          integer, parameter :: CHANGER_VOLUME_UNDEFINE = #01000000
          integer, parameter :: CHANGER_SERIAL_NUMBER_VALID = #04000000
          integer, parameter :: CHANGER_DEVICE_REINITIALIZE_CAPABLE = #08000000
          integer, parameter :: CHANGER_KEYPAD_ENABLE_DISABLE = #10000000
          integer, parameter :: CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS = #20000000
          integer, parameter :: CHANGER_RESERVED_BIT = #80000000
          integer, parameter :: CHANGER_PREDISMOUNT_ALIGN_TO_SLOT = #80000001
          integer, parameter :: CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE = #80000002
          integer, parameter :: CHANGER_CLEANER_AUTODISMOUNT = #80000004
          integer, parameter :: CHANGER_TRUE_EXCHANGE_CAPABLE = #80000008
          integer, parameter :: CHANGER_SLOTS_USE_TRAYS = #80000010
          integer, parameter :: CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR = #80000020
          integer, parameter :: CHANGER_CLEANER_OPS_NOT_SUPPORTED = #80000040
          integer, parameter :: CHANGER_IEPORT_USER_CONTROL_OPEN = #80000080
          integer, parameter :: CHANGER_IEPORT_USER_CONTROL_CLOSE = #80000100
          integer, parameter :: CHANGER_MOVE_EXTENDS_IEPORT = #80000200
          integer, parameter :: CHANGER_MOVE_RETRACTS_IEPORT = #80000400
          integer, parameter :: CHANGER_TO_TRANSPORT = #01
          integer, parameter :: CHANGER_TO_SLOT = #02
          integer, parameter :: CHANGER_TO_IEPORT = #04
          integer, parameter :: CHANGER_TO_DRIVE = #08
          integer, parameter :: LOCK_UNLOCK_IEPORT = #01
          integer, parameter :: LOCK_UNLOCK_DOOR = #02
          integer, parameter :: LOCK_UNLOCK_KEYPAD = #04
          integer, parameter :: LOCK_ELEMENT = 0
          integer, parameter :: UNLOCK_ELEMENT = 1
          integer, parameter :: EXTEND_IEPORT = 2
          integer, parameter :: RETRACT_IEPORT = 3
          integer, parameter :: ELEMENT_STATUS_FULL = #00000001
          integer, parameter :: ELEMENT_STATUS_IMPEXP = #00000002
          integer, parameter :: ELEMENT_STATUS_EXCEPT = #00000004
          integer, parameter :: ELEMENT_STATUS_ACCESS = #00000008
          integer, parameter :: ELEMENT_STATUS_EXENAB = #00000010
          integer, parameter :: ELEMENT_STATUS_INENAB = #00000020
          integer, parameter :: ELEMENT_STATUS_LUN_VALID = #00001000
          integer, parameter :: ELEMENT_STATUS_ID_VALID = #00002000
          integer, parameter :: ELEMENT_STATUS_NOT_BUS = #00008000
          integer, parameter :: ELEMENT_STATUS_INVERT = #00400000
          integer, parameter :: ELEMENT_STATUS_SVALID = #00800000
          integer, parameter :: ELEMENT_STATUS_PVOLTAG = #10000000
          integer, parameter :: ELEMENT_STATUS_AVOLTAG = #20000000
          integer, parameter :: ERROR_LABEL_UNREADABLE = #00000001
          integer, parameter :: ERROR_LABEL_QUESTIONABLE = #00000002
          integer, parameter :: ERROR_SLOT_NOT_PRESENT = #00000004
          integer, parameter :: ERROR_DRIVE_NOT_INSTALLED = #00000008
          integer, parameter :: ERROR_TRAY_MALFUNCTION = #00000010
          integer, parameter :: ERROR_INIT_STATUS_NEEDED = #00000011
          integer, parameter :: ERROR_UNHANDLED_ERROR = #FFFFFFFF
          integer, parameter :: SEARCH_ALL = #0
          integer, parameter :: SEARCH_PRIMARY = #1
          integer, parameter :: SEARCH_ALTERNATE = #2
          integer, parameter :: SEARCH_ALL_NO_SEQ = #4
          integer, parameter :: SEARCH_PRI_NO_SEQ = #5
          integer, parameter :: SEARCH_ALT_NO_SEQ = #6
          integer, parameter :: ASSERT_PRIMARY = #8
          integer, parameter :: ASSERT_ALTERNATE = #9
          integer, parameter :: REPLACE_PRIMARY = #A
          integer, parameter :: REPLACE_ALTERNATE = #B
          integer, parameter :: UNDEFINE_PRIMARY = #C
          integer, parameter :: UNDEFINE_ALTERNATE = #D
          integer, parameter :: IOCTL_SERIAL_LSRMST_INSERT = ( ((#0000001b) * 2** 16) .OR. ((0) * 2** 14) .OR. ((31) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SERENUM_EXPOSE_HARDWARE = ( ((#00000037) * 2** 16) .OR. ((0) * 2** 14) .OR. ((128) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SERENUM_REMOVE_HARDWARE = ( ((#00000037) * 2** 16) .OR. ((0) * 2** 14) .OR. ((129) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SERENUM_PORT_DESC = ( ((#00000037) * 2** 16) .OR. ((0) * 2** 14) .OR. ((130) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SERENUM_GET_PORT_NAME = ( ((#00000037) * 2** 16) .OR. ((0) * 2** 14) .OR. ((131) * 2** 2) .OR. (0) )
          integer, parameter :: SERIAL_LSRMST_ESCAPE = ( #00)
          integer, parameter :: SERIAL_LSRMST_LSR_DATA = ( #01)
          integer, parameter :: SERIAL_LSRMST_LSR_NODATA = ( #02)
          integer, parameter :: SERIAL_LSRMST_MST = ( #03)
          integer, parameter :: SERIAL_IOC_FCR_FIFO_ENABLE = ( #00000001)
          integer, parameter :: SERIAL_IOC_FCR_RCVR_RESET = ( #00000002)
          integer, parameter :: SERIAL_IOC_FCR_XMIT_RESET = ( #00000004)
          integer, parameter :: SERIAL_IOC_FCR_DMA_MODE = ( #00000008)
          integer, parameter :: SERIAL_IOC_FCR_RES1 = ( #00000010)
          integer, parameter :: SERIAL_IOC_FCR_RES2 = ( #00000020)
          integer, parameter :: SERIAL_IOC_FCR_RCVR_TRIGGER_LSB = ( #00000040)
          integer, parameter :: SERIAL_IOC_FCR_RCVR_TRIGGER_MSB = ( #00000080)
          integer, parameter :: SERIAL_IOC_MCR_DTR = ( #00000001)
          integer, parameter :: SERIAL_IOC_MCR_RTS = ( #00000002)
          integer, parameter :: SERIAL_IOC_MCR_OUT1 = ( #00000004)
          integer, parameter :: SERIAL_IOC_MCR_OUT2 = ( #00000008)
          integer, parameter :: SERIAL_IOC_MCR_LOOP = ( #00000010)
          integer, parameter :: FSCTL_REQUEST_OPLOCK_LEVEL_1 = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((0) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_REQUEST_OPLOCK_LEVEL_2 = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((1) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_REQUEST_BATCH_OPLOCK = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((2) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_OPLOCK_BREAK_ACKNOWLEDGE = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((3) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_OPBATCH_ACK_CLOSE_PENDING = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((4) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_OPLOCK_BREAK_NOTIFY = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((5) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_LOCK_VOLUME = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((6) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_UNLOCK_VOLUME = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((7) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_DISMOUNT_VOLUME = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((8) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_IS_VOLUME_MOUNTED = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((10) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_IS_PATHNAME_VALID = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((11) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_MARK_VOLUME_DIRTY = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((12) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_QUERY_RETRIEVAL_POINTERS = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((14) * 2** 2) .OR. (3) )
          integer, parameter :: FSCTL_GET_COMPRESSION = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((15) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_SET_COMPRESSION = ( ((#00000009) * 2** 16) .OR. ((( #0001 ) .OR. ( #0002 )) * 2** 14) .OR. ((16) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_MARK_AS_SYSTEM_HIVE = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((19) * 2** 2) .OR. (3) )
          integer, parameter :: FSCTL_OPLOCK_BREAK_ACK_NO_2 = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((20) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_INVALIDATE_VOLUMES = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((21) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_QUERY_FAT_BPB = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((22) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_REQUEST_FILTER_OPLOCK = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((23) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_FILESYSTEM_GET_STATISTICS = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((24) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_GET_NTFS_VOLUME_DATA = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((25) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_GET_NTFS_FILE_RECORD = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((26) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_GET_VOLUME_BITMAP = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((27) * 2** 2) .OR. (3) )
          integer, parameter :: FSCTL_GET_RETRIEVAL_POINTERS = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((28) * 2** 2) .OR. (3) )
          integer, parameter :: FSCTL_MOVE_FILE = ( ((#00000009) * 2** 16) .OR. (((0)) * 2** 14) .OR. ((29) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_IS_VOLUME_DIRTY = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((30) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_GET_HFS_INFORMATION = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((31) * 2** 2) .OR. (0) )
          integer, parameter :: FSCTL_ALLOW_EXTENDED_DASD_IO = ( ((#00000009) * 2** 16) .OR. ((0) * 2** 14) .OR. ((32) * 2** 2) .OR. (3) )
          integer, parameter :: FILESYSTEM_STATISTICS_TYPE_NTFS = 1
          integer, parameter :: FILESYSTEM_STATISTICS_TYPE_FAT = 2
          integer, parameter :: IOCTL_VOLUME_BASE = (  'V')
    !???      integer, parameter :: IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS = ( (((  'V')) * 2** 16) .OR. ((0) * 2** 14) .OR. ((0) * 2** 2) .OR. (0) )
          integer, parameter :: FILE_DEVICE_SMARTCARD = #00000031
          integer, parameter :: SCARD_ATR_LENGTH = 33
          integer, parameter :: SCARD_PROTOCOL_UNDEFINED = #00000000
          integer, parameter :: SCARD_PROTOCOL_T0 = #00000001
          integer, parameter :: SCARD_PROTOCOL_T1 = #00000002
          integer, parameter :: SCARD_PROTOCOL_RAW = #00010000
          integer, parameter :: SCARD_PROTOCOL_DEFAULT = #80000000
          integer, parameter :: SCARD_PROTOCOL_OPTIMAL = #00000000
          integer, parameter :: SCARD_POWER_DOWN = 0
          integer, parameter :: SCARD_COLD_RESET = 1
          integer, parameter :: SCARD_WARM_RESET = 2
          integer, parameter :: IOCTL_SMARTCARD_POWER = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((1)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_GET_ATTRIBUTE = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((2)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_SET_ATTRIBUTE = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((3)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_CONFISCATE = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((4)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_TRANSMIT = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((5)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_EJECT = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((6)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_SWALLOW = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((7)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_IS_PRESENT = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((10)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_IS_ABSENT = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((11)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_SET_PROTOCOL = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((12)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_GET_STATE = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((14)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_GET_LAST_ERROR = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((15)) * 2** 2) .OR. (0) )
          integer, parameter :: IOCTL_SMARTCARD_GET_PERF_CNTR = ( ((#00000031) * 2** 16) .OR. ((0) * 2** 14) .OR. (((16)) * 2** 2) .OR. (0) )
          integer, parameter :: MAXIMUM_ATTR_STRING_LENGTH = 32
          integer, parameter :: MAXIMUM_SMARTCARD_READERS = 10
          integer, parameter :: SCARD_CLASS_VENDOR_INFO = 1
          integer, parameter :: SCARD_CLASS_COMMUNICATIONS = 2
          integer, parameter :: SCARD_CLASS_PROTOCOL = 3
          integer, parameter :: SCARD_CLASS_POWER_MGMT = 4
          integer, parameter :: SCARD_CLASS_SECURITY = 5
          integer, parameter :: SCARD_CLASS_MECHANICAL = 6
          integer, parameter :: SCARD_CLASS_VENDOR_DEFINED = 7
          integer, parameter :: SCARD_CLASS_IFD_PROTOCOL = 8
          integer, parameter :: SCARD_CLASS_ICC_STATE = 9
          integer, parameter :: SCARD_CLASS_PERF = #7ffe
          integer, parameter :: SCARD_CLASS_SYSTEM = #7fff
          integer, parameter :: SCARD_ATTR_VENDOR_NAME = ((( (1)) * 2** 16) .OR. ( (#0100)))
          integer, parameter :: SCARD_ATTR_VENDOR_IFD_TYPE = ((( (1)) * 2** 16) .OR. ( (#0101)))
          integer, parameter :: SCARD_ATTR_VENDOR_IFD_VERSION = ((( (1)) * 2** 16) .OR. ( (#0102)))
          integer, parameter :: SCARD_ATTR_VENDOR_IFD_SERIAL_NO = ((( (1)) * 2** 16) .OR. ( (#0103)))
          integer, parameter :: SCARD_ATTR_CHANNEL_ID = ((( (2)) * 2** 16) .OR. ( (#0110)))
          integer, parameter :: SCARD_ATTR_PROTOCOL_TYPES = ((( (3)) * 2** 16) .OR. ( (#0120)))
          integer, parameter :: SCARD_ATTR_DEFAULT_CLK = ((( (3)) * 2** 16) .OR. ( (#0121)))
          integer, parameter :: SCARD_ATTR_MAX_CLK = ((( (3)) * 2** 16) .OR. ( (#0122)))
          integer, parameter :: SCARD_ATTR_DEFAULT_DATA_RATE = ((( (3)) * 2** 16) .OR. ( (#0123)))
          integer, parameter :: SCARD_ATTR_MAX_DATA_RATE = ((( (3)) * 2** 16) .OR. ( (#0124)))
          integer, parameter :: SCARD_ATTR_MAX_IFSD = ((( (3)) * 2** 16) .OR. ( (#0125)))
          integer, parameter :: SCARD_ATTR_POWER_MGMT_SUPPORT = ((( (4)) * 2** 16) .OR. ( (#0131)))
          integer, parameter :: SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE = ((( (5)) * 2** 16) .OR. ( (#0140)))
          integer, parameter :: SCARD_ATTR_USER_AUTH_INPUT_DEVICE = ((( (5)) * 2** 16) .OR. ( (#0142)))
          integer, parameter :: SCARD_ATTR_CHARACTERISTICS = ((( (6)) * 2** 16) .OR. ( (#0150)))
          integer, parameter :: SCARD_ATTR_CURRENT_PROTOCOL_TYPE = ((( (8)) * 2** 16) .OR. ( (#0201)))
          integer, parameter :: SCARD_ATTR_CURRENT_CLK = ((( (8)) * 2** 16) .OR. ( (#0202)))
          integer, parameter :: SCARD_ATTR_CURRENT_F = ((( (8)) * 2** 16) .OR. ( (#0203)))
          integer, parameter :: SCARD_ATTR_CURRENT_D = ((( (8)) * 2** 16) .OR. ( (#0204)))
          integer, parameter :: SCARD_ATTR_CURRENT_N = ((( (8)) * 2** 16) .OR. ( (#0205)))
          integer, parameter :: SCARD_ATTR_CURRENT_W = ((( (8)) * 2** 16) .OR. ( (#0206)))
          integer, parameter :: SCARD_ATTR_CURRENT_IFSC = ((( (8)) * 2** 16) .OR. ( (#0207)))
          integer, parameter :: SCARD_ATTR_CURRENT_IFSD = ((( (8)) * 2** 16) .OR. ( (#0208)))
          integer, parameter :: SCARD_ATTR_CURRENT_BWT = ((( (8)) * 2** 16) .OR. ( (#0209)))
          integer, parameter :: SCARD_ATTR_CURRENT_CWT = ((( (8)) * 2** 16) .OR. ( (#020a)))
          integer, parameter :: SCARD_ATTR_CURRENT_EBC_ENCODING = ((( (8)) * 2** 16) .OR. ( (#020b)))
          integer, parameter :: SCARD_ATTR_EXTENDED_BWT = ((( (8)) * 2** 16) .OR. ( (#020c)))
          integer, parameter :: SCARD_ATTR_ICC_PRESENCE = ((( (9)) * 2** 16) .OR. ( (#0300)))
          integer, parameter :: SCARD_ATTR_ICC_INTERFACE_STATUS = ((( (9)) * 2** 16) .OR. ( (#0301)))
          integer, parameter :: SCARD_ATTR_CURRENT_IO_STATE = ((( (9)) * 2** 16) .OR. ( (#0302)))
          integer, parameter :: SCARD_ATTR_ATR_STRING = ((( (9)) * 2** 16) .OR. ( (#0303)))
          integer, parameter :: SCARD_ATTR_ICC_TYPE_PER_ATR = ((( (9)) * 2** 16) .OR. ( (#0304)))
          integer, parameter :: SCARD_ATTR_ESC_RESET = ((( (7)) * 2** 16) .OR. ( (#A000)))
          integer, parameter :: SCARD_ATTR_ESC_CANCEL = ((( (7)) * 2** 16) .OR. ( (#A003)))
          integer, parameter :: SCARD_ATTR_ESC_AUTHREQUEST = ((( (7)) * 2** 16) .OR. ( (#A005)))
          integer, parameter :: SCARD_ATTR_MAXINPUT = ((( (7)) * 2** 16) .OR. ( (#A007)))
          integer, parameter :: SCARD_ATTR_DEVICE_UNIT = ((( (#7fff)) * 2** 16) .OR. ( (#0001)))
          integer, parameter :: SCARD_ATTR_DEVICE_IN_USE = ((( (#7fff)) * 2** 16) .OR. ( (#0002)))
          integer, parameter :: SCARD_ATTR_DEVICE_FRIENDLY_NAME_A = ((( (#7fff)) * 2** 16) .OR. ( (#0003)))
          integer, parameter :: SCARD_ATTR_DEVICE_SYSTEM_NAME_ = ((( (#7fff)) * 2** 16) .OR. ( (#0004)))
          integer, parameter :: SCARD_ATTR_DEVICE_SYSTEM_NAME_A = ((( (#7fff)) * 2** 16) .OR. ( (#0004)))
          integer, parameter :: SCARD_ATTR_DEVICE_FRIENDLY_NAME_W = ((( (#7fff)) * 2** 16) .OR. ( (#0005)))
          integer, parameter :: SCARD_ATTR_DEVICE_SYSTEM_NAME_W = ((( (#7fff)) * 2** 16) .OR. ( (#0006)))
          integer, parameter :: SCARD_ATTR_SUPRESS_T1_IFS_REQUEST = ((( (#7fff)) * 2** 16) .OR. ( (#0007)))
          integer, parameter :: SCARD_PERF_NUM_TRANSMISSIONS = ((( (#7ffe)) * 2** 16) .OR. ( (#0001)))
          integer, parameter :: SCARD_PERF_BYTES_TRANSMITTED = ((( (#7ffe)) * 2** 16) .OR. ( (#0002)))
          integer, parameter :: SCARD_PERF_TRANSMISSION_TIME = ((( (#7ffe)) * 2** 16) .OR. ( (#0003)))
          integer, parameter :: SCARD_T0_HEADER_LENGTH = 7
          integer, parameter :: SCARD_T0_CMD_LENGTH = 5
          integer, parameter :: SCARD_T1_PROLOGUE_LENGTH = 3
          integer, parameter :: SCARD_T1_EPILOGUE_LENGTH = 2
          integer, parameter :: SCARD_T1_MAX_IFS = 254
          integer, parameter :: SCARD_UNKNOWN = 0
          integer, parameter :: SCARD_ABSENT = 1
          integer, parameter :: SCARD_PRESENT = 2
          integer, parameter :: SCARD_SWALLOWED = 3
          integer, parameter :: SCARD_POWERED = 4
          integer, parameter :: SCARD_NEGOTIABLE = 5
          integer, parameter :: SCARD_SPECIFIC = 6
          integer, parameter :: SCARD_READER_SWALLOWS = #00000001
          integer, parameter :: SCARD_READER_EJECTS = #00000002
          integer, parameter :: SCARD_READER_CONFISCATES = #00000004
          integer, parameter :: SCARD_READER_TYPE_SERIAL = #01
          integer, parameter :: SCARD_READER_TYPE_PARALELL = #02
          integer, parameter :: SCARD_READER_TYPE_KEYBOARD = #04
          integer, parameter :: SCARD_READER_TYPE_SCSI = #08
          integer, parameter :: SCARD_READER_TYPE_IDE = #10
          integer, parameter :: SCARD_READER_TYPE_USB = #20
          integer, parameter :: SCARD_READER_TYPE_PCMCIA = #40
          integer, parameter :: SCARD_READER_TYPE_VENDOR = #F0
     !     integer, parameter :: SCARD_PCI_T0 = (.AND.g_rgSCardT0Pci)
     !     integer, parameter :: SCARD_PCI_T1 = (.AND.g_rgSCardT1Pci)
     !     integer, parameter :: SCARD_PCI_RAW = (.AND.g_rgSCardRawPci)
          integer, parameter :: SCARD_AUTOALLOCATE =  (-1)
          integer, parameter :: SCARD_SCOPE_USER = 0
          integer, parameter :: SCARD_SCOPE_TERMINAL = 1
          integer, parameter :: SCARD_SCOPE_SYSTEM = 2
          character*18, parameter :: SCARD_ALL_READERS = "SCard$AllReaders\000"C
          character*22, parameter :: SCARD_DEFAULT_READERS = "SCard$DefaultReaders\000"C
          character*20, parameter :: SCARD_LOCAL_READERS = "SCard$LocalReaders\000"C
          character*21, parameter :: SCARD_SYSTEM_READERS = "SCard$SystemReaders\000"C
          integer, parameter :: SCARD_PROVIDER_PRIMARY = 1
          integer, parameter :: SCARD_PROVIDER_CSP = 2
          integer, parameter :: SCARD_STATE_UNAWARE = #00000000
          integer, parameter :: SCARD_STATE_IGNORE = #00000001
          integer, parameter :: SCARD_STATE_CHANGED = #00000002
          integer, parameter :: SCARD_STATE_UNKNOWN = #00000004
          integer, parameter :: SCARD_STATE_UNAVAILABLE = #00000008
          integer, parameter :: SCARD_STATE_EMPTY = #00000010
          integer, parameter :: SCARD_STATE_PRESENT = #00000020
          integer, parameter :: SCARD_STATE_ATRMATCH = #00000040
          integer, parameter :: SCARD_STATE_EXCLUSIVE = #00000080
          integer, parameter :: SCARD_STATE_INUSE = #00000100
          integer, parameter :: SCARD_STATE_MUTE = #00000200
          integer, parameter :: SCARD_STATE_UNPOWERED = #00000400
          integer, parameter :: SCARD_SHARE_EXCLUSIVE = 1
          integer, parameter :: SCARD_SHARE_SHARED = 2
          integer, parameter :: SCARD_SHARE_DIRECT = 3
          integer, parameter :: SCARD_LEAVE_CARD = 0
          integer, parameter :: SCARD_RESET_CARD = 1
          integer, parameter :: SCARD_UNPOWER_CARD = 2
          integer, parameter :: SCARD_EJECT_CARD = 3
          integer, parameter :: SC_DLG_MINIMAL_UI = #01
          integer, parameter :: SC_DLG_NO_UI = #02
          integer, parameter :: SC_DLG_FORCE_UI = #04
          integer, parameter :: SCERR_NOCARDNAME = #4000
          integer, parameter :: SCERR_NOGUIDS = #8000
    !DEC$ IF DEFINED( _M_IA64)
    ! 68524 FORTRAN integer, parameter :: __WIN32IE = #0501
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 66870 FORTRAN integer, parameter :: __WIN32IE = #0501
    !DEC$ ENDIF
          integer, parameter :: MAXPROPPAGES = 100
          integer, parameter :: PSP_DEFAULT = #00000000
          integer, parameter :: PSP_DLGINDIRECT = #00000001
          integer, parameter :: PSP_USEHICON = #00000002
          integer, parameter :: PSP_USEICONID = #00000004
          integer, parameter :: PSP_USETITLE = #00000008
          integer, parameter :: PSP_RTLREADING = #00000010
          integer, parameter :: PSP_HASHELP = #00000020
          integer, parameter :: PSP_USEREFPARENT = #00000040
          integer, parameter :: PSP_USECALLBACK = #00000080
          integer, parameter :: PSP_PREMATURE = #00000400
          integer, parameter :: PSP_HIDEHEADER = #00000800
          integer, parameter :: PSP_USEHEADERTITLE = #00001000
          integer, parameter :: PSP_USEHEADERSUBTITLE = #00002000
          integer, parameter :: PSPCB_ADDREF = 0
          integer, parameter :: PSPCB_RELEASE = 1
          integer, parameter :: PSPCB_CREATE = 2
    !DEC$ IF DEFINED( _M_IA64)
    ! 68547 FORTRAN integer, parameter :: PROPSHEETPAGEA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEA*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEA*)0)))) + sizeof(((PROPSHEETPAGEA*)0)->pcRefParent))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 66893 FORTRAN integer, parameter :: PROPSHEETPAGEA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEA*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEA*)0)))) + sizeof(((PROPSHEETPAGEA*)0)->pcRefParent))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 68548 FORTRAN integer, parameter :: PROPSHEETPAGEW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEW*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEW*)0)))) + sizeof(((PROPSHEETPAGEW*)0)->pcRefParent))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 66894 FORTRAN integer, parameter :: PROPSHEETPAGEW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEW*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEW*)0)))) + sizeof(((PROPSHEETPAGEW*)0)->pcRefParent))
    !DEC$ ENDIF
          integer, parameter :: PSH_DEFAULT = #00000000
          integer, parameter :: PSH_PROPTITLE = #00000001
          integer, parameter :: PSH_USEHICON = #00000002
          integer, parameter :: PSH_USEICONID = #00000004
          integer, parameter :: PSH_PROPSHEETPAGE = #00000008
          integer, parameter :: PSH_WIZARDHASFINISH = #00000010
          integer, parameter :: PSH_WIZARD = #00000020
          integer, parameter :: PSH_USEPSTARTPAGE = #00000040
          integer, parameter :: PSH_NOAPPLYNOW = #00000080
          integer, parameter :: PSH_USECALLBACK = #00000100
          integer, parameter :: PSH_HASHELP = #00000200
          integer, parameter :: PSH_MODELESS = #00000400
          integer, parameter :: PSH_RTLREADING = #00000800
          integer, parameter :: PSH_WIZARDCONTEXTHELP = #00001000
          integer, parameter :: PSH_WIZARD97 = #01000000
          integer, parameter :: PSH_WATERMARK = #00008000
          integer, parameter :: PSH_USEHBMWATERMARK = #00010000
          integer, parameter :: PSH_USEHPLWATERMARK = #00020000
          integer, parameter :: PSH_STRETCHWATERMARK = #00040000
          integer, parameter :: PSH_HEADER = #00080000
          integer, parameter :: PSH_USEHBMHEADER = #00100000
          integer, parameter :: PSH_USEPAGELANG = #00200000
          integer, parameter :: PSH_WIZARD_LITE = #00400000
          integer, parameter :: PSH_NOCONTEXTHELP = #02000000
    !DEC$ IF DEFINED( _M_IA64)
    ! 68647 FORTRAN integer, parameter :: PROPSHEETHEADERA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERA*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERA*)0)))) + sizeof(((PROPSHEETHEADERA*)0)->pfnCallback))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 66993 FORTRAN integer, parameter :: PROPSHEETHEADERA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERA*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERA*)0)))) + sizeof(((PROPSHEETHEADERA*)0)->pfnCallback))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 68648 FORTRAN integer, parameter :: PROPSHEETHEADERW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERW*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERW*)0)))) + sizeof(((PROPSHEETHEADERW*)0)->pfnCallback))
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 66994 FORTRAN integer, parameter :: PROPSHEETHEADERW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERW*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERW*)0)))) + sizeof(((PROPSHEETHEADERW*)0)->pfnCallback))
    !DEC$ ENDIF
          integer, parameter :: PSCB_INITIALIZED = 1
          integer, parameter :: PSCB_PRECREATE = 2
          integer, parameter :: PSN_FIRST = (0-200)
          integer, parameter :: PSN_LAST = (0-299)
          integer, parameter :: PSN_SETACTIVE = ((0-200)-0)
          integer, parameter :: PSN_KILLACTIVE = ((0-200)-1)
          integer, parameter :: PSN_APPLY = ((0-200)-2)
          integer, parameter :: PSN_RESET = ((0-200)-3)
          integer, parameter :: PSN_HELP = ((0-200)-5)
          integer, parameter :: PSN_WIZBACK = ((0-200)-6)
          integer, parameter :: PSN_WIZNEXT = ((0-200)-7)
          integer, parameter :: PSN_WIZFINISH = ((0-200)-8)
          integer, parameter :: PSN_QUERYCANCEL = ((0-200)-9)
          integer, parameter :: PSN_GETOBJECT = ((0-200)-10)
          integer, parameter :: PSN_TRANSLATEACCELERATOR = ((0-200)-12)
          integer, parameter :: PSN_QUERYINITIALFOCUS = ((0-200)-13)
          integer, parameter :: PSNRET_NOERROR = 0
          integer, parameter :: PSNRET_INVALID = 1
          integer, parameter :: PSNRET_INVALID_NOCHANGEPAGE = 2
          integer, parameter :: PSNRET_MESSAGEHANDLED = 3
          integer, parameter :: PSM_SETCURSEL = (#0400 + 101)
          integer, parameter :: PSM_REMOVEPAGE = (#0400 + 102)
          integer, parameter :: PSM_ADDPAGE = (#0400 + 103)
          integer, parameter :: PSM_CHANGED = (#0400 + 104)
          integer, parameter :: PSM_RESTARTWINDOWS = (#0400 + 105)
          integer, parameter :: PSM_REBOOTSYSTEM = (#0400 + 106)
          integer, parameter :: PSM_CANCELTOCLOSE = (#0400 + 107)
          integer, parameter :: PSM_QUERYSIBLINGS = (#0400 + 108)
          integer, parameter :: PSM_UNCHANGED = (#0400 + 109)
          integer, parameter :: PSM_APPLY = (#0400 + 110)
          integer, parameter :: PSM_SETTITLE = (#0400 + 111)
          integer, parameter :: PSM_SETTITLEA = (#0400 + 111)
          integer, parameter :: PSM_SETTITLEW = (#0400 + 120)
          integer, parameter :: PSM_SETWIZBUTTONS = (#0400 + 112)
          integer, parameter :: PSWIZB_BACK = #00000001
          integer, parameter :: PSWIZB_NEXT = #00000002
          integer, parameter :: PSWIZB_FINISH = #00000004
          integer, parameter :: PSWIZB_DISABLEDFINISH = #00000008
          integer, parameter :: PSM_PRESSBUTTON = (#0400 + 113)
          integer, parameter :: PSBTN_BACK = 0
          integer, parameter :: PSBTN_NEXT = 1
          integer, parameter :: PSBTN_FINISH = 2
          integer, parameter :: PSBTN_OK = 3
          integer, parameter :: PSBTN_APPLYNOW = 4
          integer, parameter :: PSBTN_CANCEL = 5
          integer, parameter :: PSBTN_HELP = 6
          integer, parameter :: PSBTN_MAX = 6
          integer, parameter :: PSM_SETCURSELID = (#0400 + 114)
          integer, parameter :: PSM_SETFINISHTEXT = (#0400 + 115)
          integer, parameter :: PSM_SETFINISHTEXTA = (#0400 + 115)
          integer, parameter :: PSM_SETFINISHTEXTW = (#0400 + 121)
          integer, parameter :: PSM_GETTABCONTROL = (#0400 + 116)
          integer, parameter :: PSM_ISDIALOGMESSAGE = (#0400 + 117)
          integer, parameter :: PSM_GETCURRENTPAGEHWND = (#0400 + 118)
          integer, parameter :: PSM_INSERTPAGE = (#0400 + 119)
          integer, parameter :: PSM_SETHEADERTITLE = (#0400 + 125)
          integer, parameter :: PSM_SETHEADERTITLEA = (#0400 + 125)
          integer, parameter :: PSM_SETHEADERTITLEW = (#0400 + 126)
          integer, parameter :: PSM_SETHEADERSUBTITLE = (#0400 + 127)
          integer, parameter :: PSM_SETHEADERSUBTITLEA = (#0400 + 127)
          integer, parameter :: PSM_SETHEADERSUBTITLEW = (#0400 + 128)
          integer, parameter :: PSM_HWNDTOINDEX = (#0400 + 129)
          integer, parameter :: PSM_INDEXTOHWND = (#0400 + 130)
          integer, parameter :: PSM_PAGETOINDEX = (#0400 + 131)
          integer, parameter :: PSM_INDEXTOPAGE = (#0400 + 132)
          integer, parameter :: PSM_IDTOINDEX = (#0400 + 133)
          integer, parameter :: PSM_INDEXTOID = (#0400 + 134)
          integer, parameter :: PSM_GETRESULT = (#0400 + 135)
          integer, parameter :: PSM_RECALCPAGESIZES = (#0400 + 136)
          integer, parameter :: ID_PSRESTARTWINDOWS = #2
          integer, parameter :: ID_PSREBOOTSYSTEM = (#2 .OR. #1)
          integer, parameter :: WIZ_CXDLG = 276
          integer, parameter :: WIZ_CYDLG = 140
          integer, parameter :: WIZ_CXBMP = 80
          integer, parameter :: WIZ_BODYX = 92
          integer, parameter :: WIZ_BODYCX = 184
          integer, parameter :: PROP_SM_CXDLG = 212
          integer, parameter :: PROP_SM_CYDLG = 188
          integer, parameter :: PROP_MED_CXDLG = 227
          integer, parameter :: PROP_MED_CYDLG = 215
          integer, parameter :: PROP_LG_CXDLG = 252
          integer, parameter :: PROP_LG_CYDLG = 218
          integer, parameter :: DSPRINT_PUBLISH = #00000001
          integer, parameter :: DSPRINT_UPDATE = #00000002
          integer, parameter :: DSPRINT_UNPUBLISH = #00000004
          integer, parameter :: DSPRINT_REPUBLISH = #00000008
          integer, parameter :: DSPRINT_PENDING = #80000000
          integer, parameter :: PRINTER_CONTROL_PAUSE = 1
          integer, parameter :: PRINTER_CONTROL_RESUME = 2
          integer, parameter :: PRINTER_CONTROL_PURGE = 3
          integer, parameter :: PRINTER_CONTROL_SET_STATUS = 4
          integer, parameter :: PRINTER_STATUS_PAUSED = #00000001
          integer, parameter :: PRINTER_STATUS_ERROR = #00000002
          integer, parameter :: PRINTER_STATUS_PENDING_DELETION = #00000004
          integer, parameter :: PRINTER_STATUS_PAPER_JAM = #00000008
          integer, parameter :: PRINTER_STATUS_PAPER_OUT = #00000010
          integer, parameter :: PRINTER_STATUS_MANUAL_FEED = #00000020
          integer, parameter :: PRINTER_STATUS_PAPER_PROBLEM = #00000040
          integer, parameter :: PRINTER_STATUS_OFFLINE = #00000080
          integer, parameter :: PRINTER_STATUS_IO_ACTIVE = #00000100
          integer, parameter :: PRINTER_STATUS_BUSY = #00000200
          integer, parameter :: PRINTER_STATUS_PRINTING = #00000400
          integer, parameter :: PRINTER_STATUS_OUTPUT_BIN_FULL = #00000800
          integer, parameter :: PRINTER_STATUS_NOT_AVAILABLE = #00001000
          integer, parameter :: PRINTER_STATUS_WAITING = #00002000
          integer, parameter :: PRINTER_STATUS_PROCESSING = #00004000
          integer, parameter :: PRINTER_STATUS_INITIALIZING = #00008000
          integer, parameter :: PRINTER_STATUS_WARMING_UP = #00010000
          integer, parameter :: PRINTER_STATUS_TONER_LOW = #00020000
          integer, parameter :: PRINTER_STATUS_NO_TONER = #00040000
          integer, parameter :: PRINTER_STATUS_PAGE_PUNT = #00080000
          integer, parameter :: PRINTER_STATUS_USER_INTERVENTION = #00100000
          integer, parameter :: PRINTER_STATUS_OUT_OF_MEMORY = #00200000
          integer, parameter :: PRINTER_STATUS_DOOR_OPEN = #00400000
          integer, parameter :: PRINTER_STATUS_SERVER_UNKNOWN = #00800000
          integer, parameter :: PRINTER_STATUS_POWER_SAVE = #01000000
          integer, parameter :: PRINTER_ATTRIBUTE_QUEUED = #00000001
          integer, parameter :: PRINTER_ATTRIBUTE_DIRECT = #00000002
          integer, parameter :: PRINTER_ATTRIBUTE_DEFAULT = #00000004
          integer, parameter :: PRINTER_ATTRIBUTE_SHARED = #00000008
          integer, parameter :: PRINTER_ATTRIBUTE_NETWORK = #00000010
          integer, parameter :: PRINTER_ATTRIBUTE_HIDDEN = #00000020
          integer, parameter :: PRINTER_ATTRIBUTE_LOCAL = #00000040
          integer, parameter :: PRINTER_ATTRIBUTE_ENABLE_DEVQ = #00000080
          integer, parameter :: PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = #00000100
          integer, parameter :: PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = #00000200
          integer, parameter :: PRINTER_ATTRIBUTE_WORK_OFFLINE = #00000400
          integer, parameter :: PRINTER_ATTRIBUTE_ENABLE_BIDI = #00000800
          integer, parameter :: PRINTER_ATTRIBUTE_RAW_ONLY = #00001000
          integer, parameter :: PRINTER_ATTRIBUTE_PUBLISHED = #00002000
          integer, parameter :: NO_PRIORITY = 0
          integer, parameter :: MAX_PRIORITY = 99
          integer, parameter :: MIN_PRIORITY = 1
          integer, parameter :: DEF_PRIORITY = 1
          integer, parameter :: JOB_CONTROL_PAUSE = 1
          integer, parameter :: JOB_CONTROL_RESUME = 2
          integer, parameter :: JOB_CONTROL_CANCEL = 3
          integer, parameter :: JOB_CONTROL_RESTART = 4
          integer, parameter :: JOB_CONTROL_DELETE = 5
          integer, parameter :: JOB_CONTROL_SENT_TO_PRINTER = 6
          integer, parameter :: JOB_CONTROL_LAST_PAGE_EJECTED = 7
          integer, parameter :: JOB_STATUS_PAUSED = #00000001
          integer, parameter :: JOB_STATUS_ERROR = #00000002
          integer, parameter :: JOB_STATUS_DELETING = #00000004
          integer, parameter :: JOB_STATUS_SPOOLING = #00000008
          integer, parameter :: JOB_STATUS_PRINTING = #00000010
          integer, parameter :: JOB_STATUS_OFFLINE = #00000020
          integer, parameter :: JOB_STATUS_PAPEROUT = #00000040
          integer, parameter :: JOB_STATUS_PRINTED = #00000080
          integer, parameter :: JOB_STATUS_DELETED = #00000100
          integer, parameter :: JOB_STATUS_BLOCKED_DEVQ = #00000200
          integer, parameter :: JOB_STATUS_USER_INTERVENTION = #00000400
          integer, parameter :: JOB_STATUS_RESTART = #00000800
          integer, parameter :: JOB_POSITION_UNSPECIFIED = 0
          integer, parameter :: DRIVER_KERNELMODE = #00000001
          integer, parameter :: DRIVER_USERMODE = #00000002
          integer, parameter :: DPD_DELETE_UNUSED_FILES = #00000001
          integer, parameter :: DPD_DELETE_SPECIFIC_VERSION = #00000002
          integer, parameter :: DPD_DELETE_ALL_FILES = #00000004
          integer, parameter :: APD_STRICT_UPGRADE = #00000001
          integer, parameter :: APD_STRICT_DOWNGRADE = #00000002
          integer, parameter :: APD_COPY_ALL_FILES = #00000004
          integer, parameter :: APD_COPY_NEW_FILES = #00000008
          integer, parameter :: DI_CHANNEL = 1
          integer, parameter :: DI_READ_SPOOL_JOB = 3
          integer, parameter :: DI_MEMORYMAP_WRITE = #00000001
          integer, parameter :: FORM_USER = #00000000
          integer, parameter :: FORM_BUILTIN = #00000001
          integer, parameter :: FORM_PRINTER = #00000002
          integer, parameter :: PORT_TYPE_WRITE = #0001
          integer, parameter :: PORT_TYPE_READ = #0002
          integer, parameter :: PORT_TYPE_REDIRECTED = #0004
          integer, parameter :: PORT_TYPE_NET_ATTACHED = #0008
          integer, parameter :: PORT_STATUS_TYPE_ERROR = 1
          integer, parameter :: PORT_STATUS_TYPE_WARNING = 2
          integer, parameter :: PORT_STATUS_TYPE_INFO = 3
          integer, parameter :: PORT_STATUS_OFFLINE = 1
          integer, parameter :: PORT_STATUS_PAPER_JAM = 2
          integer, parameter :: PORT_STATUS_PAPER_OUT = 3
          integer, parameter :: PORT_STATUS_OUTPUT_BIN_FULL = 4
          integer, parameter :: PORT_STATUS_PAPER_PROBLEM = 5
          integer, parameter :: PORT_STATUS_NO_TONER = 6
          integer, parameter :: PORT_STATUS_DOOR_OPEN = 7
          integer, parameter :: PORT_STATUS_USER_INTERVENTION = 8
          integer, parameter :: PORT_STATUS_OUT_OF_MEMORY = 9
          integer, parameter :: PORT_STATUS_TONER_LOW = 10
          integer, parameter :: PORT_STATUS_WARMING_UP = 11
          integer, parameter :: PORT_STATUS_POWER_SAVE = 12
          integer, parameter :: PRINTER_ENUM_DEFAULT = #00000001
          integer, parameter :: PRINTER_ENUM_LOCAL = #00000002
          integer, parameter :: PRINTER_ENUM_CONNECTIONS = #00000004
          integer, parameter :: PRINTER_ENUM_FAVORITE = #00000004
          integer, parameter :: PRINTER_ENUM_NAME = #00000008
          integer, parameter :: PRINTER_ENUM_REMOTE = #00000010
          integer, parameter :: PRINTER_ENUM_SHARED = #00000020
          integer, parameter :: PRINTER_ENUM_NETWORK = #00000040
          integer, parameter :: PRINTER_ENUM_EXPAND = #00004000
          integer, parameter :: PRINTER_ENUM_CONTAINER = #00008000
          integer, parameter :: PRINTER_ENUM_ICONMASK = #00ff0000
          integer, parameter :: PRINTER_ENUM_ICON1 = #00010000
          integer, parameter :: PRINTER_ENUM_ICON2 = #00020000
          integer, parameter :: PRINTER_ENUM_ICON3 = #00040000
          integer, parameter :: PRINTER_ENUM_ICON4 = #00080000
          integer, parameter :: PRINTER_ENUM_ICON5 = #00100000
          integer, parameter :: PRINTER_ENUM_ICON6 = #00200000
          integer, parameter :: PRINTER_ENUM_ICON7 = #00400000
          integer, parameter :: PRINTER_ENUM_ICON8 = #00800000
          integer, parameter :: PRINTER_ENUM_HIDE = #01000000
          integer, parameter :: SPOOL_FILE_PERSISTENT = #00000001
          integer, parameter :: SPOOL_FILE_TEMPORARY = #00000002
          integer, parameter :: PRINTER_NOTIFY_TYPE = #00
          integer, parameter :: JOB_NOTIFY_TYPE = #01
          integer, parameter :: PRINTER_NOTIFY_FIELD_SERVER_NAME = #00
          integer, parameter :: PRINTER_NOTIFY_FIELD_PRINTER_NAME = #01
          integer, parameter :: PRINTER_NOTIFY_FIELD_SHARE_NAME = #02
          integer, parameter :: PRINTER_NOTIFY_FIELD_PORT_NAME = #03
          integer, parameter :: PRINTER_NOTIFY_FIELD_DRIVER_NAME = #04
          integer, parameter :: PRINTER_NOTIFY_FIELD_COMMENT = #05
          integer, parameter :: PRINTER_NOTIFY_FIELD_LOCATION = #06
          integer, parameter :: PRINTER_NOTIFY_FIELD_DEVMODE = #07
          integer, parameter :: PRINTER_NOTIFY_FIELD_SEPFILE = #08
          integer, parameter :: PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = #09
          integer, parameter :: PRINTER_NOTIFY_FIELD_PARAMETERS = #0A
          integer, parameter :: PRINTER_NOTIFY_FIELD_DATATYPE = #0B
          integer, parameter :: PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = #0C
          integer, parameter :: PRINTER_NOTIFY_FIELD_ATTRIBUTES = #0D
          integer, parameter :: PRINTER_NOTIFY_FIELD_PRIORITY = #0E
          integer, parameter :: PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = #0F
          integer, parameter :: PRINTER_NOTIFY_FIELD_START_TIME = #10
          integer, parameter :: PRINTER_NOTIFY_FIELD_UNTIL_TIME = #11
          integer, parameter :: PRINTER_NOTIFY_FIELD_STATUS = #12
          integer, parameter :: PRINTER_NOTIFY_FIELD_STATUS_STRING = #13
          integer, parameter :: PRINTER_NOTIFY_FIELD_CJOBS = #14
          integer, parameter :: PRINTER_NOTIFY_FIELD_AVERAGE_PPM = #15
          integer, parameter :: PRINTER_NOTIFY_FIELD_TOTAL_PAGES = #16
          integer, parameter :: PRINTER_NOTIFY_FIELD_PAGES_PRINTED = #17
          integer, parameter :: PRINTER_NOTIFY_FIELD_TOTAL_BYTES = #18
          integer, parameter :: PRINTER_NOTIFY_FIELD_BYTES_PRINTED = #19
          integer, parameter :: PRINTER_NOTIFY_FIELD_OBJECT_GUID = #1A
          integer, parameter :: JOB_NOTIFY_FIELD_PRINTER_NAME = #00
          integer, parameter :: JOB_NOTIFY_FIELD_MACHINE_NAME = #01
          integer, parameter :: JOB_NOTIFY_FIELD_PORT_NAME = #02
          integer, parameter :: JOB_NOTIFY_FIELD_USER_NAME = #03
          integer, parameter :: JOB_NOTIFY_FIELD_NOTIFY_NAME = #04
          integer, parameter :: JOB_NOTIFY_FIELD_DATATYPE = #05
          integer, parameter :: JOB_NOTIFY_FIELD_PRINT_PROCESSOR = #06
          integer, parameter :: JOB_NOTIFY_FIELD_PARAMETERS = #07
          integer, parameter :: JOB_NOTIFY_FIELD_DRIVER_NAME = #08
          integer, parameter :: JOB_NOTIFY_FIELD_DEVMODE = #09
          integer, parameter :: JOB_NOTIFY_FIELD_STATUS = #0A
          integer, parameter :: JOB_NOTIFY_FIELD_STATUS_STRING = #0B
          integer, parameter :: JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = #0C
          integer, parameter :: JOB_NOTIFY_FIELD_DOCUMENT = #0D
          integer, parameter :: JOB_NOTIFY_FIELD_PRIORITY = #0E
          integer, parameter :: JOB_NOTIFY_FIELD_POSITION = #0F
          integer, parameter :: JOB_NOTIFY_FIELD_SUBMITTED = #10
          integer, parameter :: JOB_NOTIFY_FIELD_START_TIME = #11
          integer, parameter :: JOB_NOTIFY_FIELD_UNTIL_TIME = #12
          integer, parameter :: JOB_NOTIFY_FIELD_TIME = #13
          integer, parameter :: JOB_NOTIFY_FIELD_TOTAL_PAGES = #14
          integer, parameter :: JOB_NOTIFY_FIELD_PAGES_PRINTED = #15
          integer, parameter :: JOB_NOTIFY_FIELD_TOTAL_BYTES = #16
          integer, parameter :: JOB_NOTIFY_FIELD_BYTES_PRINTED = #17
          integer, parameter :: PRINTER_NOTIFY_OPTIONS_REFRESH = #01
          integer, parameter :: PRINTER_NOTIFY_INFO_DISCARDED = #01
          integer, parameter :: PRINTER_CHANGE_ADD_PRINTER = #00000001
          integer, parameter :: PRINTER_CHANGE_SET_PRINTER = #00000002
          integer, parameter :: PRINTER_CHANGE_DELETE_PRINTER = #00000004
          integer, parameter :: PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = #00000008
          integer, parameter :: PRINTER_CHANGE_PRINTER = #000000FF
          integer, parameter :: PRINTER_CHANGE_ADD_JOB = #00000100
          integer, parameter :: PRINTER_CHANGE_SET_JOB = #00000200
          integer, parameter :: PRINTER_CHANGE_DELETE_JOB = #00000400
          integer, parameter :: PRINTER_CHANGE_WRITE_JOB = #00000800
          integer, parameter :: PRINTER_CHANGE_JOB = #0000FF00
          integer, parameter :: PRINTER_CHANGE_ADD_FORM = #00010000
          integer, parameter :: PRINTER_CHANGE_SET_FORM = #00020000
          integer, parameter :: PRINTER_CHANGE_DELETE_FORM = #00040000
          integer, parameter :: PRINTER_CHANGE_FORM = #00070000
          integer, parameter :: PRINTER_CHANGE_ADD_PORT = #00100000
          integer, parameter :: PRINTER_CHANGE_CONFIGURE_PORT = #00200000
          integer, parameter :: PRINTER_CHANGE_DELETE_PORT = #00400000
          integer, parameter :: PRINTER_CHANGE_PORT = #00700000
          integer, parameter :: PRINTER_CHANGE_ADD_PRINT_PROCESSOR = #01000000
          integer, parameter :: PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = #04000000
          integer, parameter :: PRINTER_CHANGE_PRINT_PROCESSOR = #07000000
          integer, parameter :: PRINTER_CHANGE_ADD_PRINTER_DRIVER = #10000000
          integer, parameter :: PRINTER_CHANGE_SET_PRINTER_DRIVER = #20000000
          integer, parameter :: PRINTER_CHANGE_DELETE_PRINTER_DRIVER = #40000000
          integer, parameter :: PRINTER_CHANGE_PRINTER_DRIVER = #70000000
          integer, parameter :: PRINTER_CHANGE_TIMEOUT = #80000000
          integer, parameter :: PRINTER_CHANGE_ALL = #7777FFFF
          integer, parameter :: PRINTER_ERROR_INFORMATION = #80000000
          integer, parameter :: PRINTER_ERROR_WARNING = #40000000
          integer, parameter :: PRINTER_ERROR_SEVERE = #20000000
          integer, parameter :: PRINTER_ERROR_OUTOFPAPER = #00000001
          integer, parameter :: PRINTER_ERROR_JAM = #00000002
          integer, parameter :: PRINTER_ERROR_OUTOFTONER = #00000004
          character*21, parameter :: SPLREG_DEFAULT_SPOOL_DIRECTORY = "DefaultSpoolDirectory"
          character*25, parameter :: SPLREG_PORT_THREAD_PRIORITY_DEFAULT = "PortThreadPriorityDefault"
          character*18, parameter :: SPLREG_PORT_THREAD_PRIORITY = "PortThreadPriority"
          character*30, parameter :: SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = "SchedulerThreadPriorityDefault"
          character*23, parameter :: SPLREG_SCHEDULER_THREAD_PRIORITY = "SchedulerThreadPriority"
          character*11, parameter :: SPLREG_BEEP_ENABLED = "BeepEnabled"
          character*8, parameter :: SPLREG_NET_POPUP = "NetPopup"
          character*10, parameter :: SPLREG_RETRY_POPUP = "RetryPopup"
          character*18, parameter :: SPLREG_NET_POPUP_TO_COMPUTER = "NetPopupToComputer"
          character*8, parameter :: SPLREG_EVENT_LOG = "EventLog"
          character*12, parameter :: SPLREG_MAJOR_VERSION = "MajorVersion"
          character*12, parameter :: SPLREG_MINOR_VERSION = "MinorVersion"
          character*12, parameter :: SPLREG_ARCHITECTURE = "Architecture"
          character*9, parameter :: SPLREG_OS_VERSION = "OSVersion"
          character*9, parameter :: SPLREG_DS_PRESENT = "DsPresent"
          character*16, parameter :: SPLREG_DS_PRESENT_FOR_USER = "DsPresentForUser"
          character*9, parameter :: SPLREG_REMOTE_FAX = "RemoteFax"
          character*21, parameter :: SPLREG_RESTART_JOB_ON_POOL_ERROR = "RestartJobOnPoolError"
          character*23, parameter :: SPLREG_RESTART_JOB_ON_POOL_ENABLED = "RestartJobOnPoolEnabled"
          character*14, parameter :: SPLREG_DNS_MACHINE_NAME = "DNSMachineName"
          integer, parameter :: SERVER_ACCESS_ADMINISTER = #00000001
          integer, parameter :: SERVER_ACCESS_ENUMERATE = #00000002
          integer, parameter :: PRINTER_ACCESS_ADMINISTER = #00000004
          integer, parameter :: PRINTER_ACCESS_USE = #00000008
          integer, parameter :: JOB_ACCESS_ADMINISTER = #00000010
          integer, parameter :: SERVER_ALL_ACCESS = ((#000F0000) .OR. #00000001 .OR. #00000002)
          integer, parameter :: SERVER_READ = (((#00020000)) .OR. #00000002)
          integer, parameter :: SERVER_WRITE = (((#00020000)) .OR. #00000001 .OR. #00000002)
          integer, parameter :: SERVER_EXECUTE = (((#00020000)) .OR. #00000002)
          integer, parameter :: PRINTER_ALL_ACCESS = ((#000F0000) .OR. #00000004 .OR. #00000008)
          integer, parameter :: PRINTER_READ = (((#00020000)) .OR. #00000008)
          integer, parameter :: PRINTER_WRITE = (((#00020000)) .OR. #00000008)
          integer, parameter :: PRINTER_EXECUTE = (((#00020000)) .OR. #00000008)
          integer, parameter :: JOB_ALL_ACCESS = ((#000F0000) .OR. #00000010)
          integer, parameter :: JOB_READ = (((#00020000)) .OR. #00000010)
          integer, parameter :: JOB_WRITE = (((#00020000)) .OR. #00000010)
          integer, parameter :: JOB_EXECUTE = (((#00020000)) .OR. #00000010)
          character*9, parameter :: SPLDS_SPOOLER_KEY = "DsSpooler"
          character*8, parameter :: SPLDS_DRIVER_KEY = "DsDriver"
          character*6, parameter :: SPLDS_USER_KEY = "DsUser"
          character*11, parameter :: SPLDS_ASSET_NUMBER = "assetNumber"
          character*14, parameter :: SPLDS_BYTES_PER_MINUTE = "bytesPerMinute"
          character*11, parameter :: SPLDS_DESCRIPTION = "description"
          character*10, parameter :: SPLDS_DRIVER_NAME = "driverName"
          character*13, parameter :: SPLDS_DRIVER_VERSION = "driverVersion"
          character*8, parameter :: SPLDS_LOCATION = "location"
          character*8, parameter :: SPLDS_PORT_NAME = "portName"
          character*15, parameter :: SPLDS_PRINT_ATTRIBUTES = "printAttributes"
          character*13, parameter :: SPLDS_PRINT_BIN_NAMES = "printBinNames"
          character*12, parameter :: SPLDS_PRINT_COLLATE = "printCollate"
          character*10, parameter :: SPLDS_PRINT_COLOR = "printColor"
          character*20, parameter :: SPLDS_PRINT_DUPLEX_SUPPORTED = "printDuplexSupported"
          character*12, parameter :: SPLDS_PRINT_END_TIME = "printEndTime"
          character*10, parameter :: SPLDS_PRINTER_CLASS = "printQueue"
          character*11, parameter :: SPLDS_PRINTER_NAME = "printerName"
          character*20, parameter :: SPLDS_PRINT_KEEP_PRINTED_JOBS = "printKeepPrintedJobs"
          character*13, parameter :: SPLDS_PRINT_LANGUAGE = "printLanguage"
          character*15, parameter :: SPLDS_PRINT_MAC_ADDRESS = "printMACAddress"
          character*15, parameter :: SPLDS_PRINT_MAX_X_EXTENT = "printMaxXExtent"
          character*15, parameter :: SPLDS_PRINT_MAX_Y_EXTENT = "printMaxYExtent"
          character*27, parameter :: SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED = "printMaxResolutionSupported"
          character*15, parameter :: SPLDS_PRINT_MEDIA_READY = "printMediaReady"
          character*19, parameter :: SPLDS_PRINT_MEDIA_SUPPORTED = "printMediaSupported"
          character*11, parameter :: SPLDS_PRINT_MEMORY = "printMemory"
          character*15, parameter :: SPLDS_PRINT_MIN_X_EXTENT = "printMinXExtent"
          character*15, parameter :: SPLDS_PRINT_MIN_Y_EXTENT = "printMinYExtent"
          character*19, parameter :: SPLDS_PRINT_NETWORK_ADDRESS = "printNetworkAddress"
          character*11, parameter :: SPLDS_PRINT_NOTIFY = "printNotify"
          character*13, parameter :: SPLDS_PRINT_NUMBER_UP = "printNumberUp"
          character*26, parameter :: SPLDS_PRINT_ORIENTATIONS_SUPPORTED = "printOrientationsSupported"
          character*10, parameter :: SPLDS_PRINT_OWNER = "printOwner"
          character*19, parameter :: SPLDS_PRINT_PAGES_PER_MINUTE = "printPagesPerMinute"
          character*9, parameter :: SPLDS_PRINT_RATE = "printRate"
          character*13, parameter :: SPLDS_PRINT_RATE_UNIT = "printRateUnit"
          character*18, parameter :: SPLDS_PRINT_SEPARATOR_FILE = "printSeparatorFile"
          character*14, parameter :: SPLDS_PRINT_SHARE_NAME = "printShareName"
          character*13, parameter :: SPLDS_PRINT_SPOOLING = "printSpooling"
          character*22, parameter :: SPLDS_PRINT_STAPLING_SUPPORTED = "printStaplingSupported"
          character*14, parameter :: SPLDS_PRINT_START_TIME = "printStartTime"
          character*11, parameter :: SPLDS_PRINT_STATUS = "printStatus"
          character*8, parameter :: SPLDS_PRIORITY = "priority"
          character*10, parameter :: SPLDS_SERVER_NAME = "serverName"
          character*15, parameter :: SPLDS_SHORT_SERVER_NAME = "shortServerName"
          character*7, parameter :: SPLDS_UNC_NAME = "uNCName"
          character*3, parameter :: SPLDS_URL = "url"
          character*5, parameter :: SPLDS_FLAGS = "flags"
          character*13, parameter :: SPLDS_VERSION_NUMBER = "versionNumber"
          character*18, parameter :: SPLDS_PRINTER_NAME_ALIASES = "printerNameAliases"
          character*16, parameter :: SPLDS_PRINTER_LOCATIONS = "printerLocations"
          character*12, parameter :: SPLDS_PRINTER_MODEL = "printerModel"
          integer, parameter :: CLSCTX_INPROC = (CLSCTX_INPROC_SERVER.OR.CLSCTX_INPROC_HANDLER)
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: CLSCTX_ALL = (CLSCTX_INPROC_SERVER.OR.  CLSCTX_INPROC_HANDLER.OR.  CLSCTX_LOCAL_SERVER )
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: CLSCTX_ALL = (CLSCTX_INPROC_SERVER.OR.  CLSCTX_INPROC_HANDLER.OR.  CLSCTX_LOCAL_SERVER.OR.  CLSCTX_REMOTE_SERVER)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: CLSCTX_SERVER = (CLSCTX_INPROC_SERVER.OR.CLSCTX_LOCAL_SERVER)
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
          integer, parameter :: CLSCTX_SERVER = (CLSCTX_INPROC_SERVER.OR.CLSCTX_LOCAL_SERVER.OR.CLSCTX_REMOTE_SERVER)
    !DEC$ ENDIF
          integer, parameter ::   REGCLS_SINGLEUSE = 0
          integer, parameter ::    REGCLS_MULTIPLEUSE = 1
          integer, parameter ::    REGCLS_MULTI_SEPARATE = 2
          integer, parameter ::    REGCLS_SUSPENDED = 4
          integer, parameter ::    REGCLS_SURROGATE = 8  
          integer, parameter :: MARSHALINTERFACE_MIN = 500
          integer, parameter :: CWCSTORAGENAME = 32
          integer, parameter :: STGM_DIRECT = #00000000
          integer, parameter :: STGM_TRANSACTED = #00010000
          integer, parameter :: STGM_SIMPLE = #08000000
          integer, parameter :: STGM_READ = #00000000
          integer, parameter :: STGM_WRITE = #00000001
          integer, parameter :: STGM_READWRITE = #00000002
          integer, parameter :: STGM_SHARE_DENY_NONE = #00000040
          integer, parameter :: STGM_SHARE_DENY_READ = #00000030
          integer, parameter :: STGM_SHARE_DENY_WRITE = #00000020
          integer, parameter :: STGM_SHARE_EXCLUSIVE = #00000010
          integer, parameter :: STGM_PRIORITY = #00040000
          integer, parameter :: STGM_DELETEONRELEASE = #04000000
          integer, parameter :: STGM_NOSCRATCH = #00100000
          integer, parameter :: STGM_CREATE = #00001000
          integer, parameter :: STGM_CONVERT = #00020000
          integer, parameter :: STGM_FAILIFTHERE = #00000000
          integer, parameter :: STGM_NOSNAPSHOT = #00200000
          integer, parameter :: ASYNC_MODE_COMPATIBILITY = #00000001
          integer, parameter :: ASYNC_MODE_DEFAULT = #00000000
          integer, parameter :: STGTY_REPEAT = #00000100
          integer, parameter :: STG_TOEND = #FFFFFFFF
          integer, parameter :: STG_LAYOUT_SEQUENTIAL = #00000000
          integer, parameter :: STG_LAYOUT_INTERLEAVED = #00000001
          integer, parameter :: STGFMT_STORAGE = 0
          integer, parameter :: STGFMT_NATIVE = 1
          integer, parameter :: STGFMT_FILE = 3
          integer, parameter :: STGFMT_ANY = 4
          integer, parameter :: STGFMT_DOCFILE = 5
          integer, parameter :: STGFMT_DOCUMENT = 0
          integer, parameter ::  EXTCONN_STRONG = #1
          integer, parameter ::   EXTCONN_WEAK = #2
          integer, parameter ::   EXTCONN_CALLABLE = #4  
          integer, parameter ::  BIND_MAYBOTHERUSER = 1
          integer, parameter ::   BIND_JUSTTESTEXISTENCE = 2  
          integer, parameter ::  MKSYS_NONE = 0
          integer, parameter ::   MKSYS_GENERICCOMPOSITE = 1
          integer, parameter ::   MKSYS_FILEMONIKER = 2
          integer, parameter ::   MKSYS_ANTIMONIKER = 3
          integer, parameter ::   MKSYS_ITEMMONIKER = 4
          integer, parameter ::   MKSYS_POINTERMONIKER = 5
          integer, parameter ::   MKSYS_CLASSMONIKER = 7
          integer, parameter ::   MKSYS_OBJREFMONIKER = 8
          integer, parameter ::   MKSYS_SESSIONMONIKER = 9  
          integer, parameter ::  MKRREDUCE_ONE = 3 * 2** 16
          integer, parameter ::   MKRREDUCE_TOUSER = 2 * 2** 16
          integer, parameter ::   MKRREDUCE_THROUGHUSER = 1 * 2** 16
          integer, parameter ::   MKRREDUCE_ALL = 0  
          integer, parameter ::  STGTY_STORAGE = 1
          integer, parameter ::   STGTY_STREAM = 2
          integer, parameter ::   STGTY_LOCKBYTES = 3
          integer, parameter ::   STGTY_PROPERTY = 4  
          integer, parameter ::  STREAM_SEEK_SET = 0
          integer, parameter ::   STREAM_SEEK_CUR = 1
          integer, parameter ::   STREAM_SEEK_END = 2  
          integer, parameter ::  LOCK_WRITE = 1
          integer, parameter ::   LOCK_EXCLUSIVE = 2
          integer, parameter ::   LOCK_ONLYONCE = 4  
          integer, parameter ::  ADVF_NODATA = 1
          integer, parameter ::   ADVF_PRIMEFIRST = 2
          integer, parameter ::   ADVF_ONLYONCE = 4
          integer, parameter ::   ADVF_DATAONSTOP = 64
          integer, parameter ::   ADVFCACHE_NOHANDLER = 8
          integer, parameter ::   ADVFCACHE_FORCEBUILTIN = 16
          integer, parameter ::   ADVFCACHE_ONSAVE = 32  
          integer, parameter ::  TYMED_HGLOBAL = 1
          integer, parameter ::   TYMED_FILE = 2
          integer, parameter ::   TYMED_ISTREAM = 4
          integer, parameter ::   TYMED_ISTORAGE = 8
          integer, parameter ::   TYMED_GDI = 16
          integer, parameter ::   TYMED_MFPICT = 32
          integer, parameter ::   TYMED_ENHMF = 64
          integer, parameter ::   TYMED_NULL = 0  
          integer, parameter ::  DATADIR_GET = 1
          integer, parameter ::   DATADIR_SET = 2  
          integer, parameter ::  CALLTYPE_TOPLEVEL = 1
          integer, parameter ::   CALLTYPE_NESTED = 2
          integer, parameter ::   CALLTYPE_ASYNC = 3
          integer, parameter ::   CALLTYPE_TOPLEVEL_CALLPENDING = 4
          integer, parameter ::   CALLTYPE_ASYNC_CALLPENDING = 5  
          integer, parameter ::  SERVERCALL_ISHANDLED = 0
          integer, parameter ::   SERVERCALL_REJECTED = 1
          integer, parameter ::   SERVERCALL_RETRYLATER = 2  
          integer, parameter ::  PENDINGTYPE_TOPLEVEL = 1
          integer, parameter ::   PENDINGTYPE_NESTED = 2  
          integer, parameter ::  PENDINGMSG_CANCELCALL = 0
          integer, parameter ::   PENDINGMSG_WAITNOPROCESS = 1
          integer, parameter ::   PENDINGMSG_WAITDEFPROCESS = 2  
          integer, parameter ::  EOAC_NONE = 0
          integer, parameter ::   EOAC_MUTUAL_AUTH = #1
          integer, parameter ::   EOAC_STATIC_CLOAKING = #20
          integer, parameter ::   EOAC_DYNAMIC_CLOAKING = #40
          integer, parameter ::   EOAC_ANY_AUTHORITY = #80
          integer, parameter ::   EOAC_MAKE_FULLSIC = #100
          integer, parameter ::   EOAC_DEFAULT = #800
          integer, parameter ::   EOAC_SECURE_REFS = #2
          integer, parameter ::   EOAC_ACCESS_CONTROL = #4
          integer, parameter ::   EOAC_APPID = #8
          integer, parameter ::   EOAC_DYNAMIC = #10
          integer, parameter ::   EOAC_REQUIRE_FULLSIC = #200
          integer, parameter ::   EOAC_AUTO_IMPERSONATE = #400
          integer, parameter ::   EOAC_NO_CUSTOM_MARSHAL = #2000
          integer, parameter ::   EOAC_DISABLE_AAA = #1000  
     !     integer, parameter :: COLE_DEFAULT_PRINCIPAL = ( ( OLECHAR  * )-1 )
     !     integer, parameter :: COLE_DEFAULT_AUTHINFO = ( ( void  * )-1 )
          integer, parameter ::  COMBND_RPCTIMEOUT = #1  
          integer, parameter ::  DCOM_NONE = 0
          integer, parameter ::   DCOM_CALL_COMPLETE = #1
          integer, parameter ::   DCOM_CALL_CANCELED = #2  
          integer, parameter ::   COINIT_APARTMENTTHREADED = #2
    !DEC$ IF DEFINED( _M_IA64)
    ! 86723 FORTRAN ENUM integer, parameter ::    = 1
    !DEC$ ENDIF
          integer, parameter ::    COINIT_MULTITHREADED = #0
          integer, parameter ::    COINIT_DISABLE_OLE1DDE = #4
          integer, parameter ::    COINIT_SPEED_OVER_MEMORY = #8
    ! 85851 FORTRAN ENUM integer, parameter ::    = 1
          integer, parameter ::   SMEXF_SERVER = #01
          integer, parameter ::    SMEXF_HANDLER = #02  
          integer, parameter :: COM_RIGHTS_EXECUTE = 1
          integer, parameter :: COM_RIGHTS_SAFE_FOR_SCRIPTING = 2
          integer, parameter ::   COWAIT_WAITALL = 1
          integer, parameter ::   COWAIT_ALERTABLE = 2 
          integer, parameter :: STGOPTIONS_VERSION = 1
          integer, parameter ::  NODE_INVALID = 0
          integer, parameter ::   NODE_ELEMENT = NODE_INVALID + 1
          integer, parameter ::   NODE_ATTRIBUTE = NODE_ELEMENT + 1
          integer, parameter ::   NODE_TEXT = NODE_ATTRIBUTE + 1
          integer, parameter ::   NODE_CDATA_SECTION = NODE_TEXT + 1
          integer, parameter ::   NODE_ENTITY_REFERENCE = NODE_CDATA_SECTION + 1
          integer, parameter ::   NODE_ENTITY = NODE_ENTITY_REFERENCE + 1
          integer, parameter ::   NODE_PROCESSING_INSTRUCTION = NODE_ENTITY + 1
          integer, parameter ::   NODE_COMMENT = NODE_PROCESSING_INSTRUCTION + 1
          integer, parameter ::   NODE_DOCUMENT = NODE_COMMENT + 1
          integer, parameter ::   NODE_DOCUMENT_TYPE = NODE_DOCUMENT + 1
          integer, parameter ::   NODE_DOCUMENT_FRAGMENT = NODE_DOCUMENT_TYPE + 1
          integer, parameter ::   NODE_NOTATION = NODE_DOCUMENT_FRAGMENT + 1  
          integer, parameter ::  XMLELEMTYPE_ELEMENT = 0
          integer, parameter ::   XMLELEMTYPE_TEXT = XMLELEMTYPE_ELEMENT + 1
          integer, parameter ::   XMLELEMTYPE_COMMENT = XMLELEMTYPE_TEXT + 1
          integer, parameter ::   XMLELEMTYPE_DOCUMENT = XMLELEMTYPE_COMMENT + 1
          integer, parameter ::   XMLELEMTYPE_DTD = XMLELEMTYPE_DOCUMENT + 1
          integer, parameter ::   XMLELEMTYPE_PI = XMLELEMTYPE_DTD + 1
          integer, parameter ::   XMLELEMTYPE_OTHER = XMLELEMTYPE_PI + 1  
    ! 97466 FORTRAN character*11, parameter :: SZ_URLCONTEXT = L"URL Context"
    ! 97467 FORTRAN character*11, parameter :: SZ_ASYNC_CALLEE = L"AsyncCallee"
          integer, parameter :: MKSYS_URLMONIKER = 6
          integer, parameter :: FIEF_FLAG_FORCE_JITUI = #1
          integer, parameter :: FIEF_FLAG_PEEK = #2
          integer, parameter :: FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK = #4
          integer, parameter :: FMFD_DEFAULT = #00000000
          integer, parameter :: FMFD_URLASFILENAME = #00000001
          integer, parameter :: URLMON_OPTION_USERAGENT = #10000001
          integer, parameter :: URLMON_OPTION_USERAGENT_REFRESH = #10000002
          integer, parameter :: URLMON_OPTION_URL_ENCODING = #10000004
          integer, parameter :: CF_NULL = 0
          character*10, parameter :: CFSTR_MIME_TEXT = ("text/plain")
          character*13, parameter :: CFSTR_MIME_RICHTEXT = ("text/richtext")
          character*15, parameter :: CFSTR_MIME_X_BITMAP = ("image/x-xbitmap")
          character*22, parameter :: CFSTR_MIME_POSTSCRIPT = ("application/postscript")
          character*10, parameter :: CFSTR_MIME_AIFF = ("audio/aiff")
          character*11, parameter :: CFSTR_MIME_BASICAUDIO = ("audio/basic")
          character*9, parameter :: CFSTR_MIME_WAV = ("audio/wav")
          character*11, parameter :: CFSTR_MIME_X_WAV = ("audio/x-wav")
          character*9, parameter :: CFSTR_MIME_GIF = ("image/gif")
          character*11, parameter :: CFSTR_MIME_PJPEG = ("image/pjpeg")
          character*10, parameter :: CFSTR_MIME_JPEG = ("image/jpeg")
          character*10, parameter :: CFSTR_MIME_TIFF = ("image/tiff")
          character*11, parameter :: CFSTR_MIME_X_PNG = ("image/x-png")
          character*9, parameter :: CFSTR_MIME_BMP = ("image/bmp")
          character*10, parameter :: CFSTR_MIME_X_ART = ("image/x-jg")
          character*11, parameter :: CFSTR_MIME_X_EMF = ("image/x-emf")
          character*11, parameter :: CFSTR_MIME_X_WMF = ("image/x-wmf")
          character*9, parameter :: CFSTR_MIME_AVI = ("video/avi")
          character*10, parameter :: CFSTR_MIME_MPEG = ("video/mpeg")
          character*20, parameter :: CFSTR_MIME_FRACTALS = ("application/fractals")
          character*24, parameter :: CFSTR_MIME_RAWDATA = ("application/octet-stream")
          character*24, parameter :: CFSTR_MIME_RAWDATASTRM = ("application/octet-stream")
          character*15, parameter :: CFSTR_MIME_PDF = ("application/pdf")
          character*12, parameter :: CFSTR_MIME_X_AIFF = ("audio/x-aiff")
          character*20, parameter :: CFSTR_MIME_X_REALAUDIO = ("audio/x-pn-realaudio")
          character*9, parameter :: CFSTR_MIME_XBM = ("image/xbm")
          character*15, parameter :: CFSTR_MIME_QUICKTIME = ("video/quicktime")
          character*15, parameter :: CFSTR_MIME_X_MSVIDEO = ("video/x-msvideo")
          character*17, parameter :: CFSTR_MIME_X_SGI_MOVIE = ("video/x-sgi-movie")
          character*9, parameter :: CFSTR_MIME_HTML = ("text/html")
          integer, parameter :: MK_S_ASYNCHRONOUS = ( #000401E8)
          integer, parameter :: INET_E_INVALID_URL = ( #800C0002)
          integer, parameter :: INET_E_NO_SESSION = ( #800C0003)
          integer, parameter :: INET_E_CANNOT_CONNECT = ( #800C0004)
          integer, parameter :: INET_E_RESOURCE_NOT_FOUND = ( #800C0005)
          integer, parameter :: INET_E_OBJECT_NOT_FOUND = ( #800C0006)
          integer, parameter :: INET_E_DATA_NOT_AVAILABLE = ( #800C0007)
          integer, parameter :: INET_E_DOWNLOAD_FAILURE = ( #800C0008)
          integer, parameter :: INET_E_AUTHENTICATION_REQUIRED = ( #800C0009)
          integer, parameter :: INET_E_NO_VALID_MEDIA = ( #800C000A)
          integer, parameter :: INET_E_CONNECTION_TIMEOUT = ( #800C000B)
          integer, parameter :: INET_E_INVALID_REQUEST = ( #800C000C)
          integer, parameter :: INET_E_UNKNOWN_PROTOCOL = ( #800C000D)
          integer, parameter :: INET_E_SECURITY_PROBLEM = ( #800C000E)
          integer, parameter :: INET_E_CANNOT_LOAD_DATA = ( #800C000F)
          integer, parameter :: INET_E_CANNOT_INSTANTIATE_OBJECT = ( #800C0010)
          integer, parameter :: INET_E_REDIRECT_FAILED = ( #800C0014)
          integer, parameter :: INET_E_REDIRECT_TO_DIR = ( #800C0015)
          integer, parameter :: INET_E_CANNOT_LOCK_REQUEST = ( #800C0016)
          integer, parameter :: INET_E_USE_EXTEND_BINDING = ( #800C0017)
          integer, parameter :: INET_E_ERROR_FIRST = ( #800C0002)
          integer, parameter :: INET_E_CODE_DOWNLOAD_DECLINED = ( #800C0100)
          integer, parameter :: INET_E_RESULT_DISPATCHED = ( #800C0200)
          integer, parameter :: INET_E_CANNOT_REPLACE_SFP_FILE = ( #800C0300)
          integer, parameter ::  BINDVERB_GET = 0
          integer, parameter ::   BINDVERB_POST = #1
          integer, parameter ::   BINDVERB_PUT = #2
          integer, parameter ::   BINDVERB_CUSTOM = #3  
          integer, parameter ::  BINDINFOF_URLENCODESTGMEDDATA = #1
          integer, parameter ::   BINDINFOF_URLENCODEDEXTRAINFO = #2  
          integer, parameter ::  BINDF_ASYNCHRONOUS = #1
          integer, parameter ::   BINDF_ASYNCSTORAGE = #2
          integer, parameter ::   BINDF_NOPROGRESSIVERENDERING = #4
          integer, parameter ::   BINDF_OFFLINEOPERATION = #8
          integer, parameter ::   BINDF_GETNEWESTVERSION = #10
          integer, parameter ::   BINDF_NOWRITECACHE = #20
          integer, parameter ::   BINDF_NEEDFILE = #40
          integer, parameter ::   BINDF_PULLDATA = #80
          integer, parameter ::   BINDF_IGNORESECURITYPROBLEM = #100
          integer, parameter ::   BINDF_RESYNCHRONIZE = #200
          integer, parameter ::   BINDF_HYPERLINK = #400
          integer, parameter ::   BINDF_NO_UI = #800
          integer, parameter ::   BINDF_SILENTOPERATION = #1000
          integer, parameter ::   BINDF_PRAGMA_NO_CACHE = #2000
          integer, parameter ::   BINDF_GETCLASSOBJECT = #4000
          integer, parameter ::   BINDF_RESERVED_1 = #8000
          integer, parameter ::   BINDF_FREE_THREADED = #10000
          integer, parameter ::   BINDF_DIRECT_READ = #20000
          integer, parameter ::   BINDF_FORMS_SUBMIT = #40000
          integer, parameter ::   BINDF_GETFROMCACHE_IF_NET_FAIL = #80000
          integer, parameter ::   BINDF_FROMURLMON = #100000
          integer, parameter ::   BINDF_FWD_BACK = #200000
          integer, parameter ::   BINDF_RESERVED_2 = #400000
          integer, parameter ::   BINDF_RESERVED_3 = #800000  
          integer, parameter ::  URL_ENCODING_NONE = 0
          integer, parameter ::   URL_ENCODING_ENABLE_UTF8 = #10000000
          integer, parameter ::   URL_ENCODING_DISABLE_UTF8 = #20000000  
          integer, parameter ::  BINDINFO_OPTIONS_WININETFLAG = #10000
          integer, parameter ::   BINDINFO_OPTIONS_ENABLE_UTF8 = #20000
          integer, parameter ::   BINDINFO_OPTIONS_DISABLE_UTF8 = #40000
          integer, parameter ::   BINDINFO_OPTIONS_USE_IE_ENCODING = #80000
          integer, parameter ::   BINDINFO_OPTIONS_BINDTOOBJECT = #100000  
          integer, parameter ::  BSCF_FIRSTDATANOTIFICATION = #1
          integer, parameter ::   BSCF_INTERMEDIATEDATANOTIFICATION = #2
          integer, parameter ::   BSCF_LASTDATANOTIFICATION = #4
          integer, parameter ::   BSCF_DATAFULLYAVAILABLE = #8
          integer, parameter ::   BSCF_AVAILABLEDATASIZEUNKNOWN = #10  
          integer, parameter ::  BINDSTATUS_FINDINGRESOURCE = 1
          integer, parameter ::   BINDSTATUS_CONNECTING = BINDSTATUS_FINDINGRESOURCE + 1
          integer, parameter ::   BINDSTATUS_REDIRECTING = BINDSTATUS_CONNECTING + 1
          integer, parameter ::   BINDSTATUS_BEGINDOWNLOADDATA = BINDSTATUS_REDIRECTING + 1
          integer, parameter ::   BINDSTATUS_DOWNLOADINGDATA = BINDSTATUS_BEGINDOWNLOADDATA + 1
          integer, parameter ::   BINDSTATUS_ENDDOWNLOADDATA = BINDSTATUS_DOWNLOADINGDATA + 1
          integer, parameter ::   BINDSTATUS_BEGINDOWNLOADCOMPONENTS = BINDSTATUS_ENDDOWNLOADDATA + 1
          integer, parameter ::   BINDSTATUS_INSTALLINGCOMPONENTS = BINDSTATUS_BEGINDOWNLOADCOMPONENTS + 1
          integer, parameter ::   BINDSTATUS_ENDDOWNLOADCOMPONENTS = BINDSTATUS_INSTALLINGCOMPONENTS + 1
          integer, parameter ::   BINDSTATUS_USINGCACHEDCOPY = BINDSTATUS_ENDDOWNLOADCOMPONENTS + 1
          integer, parameter ::   BINDSTATUS_SENDINGREQUEST = BINDSTATUS_USINGCACHEDCOPY + 1
          integer, parameter ::   BINDSTATUS_CLASSIDAVAILABLE = BINDSTATUS_SENDINGREQUEST + 1
          integer, parameter ::   BINDSTATUS_MIMETYPEAVAILABLE = BINDSTATUS_CLASSIDAVAILABLE + 1
          integer, parameter ::   BINDSTATUS_CACHEFILENAMEAVAILABLE = BINDSTATUS_MIMETYPEAVAILABLE + 1
          integer, parameter ::   BINDSTATUS_BEGINSYNCOPERATION = BINDSTATUS_CACHEFILENAMEAVAILABLE + 1
          integer, parameter ::   BINDSTATUS_ENDSYNCOPERATION = BINDSTATUS_BEGINSYNCOPERATION + 1
          integer, parameter ::   BINDSTATUS_BEGINUPLOADDATA = BINDSTATUS_ENDSYNCOPERATION + 1
          integer, parameter ::   BINDSTATUS_UPLOADINGDATA = BINDSTATUS_BEGINUPLOADDATA + 1
          integer, parameter ::   BINDSTATUS_ENDUPLOADDATA = BINDSTATUS_UPLOADINGDATA + 1
          integer, parameter ::   BINDSTATUS_PROTOCOLCLASSID = BINDSTATUS_ENDUPLOADDATA + 1
          integer, parameter ::   BINDSTATUS_ENCODING = BINDSTATUS_PROTOCOLCLASSID + 1
          integer, parameter ::   BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = BINDSTATUS_ENCODING + 1
          integer, parameter ::   BINDSTATUS_CLASSINSTALLLOCATION = BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE + 1
          integer, parameter ::   BINDSTATUS_DECODING = BINDSTATUS_CLASSINSTALLLOCATION + 1
          integer, parameter ::   BINDSTATUS_LOADINGMIMEHANDLER = BINDSTATUS_DECODING + 1
          integer, parameter ::   BINDSTATUS_CONTENTDISPOSITIONATTACH = BINDSTATUS_LOADINGMIMEHANDLER + 1
          integer, parameter ::   BINDSTATUS_FILTERREPORTMIMETYPE = BINDSTATUS_CONTENTDISPOSITIONATTACH + 1
          integer, parameter ::   BINDSTATUS_CLSIDCANINSTANTIATE = BINDSTATUS_FILTERREPORTMIMETYPE + 1
          integer, parameter ::   BINDSTATUS_IUNKNOWNAVAILABLE = BINDSTATUS_CLSIDCANINSTANTIATE + 1
          integer, parameter ::   BINDSTATUS_DIRECTBIND = BINDSTATUS_IUNKNOWNAVAILABLE + 1
          integer, parameter ::   BINDSTATUS_RAWMIMETYPE = BINDSTATUS_DIRECTBIND + 1
          integer, parameter ::   BINDSTATUS_PROXYDETECTING = BINDSTATUS_RAWMIMETYPE + 1
          integer, parameter ::   BINDSTATUS_ACCEPTRANGES = BINDSTATUS_PROXYDETECTING + 1  
          integer, parameter ::  CIP_DISK_FULL = 0
          integer, parameter ::   CIP_ACCESS_DENIED = CIP_DISK_FULL + 1
          integer, parameter ::   CIP_NEWER_VERSION_EXISTS = CIP_ACCESS_DENIED + 1
          integer, parameter ::   CIP_OLDER_VERSION_EXISTS = CIP_NEWER_VERSION_EXISTS + 1
          integer, parameter ::   CIP_NAME_CONFLICT = CIP_OLDER_VERSION_EXISTS + 1
          integer, parameter ::   CIP_TRUST_VERIFICATION_COMPONENT_MISSING = CIP_NAME_CONFLICT + 1
          integer, parameter ::   CIP_EXE_SELF_REGISTERATION_TIMEOUT = CIP_TRUST_VERIFICATION_COMPONENT_MISSING + 1
          integer, parameter ::   CIP_UNSAFE_TO_ABORT = CIP_EXE_SELF_REGISTERATION_TIMEOUT + 1
          integer, parameter ::   CIP_NEED_REBOOT = CIP_UNSAFE_TO_ABORT + 1  
          integer, parameter :: WININETINFO_OPTION_LOCK_HANDLE = 65534
          integer, parameter :: URLOSTRM_USECACHEDCOPY_ONLY = #1
          integer, parameter :: URLOSTRM_USECACHEDCOPY = #2
          integer, parameter :: URLOSTRM_GETNEWESTVERSION = #3
          integer, parameter ::  BINDSTRING_HEADERS = 1
          integer, parameter ::   BINDSTRING_ACCEPT_MIMES = BINDSTRING_HEADERS + 1
          integer, parameter ::   BINDSTRING_EXTRA_URL = BINDSTRING_ACCEPT_MIMES + 1
          integer, parameter ::   BINDSTRING_LANGUAGE = BINDSTRING_EXTRA_URL + 1
          integer, parameter ::   BINDSTRING_USERNAME = BINDSTRING_LANGUAGE + 1
          integer, parameter ::   BINDSTRING_PASSWORD = BINDSTRING_USERNAME + 1
          integer, parameter ::   BINDSTRING_UA_PIXELS = BINDSTRING_PASSWORD + 1
          integer, parameter ::   BINDSTRING_UA_COLOR = BINDSTRING_UA_PIXELS + 1
          integer, parameter ::   BINDSTRING_OS = BINDSTRING_UA_COLOR + 1
          integer, parameter ::   BINDSTRING_USER_AGENT = BINDSTRING_OS + 1
          integer, parameter ::   BINDSTRING_ACCEPT_ENCODINGS = BINDSTRING_USER_AGENT + 1
          integer, parameter ::   BINDSTRING_POST_COOKIE = BINDSTRING_ACCEPT_ENCODINGS + 1
          integer, parameter ::   BINDSTRING_POST_DATA_MIME = BINDSTRING_POST_COOKIE + 1
          integer, parameter ::   BINDSTRING_URL = BINDSTRING_POST_DATA_MIME + 1
          integer, parameter ::   BINDSTRING_IID = BINDSTRING_URL + 1
          integer, parameter ::   BINDSTRING_FLAG_BIND_TO_OBJECT = BINDSTRING_IID + 1
          integer, parameter ::   BINDSTRING_PTR_BIND_CONTEXT = BINDSTRING_FLAG_BIND_TO_OBJECT + 1  
          integer, parameter ::  PI_PARSE_URL = #1
          integer, parameter ::   PI_FILTER_MODE = #2
          integer, parameter ::   PI_FORCE_ASYNC = #4
          integer, parameter ::   PI_USE_WORKERTHREAD = #8
          integer, parameter ::   PI_MIMEVERIFICATION = #10
          integer, parameter ::   PI_CLSIDLOOKUP = #20
          integer, parameter ::   PI_DATAPROGRESS = #40
          integer, parameter ::   PI_SYNCHRONOUS = #80
          integer, parameter ::   PI_APARTMENTTHREADED = #100
          integer, parameter ::   PI_CLASSINSTALL = #200
          integer, parameter ::   PI_PASSONBINDCTX = #2000
          integer, parameter ::   PI_NOMIMEHANDLER = #8000
          integer, parameter ::   PI_LOADAPPDIRECT = #4000
          integer, parameter ::   PD_FORCE_SWITCH = #10000  
          integer, parameter ::  OIBDG_APARTMENTTHREADED = #100
          integer, parameter ::   OIBDG_DATAONLY = #1000  
          integer, parameter ::  PARSE_CANONICALIZE = 1
          integer, parameter ::   PARSE_FRIENDLY = PARSE_CANONICALIZE + 1
          integer, parameter ::   PARSE_SECURITY_URL = PARSE_FRIENDLY + 1
          integer, parameter ::   PARSE_ROOTDOCUMENT = PARSE_SECURITY_URL + 1
          integer, parameter ::   PARSE_DOCUMENT = PARSE_ROOTDOCUMENT + 1
          integer, parameter ::   PARSE_ANCHOR = PARSE_DOCUMENT + 1
          integer, parameter ::   PARSE_ENCODE = PARSE_ANCHOR + 1
          integer, parameter ::   PARSE_DECODE = PARSE_ENCODE + 1
          integer, parameter ::   PARSE_PATH_FROM_URL = PARSE_DECODE + 1
          integer, parameter ::   PARSE_URL_FROM_PATH = PARSE_PATH_FROM_URL + 1
          integer, parameter ::   PARSE_MIME = PARSE_URL_FROM_PATH + 1
          integer, parameter ::   PARSE_SERVER = PARSE_MIME + 1
          integer, parameter ::   PARSE_SCHEMA = PARSE_SERVER + 1
          integer, parameter ::   PARSE_SITE = PARSE_SCHEMA + 1
          integer, parameter ::   PARSE_DOMAIN = PARSE_SITE + 1
          integer, parameter ::   PARSE_LOCATION = PARSE_DOMAIN + 1
          integer, parameter ::   PARSE_SECURITY_DOMAIN = PARSE_LOCATION + 1
          integer, parameter ::   PARSE_ESCAPE = PARSE_SECURITY_DOMAIN + 1
          integer, parameter ::   PARSE_UNESCAPE = PARSE_ESCAPE + 1  
          integer, parameter ::  PSU_DEFAULT = 1
          integer, parameter ::   PSU_SECURITY_URL_ONLY = PSU_DEFAULT + 1  
          integer, parameter ::  QUERY_EXPIRATION_DATE = 1
          integer, parameter ::   QUERY_TIME_OF_LAST_CHANGE = QUERY_EXPIRATION_DATE + 1
          integer, parameter ::   QUERY_CONTENT_ENCODING = QUERY_TIME_OF_LAST_CHANGE + 1
          integer, parameter ::   QUERY_CONTENT_TYPE = QUERY_CONTENT_ENCODING + 1
          integer, parameter ::   QUERY_REFRESH = QUERY_CONTENT_TYPE + 1
          integer, parameter ::   QUERY_RECOMBINE = QUERY_REFRESH + 1
          integer, parameter ::   QUERY_CAN_NAVIGATE = QUERY_RECOMBINE + 1
          integer, parameter ::   QUERY_USES_NETWORK = QUERY_CAN_NAVIGATE + 1
          integer, parameter ::   QUERY_IS_CACHED = QUERY_USES_NETWORK + 1
          integer, parameter ::   QUERY_IS_INSTALLEDENTRY = QUERY_IS_CACHED + 1
          integer, parameter ::   QUERY_IS_CACHED_OR_MAPPED = QUERY_IS_INSTALLEDENTRY + 1
          integer, parameter ::   QUERY_USES_CACHE = QUERY_IS_CACHED_OR_MAPPED + 1
          integer, parameter ::   QUERY_IS_SECURE = QUERY_USES_CACHE + 1
          integer, parameter ::   QUERY_IS_SAFE = QUERY_IS_SECURE + 1  
          integer, parameter :: INET_E_USE_DEFAULT_PROTOCOLHANDLER = ( #800C0011)
          integer, parameter :: INET_E_USE_DEFAULT_SETTING = ( #800C0012)
          integer, parameter :: INET_E_QUERYOPTION_UNKNOWN = ( #800C0013)
          integer, parameter :: INET_E_REDIRECTING = ( #800C0014)
          integer, parameter :: PROTOCOLFLAG_NO_PICS_CHECK = #00000001
          integer, parameter :: MUTZ_NOSAVEDFILECHECK = #00000001
          integer, parameter :: MAX_SIZE_SECURITY_ID = 512
          integer, parameter ::  PUAF_DEFAULT = 0
          integer, parameter ::   PUAF_NOUI = #1
          integer, parameter ::   PUAF_ISFILE = #2
          integer, parameter ::   PUAF_WARN_IF_DENIED = #4
          integer, parameter ::   PUAF_FORCEUI_FOREGROUND = #8
          integer, parameter ::   PUAF_CHECK_TIFS = #10
          integer, parameter ::   PUAF_DONTCHECKBOXINDIALOG = #20
          integer, parameter ::   PUAF_TRUSTED = #40
          integer, parameter ::   PUAF_ACCEPT_WILDCARD_SCHEME = #80  
          integer, parameter ::  SZM_CREATE = 0
          integer, parameter ::   SZM_DELETE = #1  
          integer, parameter :: URLACTION_MIN = #00001000
          integer, parameter :: URLACTION_DOWNLOAD_MIN = #00001000
          integer, parameter :: URLACTION_DOWNLOAD_SIGNED_ACTIVEX = #00001001
          integer, parameter :: URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX = #00001004
          integer, parameter :: URLACTION_DOWNLOAD_CURR_MAX = #00001004
          integer, parameter :: URLACTION_DOWNLOAD_MAX = #000011FF
          integer, parameter :: URLACTION_ACTIVEX_MIN = #00001200
          integer, parameter :: URLACTION_ACTIVEX_RUN = #00001200
          integer, parameter :: URLPOLICY_ACTIVEX_CHECK_LIST = #00010000
          integer, parameter :: URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY = #00001201
          integer, parameter :: URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY = #00001202
          integer, parameter :: URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY = #00001203
          integer, parameter :: URLACTION_SCRIPT_OVERRIDE_SAFETY = #00001401
          integer, parameter :: URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY = #00001204
          integer, parameter :: URLACTION_ACTIVEX_TREATASUNTRUSTED = #00001205
          integer, parameter :: URLACTION_ACTIVEX_CURR_MAX = #00001205
          integer, parameter :: URLACTION_ACTIVEX_MAX = #000013ff
          integer, parameter :: URLACTION_SCRIPT_MIN = #00001400
          integer, parameter :: URLACTION_SCRIPT_RUN = #00001400
          integer, parameter :: URLACTION_SCRIPT_JAVA_USE = #00001402
          integer, parameter :: URLACTION_SCRIPT_SAFE_ACTIVEX = #00001405
          integer, parameter :: URLACTION_CROSS_DOMAIN_DATA = #00001406
          integer, parameter :: URLACTION_SCRIPT_PASTE = #00001407
          integer, parameter :: URLACTION_SCRIPT_CURR_MAX = #00001407
          integer, parameter :: URLACTION_SCRIPT_MAX = #000015ff
          integer, parameter :: URLACTION_HTML_MIN = #00001600
          integer, parameter :: URLACTION_HTML_SUBMIT_FORMS = #00001601
          integer, parameter :: URLACTION_HTML_SUBMIT_FORMS_FROM = #00001602
          integer, parameter :: URLACTION_HTML_SUBMIT_FORMS_TO = #00001603
          integer, parameter :: URLACTION_HTML_FONT_DOWNLOAD = #00001604
          integer, parameter :: URLACTION_HTML_JAVA_RUN = #00001605
          integer, parameter :: URLACTION_HTML_USERDATA_SAVE = #00001606
          integer, parameter :: URLACTION_HTML_SUBFRAME_NAVIGATE = #00001607
          integer, parameter :: URLACTION_HTML_CURR_MAX = #00001607
          integer, parameter :: URLACTION_HTML_MAX = #000017ff
          integer, parameter :: URLACTION_SHELL_MIN = #00001800
          integer, parameter :: URLACTION_SHELL_INSTALL_DTITEMS = #00001800
          integer, parameter :: URLACTION_SHELL_MOVE_OR_COPY = #00001802
          integer, parameter :: URLACTION_SHELL_FILE_DOWNLOAD = #00001803
          integer, parameter :: URLACTION_SHELL_VERB = #00001804
          integer, parameter :: URLACTION_SHELL_WEBVIEW_VERB = #00001805
          integer, parameter :: URLACTION_SHELL_CURR_MAX = #00001805
          integer, parameter :: URLACTION_SHELL_MAX = #000019ff
          integer, parameter :: URLACTION_NETWORK_MIN = #00001A00
          integer, parameter :: URLACTION_CREDENTIALS_USE = #00001A00
          integer, parameter :: URLPOLICY_CREDENTIALS_SILENT_LOGON_OK = #00000000
          integer, parameter :: URLPOLICY_CREDENTIALS_MUST_PROMPT_USER = #00010000
          integer, parameter :: URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT = #00020000
          integer, parameter :: URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY = #00030000
          integer, parameter :: URLACTION_AUTHENTICATE_CLIENT = #00001A01
          integer, parameter :: URLPOLICY_AUTHENTICATE_CLEARTEXT_OK = #00000000
          integer, parameter :: URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE = #00010000
          integer, parameter :: URLPOLICY_AUTHENTICATE_MUTUAL_ONLY = #00030000
          integer, parameter :: URLACTION_COOKIES = #00001A02
          integer, parameter :: URLACTION_COOKIES_SESSION = #00001A03
          integer, parameter :: URLACTION_NETWORK_CURR_MAX = #00001A03
          integer, parameter :: URLACTION_NETWORK_MAX = #00001Bff
          integer, parameter :: URLACTION_JAVA_MIN = #00001C00
          integer, parameter :: URLACTION_JAVA_PERMISSIONS = #00001C00
          integer, parameter :: URLPOLICY_JAVA_PROHIBIT = #00000000
          integer, parameter :: URLPOLICY_JAVA_HIGH = #00010000
          integer, parameter :: URLPOLICY_JAVA_MEDIUM = #00020000
          integer, parameter :: URLPOLICY_JAVA_LOW = #00030000
          integer, parameter :: URLPOLICY_JAVA_CUSTOM = #00800000
          integer, parameter :: URLACTION_JAVA_CURR_MAX = #00001C00
          integer, parameter :: URLACTION_JAVA_MAX = #00001Cff
          integer, parameter :: URLACTION_INFODELIVERY_MIN = #00001D00
          integer, parameter :: URLACTION_INFODELIVERY_NO_ADDING_CHANNELS = #00001D00
          integer, parameter :: URLACTION_INFODELIVERY_NO_EDITING_CHANNELS = #00001D01
          integer, parameter :: URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS = #00001D02
          integer, parameter :: URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS = #00001D03
          integer, parameter :: URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS = #00001D04
          integer, parameter :: URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS = #00001D05
          integer, parameter :: URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING = #00001D06
          integer, parameter :: URLACTION_INFODELIVERY_CURR_MAX = #00001D06
          integer, parameter :: URLACTION_INFODELIVERY_MAX = #00001Dff
          integer, parameter :: URLACTION_CHANNEL_SOFTDIST_MIN = #00001E00
          integer, parameter :: URLACTION_CHANNEL_SOFTDIST_PERMISSIONS = #00001E05
          integer, parameter :: URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT = #00010000
          integer, parameter :: URLPOLICY_CHANNEL_SOFTDIST_PRECACHE = #00020000
          integer, parameter :: URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL = #00030000
          integer, parameter :: URLACTION_CHANNEL_SOFTDIST_MAX = #00001Eff
          integer, parameter :: URLPOLICY_ALLOW = #00
          integer, parameter :: URLPOLICY_QUERY = #01
          integer, parameter :: URLPOLICY_DISALLOW = #03
          integer, parameter :: URLPOLICY_NOTIFY_ON_ALLOW = #10
          integer, parameter :: URLPOLICY_NOTIFY_ON_DISALLOW = #20
          integer, parameter :: URLPOLICY_LOG_ON_ALLOW = #40
          integer, parameter :: URLPOLICY_LOG_ON_DISALLOW = #80
          integer, parameter :: URLPOLICY_MASK_PERMISSIONS = #0f
          integer, parameter :: URLPOLICY_DONTCHECKDLGBOX = #100
          integer, parameter ::  URLZONE_PREDEFINED_MIN = 0
          integer, parameter ::   URLZONE_LOCAL_MACHINE = 0
          integer, parameter ::   URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1
          integer, parameter ::   URLZONE_TRUSTED = URLZONE_INTRANET + 1
          integer, parameter ::   URLZONE_INTERNET = URLZONE_TRUSTED + 1
          integer, parameter ::   URLZONE_UNTRUSTED = URLZONE_INTERNET + 1
          integer, parameter ::   URLZONE_PREDEFINED_MAX = 999
          integer, parameter ::   URLZONE_USER_MIN = 1000
          integer, parameter ::   URLZONE_USER_MAX = 10000  
          integer, parameter ::  URLTEMPLATE_CUSTOM = 0
          integer, parameter ::   URLTEMPLATE_PREDEFINED_MIN = #10000
          integer, parameter ::   URLTEMPLATE_LOW = #10000
          integer, parameter ::   URLTEMPLATE_MEDLOW = #10500
          integer, parameter ::   URLTEMPLATE_MEDIUM = #11000
          integer, parameter ::   URLTEMPLATE_HIGH = #12000
          integer, parameter ::   URLTEMPLATE_PREDEFINED_MAX = #20000  
          integer, parameter ::  MAX_ZONE_PATH = 260
          integer, parameter ::   MAX_ZONE_DESCRIPTION = 200  
          integer, parameter ::  ZAFLAGS_CUSTOM_EDIT = #1
          integer, parameter ::   ZAFLAGS_ADD_SITES = #2
          integer, parameter ::   ZAFLAGS_REQUIRE_VERIFICATION = #4
          integer, parameter ::   ZAFLAGS_INCLUDE_PROXY_OVERRIDE = #8
          integer, parameter ::   ZAFLAGS_INCLUDE_INTRANET_SITES = #10
          integer, parameter ::   ZAFLAGS_NO_UI = #20
          integer, parameter ::   ZAFLAGS_SUPPORTS_VERIFICATION = #40
          integer, parameter ::   ZAFLAGS_UNC_AS_INTRANET = #80  
          integer, parameter ::  URLZONEREG_DEFAULT = 0
          integer, parameter ::   URLZONEREG_HKLM = URLZONEREG_DEFAULT + 1
          integer, parameter ::   URLZONEREG_HKCU = URLZONEREG_HKLM + 1  
          integer, parameter :: SOFTDIST_FLAG_USAGE_EMAIL = #00000001
          integer, parameter :: SOFTDIST_FLAG_USAGE_PRECACHE = #00000002
          integer, parameter :: SOFTDIST_FLAG_USAGE_AUTOINSTALL = #00000004
          integer, parameter :: SOFTDIST_FLAG_DELETE_SUBSCRIPTION = #00000008
          integer, parameter :: SOFTDIST_ADSTATE_NONE = #00000000
          integer, parameter :: SOFTDIST_ADSTATE_AVAILABLE = #00000001
          integer, parameter :: SOFTDIST_ADSTATE_DOWNLOADED = #00000002
          integer, parameter :: SOFTDIST_ADSTATE_INSTALLED = #00000003
          integer, parameter :: CONFIRMSAFETYACTION_LOADOBJECT = #00000001
          integer, parameter :: PROPSETFLAG_DEFAULT = ( 0 )
          integer, parameter :: PROPSETFLAG_NONSIMPLE = ( 1 )
          integer, parameter :: PROPSETFLAG_ANSI = ( 2 )
          integer, parameter :: PROPSETFLAG_UNBUFFERED = ( 4 )
          integer, parameter :: PROPSETFLAG_CASE_SENSITIVE = ( 8 )
          integer, parameter :: PROPSET_BEHAVIOR_CASE_SENSITIVE = ( 1 )
          integer, parameter :: PID_DICTIONARY = ( 0 )
          integer, parameter :: PID_CODEPAGE = ( #1 )
          integer, parameter :: PID_FIRST_USABLE = ( #2 )
          integer, parameter :: PID_FIRST_NAME_DEFAULT = ( #fff )
          integer, parameter :: PID_LOCALE = ( #80000000 )
          integer, parameter :: PID_MODIFY_TIME = ( #80000001 )
          integer, parameter :: PID_SECURITY = ( #80000002 )
          integer, parameter :: PID_BEHAVIOR = ( #80000003 )
          integer, parameter :: PID_ILLEGAL = ( #ffffffff )
          integer, parameter :: PID_MIN_READONLY = ( #80000000 )
          integer, parameter :: PID_MAX_READONLY = ( #bfffffff )
          integer, parameter :: PIDDI_THUMBNAIL = #00000002
          integer, parameter :: PIDSI_TITLE = #00000002
          integer, parameter :: PIDSI_SUBJECT = #00000003
          integer, parameter :: PIDSI_AUTHOR = #00000004
          integer, parameter :: PIDSI_KEYWORDS = #00000005
          integer, parameter :: PIDSI_COMMENTS = #00000006
          integer, parameter :: PIDSI_TEMPLATE = #00000007
          integer, parameter :: PIDSI_LASTAUTHOR = #00000008
          integer, parameter :: PIDSI_REVNUMBER = #00000009
          integer, parameter :: PIDSI_EDITTIME = #0000000a
          integer, parameter :: PIDSI_LASTPRINTED = #0000000b
          integer, parameter :: PIDSI_CREATE_DTM = #0000000c
          integer, parameter :: PIDSI_LASTSAVE_DTM = #0000000d
          integer, parameter :: PIDSI_PAGECOUNT = #0000000e
          integer, parameter :: PIDSI_WORDCOUNT = #0000000f
          integer, parameter :: PIDSI_CHARCOUNT = #00000010
          integer, parameter :: PIDSI_THUMBNAIL = #00000011
          integer, parameter :: PIDSI_APPNAME = #00000012
          integer, parameter :: PIDSI_DOC_SECURITY = #00000013
          integer, parameter :: PIDDSI_CATEGORY = #00000002
          integer, parameter :: PIDDSI_PRESFORMAT = #00000003
          integer, parameter :: PIDDSI_BYTECOUNT = #00000004
          integer, parameter :: PIDDSI_LINECOUNT = #00000005
          integer, parameter :: PIDDSI_PARCOUNT = #00000006
          integer, parameter :: PIDDSI_SLIDECOUNT = #00000007
          integer, parameter :: PIDDSI_NOTECOUNT = #00000008
          integer, parameter :: PIDDSI_HIDDENCOUNT = #00000009
          integer, parameter :: PIDDSI_MMCLIPCOUNT = #0000000A
          integer, parameter :: PIDDSI_SCALE = #0000000B
          integer, parameter :: PIDDSI_HEADINGPAIR = #0000000C
          integer, parameter :: PIDDSI_DOCPARTS = #0000000D
          integer, parameter :: PIDDSI_MANAGER = #0000000E
          integer, parameter :: PIDDSI_COMPANY = #0000000F
          integer, parameter :: PIDDSI_LINKSDIRTY = #00000010
          integer, parameter :: PIDMSI_EDITOR = #00000002
          integer, parameter :: PIDMSI_SUPPLIER = #00000003
          integer, parameter :: PIDMSI_SOURCE = #00000004
          integer, parameter :: PIDMSI_SEQUENCE_NO = #00000005
          integer, parameter :: PIDMSI_PROJECT = #00000006
          integer, parameter :: PIDMSI_STATUS = #00000007
          integer, parameter :: PIDMSI_OWNER = #00000008
          integer, parameter :: PIDMSI_RATING = #00000009
          integer, parameter :: PIDMSI_PRODUCTION = #0000000A
          integer, parameter :: PIDMSI_COPYRIGHT = #0000000B
          integer, parameter ::  PIDMSI_STATUS_NORMAL = 0
          integer, parameter ::   PIDMSI_STATUS_NEW = PIDMSI_STATUS_NORMAL + 1
          integer, parameter ::   PIDMSI_STATUS_PRELIM = PIDMSI_STATUS_NEW + 1
          integer, parameter ::   PIDMSI_STATUS_DRAFT = PIDMSI_STATUS_PRELIM + 1
          integer, parameter ::   PIDMSI_STATUS_INPROGRESS = PIDMSI_STATUS_DRAFT + 1
          integer, parameter ::   PIDMSI_STATUS_EDIT = PIDMSI_STATUS_INPROGRESS + 1
          integer, parameter ::   PIDMSI_STATUS_REVIEW = PIDMSI_STATUS_EDIT + 1
          integer, parameter ::   PIDMSI_STATUS_PROOF = PIDMSI_STATUS_REVIEW + 1
          integer, parameter ::   PIDMSI_STATUS_FINAL = PIDMSI_STATUS_PROOF + 1
          integer, parameter ::   PIDMSI_STATUS_OTHER = #7fff  
          integer, parameter :: PRSPEC_INVALID = ( #ffffffff )
          integer, parameter :: PRSPEC_LPWSTR = ( 0 )
          integer, parameter :: PRSPEC_PROPID = ( 1 )
          integer, parameter :: PROPSETHDR_OSVERSION_UNKNOWN = #FFFFFFFF
          integer, parameter :: CCH_MAX_PROPSTG_NAME = 31
          integer, parameter :: STDOLE_MAJORVERNUM = #1
          integer, parameter :: STDOLE_MINORVERNUM = #0
          integer, parameter :: STDOLE_LCID = #0000
          integer, parameter :: STDOLE2_MAJORVERNUM = #2
          integer, parameter :: STDOLE2_MINORVERNUM = #0
          integer, parameter :: STDOLE2_LCID = #0000
          integer, parameter ::  SF_ERROR = VT_ERROR
          integer, parameter ::   SF_I1 = VT_I1
          integer, parameter ::   SF_I2 = VT_I2
          integer, parameter ::   SF_I4 = VT_I4
          integer, parameter ::   SF_I8 = VT_I8
          integer, parameter ::   SF_BSTR = VT_BSTR
          integer, parameter ::   SF_UNKNOWN = VT_UNKNOWN
          integer, parameter ::   SF_DISPATCH = VT_DISPATCH
          integer, parameter ::   SF_VARIANT = VT_VARIANT
          integer, parameter ::   SF_RECORD = VT_RECORD
          integer, parameter ::   SF_HAVEIID = VT_UNKNOWN .OR. VT_RESERVED  
          integer, parameter :: FADF_AUTO = ( #1 )
          integer, parameter :: FADF_STATIC = ( #2 )
          integer, parameter :: FADF_EMBEDDED = ( #4 )
          integer, parameter :: FADF_FIXEDSIZE = ( #10 )
          integer, parameter :: FADF_RECORD = ( #20 )
          integer, parameter :: FADF_HAVEIID = ( #40 )
          integer, parameter :: FADF_HAVEVARTYPE = ( #80 )
          integer, parameter :: FADF_BSTR = ( #100 )
          integer, parameter :: FADF_UNKNOWN = ( #200 )
          integer, parameter :: FADF_DISPATCH = ( #400 )
          integer, parameter :: FADF_VARIANT = ( #800 )
          integer, parameter :: FADF_RESERVED = ( #f008 )
          integer, parameter ::  TKIND_ENUM = 0
          integer, parameter ::   TKIND_RECORD = TKIND_ENUM + 1
          integer, parameter ::   TKIND_MODULE = TKIND_RECORD + 1
          integer, parameter ::   TKIND_INTERFACE = TKIND_MODULE + 1
          integer, parameter ::   TKIND_DISPATCH = TKIND_INTERFACE + 1
          integer, parameter ::   TKIND_COCLASS = TKIND_DISPATCH + 1
          integer, parameter ::   TKIND_ALIAS = TKIND_COCLASS + 1
          integer, parameter ::   TKIND_UNION = TKIND_ALIAS + 1
          integer, parameter ::   TKIND_MAX = TKIND_UNION + 1  
          integer, parameter :: PARAMFLAG_NONE = ( 0 )
          integer, parameter :: PARAMFLAG_FIN = ( #1 )
          integer, parameter :: PARAMFLAG_FOUT = ( #2 )
          integer, parameter :: PARAMFLAG_FLCID = ( #4 )
          integer, parameter :: PARAMFLAG_FRETVAL = ( #8 )
          integer, parameter :: PARAMFLAG_FOPT = ( #10 )
          integer, parameter :: PARAMFLAG_FHASDEFAULT = ( #20 )
          integer, parameter :: PARAMFLAG_FHASCUSTDATA = ( #40 )
          integer, parameter :: IDLFLAG_NONE = ( ( 0 ) )
          integer, parameter :: IDLFLAG_FIN = ( ( #1 ) )
          integer, parameter :: IDLFLAG_FOUT = ( ( #2 ) )
          integer, parameter :: IDLFLAG_FLCID = ( ( #4 ) )
          integer, parameter :: IDLFLAG_FRETVAL = ( ( #8 ) )
          integer, parameter ::  CC_FASTCALL = 0
          integer, parameter ::   CC_CDECL = 1
          integer, parameter ::   CC_MSCPASCAL = CC_CDECL + 1
          integer, parameter ::   CC_PASCAL = CC_MSCPASCAL
          integer, parameter ::   CC_MACPASCAL = CC_PASCAL + 1
          integer, parameter ::   CC_STDCALL = CC_MACPASCAL + 1
          integer, parameter ::   CC_FPFASTCALL = CC_STDCALL + 1
          integer, parameter ::   CC_SYSCALL = CC_FPFASTCALL + 1
          integer, parameter ::   CC_MPWCDECL = CC_SYSCALL + 1
          integer, parameter ::   CC_MPWPASCAL = CC_MPWCDECL + 1
          integer, parameter ::   CC_MAX = CC_MPWPASCAL + 1  
          integer, parameter ::  FUNC_VIRTUAL = 0
          integer, parameter ::   FUNC_PUREVIRTUAL = FUNC_VIRTUAL + 1
          integer, parameter ::   FUNC_NONVIRTUAL = FUNC_PUREVIRTUAL + 1
          integer, parameter ::   FUNC_STATIC = FUNC_NONVIRTUAL + 1
          integer, parameter ::   FUNC_DISPATCH = FUNC_STATIC + 1  
          integer, parameter ::  INVOKE_FUNC = 1
          integer, parameter ::   INVOKE_PROPERTYGET = 2
          integer, parameter ::   INVOKE_PROPERTYPUT = 4
          integer, parameter ::   INVOKE_PROPERTYPUTREF = 8  
          integer, parameter ::  VAR_PERINSTANCE = 0
          integer, parameter ::   VAR_STATIC = VAR_PERINSTANCE + 1
          integer, parameter ::   VAR_CONST = VAR_STATIC + 1
          integer, parameter ::   VAR_DISPATCH = VAR_CONST + 1  
          integer, parameter :: IMPLTYPEFLAG_FDEFAULT = ( #1 )
          integer, parameter :: IMPLTYPEFLAG_FSOURCE = ( #2 )
          integer, parameter :: IMPLTYPEFLAG_FRESTRICTED = ( #4 )
          integer, parameter :: IMPLTYPEFLAG_FDEFAULTVTABLE = ( #8 )
          integer, parameter ::  TYPEFLAG_FAPPOBJECT = #1
          integer, parameter ::   TYPEFLAG_FCANCREATE = #2
          integer, parameter ::   TYPEFLAG_FLICENSED = #4
          integer, parameter ::   TYPEFLAG_FPREDECLID = #8
          integer, parameter ::   TYPEFLAG_FHIDDEN = #10
          integer, parameter ::   TYPEFLAG_FCONTROL = #20
          integer, parameter ::   TYPEFLAG_FDUAL = #40
          integer, parameter ::   TYPEFLAG_FNONEXTENSIBLE = #80
          integer, parameter ::   TYPEFLAG_FOLEAUTOMATION = #100
          integer, parameter ::   TYPEFLAG_FRESTRICTED = #200
          integer, parameter ::   TYPEFLAG_FAGGREGATABLE = #400
          integer, parameter ::   TYPEFLAG_FREPLACEABLE = #800
          integer, parameter ::   TYPEFLAG_FDISPATCHABLE = #1000
          integer, parameter ::   TYPEFLAG_FREVERSEBIND = #2000
          integer, parameter ::   TYPEFLAG_FPROXY = #4000  
          integer, parameter ::  FUNCFLAG_FRESTRICTED = #1
          integer, parameter ::   FUNCFLAG_FSOURCE = #2
          integer, parameter ::   FUNCFLAG_FBINDABLE = #4
          integer, parameter ::   FUNCFLAG_FREQUESTEDIT = #8
          integer, parameter ::   FUNCFLAG_FDISPLAYBIND = #10
          integer, parameter ::   FUNCFLAG_FDEFAULTBIND = #20
          integer, parameter ::   FUNCFLAG_FHIDDEN = #40
          integer, parameter ::   FUNCFLAG_FUSESGETLASTERROR = #80
          integer, parameter ::   FUNCFLAG_FDEFAULTCOLLELEM = #100
          integer, parameter ::   FUNCFLAG_FUIDEFAULT = #200
          integer, parameter ::   FUNCFLAG_FNONBROWSABLE = #400
          integer, parameter ::   FUNCFLAG_FREPLACEABLE = #800
          integer, parameter ::   FUNCFLAG_FIMMEDIATEBIND = #1000  
          integer, parameter ::  VARFLAG_FREADONLY = #1
          integer, parameter ::   VARFLAG_FSOURCE = #2
          integer, parameter ::   VARFLAG_FBINDABLE = #4
          integer, parameter ::   VARFLAG_FREQUESTEDIT = #8
          integer, parameter ::   VARFLAG_FDISPLAYBIND = #10
          integer, parameter ::   VARFLAG_FDEFAULTBIND = #20
          integer, parameter ::   VARFLAG_FHIDDEN = #40
          integer, parameter ::   VARFLAG_FRESTRICTED = #80
          integer, parameter ::   VARFLAG_FDEFAULTCOLLELEM = #100
          integer, parameter ::   VARFLAG_FUIDEFAULT = #200
          integer, parameter ::   VARFLAG_FNONBROWSABLE = #400
          integer, parameter ::   VARFLAG_FREPLACEABLE = #800
          integer, parameter ::   VARFLAG_FIMMEDIATEBIND = #1000  
          integer, parameter :: DISPID_UNKNOWN = ( -1 )
          integer, parameter :: DISPID_VALUE = ( 0 )
          integer, parameter :: DISPID_PROPERTYPUT = ( -3 )
          integer, parameter :: DISPID_NEWENUM = ( -4 )
          integer, parameter :: DISPID_EVALUATE = ( -5 )
          integer, parameter :: DISPID_CONSTRUCTOR = ( -6 )
          integer, parameter :: DISPID_DESTRUCTOR = ( -7 )
          integer, parameter :: DISPID_COLLECT = ( -8 )
          integer, parameter ::  DESCKIND_NONE = 0
          integer, parameter ::   DESCKIND_FUNCDESC = DESCKIND_NONE + 1
          integer, parameter ::   DESCKIND_VARDESC = DESCKIND_FUNCDESC + 1
          integer, parameter ::   DESCKIND_TYPECOMP = DESCKIND_VARDESC + 1
          integer, parameter ::   DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP + 1
          integer, parameter ::   DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ + 1  
          integer, parameter ::  SYS_WIN16 = 0
          integer, parameter ::   SYS_WIN32 = SYS_WIN16 + 1
          integer, parameter ::   SYS_MAC = SYS_WIN32 + 1
          integer, parameter ::   SYS_WIN64 = SYS_WIN32  
          integer, parameter ::  LIBFLAG_FRESTRICTED = #1
          integer, parameter ::   LIBFLAG_FCONTROL = #2
          integer, parameter ::   LIBFLAG_FHIDDEN = #4
          integer, parameter ::   LIBFLAG_FHASDISKIMAGE = #8  
          integer, parameter ::  CHANGEKIND_ADDMEMBER = 0
          integer, parameter ::   CHANGEKIND_DELETEMEMBER = CHANGEKIND_ADDMEMBER + 1
          integer, parameter ::   CHANGEKIND_SETNAMES = CHANGEKIND_DELETEMEMBER + 1
          integer, parameter ::   CHANGEKIND_SETDOCUMENTATION = CHANGEKIND_SETNAMES + 1
          integer, parameter ::   CHANGEKIND_GENERAL = CHANGEKIND_SETDOCUMENTATION + 1
          integer, parameter ::   CHANGEKIND_INVALIDATE = CHANGEKIND_GENERAL + 1
          integer, parameter ::   CHANGEKIND_CHANGEFAILED = CHANGEKIND_INVALIDATE + 1
          integer, parameter ::   CHANGEKIND_MAX = CHANGEKIND_CHANGEFAILED + 1  
          integer, parameter :: VARIANT_NOVALUEPROP = #01
          integer, parameter :: VARIANT_ALPHABOOL = #02
          integer, parameter :: VARIANT_NOUSEROVERRIDE = #04
          integer, parameter :: VARIANT_CALENDAR_HIJRI = #08
          integer, parameter :: VARIANT_LOCALBOOL = #10
          integer, parameter :: VAR_TIMEVALUEONLY = ( #00000001)
          integer, parameter :: VAR_DATEVALUEONLY = ( #00000002)
          integer, parameter :: VAR_VALIDDATE = ( #00000004)
          integer, parameter :: VAR_CALENDAR_HIJRI = ( #00000008)
          integer, parameter :: VAR_LOCALBOOL = ( #00000010)
          integer, parameter :: VAR_FORMAT_NOSUBSTITUTE = ( #00000020)
          integer, parameter :: NUMPRS_LEADING_WHITE = #0001
          integer, parameter :: NUMPRS_TRAILING_WHITE = #0002
          integer, parameter :: NUMPRS_LEADING_PLUS = #0004
          integer, parameter :: NUMPRS_TRAILING_PLUS = #0008
          integer, parameter :: NUMPRS_LEADING_MINUS = #0010
          integer, parameter :: NUMPRS_TRAILING_MINUS = #0020
          integer, parameter :: NUMPRS_HEX_OCT = #0040
          integer, parameter :: NUMPRS_PARENS = #0080
          integer, parameter :: NUMPRS_DECIMAL = #0100
          integer, parameter :: NUMPRS_THOUSANDS = #0200
          integer, parameter :: NUMPRS_CURRENCY = #0400
          integer, parameter :: NUMPRS_EXPONENT = #0800
          integer, parameter :: NUMPRS_USE_ALL = #1000
          integer, parameter :: NUMPRS_STD = #1FFF
          integer, parameter :: NUMPRS_NEG = #10000
          integer, parameter :: NUMPRS_INEXACT = #20000
          integer, parameter :: VTBIT_I1 = (1 * 2** VT_I1)
          integer, parameter :: VTBIT_UI1 = (1 * 2** VT_UI1)
          integer, parameter :: VTBIT_I2 = (1 * 2** VT_I2)
          integer, parameter :: VTBIT_UI2 = (1 * 2** VT_UI2)
          integer, parameter :: VTBIT_I4 = (1 * 2** VT_I4)
          integer, parameter :: VTBIT_UI4 = (1 * 2** VT_UI4)
          integer, parameter :: VTBIT_R4 = (1 * 2** VT_R4)
          integer, parameter :: VTBIT_R8 = (1 * 2** VT_R8)
          integer, parameter :: VTBIT_CY = (1 * 2** VT_CY)
          integer, parameter :: VTBIT_DECIMAL = (1 * 2** VT_DECIMAL)
          integer, parameter :: VARCMP_LT = 0
          integer, parameter :: VARCMP_EQ = 1
          integer, parameter :: VARCMP_GT = 2
          integer, parameter :: VARCMP_NULL = 3
          integer, parameter :: ID_DEFAULTINST = -2
          integer, parameter :: DISPATCH_METHOD = #1
          integer, parameter :: DISPATCH_PROPERTYGET = #2
          integer, parameter :: DISPATCH_PROPERTYPUT = #4
          integer, parameter :: DISPATCH_PROPERTYPUTREF = #8
          integer, parameter ::   REGKIND_DEFAULT = 0
          integer, parameter ::   REGKIND_REGISTER = 1
          integer, parameter ::   REGKIND_NONE  = 2
          integer, parameter :: ACTIVEOBJECT_STRONG = #0
          integer, parameter :: ACTIVEOBJECT_WEAK = #1
          integer, parameter :: OLEIVERB_PRIMARY = (0)
          integer, parameter :: OLEIVERB_SHOW = (-1)
          integer, parameter :: OLEIVERB_OPEN = (-2)
          integer, parameter :: OLEIVERB_HIDE = (-3)
          integer, parameter :: OLEIVERB_UIACTIVATE = (-4)
          integer, parameter :: OLEIVERB_INPLACEACTIVATE = (-5)
          integer, parameter :: OLEIVERB_DISCARDUNDOSTATE = (-6)
          integer, parameter :: EMBDHLP_INPROC_HANDLER = #0000
          integer, parameter :: EMBDHLP_INPROC_SERVER = #0001
          integer, parameter :: EMBDHLP_CREATENOW = #00000000
          integer, parameter :: EMBDHLP_DELAYCREATE = #00010000
          integer, parameter :: OLECREATE_LEAVERUNNING = #00000001
          integer, parameter :: UPDFCACHE_NODATACACHE = ( #1 )
          integer, parameter :: UPDFCACHE_ONSAVECACHE = ( #2 )
          integer, parameter :: UPDFCACHE_ONSTOPCACHE = ( #4 )
          integer, parameter :: UPDFCACHE_NORMALCACHE = ( #8 )
          integer, parameter :: UPDFCACHE_IFBLANK = ( #10 )
          integer, parameter :: UPDFCACHE_ONLYIFBLANK = ( #80000000 )
          integer, parameter :: UPDFCACHE_IFBLANKORONSAVECACHE = ( ( #10 ) .OR. ( #2 ) )
    
 ! Avoid overflow warning by using final values
    !     integer, parameter :: UPDFCACHE_ALL = (  .NOT.( #80000000 ) )
    !     integer, parameter :: UPDFCACHE_ALLBUTNODATACACHE = ( (  .NOT.( #80000000 ) ) .AND.  .NOT.( #1 ) )
          integer, parameter :: UPDFCACHE_ALL = #7FFFFFFF
          integer, parameter :: UPDFCACHE_ALLBUTNODATACACHE = #7FFFFFFE
          integer, parameter ::  DISCARDCACHE_SAVEIFDIRTY = 0
          integer, parameter ::   DISCARDCACHE_NOSAVE = 1  
          integer, parameter ::  OLEGETMONIKER_ONLYIFTHERE = 1
          integer, parameter ::   OLEGETMONIKER_FORCEASSIGN = 2
          integer, parameter ::   OLEGETMONIKER_UNASSIGN = 3
          integer, parameter ::   OLEGETMONIKER_TEMPFORUSER = 4  
          integer, parameter ::  OLEWHICHMK_CONTAINER = 1
          integer, parameter ::   OLEWHICHMK_OBJREL = 2
          integer, parameter ::   OLEWHICHMK_OBJFULL = 3  
          integer, parameter ::  USERCLASSTYPE_FULL = 1
          integer, parameter ::   USERCLASSTYPE_SHORT = 2
          integer, parameter ::   USERCLASSTYPE_APPNAME = 3  
          integer, parameter ::  OLEMISC_RECOMPOSEONRESIZE = #1
          integer, parameter ::   OLEMISC_ONLYICONIC = #2
          integer, parameter ::   OLEMISC_INSERTNOTREPLACE = #4
          integer, parameter ::   OLEMISC_STATIC = #8
          integer, parameter ::   OLEMISC_CANTLINKINSIDE = #10
          integer, parameter ::   OLEMISC_CANLINKBYOLE1 = #20
          integer, parameter ::   OLEMISC_ISLINKOBJECT = #40
          integer, parameter ::   OLEMISC_INSIDEOUT = #80
          integer, parameter ::   OLEMISC_ACTIVATEWHENVISIBLE = #100
          integer, parameter ::   OLEMISC_RENDERINGISDEVICEINDEPENDENT = #200
          integer, parameter ::   OLEMISC_INVISIBLEATRUNTIME = #400
          integer, parameter ::   OLEMISC_ALWAYSRUN = #800
          integer, parameter ::   OLEMISC_ACTSLIKEBUTTON = #1000
          integer, parameter ::   OLEMISC_ACTSLIKELABEL = #2000
          integer, parameter ::   OLEMISC_NOUIACTIVATE = #4000
          integer, parameter ::   OLEMISC_ALIGNABLE = #8000
          integer, parameter ::   OLEMISC_SIMPLEFRAME = #10000
          integer, parameter ::   OLEMISC_SETCLIENTSITEFIRST = #20000
          integer, parameter ::   OLEMISC_IMEMODE = #40000
          integer, parameter ::   OLEMISC_IGNOREACTIVATEWHENVISIBLE = #80000
          integer, parameter ::   OLEMISC_WANTSTOMENUMERGE = #100000
          integer, parameter ::   OLEMISC_SUPPORTSMULTILEVELUNDO = #200000  
          integer, parameter ::  OLECLOSE_SAVEIFDIRTY = 0
          integer, parameter ::   OLECLOSE_NOSAVE = 1
          integer, parameter ::   OLECLOSE_PROMPTSAVE = 2  
          integer, parameter ::  OLERENDER_NONE = 0
          integer, parameter ::   OLERENDER_DRAW = 1
          integer, parameter ::   OLERENDER_FORMAT = 2
          integer, parameter ::   OLERENDER_ASIS = 3  
          integer, parameter ::  OLEUPDATE_ALWAYS = 1
          integer, parameter ::   OLEUPDATE_ONCALL = 3  
          integer, parameter ::  OLELINKBIND_EVENIFCLASSDIFF = 1  
          integer, parameter ::  BINDSPEED_INDEFINITE = 1
          integer, parameter ::   BINDSPEED_MODERATE = 2
          integer, parameter ::   BINDSPEED_IMMEDIATE = 3  
          integer, parameter ::  OLECONTF_EMBEDDINGS = 1
          integer, parameter ::   OLECONTF_LINKS = 2
          integer, parameter ::   OLECONTF_OTHERS = 4
          integer, parameter ::   OLECONTF_ONLYUSER = 8
          integer, parameter ::   OLECONTF_ONLYIFRUNNING = 16  
          integer, parameter :: MK_ALT = ( #20 )
          integer, parameter :: DROPEFFECT_NONE = ( 0 )
          integer, parameter :: DROPEFFECT_COPY = ( 1 )
          integer, parameter :: DROPEFFECT_MOVE = ( 2 )
          integer, parameter :: DROPEFFECT_LINK = ( 4 )
          integer, parameter :: DROPEFFECT_SCROLL = ( #80000000 )
          integer, parameter :: DD_DEFSCROLLINSET = ( 11 )
          integer, parameter :: DD_DEFSCROLLDELAY = ( 50 )
          integer, parameter :: DD_DEFSCROLLINTERVAL = ( 50 )
          integer, parameter :: DD_DEFDRAGDELAY = ( 200 )
          integer, parameter :: DD_DEFDRAGMINDIST = ( 2 )
          integer, parameter ::  OLEVERBATTRIB_NEVERDIRTIES = 1
          integer, parameter ::   OLEVERBATTRIB_ONCONTAINERMENU = 2  
          integer, parameter :: OFN_READONLY = #00000001
          integer, parameter :: OFN_OVERWRITEPROMPT = #00000002
          integer, parameter :: OFN_HIDEREADONLY = #00000004
          integer, parameter :: OFN_NOCHANGEDIR = #00000008
          integer, parameter :: OFN_SHOWHELP = #00000010
          integer, parameter :: OFN_ENABLEHOOK = #00000020
          integer, parameter :: OFN_ENABLETEMPLATE = #00000040
          integer, parameter :: OFN_ENABLETEMPLATEHANDLE = #00000080
          integer, parameter :: OFN_NOVALIDATE = #00000100
          integer, parameter :: OFN_ALLOWMULTISELECT = #00000200
          integer, parameter :: OFN_EXTENSIONDIFFERENT = #00000400
          integer, parameter :: OFN_PATHMUSTEXIST = #00000800
          integer, parameter :: OFN_FILEMUSTEXIST = #00001000
          integer, parameter :: OFN_CREATEPROMPT = #00002000
          integer, parameter :: OFN_SHAREAWARE = #00004000
          integer, parameter :: OFN_NOREADONLYRETURN = #00008000
          integer, parameter :: OFN_NOTESTFILECREATE = #00010000
          integer, parameter :: OFN_NONETWORKBUTTON = #00020000
          integer, parameter :: OFN_NOLONGNAMES = #00040000
          integer, parameter :: OFN_EXPLORER = #00080000
          integer, parameter :: OFN_NODEREFERENCELINKS = #00100000
          integer, parameter :: OFN_LONGNAMES = #00200000
          integer, parameter :: OFN_ENABLEINCLUDENOTIFY = #00400000
          integer, parameter :: OFN_ENABLESIZING = #00800000
          integer, parameter :: OFN_SHAREFALLTHROUGH = 2
          integer, parameter :: OFN_SHARENOWARN = 1
          integer, parameter :: OFN_SHAREWARN = 0
          integer, parameter :: CDN_FIRST = (0-601)
          integer, parameter :: CDN_LAST = (0-699)
          integer, parameter :: CDN_INITDONE = ((0-601) - #0000)
          integer, parameter :: CDN_SELCHANGE = ((0-601) - #0001)
          integer, parameter :: CDN_FOLDERCHANGE = ((0-601) - #0002)
          integer, parameter :: CDN_SHAREVIOLATION = ((0-601) - #0003)
          integer, parameter :: CDN_HELP = ((0-601) - #0004)
          integer, parameter :: CDN_FILEOK = ((0-601) - #0005)
          integer, parameter :: CDN_TYPECHANGE = ((0-601) - #0006)
          integer, parameter :: CDN_INCLUDEITEM = ((0-601) - #0007)
          integer, parameter :: CDM_FIRST = (#0400 + 100)
          integer, parameter :: CDM_LAST = (#0400 + 200)
          integer, parameter :: CDM_GETSPEC = ((#0400 + 100) + #0000)
          integer, parameter :: CDM_GETFILEPATH = ((#0400 + 100) + #0001)
          integer, parameter :: CDM_GETFOLDERPATH = ((#0400 + 100) + #0002)
          integer, parameter :: CDM_GETFOLDERIDLIST = ((#0400 + 100) + #0003)
          integer, parameter :: CDM_SETCONTROLTEXT = ((#0400 + 100) + #0004)
          integer, parameter :: CDM_HIDECONTROL = ((#0400 + 100) + #0005)
          integer, parameter :: CDM_SETDEFEXT = ((#0400 + 100) + #0006)
          integer, parameter :: CC_RGBINIT = #00000001
          integer, parameter :: CC_FULLOPEN = #00000002
          integer, parameter :: CC_PREVENTFULLOPEN = #00000004
          integer, parameter :: CC_SHOWHELP = #00000008
          integer, parameter :: CC_ENABLEHOOK = #00000010
          integer, parameter :: CC_ENABLETEMPLATE = #00000020
          integer, parameter :: CC_ENABLETEMPLATEHANDLE = #00000040
          integer, parameter :: CC_SOLIDCOLOR = #00000080
          integer, parameter :: CC_ANYCOLOR = #00000100
          integer, parameter :: FR_DOWN = #00000001
          integer, parameter :: FR_WHOLEWORD = #00000002
          integer, parameter :: FR_MATCHCASE = #00000004
          integer, parameter :: FR_FINDNEXT = #00000008
          integer, parameter :: FR_REPLACE = #00000010
          integer, parameter :: FR_REPLACEALL = #00000020
          integer, parameter :: FR_DIALOGTERM = #00000040
          integer, parameter :: FR_SHOWHELP = #00000080
          integer, parameter :: FR_ENABLEHOOK = #00000100
          integer, parameter :: FR_ENABLETEMPLATE = #00000200
          integer, parameter :: FR_NOUPDOWN = #00000400
          integer, parameter :: FR_NOMATCHCASE = #00000800
          integer, parameter :: FR_NOWHOLEWORD = #00001000
          integer, parameter :: FR_ENABLETEMPLATEHANDLE = #00002000
          integer, parameter :: FR_HIDEUPDOWN = #00004000
          integer, parameter :: FR_HIDEMATCHCASE = #00008000
          integer, parameter :: FR_HIDEWHOLEWORD = #00010000
          integer, parameter :: FR_RAW = #00020000
          integer, parameter :: FR_MATCHDIAC = #20000000
          integer, parameter :: FR_MATCHKASHIDA = #40000000
          integer, parameter :: FR_MATCHALEFHAMZA = #80000000
          integer, parameter :: CF_SCREENFONTS = #00000001
          integer, parameter :: CF_PRINTERFONTS = #00000002
          integer, parameter :: CF_BOTH = (#00000001 .OR. #00000002)
          integer, parameter :: CF_SHOWHELP = #00000004
          integer, parameter :: CF_ENABLEHOOK = #00000008
          integer, parameter :: CF_ENABLETEMPLATE = #00000010
          integer, parameter :: CF_ENABLETEMPLATEHANDLE = #00000020
          integer, parameter :: CF_INITTOLOGFONTSTRUCT = #00000040
          integer, parameter :: CF_USESTYLE = #00000080
          integer, parameter :: CF_EFFECTS = #00000100
          integer, parameter :: CF_APPLY = #00000200
          integer, parameter :: CF_ANSIONLY = #00000400
          integer, parameter :: CF_NOVECTORFONTS = #00000800
          integer, parameter :: CF_NOSIMULATIONS = #00001000
          integer, parameter :: CF_LIMITSIZE = #00002000
          integer, parameter :: CF_FIXEDPITCHONLY = #00004000
          integer, parameter :: CF_WYSIWYG = #00008000
          integer, parameter :: CF_FORCEFONTEXIST = #00010000
          integer, parameter :: CF_SCALABLEONLY = #00020000
          integer, parameter :: CF_TTONLY = #00040000
          integer, parameter :: CF_NOFACESEL = #00080000
          integer, parameter :: CF_NOSTYLESEL = #00100000
          integer, parameter :: CF_NOSIZESEL = #00200000
          integer, parameter :: CF_SELECTSCRIPT = #00400000
          integer, parameter :: CF_NOSCRIPTSEL = #00800000
          integer, parameter :: CF_NOVERTFONTS = #01000000
          integer, parameter :: SIMULATED_FONTTYPE = #8000
          integer, parameter :: PRINTER_FONTTYPE = #4000
          integer, parameter :: SCREEN_FONTTYPE = #2000
          integer, parameter :: BOLD_FONTTYPE = #0100
          integer, parameter :: ITALIC_FONTTYPE = #0200
          integer, parameter :: REGULAR_FONTTYPE = #0400
          integer, parameter :: WM_CHOOSEFONT_GETLOGFONT = (#0400 + 1)
          integer, parameter :: WM_CHOOSEFONT_SETLOGFONT = (#0400 + 101)
          integer, parameter :: WM_CHOOSEFONT_SETFLAGS = (#0400 + 102)
!to fix
          character*26, parameter :: LBSELCHSTRING = "commdlg_LBSelChangedNotify"
          character*22, parameter :: SHAREVISTRING = "commdlg_ShareViolation"
          character*18, parameter :: FILEOKSTRING  = "commdlg_FileNameOK"
          character*15, parameter :: COLOROKSTRING = "commdlg_ColorOK"
          character*19, parameter :: SETRGBSTRING  = "commdlg_SetRGBColor"
          character*12, parameter :: HELPMSGSTRING = "commdlg_help"
          character*19, parameter :: FINDMSGSTRING = "commdlg_FindReplace"
          character*26, parameter :: LBSELCHSTRINGA = "commdlg_LBSelChangedNotify"
          character*22, parameter :: SHAREVISTRINGA = "commdlg_ShareViolation"
          character*18, parameter :: FILEOKSTRINGA = "commdlg_FileNameOK"
          character*15, parameter :: COLOROKSTRINGA = "commdlg_ColorOK"
          character*19, parameter :: SETRGBSTRINGA = "commdlg_SetRGBColor"
          character*12, parameter :: HELPMSGSTRINGA = "commdlg_help"
          character*19, parameter :: FINDMSGSTRINGA = "commdlg_FindReplace"
    !DEC$ IF DEFINED( _M_IA64)
    ! 126579 FORTRAN character*26, parameter :: LBSELCHSTRINGW = L"commdlg_LBSelChangedNotify"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126026 FORTRAN character*26, parameter :: LBSELCHSTRINGW = L"commdlg_LBSelChangedNotify"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126580 FORTRAN character*22, parameter :: SHAREVISTRINGW = L"commdlg_ShareViolation"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126027 FORTRAN character*22, parameter :: SHAREVISTRINGW = L"commdlg_ShareViolation"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126581 FORTRAN character*18, parameter :: FILEOKSTRINGW = L"commdlg_FileNameOK"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126028 FORTRAN character*18, parameter :: FILEOKSTRINGW = L"commdlg_FileNameOK"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126582 FORTRAN character*15, parameter :: COLOROKSTRINGW = L"commdlg_ColorOK"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126029 FORTRAN character*15, parameter :: COLOROKSTRINGW = L"commdlg_ColorOK"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126583 FORTRAN character*19, parameter :: SETRGBSTRINGW = L"commdlg_SetRGBColor"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126030 FORTRAN character*19, parameter :: SETRGBSTRINGW = L"commdlg_SetRGBColor"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126584 FORTRAN character*12, parameter :: HELPMSGSTRINGW = L"commdlg_help"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126031 FORTRAN character*12, parameter :: HELPMSGSTRINGW = L"commdlg_help"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 126585 FORTRAN character*19, parameter :: FINDMSGSTRINGW = L"commdlg_FindReplace"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126032 FORTRAN character*19, parameter :: FINDMSGSTRINGW = L"commdlg_FindReplace"
    !DEC$ ENDIF
          integer, parameter :: CD_LBSELNOITEMS = -1
          integer, parameter :: CD_LBSELCHANGE = 0
          integer, parameter :: CD_LBSELSUB = 1
          integer, parameter :: CD_LBSELADD = 2
          integer, parameter :: PD_ALLPAGES = #00000000
          integer, parameter :: PD_SELECTION = #00000001
          integer, parameter :: PD_PAGENUMS = #00000002
          integer, parameter :: PD_NOSELECTION = #00000004
          integer, parameter :: PD_NOPAGENUMS = #00000008
          integer, parameter :: PD_COLLATE = #00000010
          integer, parameter :: PD_PRINTTOFILE = #00000020
          integer, parameter :: PD_PRINTSETUP = #00000040
          integer, parameter :: PD_NOWARNING = #00000080
          integer, parameter :: PD_RETURNDC = #00000100
          integer, parameter :: PD_RETURNIC = #00000200
          integer, parameter :: PD_RETURNDEFAULT = #00000400
          integer, parameter :: PD_SHOWHELP = #00000800
          integer, parameter :: PD_ENABLEPRINTHOOK = #00001000
          integer, parameter :: PD_ENABLESETUPHOOK = #00002000
          integer, parameter :: PD_ENABLEPRINTTEMPLATE = #00004000
          integer, parameter :: PD_ENABLESETUPTEMPLATE = #00008000
          integer, parameter :: PD_ENABLEPRINTTEMPLATEHANDLE = #00010000
          integer, parameter :: PD_ENABLESETUPTEMPLATEHANDLE = #00020000
          integer, parameter :: PD_USEDEVMODECOPIES = #00040000
          integer, parameter :: PD_USEDEVMODECOPIESANDCOLLATE = #00040000
          integer, parameter :: PD_DISABLEPRINTTOFILE = #00080000
          integer, parameter :: PD_HIDEPRINTTOFILE = #00100000
          integer, parameter :: PD_NONETWORKBUTTON = #00200000
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: PD_CURRENTPAGE = #00400000
          integer, parameter :: PD_NOCURRENTPAGE = #00800000
          integer, parameter :: PD_EXCLUSIONFLAGS = #01000000
          integer, parameter :: PD_USELARGETEMPLATE = #10000000
          integer, parameter :: PD_EXCL_COPIESANDCOLLATE = (#00000100 .OR. #00008000)
          integer, parameter :: START_PAGE_GENERAL = #ffffffff
          integer, parameter :: PD_RESULT_CANCEL = 0
          integer, parameter :: PD_RESULT_PRINT = 1
          integer, parameter :: PD_RESULT_APPLY = 2
    !DEC$ ENDIF
          integer, parameter :: DN_DEFAULTPRN = #0001
          integer, parameter :: WM_PSD_PAGESETUPDLG = (#0400 )
          integer, parameter :: WM_PSD_FULLPAGERECT = (#0400+1)
          integer, parameter :: WM_PSD_MINMARGINRECT = (#0400+2)
          integer, parameter :: WM_PSD_MARGINRECT = (#0400+3)
          integer, parameter :: WM_PSD_GREEKTEXTRECT = (#0400+4)
          integer, parameter :: WM_PSD_ENVSTAMPRECT = (#0400+5)
          integer, parameter :: WM_PSD_YAFULLPAGERECT = (#0400+6)
          integer, parameter :: PSD_DEFAULTMINMARGINS = #00000000
          integer, parameter :: PSD_INWININIINTLMEASURE = #00000000
          integer, parameter :: PSD_MINMARGINS = #00000001
          integer, parameter :: PSD_MARGINS = #00000002
          integer, parameter :: PSD_INTHOUSANDTHSOFINCHES = #00000004
          integer, parameter :: PSD_INHUNDREDTHSOFMILLIMETERS = #00000008
          integer, parameter :: PSD_DISABLEMARGINS = #00000010
          integer, parameter :: PSD_DISABLEPRINTER = #00000020
          integer, parameter :: PSD_NOWARNING = #00000080
          integer, parameter :: PSD_DISABLEORIENTATION = #00000100
          integer, parameter :: PSD_RETURNDEFAULT = #00000400
          integer, parameter :: PSD_DISABLEPAPER = #00000200
          integer, parameter :: PSD_SHOWHELP = #00000800
          integer, parameter :: PSD_ENABLEPAGESETUPHOOK = #00002000
          integer, parameter :: PSD_ENABLEPAGESETUPTEMPLATE = #00008000
          integer, parameter :: PSD_ENABLEPAGESETUPTEMPLATEHANDLE = #00020000
          integer, parameter :: PSD_ENABLEPAGEPAINTHOOK = #00040000
          integer, parameter :: PSD_DISABLEPAGEPAINTING = #00080000
          integer, parameter :: PSD_NONETWORKBUTTON = #00200000
    !DEC$ IF DEFINED( _M_IA64)
    ! 127369 FORTRAN character*14, parameter :: SERVICES_ACTIVE_DATABASEW = L"ServicesActive"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126257 FORTRAN character*14, parameter :: SERVICES_ACTIVE_DATABASEW = L"ServicesActive"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
    ! 127370 FORTRAN character*14, parameter :: SERVICES_FAILED_DATABASEW = L"ServicesFailed"
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
    ! 126258 FORTRAN character*14, parameter :: SERVICES_FAILED_DATABASEW = L"ServicesFailed"
    !DEC$ ENDIF
          character*14, parameter :: SERVICES_ACTIVE_DATABASEA = "ServicesActive"
          character*14, parameter :: SERVICES_FAILED_DATABASEA = "ServicesFailed"
          integer, parameter :: SERVICE_NO_CHANGE = #ffffffff
          integer, parameter :: SERVICE_ACTIVE = #00000001
          integer, parameter :: SERVICE_INACTIVE = #00000002
          integer, parameter :: SERVICE_STATE_ALL = (#00000001 .OR.  #00000002)
          integer, parameter :: SERVICE_CONTROL_STOP = #00000001
          integer, parameter :: SERVICE_CONTROL_PAUSE = #00000002
          integer, parameter :: SERVICE_CONTROL_CONTINUE = #00000003
          integer, parameter :: SERVICE_CONTROL_INTERROGATE = #00000004
          integer, parameter :: SERVICE_CONTROL_SHUTDOWN = #00000005
          integer, parameter :: SERVICE_CONTROL_PARAMCHANGE = #00000006
          integer, parameter :: SERVICE_CONTROL_NETBINDADD = #00000007
          integer, parameter :: SERVICE_CONTROL_NETBINDREMOVE = #00000008
          integer, parameter :: SERVICE_CONTROL_NETBINDENABLE = #00000009
          integer, parameter :: SERVICE_CONTROL_NETBINDDISABLE = #0000000A
          integer, parameter :: SERVICE_CONTROL_DEVICEEVENT = #0000000B
          integer, parameter :: SERVICE_CONTROL_HARDWAREPROFILECHANGE = #0000000C
          integer, parameter :: SERVICE_CONTROL_POWEREVENT = #0000000D
          integer, parameter :: SERVICE_STOPPED = #00000001
          integer, parameter :: SERVICE_START_PENDING = #00000002
          integer, parameter :: SERVICE_STOP_PENDING = #00000003
          integer, parameter :: SERVICE_RUNNING = #00000004
          integer, parameter :: SERVICE_CONTINUE_PENDING = #00000005
          integer, parameter :: SERVICE_PAUSE_PENDING = #00000006
          integer, parameter :: SERVICE_PAUSED = #00000007
          integer, parameter :: SERVICE_ACCEPT_STOP = #00000001
          integer, parameter :: SERVICE_ACCEPT_PAUSE_CONTINUE = #00000002
          integer, parameter :: SERVICE_ACCEPT_SHUTDOWN = #00000004
          integer, parameter :: SERVICE_ACCEPT_PARAMCHANGE = #00000008
          integer, parameter :: SERVICE_ACCEPT_NETBINDCHANGE = #00000010
          integer, parameter :: SERVICE_ACCEPT_HARDWAREPROFILECHANGE = #00000020
          integer, parameter :: SERVICE_ACCEPT_POWEREVENT = #00000040
          integer, parameter :: SC_MANAGER_CONNECT = #0001
          integer, parameter :: SC_MANAGER_CREATE_SERVICE = #0002
          integer, parameter :: SC_MANAGER_ENUMERATE_SERVICE = #0004
          integer, parameter :: SC_MANAGER_LOCK = #0008
          integer, parameter :: SC_MANAGER_QUERY_LOCK_STATUS = #0010
          integer, parameter :: SC_MANAGER_MODIFY_BOOT_CONFIG = #0020
          integer, parameter :: SC_MANAGER_ALL_ACCESS = ((#000F0000) .OR.  #0001 .OR.  #0002 .OR.  #0004 .OR.  #0008 .OR.  #0010 .OR.  #0020)
          integer, parameter :: SERVICE_QUERY_CONFIG = #0001
          integer, parameter :: SERVICE_CHANGE_CONFIG = #0002
          integer, parameter :: SERVICE_QUERY_STATUS = #0004
          integer, parameter :: SERVICE_ENUMERATE_DEPENDENTS = #0008
          integer, parameter :: SERVICE_START = #0010
          integer, parameter :: SERVICE_STOP = #0020
          integer, parameter :: SERVICE_PAUSE_CONTINUE = #0040
          integer, parameter :: SERVICE_INTERROGATE = #0080
          integer, parameter :: SERVICE_USER_DEFINED_CONTROL = #0100
          integer, parameter :: SERVICE_ALL_ACCESS = ((#000F0000) .OR.  #0001 .OR.  #0002 .OR.  #0004 .OR.  #0008 .OR.  #0010 .OR.  #0020 .OR.  #0040 .OR.  #0080 .OR.  #0100)
          integer, parameter :: SERVICE_RUNS_IN_SYSTEM_PROCESS = #00000001
          integer, parameter :: SERVICE_CONFIG_DESCRIPTION = 1
          integer, parameter :: SERVICE_CONFIG_FAILURE_ACTIONS = 2
          integer, parameter ::   SC_ACTION_NONE = 0
          integer, parameter ::   SC_ACTION_RESTART = 1
          integer, parameter ::   SC_ACTION_REBOOT = 2
          integer, parameter ::   SC_ACTION_RUN_COMMAND = 3 
          integer, parameter ::   SC_STATUS_PROCESS_INFO = 0 
          integer, parameter ::   SC_ENUM_PROCESS_INFO = 0 
          integer, parameter :: DIALOPTION_BILLING = #00000040
          integer, parameter :: DIALOPTION_QUIET = #00000080
          integer, parameter :: DIALOPTION_DIALTONE = #00000100
          integer, parameter :: MDMVOLFLAG_LOW = #00000001
          integer, parameter :: MDMVOLFLAG_MEDIUM = #00000002
          integer, parameter :: MDMVOLFLAG_HIGH = #00000004
          integer, parameter :: MDMVOL_LOW = #00000000
          integer, parameter :: MDMVOL_MEDIUM = #00000001
          integer, parameter :: MDMVOL_HIGH = #00000002
          integer, parameter :: MDMSPKRFLAG_OFF = #00000001
          integer, parameter :: MDMSPKRFLAG_DIAL = #00000002
          integer, parameter :: MDMSPKRFLAG_ON = #00000004
          integer, parameter :: MDMSPKRFLAG_CALLSETUP = #00000008
          integer, parameter :: MDMSPKR_OFF = #00000000
          integer, parameter :: MDMSPKR_DIAL = #00000001
          integer, parameter :: MDMSPKR_ON = #00000002
          integer, parameter :: MDMSPKR_CALLSETUP = #00000003
          integer, parameter :: MDM_COMPRESSION = #00000001
          integer, parameter :: MDM_ERROR_CONTROL = #00000002
          integer, parameter :: MDM_FORCED_EC = #00000004
          integer, parameter :: MDM_CELLULAR = #00000008
          integer, parameter :: MDM_FLOWCONTROL_HARD = #00000010
          integer, parameter :: MDM_FLOWCONTROL_SOFT = #00000020
          integer, parameter :: MDM_CCITT_OVERRIDE = #00000040
          integer, parameter :: MDM_SPEED_ADJUST = #00000080
          integer, parameter :: MDM_TONE_DIAL = #00000100
          integer, parameter :: MDM_BLIND_DIAL = #00000200
          integer, parameter :: MDM_V23_OVERRIDE = #00000400
          integer, parameter :: MDM_DIAGNOSTICS = #00000800
          integer, parameter :: MDM_MASK_BEARERMODE = #0000f000
          integer, parameter :: MDM_SHIFT_BEARERMODE = 12
          integer, parameter :: MDM_MASK_PROTOCOLID = #000f0000
          integer, parameter :: MDM_SHIFT_PROTOCOLID = 16
          integer, parameter :: MDM_MASK_PROTOCOLDATA = #0ff00000
          integer, parameter :: MDM_SHIFT_PROTOCOLDATA = 20
          integer, parameter :: MDM_MASK_PROTOCOLINFO = (#000f0000.OR.#0ff00000)
          integer, parameter :: MDM_MASK_EXTENDEDINFO = (#0000f000.OR.(#000f0000.OR.#0ff00000))
          integer, parameter :: MDM_BEARERMODE_ANALOG = #0
          integer, parameter :: MDM_BEARERMODE_ISDN = #1
          integer, parameter :: MDM_BEARERMODE_GSM = #2
          integer, parameter :: MDM_PROTOCOLID_DEFAULT = #0
          integer, parameter :: MDM_PROTOCOLID_HDLCPPP = #1
          integer, parameter :: MDM_PROTOCOLID_V128 = #2
          integer, parameter :: MDM_PROTOCOLID_X75 = #3
          integer, parameter :: MDM_PROTOCOLID_V110 = #4
          integer, parameter :: MDM_PROTOCOLID_V120 = #5
          integer, parameter :: MDM_PROTOCOLID_AUTO = #6
          integer, parameter :: MDM_PROTOCOLID_ANALOG = #7
          integer, parameter :: MDM_PROTOCOLID_GPRS = #8
          integer, parameter :: MDM_PROTOCOLID_PIAFS = #9
          integer, parameter :: MDM_SHIFT_HDLCPPP_SPEED = #0
          integer, parameter :: MDM_MASK_HDLCPPP_SPEED = #7
          integer, parameter :: MDM_HDLCPPP_SPEED_DEFAULT = #0
          integer, parameter :: MDM_HDLCPPP_SPEED_64K = #1
          integer, parameter :: MDM_HDLCPPP_SPEED_56K = #2
          integer, parameter :: MDM_SHIFT_HDLCPPP_AUTH = #3
          integer, parameter :: MDM_MASK_HDLCPPP_AUTH = (#7* 2**3)
          integer, parameter :: MDM_HDLCPPP_AUTH_DEFAULT = #0
          integer, parameter :: MDM_HDLCPPP_AUTH_NONE = #1
          integer, parameter :: MDM_HDLCPPP_AUTH_PAP = #2
          integer, parameter :: MDM_HDLCPPP_AUTH_CHAP = #3
          integer, parameter :: MDM_HDLCPPP_AUTH_MSCHAP = #4
          integer, parameter :: MDM_SHIFT_HDLCPPP_ML = #6
          integer, parameter :: MDM_MASK_HDLCPPP_ML = (#3* 2**6)
          integer, parameter :: MDM_HDLCPPP_ML_DEFAULT = #0
          integer, parameter :: MDM_HDLCPPP_ML_NONE = #1
          integer, parameter :: MDM_HDLCPPP_ML_2 = #2
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_64K = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#0 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#0 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_56K = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#0 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#0 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_112K = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#0 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_112K_PAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#2 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_112K_CHAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#3 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_112K_MSCHAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#4 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_128K = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#0 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_128K_PAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#2 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_128K_CHAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#3 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_HDLCPPP_128K_MSCHAP = ((((#1 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#4 )* 2**#3 ).AND.(#7* 2**3) ) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_SHIFT_V120_SPEED = #0
          integer, parameter :: MDM_MASK_V120_SPEED = #7
          integer, parameter :: MDM_V120_SPEED_DEFAULT = #0
          integer, parameter :: MDM_V120_SPEED_64K = #1
          integer, parameter :: MDM_V120_SPEED_56K = #2
          integer, parameter :: MDM_SHIFT_V120_ML = #6
          integer, parameter :: MDM_MASK_V120_ML = (#3* 2**6)
          integer, parameter :: MDM_V120_ML_DEFAULT = #0
          integer, parameter :: MDM_V120_ML_NONE = #1
          integer, parameter :: MDM_V120_ML_2 = #2
          integer, parameter :: MDM_PROTOCOL_V120_64K = ((((#5 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#1 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V120_56K = ((((#5 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#1 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V120_112K = ((((#5 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#2)* 2**#0).AND.#7) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V120_128K = ((((#5 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#1)* 2**#0).AND.#7) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6) )))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_SHIFT_X75_DATA = #0
          integer, parameter :: MDM_MASK_X75_DATA = #7
          integer, parameter :: MDM_X75_DATA_DEFAULT = #0
          integer, parameter :: MDM_X75_DATA_64K = #1
          integer, parameter :: MDM_X75_DATA_128K = #2
          integer, parameter :: MDM_X75_DATA_T_70 = #3
          integer, parameter :: MDM_X75_DATA_BTX = #4
          integer, parameter :: MDM_PROTOCOL_X75_64K = ((((#3 )* 2**16 ).AND.#000f0000 ) .OR.((((((#1)* 2**#0).AND.#7))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_X75_128K = ((((#3 )* 2**16 ).AND.#000f0000 ) .OR.((((((#2)* 2**#0).AND.#7))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_X75_T_70 = ((((#3 )* 2**16 ).AND.#000f0000 ) .OR.((((((#3)* 2**#0).AND.#7))* 2**20).AND.#0ff00000))
    	  integer, parameter :: MDM_PROTOCOL_X75_BTX = ((((#3 )* 2**16 ).AND.#000f0000 ) .OR.((((((#4)* 2**#0).AND.#7))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_SHIFT_V110_SPEED = #0
          integer, parameter :: MDM_MASK_V110_SPEED = #f
          integer, parameter :: MDM_V110_SPEED_DEFAULT = #0
          integer, parameter :: MDM_V110_SPEED_1DOT2K = #1
          integer, parameter :: MDM_V110_SPEED_2DOT4K = #2
          integer, parameter :: MDM_V110_SPEED_4DOT8K = #3
          integer, parameter :: MDM_V110_SPEED_9DOT6K = #4
          integer, parameter :: MDM_V110_SPEED_12DOT0K = #5
          integer, parameter :: MDM_V110_SPEED_14DOT4K = #6
          integer, parameter :: MDM_V110_SPEED_19DOT2K = #7
          integer, parameter :: MDM_V110_SPEED_28DOT8K = #8
          integer, parameter :: MDM_V110_SPEED_38DOT4K = #9
          integer, parameter :: MDM_V110_SPEED_57DOT6K = #A
          integer, parameter :: MDM_PROTOCOL_V110_1DOT2K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#1)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_2DOT4K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#2)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_4DOT8K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#3)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_9DOT6K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#4)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_12DOT0K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#5)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_14DOT4K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#6)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_19DOT2K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#7)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_28DOT8K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#8)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_38DOT4K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#9)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_V110_57DOT6K = ((((#4 )* 2**16 ).AND.#000f0000 ) .OR.((((((#A)* 2**#0).AND.#f))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_SHIFT_AUTO_SPEED = #0
          integer, parameter :: MDM_MASK_AUTO_SPEED = #7
          integer, parameter :: MDM_AUTO_SPEED_DEFAULT = #0
          integer, parameter :: MDM_SHIFT_AUTO_ML = #6
          integer, parameter :: MDM_MASK_AUTO_ML = (#3* 2**6)
          integer, parameter :: MDM_AUTO_ML_DEFAULT = #0
          integer, parameter :: MDM_AUTO_ML_NONE = #1
          integer, parameter :: MDM_AUTO_ML_2 = #2
          integer, parameter :: MDM_PROTOCOL_AUTO_1CH = ((((#6 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#0)* 2**#0).AND.#7) .OR.(((#1 )* 2**#6 ).AND.(#3* 2**6))))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_AUTO_2CH = ((((#6 )* 2**16 ).AND.#000f0000 ) .OR.(((((((#0)* 2**#0).AND.#7) .OR.(((#2 )* 2**#6 ).AND.(#3* 2**6))))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_ANALOG_RLP_ON = #0
          integer, parameter :: MDM_ANALOG_RLP_OFF = #1
          integer, parameter :: MDM_ANALOG_V34 = #2
          integer, parameter :: MDM_PROTOCOL_ANALOG_RLP = ((((#7 )* 2**16 ).AND.#000f0000 ) .OR.((((#0))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_ANALOG_NRLP = ((((#7 )* 2**16 ).AND.#000f0000 ) .OR.((((#1))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_ANALOG_V34 = ((((#7 )* 2**16 ).AND.#000f0000 ) .OR.((((#2))* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_GPRS = ((((#8 )* 2**16 ).AND.#000f0000 ) .OR.(((0)* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PIAFS_INCOMING = 0
          integer, parameter :: MDM_PIAFS_OUTGOING = 1
          integer, parameter :: MDM_PROTOCOL_PIAFS_INCOMING = ((((#9 )* 2**16 ).AND.#000f0000 ) .OR.(((0)* 2**20).AND.#0ff00000))
          integer, parameter :: MDM_PROTOCOL_PIAFS_OUTGOING = ((((#9 )* 2**16 ).AND.#000f0000 ) .OR.(((1)* 2**20).AND.#0ff00000))
          integer, parameter :: STYLE_DESCRIPTION_SIZE = 32
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: IMEMENUITEM_STRING_SIZE = 80
    !DEC$ ENDIF
          integer, parameter :: IMC_GETCANDIDATEPOS = #0007
          integer, parameter :: IMC_SETCANDIDATEPOS = #0008
          integer, parameter :: IMC_GETCOMPOSITIONFONT = #0009
          integer, parameter :: IMC_SETCOMPOSITIONFONT = #000A
          integer, parameter :: IMC_GETCOMPOSITIONWINDOW = #000B
          integer, parameter :: IMC_SETCOMPOSITIONWINDOW = #000C
          integer, parameter :: IMC_GETSTATUSWINDOWPOS = #000F
          integer, parameter :: IMC_SETSTATUSWINDOWPOS = #0010
          integer, parameter :: IMC_CLOSESTATUSWINDOW = #0021
          integer, parameter :: IMC_OPENSTATUSWINDOW = #0022
          integer, parameter :: NI_OPENCANDIDATE = #0010
          integer, parameter :: NI_CLOSECANDIDATE = #0011
          integer, parameter :: NI_SELECTCANDIDATESTR = #0012
          integer, parameter :: NI_CHANGECANDIDATELIST = #0013
          integer, parameter :: NI_FINALIZECONVERSIONRESULT = #0014
          integer, parameter :: NI_COMPOSITIONSTR = #0015
          integer, parameter :: NI_SETCANDIDATE_PAGESTART = #0016
          integer, parameter :: NI_SETCANDIDATE_PAGESIZE = #0017
          integer, parameter :: NI_IMEMENUSELECTED = #0018
          integer, parameter :: ISC_SHOWUICANDIDATEWINDOW = #00000001
          integer, parameter :: ISC_SHOWUICOMPOSITIONWINDOW = #80000000
          integer, parameter :: ISC_SHOWUIGUIDELINE = #40000000
          integer, parameter :: ISC_SHOWUIALLCANDIDATEWINDOW = #0000000F
          integer, parameter :: ISC_SHOWUIALL = #C000000F
          integer, parameter :: CPS_COMPLETE = #0001
          integer, parameter :: CPS_CONVERT = #0002
          integer, parameter :: CPS_REVERT = #0003
          integer, parameter :: CPS_CANCEL = #0004
          integer, parameter :: MOD_ALT = #0001
          integer, parameter :: MOD_CONTROL = #0002
          integer, parameter :: MOD_SHIFT = #0004
          integer, parameter :: MOD_LEFT = #8000
          integer, parameter :: MOD_RIGHT = #4000
          integer, parameter :: MOD_ON_KEYUP = #0800
          integer, parameter :: MOD_IGNORE_ALL_MODIFIER = #0400
          integer, parameter :: IME_CHOTKEY_IME_NONIME_TOGGLE = #10
          integer, parameter :: IME_CHOTKEY_SHAPE_TOGGLE = #11
          integer, parameter :: IME_CHOTKEY_SYMBOL_TOGGLE = #12
          integer, parameter :: IME_JHOTKEY_CLOSE_OPEN = #30
          integer, parameter :: IME_KHOTKEY_SHAPE_TOGGLE = #50
          integer, parameter :: IME_KHOTKEY_HANJACONVERT = #51
          integer, parameter :: IME_KHOTKEY_ENGLISH = #52
          integer, parameter :: IME_THOTKEY_IME_NONIME_TOGGLE = #70
          integer, parameter :: IME_THOTKEY_SHAPE_TOGGLE = #71
          integer, parameter :: IME_THOTKEY_SYMBOL_TOGGLE = #72
          integer, parameter :: IME_HOTKEY_DSWITCH_FIRST = #100
          integer, parameter :: IME_HOTKEY_DSWITCH_LAST = #11F
          integer, parameter :: IME_HOTKEY_PRIVATE_FIRST = #200
          integer, parameter :: IME_ITHOTKEY_RESEND_RESULTSTR = #200
          integer, parameter :: IME_ITHOTKEY_PREVIOUS_COMPOSITION = #201
          integer, parameter :: IME_ITHOTKEY_UISTYLE_TOGGLE = #202
          integer, parameter :: IME_ITHOTKEY_RECONVERTSTRING = #203
          integer, parameter :: IME_HOTKEY_PRIVATE_LAST = #21F
          integer, parameter :: GCS_COMPREADSTR = #0001
          integer, parameter :: GCS_COMPREADATTR = #0002
          integer, parameter :: GCS_COMPREADCLAUSE = #0004
          integer, parameter :: GCS_COMPSTR = #0008
          integer, parameter :: GCS_COMPATTR = #0010
          integer, parameter :: GCS_COMPCLAUSE = #0020
          integer, parameter :: GCS_CURSORPOS = #0080
          integer, parameter :: GCS_DELTASTART = #0100
          integer, parameter :: GCS_RESULTREADSTR = #0200
          integer, parameter :: GCS_RESULTREADCLAUSE = #0400
          integer, parameter :: GCS_RESULTSTR = #0800
          integer, parameter :: GCS_RESULTCLAUSE = #1000
          integer, parameter :: CS_INSERTCHAR = #2000
          integer, parameter :: CS_NOMOVECARET = #4000
          integer, parameter :: IMEVER_0310 = #0003000A
          integer, parameter :: IMEVER_0400 = #00040000
          integer, parameter :: IME_PROP_AT_CARET = #00010000
          integer, parameter :: IME_PROP_SPECIAL_UI = #00020000
          integer, parameter :: IME_PROP_CANDLIST_START_FROM_1 = #00040000
          integer, parameter :: IME_PROP_UNICODE = #00080000
          integer, parameter :: IME_PROP_COMPLETE_ON_UNSELECT = #00100000
          integer, parameter :: UI_CAP_2700 = #00000001
          integer, parameter :: UI_CAP_ROT90 = #00000002
          integer, parameter :: UI_CAP_ROTANY = #00000004
          integer, parameter :: SCS_CAP_COMPSTR = #00000001
          integer, parameter :: SCS_CAP_MAKEREAD = #00000002
          integer, parameter :: SCS_CAP_SETRECONVERTSTRING = #00000004
          integer, parameter :: SELECT_CAP_CONVERSION = #00000001
          integer, parameter :: SELECT_CAP_SENTENCE = #00000002
          integer, parameter :: GGL_LEVEL = #00000001
          integer, parameter :: GGL_INDEX = #00000002
          integer, parameter :: GGL_STRING = #00000003
          integer, parameter :: GGL_PRIVATE = #00000004
          integer, parameter :: GL_LEVEL_NOGUIDELINE = #00000000
          integer, parameter :: GL_LEVEL_FATAL = #00000001
          integer, parameter :: GL_LEVEL_ERROR = #00000002
          integer, parameter :: GL_LEVEL_WARNING = #00000003
          integer, parameter :: GL_LEVEL_INFORMATION = #00000004
          integer, parameter :: GL_ID_UNKNOWN = #00000000
          integer, parameter :: GL_ID_NOMODULE = #00000001
          integer, parameter :: GL_ID_NODICTIONARY = #00000010
          integer, parameter :: GL_ID_CANNOTSAVE = #00000011
          integer, parameter :: GL_ID_NOCONVERT = #00000020
          integer, parameter :: GL_ID_TYPINGERROR = #00000021
          integer, parameter :: GL_ID_TOOMANYSTROKE = #00000022
          integer, parameter :: GL_ID_READINGCONFLICT = #00000023
          integer, parameter :: GL_ID_INPUTREADING = #00000024
          integer, parameter :: GL_ID_INPUTRADICAL = #00000025
          integer, parameter :: GL_ID_INPUTCODE = #00000026
          integer, parameter :: GL_ID_INPUTSYMBOL = #00000027
          integer, parameter :: GL_ID_CHOOSECANDIDATE = #00000028
          integer, parameter :: GL_ID_REVERSECONVERSION = #00000029
          integer, parameter :: GL_ID_PRIVATE_FIRST = #00008000
          integer, parameter :: GL_ID_PRIVATE_LAST = #0000FFFF
          integer, parameter :: IGP_GETIMEVERSION =  (-4)
          integer, parameter :: IGP_PROPERTY = #00000004
          integer, parameter :: IGP_CONVERSION = #00000008
          integer, parameter :: IGP_SENTENCE = #0000000c
          integer, parameter :: IGP_UI = #00000010
          integer, parameter :: IGP_SETCOMPSTR = #00000014
          integer, parameter :: IGP_SELECT = #00000018
          integer, parameter :: SCS_SETSTR = (#0001.OR.#0008)
          integer, parameter :: SCS_CHANGEATTR = (#0002.OR.#0010)
          integer, parameter :: SCS_CHANGECLAUSE = (#0004.OR.#0020)
          integer, parameter :: SCS_SETRECONVERTSTRING = #00010000
          integer, parameter :: SCS_QUERYRECONVERTSTRING = #00020000
          integer, parameter :: ATTR_INPUT = #00
          integer, parameter :: ATTR_TARGET_CONVERTED = #01
          integer, parameter :: ATTR_CONVERTED = #02
          integer, parameter :: ATTR_TARGET_NOTCONVERTED = #03
          integer, parameter :: ATTR_INPUT_ERROR = #04
          integer, parameter :: ATTR_FIXEDCONVERTED = #05
          integer, parameter :: CFS_DEFAULT = #0000
          integer, parameter :: CFS_RECT = #0001
          integer, parameter :: CFS_POINT = #0002
          integer, parameter :: CFS_FORCE_POSITION = #0020
          integer, parameter :: CFS_CANDIDATEPOS = #0040
          integer, parameter :: CFS_EXCLUDE = #0080
          integer, parameter :: GCL_CONVERSION = #0001
          integer, parameter :: GCL_REVERSECONVERSION = #0002
          integer, parameter :: GCL_REVERSE_LENGTH = #0003
          integer, parameter :: IME_CMODE_ALPHANUMERIC = #0000
          integer, parameter :: IME_CMODE_NATIVE = #0001
          integer, parameter :: IME_CMODE_KATAKANA = #0002
          integer, parameter :: IME_CMODE_LANGUAGE = #0003
          integer, parameter :: IME_CMODE_FULLSHAPE = #0008
          integer, parameter :: IME_CMODE_ROMAN = #0010
          integer, parameter :: IME_CMODE_CHARCODE = #0020
          integer, parameter :: IME_CMODE_HANJACONVERT = #0040
          integer, parameter :: IME_CMODE_SOFTKBD = #0080
          integer, parameter :: IME_CMODE_NOCONVERSION = #0100
          integer, parameter :: IME_CMODE_EUDC = #0200
          integer, parameter :: IME_CMODE_SYMBOL = #0400
          integer, parameter :: IME_CMODE_FIXED = #0800
          integer, parameter :: IME_SMODE_NONE = #0000
          integer, parameter :: IME_SMODE_PLAURALCLAUSE = #0001
          integer, parameter :: IME_SMODE_SINGLECONVERT = #0002
          integer, parameter :: IME_SMODE_AUTOMATIC = #0004
          integer, parameter :: IME_SMODE_PHRASEPREDICT = #0008
          integer, parameter :: IME_SMODE_CONVERSATION = #0010
          integer, parameter :: IME_CAND_UNKNOWN = #0000
          integer, parameter :: IME_CAND_READ = #0001
          integer, parameter :: IME_CAND_CODE = #0002
          integer, parameter :: IME_CAND_MEANING = #0003
          integer, parameter :: IME_CAND_RADICAL = #0004
          integer, parameter :: IME_CAND_STROKE = #0005
          integer, parameter :: IMN_CLOSESTATUSWINDOW = #0001
          integer, parameter :: IMN_OPENSTATUSWINDOW = #0002
          integer, parameter :: IMN_CHANGECANDIDATE = #0003
          integer, parameter :: IMN_CLOSECANDIDATE = #0004
          integer, parameter :: IMN_OPENCANDIDATE = #0005
          integer, parameter :: IMN_SETCONVERSIONMODE = #0006
          integer, parameter :: IMN_SETSENTENCEMODE = #0007
          integer, parameter :: IMN_SETOPENSTATUS = #0008
          integer, parameter :: IMN_SETCANDIDATEPOS = #0009
          integer, parameter :: IMN_SETCOMPOSITIONFONT = #000A
          integer, parameter :: IMN_SETCOMPOSITIONWINDOW = #000B
          integer, parameter :: IMN_SETSTATUSWINDOWPOS = #000C
          integer, parameter :: IMN_GUIDELINE = #000D
          integer, parameter :: IMN_PRIVATE = #000E
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: IMR_COMPOSITIONWINDOW = #0001
          integer, parameter :: IMR_CANDIDATEWINDOW = #0002
          integer, parameter :: IMR_COMPOSITIONFONT = #0003
          integer, parameter :: IMR_RECONVERTSTRING = #0004
          integer, parameter :: IMR_CONFIRMRECONVERTSTRING = #0005
          integer, parameter :: IMR_QUERYCHARPOSITION = #0006
          integer, parameter :: IMR_DOCUMENTFEED = #0007
    !DEC$ ENDIF
          integer, parameter :: IMM_ERROR_NODATA = (-1)
          integer, parameter :: IMM_ERROR_GENERAL = (-2)
          integer, parameter :: IME_CONFIG_GENERAL = 1
          integer, parameter :: IME_CONFIG_REGISTERWORD = 2
          integer, parameter :: IME_CONFIG_SELECTDICTIONARY = 3
          integer, parameter :: IME_ESC_QUERY_SUPPORT = #0003
          integer, parameter :: IME_ESC_RESERVED_FIRST = #0004
          integer, parameter :: IME_ESC_RESERVED_LAST = #07FF
          integer, parameter :: IME_ESC_PRIVATE_FIRST = #0800
          integer, parameter :: IME_ESC_PRIVATE_LAST = #0FFF
          integer, parameter :: IME_ESC_SEQUENCE_TO_INTERNAL = #1001
          integer, parameter :: IME_ESC_GET_EUDC_DICTIONARY = #1003
          integer, parameter :: IME_ESC_SET_EUDC_DICTIONARY = #1004
          integer, parameter :: IME_ESC_MAX_KEY = #1005
          integer, parameter :: IME_ESC_IME_NAME = #1006
          integer, parameter :: IME_ESC_SYNC_HOTKEY = #1007
          integer, parameter :: IME_ESC_HANJA_MODE = #1008
          integer, parameter :: IME_ESC_AUTOMATA = #1009
          integer, parameter :: IME_ESC_PRIVATE_HOTKEY = #100a
          integer, parameter :: IME_ESC_GETHELPFILENAME = #100b
          integer, parameter :: IME_REGWORD_STYLE_EUDC = #00000001
          integer, parameter :: IME_REGWORD_STYLE_USER_FIRST = #80000000
          integer, parameter :: IME_REGWORD_STYLE_USER_LAST = #FFFFFFFF
    !DEC$ IF DEFINED( _M_IA64)
          integer, parameter :: IACE_CHILDREN = #0001
          integer, parameter :: IACE_DEFAULT = #0010
          integer, parameter :: IACE_IGNORENOCONTEXT = #0020
          integer, parameter :: IGIMIF_RIGHTMENU = #0001
          integer, parameter :: IGIMII_CMODE = #0001
          integer, parameter :: IGIMII_SMODE = #0002
          integer, parameter :: IGIMII_CONFIGURE = #0004
          integer, parameter :: IGIMII_TOOLS = #0008
          integer, parameter :: IGIMII_HELP = #0010
          integer, parameter :: IGIMII_OTHER = #0020
          integer, parameter :: IGIMII_INPUTTOOLS = #0040
          integer, parameter :: IMFT_RADIOCHECK = #00001
          integer, parameter :: IMFT_SEPARATOR = #00002
          integer, parameter :: IMFT_SUBMENU = #00004
    !DEC$ ENDIF
          integer, parameter :: SOFTKEYBOARD_TYPE_T1 = #0001
          integer, parameter :: SOFTKEYBOARD_TYPE_C1 = #0002
    !additon of 01-02-01
          integer, parameter :: IMAGE_REL_IA64_ABSOLUTE = #0000
    !additions of 11-30-00
          integer, parameter :: IMAGE_REL_IA64_IMM14 = #0001
          integer, parameter :: IMAGE_REL_IA64_IMM22 = #0002
          integer, parameter :: IMAGE_REL_IA64_IMM64 = #0003
          integer, parameter :: IMAGE_REL_IA64_DIR32 = #0004
          integer, parameter :: IMAGE_REL_IA64_DIR64 = #0005
          integer, parameter :: IMAGE_REL_IA64_PCREL21B = #0006
          integer, parameter :: IMAGE_REL_IA64_PCREL21M = #0007
          integer, parameter :: IMAGE_REL_IA64_PCREL21F = #0008
          integer, parameter :: IMAGE_REL_IA64_GPREL22 = #0009
          integer, parameter :: IMAGE_REL_IA64_LTOFF22 = #000A
          integer, parameter :: IMAGE_REL_IA64_SECTION = #000B
          integer, parameter :: IMAGE_REL_IA64_SECREL22 = #000C
          integer, parameter :: IMAGE_REL_IA64_SECREL64I = #000D
          integer, parameter :: IMAGE_REL_IA64_SECREL32 = #000E
          integer, parameter :: IMAGE_REL_IA64_LTOFF64 = #000F
          integer, parameter :: IMAGE_REL_IA64_DIR32NB = #0010
          integer, parameter :: IMAGE_REL_IA64_SREL14 = #0011
          integer, parameter :: IMAGE_REL_IA64_SREL22 = #0012
          integer, parameter :: IMAGE_REL_IA64_SREL32 = #0013
          integer, parameter :: IMAGE_REL_IA64_UREL32 = #0014
          integer, parameter :: IMAGE_REL_IA64_PCREL60X = #0015
          integer, parameter :: IMAGE_REL_IA64_PCREL60B = #0016
          integer, parameter :: IMAGE_REL_IA64_PCREL60F = #0017
          integer, parameter :: IMAGE_REL_IA64_PCREL60I = #0018
          integer, parameter :: IMAGE_REL_IA64_PCREL60M = #0019
          integer, parameter :: IMAGE_REL_IA64_IMMGPREL64 = #001A
          integer, parameter :: IMAGE_REL_IA64_ADDEND = #001F
          integer, parameter :: IMAGE_REL_BASED_IA64_IMM64 = 9
          integer, parameter :: VER_PLATFORM_WIN32_WINDOWS = 1
          integer, parameter :: VER_PLATFORM_WIN32_NT = 2
          integer, parameter :: SERVICE_WIN32_OWN_PROCESS = #00000010
          integer, parameter :: SERVICE_WIN32_SHARE_PROCESS = #00000020
          integer, parameter :: TAPE_ERASE_SHORT = 0
          integer, parameter :: TAPE_ERASE_LONG = 1
          integer, parameter :: TAPE_LOAD = 0
          integer, parameter :: TAPE_UNLOAD = 1
          integer, parameter :: TAPE_TENSION = 2
          integer, parameter :: TAPE_LOCK = 3
          integer, parameter :: TAPE_UNLOCK = 4
          integer, parameter :: TAPE_FORMAT = 5
          integer, parameter :: TAPE_SETMARKS = 0
          integer, parameter :: TAPE_FILEMARKS = 1
          integer, parameter :: TAPE_SHORT_FILEMARKS = 2
          integer, parameter :: TAPE_LONG_FILEMARKS = 3
          integer, parameter :: TAPE_ABSOLUTE_POSITION = 0
          integer, parameter :: TAPE_LOGICAL_POSITION = 1
          integer, parameter :: TAPE_PSEUDO_LOGICAL_POSITION = 2
          integer, parameter :: TAPE_REWIND = 0
          integer, parameter :: TAPE_ABSOLUTE_BLOCK = 1
          integer, parameter :: TAPE_LOGICAL_BLOCK = 2
          integer, parameter :: TAPE_PSEUDO_LOGICAL_BLOCK = 3
          integer, parameter :: TAPE_SPACE_END_OF_DATA = 4
          integer, parameter :: TAPE_SPACE_RELATIVE_BLOCKS = 5
          integer, parameter :: TAPE_SPACE_FILEMARKS = 6
          integer, parameter :: TAPE_SPACE_SEQUENTIAL_FMKS = 7
          integer, parameter :: TAPE_SPACE_SETMARKS = 8
          integer, parameter :: TAPE_SPACE_SEQUENTIAL_SMKS = 9
          integer, parameter :: TAPE_FIXED_PARTITIONS = 0
          integer, parameter :: TAPE_SELECT_PARTITIONS = 1
          integer, parameter :: TAPE_INITIATOR_PARTITIONS = 2
    !addition of 01-02-01
          integer, parameter :: NO_ERROR = 0
          integer, parameter :: ERROR_SUCCESS = 0
          integer, parameter :: ERROR_NO_ERROR = 0
          integer, parameter :: ERROR_INVALID_FUNCTION = 1
          integer, parameter :: ERROR_FILE_NOT_FOUND = 2
          integer, parameter :: ERROR_PATH_NOT_FOUND = 3
          integer, parameter :: ERROR_TOO_MANY_OPEN_FILES = 4
          integer, parameter :: ERROR_ACCESS_DENIED = 5
          integer, parameter :: ERROR_INVALID_HANDLE = 6
          integer, parameter :: ERROR_ARENA_TRASHED = 7
          integer, parameter :: ERROR_NOT_ENOUGH_MEMORY = 8
          integer, parameter :: ERROR_INVALID_BLOCK = 9
          integer, parameter :: ERROR_BAD_ENVIRONMENT = 10
          integer, parameter :: ERROR_BAD_FORMAT = 11
          integer, parameter :: ERROR_INVALID_ACCESS = 12
          integer, parameter :: ERROR_INVALID_DATA = 13
          integer, parameter :: ERROR_OUTOFMEMORY = 14
          integer, parameter :: ERROR_INVALID_DRIVE = 15
          integer, parameter :: ERROR_CURRENT_DIRECTORY = 16
          integer, parameter :: ERROR_NOT_SAME_DEVICE = 17
          integer, parameter :: ERROR_NO_MORE_FILES = 18
          integer, parameter :: ERROR_WRITE_PROTECT = 19
          integer, parameter :: ERROR_BAD_UNIT = 20
          integer, parameter :: ERROR_NOT_READY = 21
          integer, parameter :: ERROR_BAD_COMMAND = 22
          integer, parameter :: ERROR_CRC = 23
          integer, parameter :: ERROR_BAD_LENGTH = 24
          integer, parameter :: ERROR_SEEK = 25
          integer, parameter :: ERROR_NOT_DOS_DISK = 26
          integer, parameter :: ERROR_SECTOR_NOT_FOUND = 27
          integer, parameter :: ERROR_OUT_OF_PAPER = 28
          integer, parameter :: ERROR_WRITE_FAULT = 29
          integer, parameter :: ERROR_READ_FAULT = 30
          integer, parameter :: ERROR_GEN_FAILURE = 31
          integer, parameter :: ERROR_SHARING_VIOLATION = 32
          integer, parameter :: ERROR_LOCK_VIOLATION = 33
          integer, parameter :: ERROR_WRONG_DISK = 34
          integer, parameter :: ERROR_SHARING_BUFFER_EXCEEDED = 36
          integer, parameter :: ERROR_HANDLE_EOF = 38
          integer, parameter :: ERROR_HANDLE_DISK_FULL = 39
          integer, parameter :: ERROR_NOT_SUPPORTED = 50
          integer, parameter :: ERROR_REM_NOT_LIST = 51
          integer, parameter :: ERROR_DUP_NAME = 52
          integer, parameter :: ERROR_BAD_NETPATH = 53
          integer, parameter :: ERROR_NETWORK_BUSY = 54
          integer, parameter :: ERROR_DEV_NOT_EXIST = 55
          integer, parameter :: ERROR_TOO_MANY_CMDS = 56
          integer, parameter :: ERROR_ADAP_HDW_ERR = 57
          integer, parameter :: ERROR_BAD_NET_RESP = 58
          integer, parameter :: ERROR_UNEXP_NET_ERR = 59
          integer, parameter :: ERROR_BAD_REM_ADAP = 60
          integer, parameter :: ERROR_PRINTQ_FULL = 61
          integer, parameter :: ERROR_NO_SPOOL_SPACE = 62
          integer, parameter :: ERROR_PRINT_CANCELLED = 63
          integer, parameter :: ERROR_NETNAME_DELETED = 64
          integer, parameter :: ERROR_NETWORK_ACCESS_DENIED = 65
          integer, parameter :: ERROR_BAD_DEV_TYPE = 66
          integer, parameter :: ERROR_BAD_NET_NAME = 67
          integer, parameter :: ERROR_TOO_MANY_NAMES = 68
          integer, parameter :: ERROR_TOO_MANY_SESS = 69
          integer, parameter :: ERROR_SHARING_PAUSED = 70
          integer, parameter :: ERROR_REQ_NOT_ACCEP = 71
          integer, parameter :: ERROR_REDIR_PAUSED = 72
          integer, parameter :: ERROR_FILE_EXISTS = 80
          integer, parameter :: ERROR_CANNOT_MAKE = 82
          integer, parameter :: ERROR_FAIL_I24 = 83
          integer, parameter :: ERROR_OUT_OF_STRUCTURES = 84
          integer, parameter :: ERROR_ALREADY_ASSIGNED = 85
          integer, parameter :: ERROR_INVALID_PASSWORD = 86
          integer, parameter :: ERROR_INVALID_PARAMETER = 87
          integer, parameter :: ERROR_NET_WRITE_FAULT = 88
          integer, parameter :: ERROR_NO_PROC_SLOTS = 89
          integer, parameter :: ERROR_TOO_MANY_SEMAPHORES = 100
          integer, parameter :: ERROR_EXCL_SEM_ALREADY_OWNED = 101
          integer, parameter :: ERROR_SEM_IS_SET = 102
          integer, parameter :: ERROR_TOO_MANY_SEM_REQUESTS = 103
          integer, parameter :: ERROR_INVALID_AT_INTERRUPT_TIME = 104
          integer, parameter :: ERROR_SEM_OWNER_DIED = 105
          integer, parameter :: ERROR_SEM_USER_LIMIT = 106
          integer, parameter :: ERROR_DISK_CHANGE = 107
          integer, parameter :: ERROR_DRIVE_LOCKED = 108
          integer, parameter :: ERROR_BROKEN_PIPE = 109
          integer, parameter :: ERROR_OPEN_FAILED = 110
          integer, parameter :: ERROR_BUFFER_OVERFLOW = 111
          integer, parameter :: ERROR_DISK_FULL = 112
          integer, parameter :: ERROR_NO_MORE_SEARCH_HANDLES = 113
          integer, parameter :: ERROR_INVALID_TARGET_HANDLE = 114
          integer, parameter :: ERROR_INVALID_CATEGORY = 117
          integer, parameter :: ERROR_INVALID_VERIFY_SWITCH = 118
          integer, parameter :: ERROR_BAD_DRIVER_LEVEL = 119
          integer, parameter :: ERROR_CALL_NOT_IMPLEMENTED = 120
          integer, parameter :: ERROR_SEM_TIMEOUT = 121
          integer, parameter :: ERROR_INSUFFICIENT_BUFFER = 122
          integer, parameter :: ERROR_INVALID_NAME = 123
          integer, parameter :: ERROR_INVALID_LEVEL = 124
          integer, parameter :: ERROR_NO_VOLUME_LABEL = 125
          integer, parameter :: ERROR_MOD_NOT_FOUND = 126
          integer, parameter :: ERROR_PROC_NOT_FOUND = 127
          integer, parameter :: ERROR_WAIT_NO_CHILDREN = 128
          integer, parameter :: ERROR_CHILD_NOT_COMPLETE = 129
          integer, parameter :: ERROR_DIRECT_ACCESS_HANDLE = 130
          integer, parameter :: ERROR_NEGATIVE_SEEK = 131
          integer, parameter :: ERROR_SEEK_ON_DEVICE = 132
          integer, parameter :: ERROR_IS_JOIN_TARGET = 133
          integer, parameter :: ERROR_IS_JOINED = 134
          integer, parameter :: ERROR_IS_SUBSTED = 135
          integer, parameter :: ERROR_NOT_JOINED = 136
          integer, parameter :: ERROR_NOT_SUBSTED = 137
          integer, parameter :: ERROR_JOIN_TO_JOIN = 138
          integer, parameter :: ERROR_SUBST_TO_SUBST = 139
          integer, parameter :: ERROR_JOIN_TO_SUBST = 140
          integer, parameter :: ERROR_SUBST_TO_JOIN = 141
          integer, parameter :: ERROR_BUSY_DRIVE = 142
          integer, parameter :: ERROR_SAME_DRIVE = 143
          integer, parameter :: ERROR_DIR_NOT_ROOT = 144
          integer, parameter :: ERROR_DIR_NOT_EMPTY = 145
          integer, parameter :: ERROR_IS_SUBST_PATH = 146
          integer, parameter :: ERROR_IS_JOIN_PATH = 147
          integer, parameter :: ERROR_PATH_BUSY = 148
          integer, parameter :: ERROR_IS_SUBST_TARGET = 149
          integer, parameter :: ERROR_SYSTEM_TRACE = 150
          integer, parameter :: ERROR_INVALID_EVENT_COUNT = 151
          integer, parameter :: ERROR_TOO_MANY_MUXWAITERS = 152
          integer, parameter :: ERROR_INVALID_LIST_FORMAT = 153
          integer, parameter :: ERROR_LABEL_TOO_LONG = 154
          integer, parameter :: ERROR_TOO_MANY_TCBS = 155
          integer, parameter :: ERROR_SIGNAL_REFUSED = 156
          integer, parameter :: ERROR_DISCARDED = 157
          integer, parameter :: ERROR_NOT_LOCKED = 158
          integer, parameter :: ERROR_BAD_THREADID_ADDR = 159
          integer, parameter :: ERROR_BAD_ARGUMENTS = 160
          integer, parameter :: ERROR_BAD_PATHNAME = 161
          integer, parameter :: ERROR_SIGNAL_PENDING = 162
          integer, parameter :: ERROR_MAX_THRDS_REACHED = 164
          integer, parameter :: ERROR_LOCK_FAILED = 167
          integer, parameter :: ERROR_BUSY = 170
          integer, parameter :: ERROR_CANCEL_VIOLATION = 173
          integer, parameter :: ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174
          integer, parameter :: ERROR_INVALID_SEGMENT_NUMBER = 180
          integer, parameter :: ERROR_INVALID_ORDINAL = 182
          integer, parameter :: ERROR_ALREADY_EXISTS = 183
          integer, parameter :: ERROR_INVALID_FLAG_NUMBER = 186
          integer, parameter :: ERROR_SEM_NOT_FOUND = 187
          integer, parameter :: ERROR_INVALID_STARTING_CODESEG = 188
          integer, parameter :: ERROR_INVALID_STACKSEG = 189
          integer, parameter :: ERROR_INVALID_MODULETYPE = 190
          integer, parameter :: ERROR_INVALID_EXE_SIGNATURE = 191
          integer, parameter :: ERROR_EXE_MARKED_INVALID = 192
          integer, parameter :: ERROR_BAD_EXE_FORMAT = 193
          integer, parameter :: ERROR_ITERATED_DATA_EXCEEDS_64k = 194
          integer, parameter :: ERROR_INVALID_MINALLOCSIZE = 195
          integer, parameter :: ERROR_DYNLINK_FROM_INVALID_RING = 196
          integer, parameter :: ERROR_IOPL_NOT_ENABLED = 197
          integer, parameter :: ERROR_INVALID_SEGDPL = 198
          integer, parameter :: ERROR_AUTODATASEG_EXCEEDS_64k = 199
          integer, parameter :: ERROR_RING2SEG_MUST_BE_MOVABLE = 200
          integer, parameter :: ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201
          integer, parameter :: ERROR_INFLOOP_IN_RELOC_CHAIN = 202
          integer, parameter :: ERROR_ENVVAR_NOT_FOUND = 203
          integer, parameter :: ERROR_NO_SIGNAL_SENT = 205
          integer, parameter :: ERROR_FILENAME_EXCED_RANGE = 206
          integer, parameter :: ERROR_RING2_STACK_IN_USE = 207
          integer, parameter :: ERROR_META_EXPANSION_TOO_LONG = 208
          integer, parameter :: ERROR_INVALID_SIGNAL_NUMBER = 209
          integer, parameter :: ERROR_THREAD_1_INACTIVE = 210
          integer, parameter :: ERROR_LOCKED = 212
          integer, parameter :: ERROR_TOO_MANY_MODULES = 214
          integer, parameter :: ERROR_NESTING_NOT_ALLOWED = 215
          integer, parameter :: ERROR_EXE_MACHINE_TYPE_MISMATCH = 216
          integer, parameter :: ERROR_BAD_PIPE = 230
          integer, parameter :: ERROR_PIPE_BUSY = 231
          integer, parameter :: ERROR_NO_DATA = 232
          integer, parameter :: ERROR_PIPE_NOT_CONNECTED = 233
          integer, parameter :: ERROR_MORE_DATA = 234
          integer, parameter :: ERROR_VC_DISCONNECTED = 240
          integer, parameter :: ERROR_INVALID_EA_NAME = 254
          integer, parameter :: ERROR_EA_LIST_INCONSISTENT = 255
          integer, parameter :: WAIT_TIMEOUT = 258
          integer, parameter :: ERROR_NO_MORE_ITEMS = 259
          integer, parameter :: ERROR_CANNOT_COPY = 266
          integer, parameter :: ERROR_DIRECTORY = 267
          integer, parameter :: ERROR_EAS_DIDNT_FIT = 275
          integer, parameter :: ERROR_EA_FILE_CORRUPT = 276
          integer, parameter :: ERROR_EA_TABLE_FULL = 277
          integer, parameter :: ERROR_INVALID_EA_HANDLE = 278
          integer, parameter :: ERROR_EAS_NOT_SUPPORTED = 282
          integer, parameter :: ERROR_NOT_OWNER = 288
          integer, parameter :: ERROR_TOO_MANY_POSTS = 298
          integer, parameter :: ERROR_PARTIAL_COPY = 299
          integer, parameter :: ERROR_OPLOCK_NOT_GRANTED = 300
          integer, parameter :: ERROR_INVALID_OPLOCK_PROTOCOL = 301
          integer, parameter :: ERROR_MR_MID_NOT_FOUND = 317
          integer, parameter :: ERROR_INVALID_ADDRESS = 487
          integer, parameter :: ERROR_ARITHMETIC_OVERFLOW = 534
          integer, parameter :: ERROR_PIPE_CONNECTED = 535
          integer, parameter :: ERROR_PIPE_LISTENING = 536
          integer, parameter :: ERROR_EA_ACCESS_DENIED = 994
          integer, parameter :: ERROR_OPERATION_ABORTED = 995
          integer, parameter :: ERROR_IO_INCOMPLETE = 996
          integer, parameter :: ERROR_IO_PENDING = 997
          integer, parameter :: ERROR_NOACCESS = 998
          integer, parameter :: ERROR_SWAPERROR = 999
          integer, parameter :: ERROR_STACK_OVERFLOW = 1001
          integer, parameter :: ERROR_INVALID_MESSAGE = 1002
          integer, parameter :: ERROR_CAN_NOT_COMPLETE = 1003
          integer, parameter :: ERROR_INVALID_FLAGS = 1004
          integer, parameter :: ERROR_UNRECOGNIZED_VOLUME = 1005
          integer, parameter :: ERROR_FILE_INVALID = 1006
          integer, parameter :: ERROR_FULLSCREEN_MODE = 1007
          integer, parameter :: ERROR_NO_TOKEN = 1008
          integer, parameter :: ERROR_BADDB = 1009
          integer, parameter :: ERROR_BADKEY = 1010
          integer, parameter :: ERROR_CANTOPEN = 1011
          integer, parameter :: ERROR_CANTREAD = 1012
          integer, parameter :: ERROR_CANTWRITE = 1013
          integer, parameter :: ERROR_REGISTRY_RECOVERED = 1014
          integer, parameter :: ERROR_REGISTRY_CORRUPT = 1015
          integer, parameter :: ERROR_REGISTRY_IO_FAILED = 1016
          integer, parameter :: ERROR_NOT_REGISTRY_FILE = 1017
          integer, parameter :: ERROR_KEY_DELETED = 1018
          integer, parameter :: ERROR_NO_LOG_SPACE = 1019
          integer, parameter :: ERROR_KEY_HAS_CHILDREN = 1020
          integer, parameter :: ERROR_CHILD_MUST_BE_VOLATILE = 1021
          integer, parameter :: ERROR_NOTIFY_ENUM_DIR = 1022
          integer, parameter :: ERROR_DEPENDENT_SERVICES_RUNNING = 1051
          integer, parameter :: ERROR_INVALID_SERVICE_CONTROL = 1052
          integer, parameter :: ERROR_SERVICE_REQUEST_TIMEOUT = 1053
          integer, parameter :: ERROR_SERVICE_NO_THREAD = 1054
          integer, parameter :: ERROR_SERVICE_DATABASE_LOCKED = 1055
          integer, parameter :: ERROR_SERVICE_ALREADY_RUNNING = 1056
          integer, parameter :: ERROR_INVALID_SERVICE_ACCOUNT = 1057
          integer, parameter :: ERROR_SERVICE_DISABLED = 1058
          integer, parameter :: ERROR_CIRCULAR_DEPENDENCY = 1059
          integer, parameter :: ERROR_SERVICE_DOES_NOT_EXIST = 1060
          integer, parameter :: ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
          integer, parameter :: ERROR_SERVICE_NOT_ACTIVE = 1062
          integer, parameter :: ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063
          integer, parameter :: ERROR_EXCEPTION_IN_SERVICE = 1064
          integer, parameter :: ERROR_DATABASE_DOES_NOT_EXIST = 1065
          integer, parameter :: ERROR_SERVICE_SPECIFIC_ERROR = 1066
          integer, parameter :: ERROR_PROCESS_ABORTED = 1067
          integer, parameter :: ERROR_SERVICE_DEPENDENCY_FAIL = 1068
          integer, parameter :: ERROR_SERVICE_LOGON_FAILED = 1069
          integer, parameter :: ERROR_SERVICE_START_HANG = 1070
          integer, parameter :: ERROR_INVALID_SERVICE_LOCK = 1071
          integer, parameter :: ERROR_SERVICE_MARKED_FOR_DELETE = 1072
          integer, parameter :: ERROR_SERVICE_EXISTS = 1073
          integer, parameter :: ERROR_ALREADY_RUNNING_LKG = 1074
          integer, parameter :: ERROR_SERVICE_DEPENDENCY_DELETED = 1075
          integer, parameter :: ERROR_BOOT_ALREADY_ACCEPTED = 1076
          integer, parameter :: ERROR_SERVICE_NEVER_STARTED = 1077
          integer, parameter :: ERROR_DUPLICATE_SERVICE_NAME = 1078
          integer, parameter :: ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079
          integer, parameter :: ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080
          integer, parameter :: ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081
          integer, parameter :: ERROR_NO_RECOVERY_PROGRAM = 1082
          integer, parameter :: ERROR_SERVICE_NOT_IN_EXE = 1083
          integer, parameter :: ERROR_END_OF_MEDIA = 1100
          integer, parameter :: ERROR_FILEMARK_DETECTED = 1101
          integer, parameter :: ERROR_BEGINNING_OF_MEDIA = 1102
          integer, parameter :: ERROR_SETMARK_DETECTED = 1103
          integer, parameter :: ERROR_NO_DATA_DETECTED = 1104
          integer, parameter :: ERROR_PARTITION_FAILURE = 1105
          integer, parameter :: ERROR_INVALID_BLOCK_LENGTH = 1106
          integer, parameter :: ERROR_DEVICE_NOT_PARTITIONED = 1107
          integer, parameter :: ERROR_UNABLE_TO_LOCK_MEDIA = 1108
          integer, parameter :: ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109
          integer, parameter :: ERROR_MEDIA_CHANGED = 1110
          integer, parameter :: ERROR_BUS_RESET = 1111
          integer, parameter :: ERROR_NO_MEDIA_IN_DRIVE = 1112
          integer, parameter :: ERROR_NO_UNICODE_TRANSLATION = 1113
          integer, parameter :: ERROR_DLL_INIT_FAILED = 1114
          integer, parameter :: ERROR_SHUTDOWN_IN_PROGRESS = 1115
          integer, parameter :: ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116
          integer, parameter :: ERROR_IO_DEVICE = 1117
          integer, parameter :: ERROR_SERIAL_NO_DEVICE = 1118
          integer, parameter :: ERROR_IRQ_BUSY = 1119
          integer, parameter :: ERROR_MORE_WRITES = 1120
          integer, parameter :: ERROR_COUNTER_TIMEOUT = 1121
          integer, parameter :: ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122
          integer, parameter :: ERROR_FLOPPY_WRONG_CYLINDER = 1123
          integer, parameter :: ERROR_FLOPPY_UNKNOWN_ERROR = 1124
          integer, parameter :: ERROR_FLOPPY_BAD_REGISTERS = 1125
          integer, parameter :: ERROR_DISK_RECALIBRATE_FAILED = 1126
          integer, parameter :: ERROR_DISK_OPERATION_FAILED = 1127
          integer, parameter :: ERROR_DISK_RESET_FAILED = 1128
          integer, parameter :: ERROR_EOM_OVERFLOW = 1129
          integer, parameter :: ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130
          integer, parameter :: ERROR_POSSIBLE_DEADLOCK = 1131
          integer, parameter :: ERROR_MAPPED_ALIGNMENT = 1132
          integer, parameter :: ERROR_SET_POWER_STATE_VETOED = 1140
          integer, parameter :: ERROR_SET_POWER_STATE_FAILED = 1141
          integer, parameter :: ERROR_TOO_MANY_LINKS = 1142
          integer, parameter :: ERROR_OLD_WIN_VERSION = 1150
          integer, parameter :: ERROR_APP_WRONG_OS = 1151
          integer, parameter :: ERROR_SINGLE_INSTANCE_APP = 1152
          integer, parameter :: ERROR_RMODE_APP = 1153
          integer, parameter :: ERROR_INVALID_DLL = 1154
          integer, parameter :: ERROR_NO_ASSOCIATION = 1155
          integer, parameter :: ERROR_DDE_FAIL = 1156
          integer, parameter :: ERROR_DLL_NOT_FOUND = 1157
          integer, parameter :: ERROR_NO_MORE_USER_HANDLES = 1158
          integer, parameter :: ERROR_MESSAGE_SYNC_ONLY = 1159
          integer, parameter :: ERROR_SOURCE_ELEMENT_EMPTY = 1160
          integer, parameter :: ERROR_DESTINATION_ELEMENT_FULL = 1161
          integer, parameter :: ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162
          integer, parameter :: ERROR_MAGAZINE_NOT_PRESENT = 1163
          integer, parameter :: ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164
          integer, parameter :: ERROR_DEVICE_REQUIRES_CLEANING = 1165
          integer, parameter :: ERROR_DEVICE_DOOR_OPEN = 1166
          integer, parameter :: ERROR_DEVICE_NOT_CONNECTED = 1167
          integer, parameter :: ERROR_NOT_FOUND = 1168
          integer, parameter :: ERROR_NO_MATCH = 1169
          integer, parameter :: ERROR_SET_NOT_FOUND = 1170
          integer, parameter :: ERROR_POINT_NOT_FOUND = 1171
          integer, parameter :: ERROR_NO_TRACKING_SERVICE = 1172
          integer, parameter :: ERROR_NO_VOLUME_ID = 1173
          integer, parameter :: ERROR_UNABLE_TO_REMOVE_REPLACED = 1175
          integer, parameter :: ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176
          integer, parameter :: ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177
          integer, parameter :: ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178
          integer, parameter :: ERROR_JOURNAL_NOT_ACTIVE = 1179
          integer, parameter :: ERROR_POTENTIAL_FILE_FOUND = 1180
          integer, parameter :: ERROR_JOURNAL_ENTRY_DELETED = 1181
          integer, parameter :: ERROR_BAD_DEVICE = 1200
          integer, parameter :: ERROR_CONNECTION_UNAVAIL = 1201
          integer, parameter :: ERROR_DEVICE_ALREADY_REMEMBERED = 1202
          integer, parameter :: ERROR_NO_NET_OR_BAD_PATH = 1203
          integer, parameter :: ERROR_BAD_PROVIDER = 1204
          integer, parameter :: ERROR_CANNOT_OPEN_PROFILE = 1205
          integer, parameter :: ERROR_BAD_PROFILE = 1206
          integer, parameter :: ERROR_NOT_CONTAINER = 1207
          integer, parameter :: ERROR_EXTENDED_ERROR = 1208
          integer, parameter :: ERROR_INVALID_GROUPNAME = 1209
          integer, parameter :: ERROR_INVALID_COMPUTERNAME = 1210
          integer, parameter :: ERROR_INVALID_EVENTNAME = 1211
          integer, parameter :: ERROR_INVALID_DOMAINNAME = 1212
          integer, parameter :: ERROR_INVALID_SERVICENAME = 1213
          integer, parameter :: ERROR_INVALID_NETNAME = 1214
          integer, parameter :: ERROR_INVALID_SHARENAME = 1215
          integer, parameter :: ERROR_INVALID_PASSWORDNAME = 1216
          integer, parameter :: ERROR_INVALID_MESSAGENAME = 1217
          integer, parameter :: ERROR_INVALID_MESSAGEDEST = 1218
          integer, parameter :: ERROR_SESSION_CREDENTIAL_CONFLICT = 1219
          integer, parameter :: ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220
          integer, parameter :: ERROR_DUP_DOMAINNAME = 1221
          integer, parameter :: ERROR_NO_NETWORK = 1222
          integer, parameter :: ERROR_CANCELLED = 1223
          integer, parameter :: ERROR_USER_MAPPED_FILE = 1224
          integer, parameter :: ERROR_CONNECTION_REFUSED = 1225
          integer, parameter :: ERROR_GRACEFUL_DISCONNECT = 1226
          integer, parameter :: ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227
          integer, parameter :: ERROR_ADDRESS_NOT_ASSOCIATED = 1228
          integer, parameter :: ERROR_CONNECTION_INVALID = 1229
          integer, parameter :: ERROR_CONNECTION_ACTIVE = 1230
          integer, parameter :: ERROR_NETWORK_UNREACHABLE = 1231
          integer, parameter :: ERROR_HOST_UNREACHABLE = 1232
          integer, parameter :: ERROR_PROTOCOL_UNREACHABLE = 1233
          integer, parameter :: ERROR_PORT_UNREACHABLE = 1234
          integer, parameter :: ERROR_REQUEST_ABORTED = 1235
          integer, parameter :: ERROR_CONNECTION_ABORTED = 1236
          integer, parameter :: ERROR_RETRY = 1237
          integer, parameter :: ERROR_CONNECTION_COUNT_LIMIT = 1238
          integer, parameter :: ERROR_LOGIN_TIME_RESTRICTION = 1239
          integer, parameter :: ERROR_LOGIN_WKSTA_RESTRICTION = 1240
          integer, parameter :: ERROR_INCORRECT_ADDRESS = 1241
          integer, parameter :: ERROR_ALREADY_REGISTERED = 1242
          integer, parameter :: ERROR_SERVICE_NOT_FOUND = 1243
          integer, parameter :: ERROR_NOT_AUTHENTICATED = 1244
          integer, parameter :: ERROR_NOT_LOGGED_ON = 1245
          integer, parameter :: ERROR_CONTINUE = 1246
          integer, parameter :: ERROR_ALREADY_INITIALIZED = 1247
          integer, parameter :: ERROR_NO_MORE_DEVICES = 1248
          integer, parameter :: ERROR_NO_SUCH_SITE = 1249
          integer, parameter :: ERROR_DOMAIN_CONTROLLER_EXISTS = 1250
          integer, parameter :: ERROR_ONLY_IF_CONNECTED = 1251
          integer, parameter :: ERROR_OVERRIDE_NOCHANGES = 1252
          integer, parameter :: ERROR_BAD_USER_PROFILE = 1253
          integer, parameter :: ERROR_NOT_SUPPORTED_ON_SBS = 1254
          integer, parameter :: ERROR_NOT_ALL_ASSIGNED = 1300
          integer, parameter :: ERROR_SOME_NOT_MAPPED = 1301
          integer, parameter :: ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302
          integer, parameter :: ERROR_LOCAL_USER_SESSION_KEY = 1303
          integer, parameter :: ERROR_NULL_LM_PASSWORD = 1304
          integer, parameter :: ERROR_UNKNOWN_REVISION = 1305
          integer, parameter :: ERROR_REVISION_MISMATCH = 1306
          integer, parameter :: ERROR_INVALID_OWNER = 1307
          integer, parameter :: ERROR_INVALID_PRIMARY_GROUP = 1308
          integer, parameter :: ERROR_NO_IMPERSONATION_TOKEN = 1309
          integer, parameter :: ERROR_CANT_DISABLE_MANDATORY = 1310
          integer, parameter :: ERROR_NO_LOGON_SERVERS = 1311
          integer, parameter :: ERROR_NO_SUCH_LOGON_SESSION = 1312
          integer, parameter :: ERROR_NO_SUCH_PRIVILEGE = 1313
          integer, parameter :: ERROR_PRIVILEGE_NOT_HELD = 1314
          integer, parameter :: ERROR_INVALID_ACCOUNT_NAME = 1315
          integer, parameter :: ERROR_USER_EXISTS = 1316
          integer, parameter :: ERROR_NO_SUCH_USER = 1317
          integer, parameter :: ERROR_GROUP_EXISTS = 1318
          integer, parameter :: ERROR_NO_SUCH_GROUP = 1319
          integer, parameter :: ERROR_MEMBER_IN_GROUP = 1320
          integer, parameter :: ERROR_MEMBER_NOT_IN_GROUP = 1321
          integer, parameter :: ERROR_LAST_ADMIN = 1322
          integer, parameter :: ERROR_WRONG_PASSWORD = 1323
          integer, parameter :: ERROR_ILL_FORMED_PASSWORD = 1324
          integer, parameter :: ERROR_PASSWORD_RESTRICTION = 1325
          integer, parameter :: ERROR_LOGON_FAILURE = 1326
          integer, parameter :: ERROR_ACCOUNT_RESTRICTION = 1327
          integer, parameter :: ERROR_INVALID_LOGON_HOURS = 1328
          integer, parameter :: ERROR_INVALID_WORKSTATION = 1329
          integer, parameter :: ERROR_PASSWORD_EXPIRED = 1330
          integer, parameter :: ERROR_ACCOUNT_DISABLED = 1331
          integer, parameter :: ERROR_NONE_MAPPED = 1332
          integer, parameter :: ERROR_TOO_MANY_LUIDS_REQUESTED = 1333
          integer, parameter :: ERROR_LUIDS_EXHAUSTED = 1334
          integer, parameter :: ERROR_INVALID_SUB_AUTHORITY = 1335
          integer, parameter :: ERROR_INVALID_ACL = 1336
          integer, parameter :: ERROR_INVALID_SID = 1337
          integer, parameter :: ERROR_INVALID_SECURITY_DESCR = 1338
          integer, parameter :: ERROR_BAD_INHERITANCE_ACL = 1340
          integer, parameter :: ERROR_SERVER_DISABLED = 1341
          integer, parameter :: ERROR_SERVER_NOT_DISABLED = 1342
          integer, parameter :: ERROR_INVALID_ID_AUTHORITY = 1343
          integer, parameter :: ERROR_ALLOTTED_SPACE_EXCEEDED = 1344
          integer, parameter :: ERROR_INVALID_GROUP_ATTRIBUTES = 1345
          integer, parameter :: ERROR_BAD_IMPERSONATION_LEVEL = 1346
          integer, parameter :: ERROR_CANT_OPEN_ANONYMOUS = 1347
          integer, parameter :: ERROR_BAD_VALIDATION_CLASS = 1348
          integer, parameter :: ERROR_BAD_TOKEN_TYPE = 1349
          integer, parameter :: ERROR_NO_SECURITY_ON_OBJECT = 1350
          integer, parameter :: ERROR_CANT_ACCESS_DOMAIN_INFO = 1351
          integer, parameter :: ERROR_INVALID_SERVER_STATE = 1352
          integer, parameter :: ERROR_INVALID_DOMAIN_STATE = 1353
          integer, parameter :: ERROR_INVALID_DOMAIN_ROLE = 1354
          integer, parameter :: ERROR_NO_SUCH_DOMAIN = 1355
          integer, parameter :: ERROR_DOMAIN_EXISTS = 1356
          integer, parameter :: ERROR_DOMAIN_LIMIT_EXCEEDED = 1357
          integer, parameter :: ERROR_INTERNAL_DB_CORRUPTION = 1358
          integer, parameter :: ERROR_INTERNAL_ERROR = 1359
          integer, parameter :: ERROR_GENERIC_NOT_MAPPED = 1360
          integer, parameter :: ERROR_BAD_DESCRIPTOR_FORMAT = 1361
          integer, parameter :: ERROR_NOT_LOGON_PROCESS = 1362
          integer, parameter :: ERROR_LOGON_SESSION_EXISTS = 1363
          integer, parameter :: ERROR_NO_SUCH_PACKAGE = 1364
          integer, parameter :: ERROR_BAD_LOGON_SESSION_STATE = 1365
          integer, parameter :: ERROR_LOGON_SESSION_COLLISION = 1366
          integer, parameter :: ERROR_INVALID_LOGON_TYPE = 1367
          integer, parameter :: ERROR_CANNOT_IMPERSONATE = 1368
          integer, parameter :: ERROR_RXACT_INVALID_STATE = 1369
          integer, parameter :: ERROR_RXACT_COMMIT_FAILURE = 1370
          integer, parameter :: ERROR_SPECIAL_ACCOUNT = 1371
          integer, parameter :: ERROR_SPECIAL_GROUP = 1372
          integer, parameter :: ERROR_SPECIAL_USER = 1373
          integer, parameter :: ERROR_MEMBERS_PRIMARY_GROUP = 1374
          integer, parameter :: ERROR_TOKEN_ALREADY_IN_USE = 1375
          integer, parameter :: ERROR_NO_SUCH_ALIAS = 1376
          integer, parameter :: ERROR_MEMBER_NOT_IN_ALIAS = 1377
          integer, parameter :: ERROR_MEMBER_IN_ALIAS = 1378
          integer, parameter :: ERROR_ALIAS_EXISTS = 1379
          integer, parameter :: ERROR_LOGON_NOT_GRANTED = 1380
          integer, parameter :: ERROR_TOO_MANY_SECRETS = 1381
          integer, parameter :: ERROR_SECRET_TOO_LONG = 1382
          integer, parameter :: ERROR_INTERNAL_DB_ERROR = 1383
          integer, parameter :: ERROR_TOO_MANY_CONTEXT_IDS = 1384
          integer, parameter :: ERROR_LOGON_TYPE_NOT_GRANTED = 1385
          integer, parameter :: ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386
          integer, parameter :: ERROR_NO_SUCH_MEMBER = 1387
          integer, parameter :: ERROR_INVALID_MEMBER = 1388
          integer, parameter :: ERROR_TOO_MANY_SIDS = 1389
          integer, parameter :: ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390
          integer, parameter :: ERROR_NO_INHERITANCE = 1391
          integer, parameter :: ERROR_FILE_CORRUPT = 1392
          integer, parameter :: ERROR_DISK_CORRUPT = 1393
          integer, parameter :: ERROR_NO_USER_SESSION_KEY = 1394
          integer, parameter :: ERROR_LICENSE_QUOTA_EXCEEDED = 1395
          integer, parameter :: ERROR_WRONG_TARGET_NAME = 1396
          integer, parameter :: ERROR_MUTUAL_AUTH_FAILED = 1397
          integer, parameter :: ERROR_TIME_SKEW = 1398
          integer, parameter :: ERROR_INVALID_WINDOW_HANDLE = 1400
          integer, parameter :: ERROR_INVALID_MENU_HANDLE = 1401
          integer, parameter :: ERROR_INVALID_CURSOR_HANDLE = 1402
          integer, parameter :: ERROR_INVALID_ACCEL_HANDLE = 1403
          integer, parameter :: ERROR_INVALID_HOOK_HANDLE = 1404
          integer, parameter :: ERROR_INVALID_DWP_HANDLE = 1405
          integer, parameter :: ERROR_TLW_WITH_WSCHILD = 1406
          integer, parameter :: ERROR_CANNOT_FIND_WND_CLASS = 1407
          integer, parameter :: ERROR_WINDOW_OF_OTHER_THREAD = 1408
          integer, parameter :: ERROR_HOTKEY_ALREADY_REGISTERED = 1409
          integer, parameter :: ERROR_CLASS_ALREADY_EXISTS = 1410
          integer, parameter :: ERROR_CLASS_DOES_NOT_EXIST = 1411
          integer, parameter :: ERROR_CLASS_HAS_WINDOWS = 1412
          integer, parameter :: ERROR_INVALID_INDEX = 1413
          integer, parameter :: ERROR_INVALID_ICON_HANDLE = 1414
          integer, parameter :: ERROR_PRIVATE_DIALOG_INDEX = 1415
          integer, parameter :: ERROR_LISTBOX_ID_NOT_FOUND = 1416
          integer, parameter :: ERROR_NO_WILDCARD_CHARACTERS = 1417
          integer, parameter :: ERROR_CLIPBOARD_NOT_OPEN = 1418
          integer, parameter :: ERROR_HOTKEY_NOT_REGISTERED = 1419
          integer, parameter :: ERROR_WINDOW_NOT_DIALOG = 1420
          integer, parameter :: ERROR_CONTROL_ID_NOT_FOUND = 1421
          integer, parameter :: ERROR_INVALID_COMBOBOX_MESSAGE = 1422
          integer, parameter :: ERROR_WINDOW_NOT_COMBOBOX = 1423
          integer, parameter :: ERROR_INVALID_EDIT_HEIGHT = 1424
          integer, parameter :: ERROR_DC_NOT_FOUND = 1425
          integer, parameter :: ERROR_INVALID_HOOK_FILTER = 1426
          integer, parameter :: ERROR_INVALID_FILTER_PROC = 1427
          integer, parameter :: ERROR_HOOK_NEEDS_HMOD = 1428
          integer, parameter :: ERROR_GLOBAL_ONLY_HOOK = 1429
          integer, parameter :: ERROR_JOURNAL_HOOK_SET = 1430
          integer, parameter :: ERROR_HOOK_NOT_INSTALLED = 1431
          integer, parameter :: ERROR_INVALID_LB_MESSAGE = 1432
          integer, parameter :: ERROR_SETCOUNT_ON_BAD_LB = 1433
          integer, parameter :: ERROR_LB_WITHOUT_TABSTOPS = 1434
          integer, parameter :: ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435
          integer, parameter :: ERROR_CHILD_WINDOW_MENU = 1436
          integer, parameter :: ERROR_NO_SYSTEM_MENU = 1437
          integer, parameter :: ERROR_INVALID_MSGBOX_STYLE = 1438
          integer, parameter :: ERROR_INVALID_SPI_VALUE = 1439
          integer, parameter :: ERROR_SCREEN_ALREADY_LOCKED = 1440
          integer, parameter :: ERROR_HWNDS_HAVE_DIFF_PARENT = 1441
          integer, parameter :: ERROR_NOT_CHILD_WINDOW = 1442
          integer, parameter :: ERROR_INVALID_GW_COMMAND = 1443
          integer, parameter :: ERROR_INVALID_THREAD_ID = 1444
          integer, parameter :: ERROR_NON_MDICHILD_WINDOW = 1445
          integer, parameter :: ERROR_POPUP_ALREADY_ACTIVE = 1446
          integer, parameter :: ERROR_NO_SCROLLBARS = 1447
          integer, parameter :: ERROR_INVALID_SCROLLBAR_RANGE = 1448
          integer, parameter :: ERROR_INVALID_SHOWWIN_COMMAND = 1449
          integer, parameter :: ERROR_NO_SYSTEM_RESOURCES = 1450
          integer, parameter :: ERROR_NONPAGED_SYSTEM_RESOURCES = 1451
          integer, parameter :: ERROR_PAGED_SYSTEM_RESOURCES = 1452
          integer, parameter :: ERROR_WORKING_SET_QUOTA = 1453
          integer, parameter :: ERROR_PAGEFILE_QUOTA = 1454
          integer, parameter :: ERROR_COMMITMENT_LIMIT = 1455
          integer, parameter :: ERROR_MENU_ITEM_NOT_FOUND = 1456
          integer, parameter :: ERROR_INVALID_KEYBOARD_HANDLE = 1457
          integer, parameter :: ERROR_HOOK_TYPE_NOT_ALLOWED = 1458
          integer, parameter :: ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459
          integer, parameter :: ERROR_TIMEOUT = 1460
          integer, parameter :: ERROR_INVALID_MONITOR_HANDLE = 1461
          integer, parameter :: ERROR_EVENTLOG_FILE_CORRUPT = 1500
          integer, parameter :: ERROR_EVENTLOG_CANT_START = 1501
          integer, parameter :: ERROR_LOG_FILE_FULL = 1502
          integer, parameter :: ERROR_EVENTLOG_FILE_CHANGED = 1503
          integer, parameter :: ERROR_INSTALL_SERVICE_FAILURE = 1601
          integer, parameter :: ERROR_INSTALL_USEREXIT = 1602
          integer, parameter :: ERROR_INSTALL_FAILURE = 1603
          integer, parameter :: ERROR_INSTALL_SUSPEND = 1604
          integer, parameter :: ERROR_UNKNOWN_PRODUCT = 1605
          integer, parameter :: ERROR_UNKNOWN_FEATURE = 1606
          integer, parameter :: ERROR_UNKNOWN_COMPONENT = 1607
          integer, parameter :: ERROR_UNKNOWN_PROPERTY = 1608
          integer, parameter :: ERROR_INVALID_HANDLE_STATE = 1609
          integer, parameter :: ERROR_BAD_CONFIGURATION = 1610
          integer, parameter :: ERROR_INDEX_ABSENT = 1611
          integer, parameter :: ERROR_INSTALL_SOURCE_ABSENT = 1612
          integer, parameter :: ERROR_INSTALL_PACKAGE_VERSION = 1613
          integer, parameter :: ERROR_PRODUCT_UNINSTALLED = 1614
          integer, parameter :: ERROR_BAD_QUERY_SYNTAX = 1615
          integer, parameter :: ERROR_INVALID_FIELD = 1616
          integer, parameter :: ERROR_DEVICE_REMOVED = 1617
          integer, parameter :: ERROR_INSTALL_ALREADY_RUNNING = 1618
          integer, parameter :: ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619
          integer, parameter :: ERROR_INSTALL_PACKAGE_INVALID = 1620
          integer, parameter :: ERROR_INSTALL_UI_FAILURE = 1621
          integer, parameter :: ERROR_INSTALL_LOG_FAILURE = 1622
          integer, parameter :: ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623
          integer, parameter :: ERROR_INSTALL_TRANSFORM_FAILURE = 1624
          integer, parameter :: ERROR_INSTALL_PACKAGE_REJECTED = 1625
          integer, parameter :: ERROR_FUNCTION_NOT_CALLED = 1626
          integer, parameter :: ERROR_FUNCTION_FAILED = 1627
          integer, parameter :: ERROR_INVALID_TABLE = 1628
          integer, parameter :: ERROR_DATATYPE_MISMATCH = 1629
          integer, parameter :: ERROR_UNSUPPORTED_TYPE = 1630
          integer, parameter :: ERROR_CREATE_FAILED = 1631
          integer, parameter :: ERROR_INSTALL_TEMP_UNWRITABLE = 1632
          integer, parameter :: ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633
          integer, parameter :: ERROR_INSTALL_NOTUSED = 1634
          integer, parameter :: ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635
          integer, parameter :: ERROR_PATCH_PACKAGE_INVALID = 1636
          integer, parameter :: ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637
          integer, parameter :: ERROR_PRODUCT_VERSION = 1638
          integer, parameter :: ERROR_INVALID_COMMAND_LINE = 1639
          integer, parameter :: ERROR_INSTALL_REMOTE_DISALLOWED = 1640
          integer, parameter :: ERROR_SUCCESS_REBOOT_INITIATED = 1641
          integer, parameter :: ERROR_PATCH_TARGET_NOT_FOUND = 1642
          integer, parameter :: RPC_S_INVALID_STRING_BINDING = 1700
          integer, parameter :: RPC_S_WRONG_KIND_OF_BINDING = 1701
          integer, parameter :: RPC_S_INVALID_BINDING = 1702
          integer, parameter :: RPC_S_PROTSEQ_NOT_SUPPORTED = 1703
          integer, parameter :: RPC_S_INVALID_RPC_PROTSEQ = 1704
          integer, parameter :: RPC_S_INVALID_STRING_UUID = 1705
          integer, parameter :: RPC_S_INVALID_ENDPOINT_FORMAT = 1706
          integer, parameter :: RPC_S_INVALID_NET_ADDR = 1707
          integer, parameter :: RPC_S_NO_ENDPOINT_FOUND = 1708
          integer, parameter :: RPC_S_INVALID_TIMEOUT = 1709
          integer, parameter :: RPC_S_OBJECT_NOT_FOUND = 1710
          integer, parameter :: RPC_S_ALREADY_REGISTERED = 1711
          integer, parameter :: RPC_S_TYPE_ALREADY_REGISTERED = 1712
          integer, parameter :: RPC_S_ALREADY_LISTENING = 1713
          integer, parameter :: RPC_S_NO_PROTSEQS_REGISTERED = 1714
          integer, parameter :: RPC_S_NOT_LISTENING = 1715
          integer, parameter :: RPC_S_UNKNOWN_MGR_TYPE = 1716
          integer, parameter :: RPC_S_UNKNOWN_IF = 1717
          integer, parameter :: RPC_S_NO_BINDINGS = 1718
          integer, parameter :: RPC_S_NO_PROTSEQS = 1719
          integer, parameter :: RPC_S_CANT_CREATE_ENDPOINT = 1720
          integer, parameter :: RPC_S_OUT_OF_RESOURCES = 1721
          integer, parameter :: RPC_S_SERVER_UNAVAILABLE = 1722
          integer, parameter :: RPC_S_SERVER_TOO_BUSY = 1723
          integer, parameter :: RPC_S_INVALID_NETWORK_OPTIONS = 1724
          integer, parameter :: RPC_S_NO_CALL_ACTIVE = 1725
          integer, parameter :: RPC_S_CALL_FAILED = 1726
          integer, parameter :: RPC_S_CALL_FAILED_DNE = 1727
          integer, parameter :: RPC_S_PROTOCOL_ERROR = 1728
          integer, parameter :: RPC_S_UNSUPPORTED_TRANS_SYN = 1730
          integer, parameter :: RPC_S_UNSUPPORTED_TYPE = 1732
          integer, parameter :: RPC_S_INVALID_TAG = 1733
          integer, parameter :: RPC_S_INVALID_BOUND = 1734
          integer, parameter :: RPC_S_NO_ENTRY_NAME = 1735
          integer, parameter :: RPC_S_INVALID_NAME_SYNTAX = 1736
          integer, parameter :: RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737
          integer, parameter :: RPC_S_UUID_NO_ADDRESS = 1739
          integer, parameter :: RPC_S_DUPLICATE_ENDPOINT = 1740
          integer, parameter :: RPC_S_UNKNOWN_AUTHN_TYPE = 1741
          integer, parameter :: RPC_S_MAX_CALLS_TOO_SMALL = 1742
          integer, parameter :: RPC_S_STRING_TOO_LONG = 1743
          integer, parameter :: RPC_S_PROTSEQ_NOT_FOUND = 1744
          integer, parameter :: RPC_S_PROCNUM_OUT_OF_RANGE = 1745
          integer, parameter :: RPC_S_BINDING_HAS_NO_AUTH = 1746
          integer, parameter :: RPC_S_UNKNOWN_AUTHN_SERVICE = 1747
          integer, parameter :: RPC_S_UNKNOWN_AUTHN_LEVEL = 1748
          integer, parameter :: RPC_S_INVALID_AUTH_IDENTITY = 1749
          integer, parameter :: RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750
          integer, parameter :: EPT_S_INVALID_ENTRY = 1751
          integer, parameter :: EPT_S_CANT_PERFORM_OP = 1752
          integer, parameter :: EPT_S_NOT_REGISTERED = 1753
          integer, parameter :: RPC_S_NOTHING_TO_EXPORT = 1754
          integer, parameter :: RPC_S_INCOMPLETE_NAME = 1755
          integer, parameter :: RPC_S_INVALID_VERS_OPTION = 1756
          integer, parameter :: RPC_S_NO_MORE_MEMBERS = 1757
          integer, parameter :: RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758
          integer, parameter :: RPC_S_INTERFACE_NOT_FOUND = 1759
          integer, parameter :: RPC_S_ENTRY_ALREADY_EXISTS = 1760
          integer, parameter :: RPC_S_ENTRY_NOT_FOUND = 1761
          integer, parameter :: RPC_S_NAME_SERVICE_UNAVAILABLE = 1762
          integer, parameter :: RPC_S_INVALID_NAF_ID = 1763
          integer, parameter :: RPC_S_CANNOT_SUPPORT = 1764
          integer, parameter :: RPC_S_NO_CONTEXT_AVAILABLE = 1765
          integer, parameter :: RPC_S_INTERNAL_ERROR = 1766
          integer, parameter :: RPC_S_ZERO_DIVIDE = 1767
          integer, parameter :: RPC_S_ADDRESS_ERROR = 1768
          integer, parameter :: RPC_S_FP_DIV_ZERO = 1769
          integer, parameter :: RPC_S_FP_UNDERFLOW = 1770
          integer, parameter :: RPC_S_FP_OVERFLOW = 1771
          integer, parameter :: RPC_X_NO_MORE_ENTRIES = 1772
          integer, parameter :: RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773
          integer, parameter :: RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774
          integer, parameter :: RPC_X_SS_IN_NULL_CONTEXT = 1775
          integer, parameter :: RPC_X_SS_CONTEXT_DAMAGED = 1777
          integer, parameter :: RPC_X_SS_HANDLES_MISMATCH = 1778
          integer, parameter :: RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779
          integer, parameter :: RPC_X_NULL_REF_POINTER = 1780
          integer, parameter :: RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781
          integer, parameter :: RPC_X_BYTE_COUNT_TOO_SMALL = 1782
          integer, parameter :: RPC_X_BAD_STUB_DATA = 1783
          integer, parameter :: ERROR_INVALID_USER_BUFFER = 1784
          integer, parameter :: ERROR_UNRECOGNIZED_MEDIA = 1785
          integer, parameter :: ERROR_NO_TRUST_LSA_SECRET = 1786
          integer, parameter :: ERROR_NO_TRUST_SAM_ACCOUNT = 1787
          integer, parameter :: ERROR_TRUSTED_DOMAIN_FAILURE = 1788
          integer, parameter :: ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789
          integer, parameter :: ERROR_TRUST_FAILURE = 1790
          integer, parameter :: RPC_S_CALL_IN_PROGRESS = 1791
          integer, parameter :: ERROR_NETLOGON_NOT_STARTED = 1792
          integer, parameter :: ERROR_ACCOUNT_EXPIRED = 1793
          integer, parameter :: ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794
          integer, parameter :: ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795
          integer, parameter :: ERROR_UNKNOWN_PORT = 1796
          integer, parameter :: ERROR_UNKNOWN_PRINTER_DRIVER = 1797
          integer, parameter :: ERROR_UNKNOWN_PRINTPROCESSOR = 1798
          integer, parameter :: ERROR_INVALID_SEPARATOR_FILE = 1799
          integer, parameter :: ERROR_INVALID_PRIORITY = 1800
          integer, parameter :: ERROR_INVALID_PRINTER_NAME = 1801
          integer, parameter :: ERROR_PRINTER_ALREADY_EXISTS = 1802
          integer, parameter :: ERROR_INVALID_PRINTER_COMMAND = 1803
          integer, parameter :: ERROR_INVALID_DATATYPE = 1804
          integer, parameter :: ERROR_INVALID_ENVIRONMENT = 1805
          integer, parameter :: RPC_S_NO_MORE_BINDINGS = 1806
          integer, parameter :: ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807
          integer, parameter :: ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808
          integer, parameter :: ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809
          integer, parameter :: ERROR_DOMAIN_TRUST_INCONSISTENT = 1810
          integer, parameter :: ERROR_SERVER_HAS_OPEN_HANDLES = 1811
          integer, parameter :: ERROR_RESOURCE_DATA_NOT_FOUND = 1812
          integer, parameter :: ERROR_RESOURCE_TYPE_NOT_FOUND = 1813
          integer, parameter :: ERROR_RESOURCE_NAME_NOT_FOUND = 1814
          integer, parameter :: ERROR_RESOURCE_LANG_NOT_FOUND = 1815
          integer, parameter :: ERROR_NOT_ENOUGH_QUOTA = 1816
          integer, parameter :: RPC_S_NO_INTERFACES = 1817
          integer, parameter :: RPC_S_CALL_CANCELLED = 1818
          integer, parameter :: RPC_S_BINDING_INCOMPLETE = 1819
          integer, parameter :: RPC_S_COMM_FAILURE = 1820
          integer, parameter :: RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821
          integer, parameter :: RPC_S_NO_PRINC_NAME = 1822
          integer, parameter :: RPC_S_NOT_RPC_ERROR = 1823
          integer, parameter :: RPC_S_UUID_LOCAL_ONLY = 1824
          integer, parameter :: RPC_S_SEC_PKG_ERROR = 1825
          integer, parameter :: RPC_S_NOT_CANCELLED = 1826
          integer, parameter :: RPC_X_INVALID_ES_ACTION = 1827
          integer, parameter :: RPC_X_WRONG_ES_VERSION = 1828
          integer, parameter :: RPC_X_WRONG_STUB_VERSION = 1829
          integer, parameter :: RPC_X_INVALID_PIPE_OBJECT = 1830
          integer, parameter :: RPC_X_WRONG_PIPE_ORDER = 1831
          integer, parameter :: RPC_X_WRONG_PIPE_VERSION = 1832
          integer, parameter :: RPC_S_GROUP_MEMBER_NOT_FOUND = 1898
          integer, parameter :: EPT_S_CANT_CREATE = 1899
          integer, parameter :: RPC_S_INVALID_OBJECT = 1900
          integer, parameter :: ERROR_INVALID_TIME = 1901
          integer, parameter :: ERROR_INVALID_FORM_NAME = 1902
          integer, parameter :: ERROR_INVALID_FORM_SIZE = 1903
          integer, parameter :: ERROR_ALREADY_WAITING = 1904
          integer, parameter :: ERROR_PRINTER_DELETED = 1905
          integer, parameter :: ERROR_INVALID_PRINTER_STATE = 1906
          integer, parameter :: ERROR_PASSWORD_MUST_CHANGE = 1907
          integer, parameter :: ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908
          integer, parameter :: ERROR_ACCOUNT_LOCKED_OUT = 1909
          integer, parameter :: OR_INVALID_OXID = 1910
          integer, parameter :: OR_INVALID_OID = 1911
          integer, parameter :: OR_INVALID_SET = 1912
          integer, parameter :: RPC_S_SEND_INCOMPLETE = 1913
          integer, parameter :: RPC_S_INVALID_ASYNC_HANDLE = 1914
          integer, parameter :: RPC_S_INVALID_ASYNC_CALL = 1915
          integer, parameter :: RPC_X_PIPE_CLOSED = 1916
          integer, parameter :: RPC_X_PIPE_DISCIPLINE_ERROR = 1917
          integer, parameter :: RPC_X_PIPE_EMPTY = 1918
          integer, parameter :: ERROR_NO_SITENAME = 1919
          integer, parameter :: ERROR_CANT_ACCESS_FILE = 1920
          integer, parameter :: ERROR_CANT_RESOLVE_FILENAME = 1921
          integer, parameter :: RPC_S_ENTRY_TYPE_MISMATCH = 1922
          integer, parameter :: RPC_S_NOT_ALL_OBJS_EXPORTED = 1923
          integer, parameter :: RPC_S_INTERFACE_NOT_EXPORTED = 1924
          integer, parameter :: RPC_S_PROFILE_NOT_ADDED = 1925
          integer, parameter :: RPC_S_PRF_ELT_NOT_ADDED = 1926
          integer, parameter :: RPC_S_PRF_ELT_NOT_REMOVED = 1927
          integer, parameter :: RPC_S_GRP_ELT_NOT_ADDED = 1928
          integer, parameter :: RPC_S_GRP_ELT_NOT_REMOVED = 1929
          integer, parameter :: ERROR_NO_BROWSER_SERVERS_FOUND = 6118
          integer, parameter :: ERROR_INVALID_PIXEL_FORMAT = 2000
          integer, parameter :: ERROR_BAD_DRIVER = 2001
          integer, parameter :: ERROR_INVALID_WINDOW_STYLE = 2002
          integer, parameter :: ERROR_METAFILE_NOT_SUPPORTED = 2003
          integer, parameter :: ERROR_TRANSFORM_NOT_SUPPORTED = 2004
          integer, parameter :: ERROR_CLIPPING_NOT_SUPPORTED = 2005
          integer, parameter :: ERROR_INVALID_CMM = 2010
          integer, parameter :: ERROR_INVALID_PROFILE = 2011
          integer, parameter :: ERROR_TAG_NOT_FOUND = 2012
          integer, parameter :: ERROR_TAG_NOT_PRESENT = 2013
          integer, parameter :: ERROR_DUPLICATE_TAG = 2014
          integer, parameter :: ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015
          integer, parameter :: ERROR_PROFILE_NOT_FOUND = 2016
          integer, parameter :: ERROR_INVALID_COLORSPACE = 2017
          integer, parameter :: ERROR_ICM_NOT_ENABLED = 2018
          integer, parameter :: ERROR_DELETING_ICM_XFORM = 2019
          integer, parameter :: ERROR_INVALID_TRANSFORM = 2020
          integer, parameter :: ERROR_COLORSPACE_MISMATCH = 2021
          integer, parameter :: ERROR_INVALID_COLORINDEX = 2022
          integer, parameter :: ERROR_CONNECTED_OTHER_PASSWORD = 2108
          integer, parameter :: ERROR_BAD_USERNAME = 2202
          integer, parameter :: ERROR_NOT_CONNECTED = 2250
          integer, parameter :: ERROR_OPEN_FILES = 2401
          integer, parameter :: ERROR_ACTIVE_CONNECTIONS = 2402
          integer, parameter :: ERROR_DEVICE_IN_USE = 2404
          integer, parameter :: ERROR_UNKNOWN_PRINT_MONITOR = 3000
          integer, parameter :: ERROR_PRINTER_DRIVER_IN_USE = 3001
          integer, parameter :: ERROR_SPOOL_FILE_NOT_FOUND = 3002
          integer, parameter :: ERROR_SPL_NO_STARTDOC = 3003
          integer, parameter :: ERROR_SPL_NO_ADDJOB = 3004
          integer, parameter :: ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005
          integer, parameter :: ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006
          integer, parameter :: ERROR_INVALID_PRINT_MONITOR = 3007
          integer, parameter :: ERROR_PRINT_MONITOR_IN_USE = 3008
          integer, parameter :: ERROR_PRINTER_HAS_JOBS_QUEUED = 3009
          integer, parameter :: ERROR_SUCCESS_REBOOT_REQUIRED = 3010
          integer, parameter :: ERROR_SUCCESS_RESTART_REQUIRED = 3011
          integer, parameter :: ERROR_PRINTER_NOT_FOUND = 3012
          integer, parameter :: ERROR_WINS_INTERNAL = 4000
          integer, parameter :: ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001
          integer, parameter :: ERROR_STATIC_INIT = 4002
          integer, parameter :: ERROR_INC_BACKUP = 4003
          integer, parameter :: ERROR_FULL_BACKUP = 4004
          integer, parameter :: ERROR_REC_NON_EXISTENT = 4005
          integer, parameter :: ERROR_RPL_NOT_ALLOWED = 4006
          integer, parameter :: ERROR_DHCP_ADDRESS_CONFLICT = 4100
          integer, parameter :: ERROR_WMI_GUID_NOT_FOUND = 4200
          integer, parameter :: ERROR_WMI_INSTANCE_NOT_FOUND = 4201
          integer, parameter :: ERROR_WMI_ITEMID_NOT_FOUND = 4202
          integer, parameter :: ERROR_WMI_TRY_AGAIN = 4203
          integer, parameter :: ERROR_WMI_DP_NOT_FOUND = 4204
          integer, parameter :: ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205
          integer, parameter :: ERROR_WMI_ALREADY_ENABLED = 4206
          integer, parameter :: ERROR_WMI_GUID_DISCONNECTED = 4207
          integer, parameter :: ERROR_WMI_SERVER_UNAVAILABLE = 4208
          integer, parameter :: ERROR_WMI_DP_FAILED = 4209
          integer, parameter :: ERROR_WMI_INVALID_MOF = 4210
          integer, parameter :: ERROR_WMI_INVALID_REGINFO = 4211
          integer, parameter :: ERROR_WMI_ALREADY_DISABLED = 4212
          integer, parameter :: ERROR_WMI_READ_ONLY = 4213
          integer, parameter :: ERROR_WMI_SET_FAILURE = 4214
          integer, parameter :: ERROR_INVALID_MEDIA = 4300
          integer, parameter :: ERROR_INVALID_LIBRARY = 4301
          integer, parameter :: ERROR_INVALID_MEDIA_POOL = 4302
          integer, parameter :: ERROR_DRIVE_MEDIA_MISMATCH = 4303
          integer, parameter :: ERROR_MEDIA_OFFLINE = 4304
          integer, parameter :: ERROR_LIBRARY_OFFLINE = 4305
          integer, parameter :: ERROR_EMPTY = 4306
          integer, parameter :: ERROR_NOT_EMPTY = 4307
          integer, parameter :: ERROR_MEDIA_UNAVAILABLE = 4308
          integer, parameter :: ERROR_RESOURCE_DISABLED = 4309
          integer, parameter :: ERROR_INVALID_CLEANER = 4310
          integer, parameter :: ERROR_UNABLE_TO_CLEAN = 4311
          integer, parameter :: ERROR_OBJECT_NOT_FOUND = 4312
          integer, parameter :: ERROR_DATABASE_FAILURE = 4313
          integer, parameter :: ERROR_DATABASE_FULL = 4314
          integer, parameter :: ERROR_MEDIA_INCOMPATIBLE = 4315
          integer, parameter :: ERROR_RESOURCE_NOT_PRESENT = 4316
          integer, parameter :: ERROR_INVALID_OPERATION = 4317
          integer, parameter :: ERROR_MEDIA_NOT_AVAILABLE = 4318
          integer, parameter :: ERROR_DEVICE_NOT_AVAILABLE = 4319
          integer, parameter :: ERROR_REQUEST_REFUSED = 4320
          integer, parameter :: ERROR_INVALID_DRIVE_OBJECT = 4321
          integer, parameter :: ERROR_LIBRARY_FULL = 4322
          integer, parameter :: ERROR_MEDIUM_NOT_ACCESSIBLE = 4323
          integer, parameter :: ERROR_UNABLE_TO_LOAD_MEDIUM = 4324
          integer, parameter :: ERROR_UNABLE_TO_INVENTORY_DRIVE = 4325
          integer, parameter :: ERROR_UNABLE_TO_INVENTORY_SLOT = 4326
          integer, parameter :: ERROR_UNABLE_TO_INVENTORY_TRANSPORT = 4327
          integer, parameter :: ERROR_TRANSPORT_FULL = 4328
          integer, parameter :: ERROR_CONTROLLING_IEPORT = 4329
          integer, parameter :: ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330
          integer, parameter :: ERROR_CLEANER_SLOT_SET = 4331
          integer, parameter :: ERROR_CLEANER_SLOT_NOT_SET = 4332
          integer, parameter :: ERROR_CLEANER_CARTRIDGE_SPENT = 4333
          integer, parameter :: ERROR_UNEXPECTED_OMID = 4334
          integer, parameter :: ERROR_CANT_DELETE_LAST_ITEM = 4335
          integer, parameter :: ERROR_MESSAGE_EXCEEDS_MAX_SIZE = 4336
          integer, parameter :: ERROR_VOLUME_CONTAINS_SYS_FILES = 4337
          integer, parameter :: ERROR_INDIGENOUS_TYPE = 4338
          integer, parameter :: ERROR_NO_SUPPORTING_DRIVES = 4339
          integer, parameter :: ERROR_FILE_OFFLINE = 4350
          integer, parameter :: ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351
          integer, parameter :: ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352
          integer, parameter :: ERROR_NOT_A_REPARSE_POINT = 4390
          integer, parameter :: ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391
          integer, parameter :: ERROR_INVALID_REPARSE_DATA = 4392
          integer, parameter :: ERROR_REPARSE_TAG_INVALID = 4393
          integer, parameter :: ERROR_REPARSE_TAG_MISMATCH = 4394
          integer, parameter :: ERROR_VOLUME_NOT_SIS_ENABLED = 4500
          integer, parameter :: ERROR_DEPENDENT_RESOURCE_EXISTS = 5001
          integer, parameter :: ERROR_DEPENDENCY_NOT_FOUND = 5002
          integer, parameter :: ERROR_DEPENDENCY_ALREADY_EXISTS = 5003
          integer, parameter :: ERROR_RESOURCE_NOT_ONLINE = 5004
          integer, parameter :: ERROR_HOST_NODE_NOT_AVAILABLE = 5005
          integer, parameter :: ERROR_RESOURCE_NOT_AVAILABLE = 5006
          integer, parameter :: ERROR_RESOURCE_NOT_FOUND = 5007
          integer, parameter :: ERROR_SHUTDOWN_CLUSTER = 5008
          integer, parameter :: ERROR_CANT_EVICT_ACTIVE_NODE = 5009
          integer, parameter :: ERROR_OBJECT_ALREADY_EXISTS = 5010
          integer, parameter :: ERROR_OBJECT_IN_LIST = 5011
          integer, parameter :: ERROR_GROUP_NOT_AVAILABLE = 5012
          integer, parameter :: ERROR_GROUP_NOT_FOUND = 5013
          integer, parameter :: ERROR_GROUP_NOT_ONLINE = 5014
          integer, parameter :: ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015
          integer, parameter :: ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016
          integer, parameter :: ERROR_RESMON_CREATE_FAILED = 5017
          integer, parameter :: ERROR_RESMON_ONLINE_FAILED = 5018
          integer, parameter :: ERROR_RESOURCE_ONLINE = 5019
          integer, parameter :: ERROR_QUORUM_RESOURCE = 5020
          integer, parameter :: ERROR_NOT_QUORUM_CAPABLE = 5021
          integer, parameter :: ERROR_CLUSTER_SHUTTING_DOWN = 5022
          integer, parameter :: ERROR_INVALID_STATE = 5023
          integer, parameter :: ERROR_RESOURCE_PROPERTIES_STORED = 5024
          integer, parameter :: ERROR_NOT_QUORUM_CLASS = 5025
          integer, parameter :: ERROR_CORE_RESOURCE = 5026
          integer, parameter :: ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027
          integer, parameter :: ERROR_QUORUMLOG_OPEN_FAILED = 5028
          integer, parameter :: ERROR_CLUSTERLOG_CORRUPT = 5029
          integer, parameter :: ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030
          integer, parameter :: ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031
          integer, parameter :: ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032
          integer, parameter :: ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033
          integer, parameter :: ERROR_QUORUM_OWNER_ALIVE = 5034
          integer, parameter :: ERROR_NETWORK_NOT_AVAILABLE = 5035
          integer, parameter :: ERROR_NODE_NOT_AVAILABLE = 5036
          integer, parameter :: ERROR_ALL_NODES_NOT_AVAILABLE = 5037
          integer, parameter :: ERROR_RESOURCE_FAILED = 5038
          integer, parameter :: ERROR_CLUSTER_INVALID_NODE = 5039
          integer, parameter :: ERROR_CLUSTER_NODE_EXISTS = 5040
          integer, parameter :: ERROR_CLUSTER_JOIN_IN_PROGRESS = 5041
          integer, parameter :: ERROR_CLUSTER_NODE_NOT_FOUND = 5042
          integer, parameter :: ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043
          integer, parameter :: ERROR_CLUSTER_NETWORK_EXISTS = 5044
          integer, parameter :: ERROR_CLUSTER_NETWORK_NOT_FOUND = 5045
          integer, parameter :: ERROR_CLUSTER_NETINTERFACE_EXISTS = 5046
          integer, parameter :: ERROR_CLUSTER_NETINTERFACE_NOT_FOUND = 5047
          integer, parameter :: ERROR_CLUSTER_INVALID_REQUEST = 5048
          integer, parameter :: ERROR_CLUSTER_INVALID_NETWORK_PROVIDER = 5049
          integer, parameter :: ERROR_CLUSTER_NODE_DOWN = 5050
          integer, parameter :: ERROR_CLUSTER_NODE_UNREACHABLE = 5051
          integer, parameter :: ERROR_CLUSTER_NODE_NOT_MEMBER = 5052
          integer, parameter :: ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053
          integer, parameter :: ERROR_CLUSTER_INVALID_NETWORK = 5054
          integer, parameter :: ERROR_CLUSTER_NODE_UP = 5056
          integer, parameter :: ERROR_CLUSTER_IPADDR_IN_USE = 5057
          integer, parameter :: ERROR_CLUSTER_NODE_NOT_PAUSED = 5058
          integer, parameter :: ERROR_CLUSTER_NO_SECURITY_CONTEXT = 5059
          integer, parameter :: ERROR_CLUSTER_NETWORK_NOT_INTERNAL = 5060
          integer, parameter :: ERROR_CLUSTER_NODE_ALREADY_UP = 5061
          integer, parameter :: ERROR_CLUSTER_NODE_ALREADY_DOWN = 5062
          integer, parameter :: ERROR_CLUSTER_NETWORK_ALREADY_ONLINE = 5063
          integer, parameter :: ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064
          integer, parameter :: ERROR_CLUSTER_NODE_ALREADY_MEMBER = 5065
          integer, parameter :: ERROR_CLUSTER_LAST_INTERNAL_NETWORK = 5066
          integer, parameter :: ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067
          integer, parameter :: ERROR_INVALID_OPERATION_ON_QUORUM = 5068
          integer, parameter :: ERROR_DEPENDENCY_NOT_ALLOWED = 5069
          integer, parameter :: ERROR_CLUSTER_NODE_PAUSED = 5070
          integer, parameter :: ERROR_NODE_CANT_HOST_RESOURCE = 5071
          integer, parameter :: ERROR_CLUSTER_NODE_NOT_READY = 5072
          integer, parameter :: ERROR_CLUSTER_NODE_SHUTTING_DOWN = 5073
          integer, parameter :: ERROR_CLUSTER_JOIN_ABORTED = 5074
          integer, parameter :: ERROR_CLUSTER_INCOMPATIBLE_VERSIONS = 5075
          integer, parameter :: ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076
          integer, parameter :: ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077
          integer, parameter :: ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078
          integer, parameter :: ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079
          integer, parameter :: ERROR_CLUSTER_RESNAME_NOT_FOUND = 5080
          integer, parameter :: ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081
          integer, parameter :: ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082
          integer, parameter :: ERROR_CLUSTER_DATABASE_SEQMISMATCH = 5083
          integer, parameter :: ERROR_RESMON_INVALID_STATE = 5084
          integer, parameter :: ERROR_CLUSTER_GUM_NOT_LOCKER = 5085
          integer, parameter :: ERROR_QUORUM_DISK_NOT_FOUND = 5086
          integer, parameter :: ERROR_DATABASE_BACKUP_CORRUPT = 5087
          integer, parameter :: ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088
          integer, parameter :: ERROR_RESOURCE_PROPERTY_UNCHANGEABLE = 5089
          integer, parameter :: ERROR_ENCRYPTION_FAILED = 6000
          integer, parameter :: ERROR_DECRYPTION_FAILED = 6001
          integer, parameter :: ERROR_FILE_ENCRYPTED = 6002
          integer, parameter :: ERROR_NO_RECOVERY_POLICY = 6003
          integer, parameter :: ERROR_NO_EFS = 6004
          integer, parameter :: ERROR_WRONG_EFS = 6005
          integer, parameter :: ERROR_NO_USER_KEYS = 6006
          integer, parameter :: ERROR_FILE_NOT_ENCRYPTED = 6007
          integer, parameter :: ERROR_NOT_EXPORT_FORMAT = 6008
          integer, parameter :: ERROR_FILE_READ_ONLY = 6009
          integer, parameter :: ERROR_DIR_EFS_DISALLOWED = 6010
          integer, parameter :: ERROR_EFS_SERVER_NOT_TRUSTED = 6011
          integer, parameter :: ERROR_BAD_RECOVERY_POLICY = 6012
          integer, parameter :: SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200
          integer, parameter :: ERROR_CTX_WINSTATION_NAME_INVALID = 7001
          integer, parameter :: ERROR_CTX_INVALID_PD = 7002
          integer, parameter :: ERROR_CTX_PD_NOT_FOUND = 7003
          integer, parameter :: ERROR_CTX_WD_NOT_FOUND = 7004
          integer, parameter :: ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005
          integer, parameter :: ERROR_CTX_SERVICE_NAME_COLLISION = 7006
          integer, parameter :: ERROR_CTX_CLOSE_PENDING = 7007
          integer, parameter :: ERROR_CTX_NO_OUTBUF = 7008
          integer, parameter :: ERROR_CTX_MODEM_INF_NOT_FOUND = 7009
          integer, parameter :: ERROR_CTX_INVALID_MODEMNAME = 7010
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_ERROR = 7011
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_TIMEOUT = 7012
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_NO_CARRIER = 7013
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_BUSY = 7015
          integer, parameter :: ERROR_CTX_MODEM_RESPONSE_VOICE = 7016
          integer, parameter :: ERROR_CTX_TD_ERROR = 7017
          integer, parameter :: ERROR_CTX_WINSTATION_NOT_FOUND = 7022
          integer, parameter :: ERROR_CTX_WINSTATION_ALREADY_EXISTS = 7023
          integer, parameter :: ERROR_CTX_WINSTATION_BUSY = 7024
          integer, parameter :: ERROR_CTX_BAD_VIDEO_MODE = 7025
          integer, parameter :: ERROR_CTX_GRAPHICS_INVALID = 7035
          integer, parameter :: ERROR_CTX_LOGON_DISABLED = 7037
          integer, parameter :: ERROR_CTX_NOT_CONSOLE = 7038
          integer, parameter :: ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040
          integer, parameter :: ERROR_CTX_CONSOLE_DISCONNECT = 7041
          integer, parameter :: ERROR_CTX_CONSOLE_CONNECT = 7042
          integer, parameter :: ERROR_CTX_SHADOW_DENIED = 7044
          integer, parameter :: ERROR_CTX_WINSTATION_ACCESS_DENIED = 7045
          integer, parameter :: ERROR_CTX_INVALID_WD = 7049
          integer, parameter :: ERROR_CTX_SHADOW_INVALID = 7050
          integer, parameter :: ERROR_CTX_SHADOW_DISABLED = 7051
          integer, parameter :: ERROR_CTX_CLIENT_LICENSE_IN_USE = 7052
          integer, parameter :: ERROR_CTX_CLIENT_LICENSE_NOT_SET = 7053
          integer, parameter :: ERROR_CTX_LICENSE_NOT_AVAILABLE = 7054
          integer, parameter :: ERROR_CTX_LICENSE_CLIENT_INVALID = 7055
          integer, parameter :: ERROR_CTX_LICENSE_EXPIRED = 7056
          integer, parameter :: FRS_ERR_INVALID_API_SEQUENCE = 8001
          integer, parameter :: FRS_ERR_STARTING_SERVICE = 8002
          integer, parameter :: FRS_ERR_STOPPING_SERVICE = 8003
          integer, parameter :: FRS_ERR_INTERNAL_API = 8004
          integer, parameter :: FRS_ERR_INTERNAL = 8005
          integer, parameter :: FRS_ERR_SERVICE_COMM = 8006
          integer, parameter :: FRS_ERR_INSUFFICIENT_PRIV = 8007
          integer, parameter :: FRS_ERR_AUTHENTICATION = 8008
          integer, parameter :: FRS_ERR_PARENT_INSUFFICIENT_PRIV = 8009
          integer, parameter :: FRS_ERR_PARENT_AUTHENTICATION = 8010
          integer, parameter :: FRS_ERR_CHILD_TO_PARENT_COMM = 8011
          integer, parameter :: FRS_ERR_PARENT_TO_CHILD_COMM = 8012
          integer, parameter :: FRS_ERR_SYSVOL_POPULATE = 8013
          integer, parameter :: FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 8014
          integer, parameter :: FRS_ERR_SYSVOL_IS_BUSY = 8015
          integer, parameter :: FRS_ERR_SYSVOL_DEMOTE = 8016
          integer, parameter :: FRS_ERR_INVALID_SERVICE_PARAMETER = 8017
          integer, parameter :: ERROR_DS_NOT_INSTALLED = 8200
          integer, parameter :: ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201
          integer, parameter :: ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 8202
          integer, parameter :: ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 8203
          integer, parameter :: ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204
          integer, parameter :: ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205
          integer, parameter :: ERROR_DS_BUSY = 8206
          integer, parameter :: ERROR_DS_UNAVAILABLE = 8207
          integer, parameter :: ERROR_DS_NO_RIDS_ALLOCATED = 8208
          integer, parameter :: ERROR_DS_NO_MORE_RIDS = 8209
          integer, parameter :: ERROR_DS_INCORRECT_ROLE_OWNER = 8210
          integer, parameter :: ERROR_DS_RIDMGR_INIT_ERROR = 8211
          integer, parameter :: ERROR_DS_OBJ_CLASS_VIOLATION = 8212
          integer, parameter :: ERROR_DS_CANT_ON_NON_LEAF = 8213
          integer, parameter :: ERROR_DS_CANT_ON_RDN = 8214
          integer, parameter :: ERROR_DS_CANT_MOD_OBJ_CLASS = 8215
          integer, parameter :: ERROR_DS_CROSS_DOM_MOVE_ERROR = 8216
          integer, parameter :: ERROR_DS_GC_NOT_AVAILABLE = 8217
          integer, parameter :: ERROR_SHARED_POLICY = 8218
          integer, parameter :: ERROR_POLICY_OBJECT_NOT_FOUND = 8219
          integer, parameter :: ERROR_POLICY_ONLY_IN_DS = 8220
          integer, parameter :: ERROR_PROMOTION_ACTIVE = 8221
          integer, parameter :: ERROR_NO_PROMOTION_ACTIVE = 8222
          integer, parameter :: ERROR_DS_OPERATIONS_ERROR = 8224
          integer, parameter :: ERROR_DS_PROTOCOL_ERROR = 8225
          integer, parameter :: ERROR_DS_TIMELIMIT_EXCEEDED = 8226
          integer, parameter :: ERROR_DS_SIZELIMIT_EXCEEDED = 8227
          integer, parameter :: ERROR_DS_ADMIN_LIMIT_EXCEEDED = 8228
          integer, parameter :: ERROR_DS_COMPARE_FALSE = 8229
          integer, parameter :: ERROR_DS_COMPARE_TRUE = 8230
          integer, parameter :: ERROR_DS_AUTH_METHOD_NOT_SUPPORTED = 8231
          integer, parameter :: ERROR_DS_STRONG_AUTH_REQUIRED = 8232
          integer, parameter :: ERROR_DS_INAPPROPRIATE_AUTH = 8233
          integer, parameter :: ERROR_DS_AUTH_UNKNOWN = 8234
          integer, parameter :: ERROR_DS_REFERRAL = 8235
          integer, parameter :: ERROR_DS_UNAVAILABLE_CRIT_EXTENSION = 8236
          integer, parameter :: ERROR_DS_CONFIDENTIALITY_REQUIRED = 8237
          integer, parameter :: ERROR_DS_INAPPROPRIATE_MATCHING = 8238
          integer, parameter :: ERROR_DS_CONSTRAINT_VIOLATION = 8239
          integer, parameter :: ERROR_DS_NO_SUCH_OBJECT = 8240
          integer, parameter :: ERROR_DS_ALIAS_PROBLEM = 8241
          integer, parameter :: ERROR_DS_INVALID_DN_SYNTAX = 8242
          integer, parameter :: ERROR_DS_IS_LEAF = 8243
          integer, parameter :: ERROR_DS_ALIAS_DEREF_PROBLEM = 8244
          integer, parameter :: ERROR_DS_UNWILLING_TO_PERFORM = 8245
          integer, parameter :: ERROR_DS_LOOP_DETECT = 8246
          integer, parameter :: ERROR_DS_NAMING_VIOLATION = 8247
          integer, parameter :: ERROR_DS_OBJECT_RESULTS_TOO_LARGE = 8248
          integer, parameter :: ERROR_DS_AFFECTS_MULTIPLE_DSAS = 8249
          integer, parameter :: ERROR_DS_SERVER_DOWN = 8250
          integer, parameter :: ERROR_DS_LOCAL_ERROR = 8251
          integer, parameter :: ERROR_DS_ENCODING_ERROR = 8252
          integer, parameter :: ERROR_DS_DECODING_ERROR = 8253
          integer, parameter :: ERROR_DS_FILTER_UNKNOWN = 8254
          integer, parameter :: ERROR_DS_PARAM_ERROR = 8255
          integer, parameter :: ERROR_DS_NOT_SUPPORTED = 8256
          integer, parameter :: ERROR_DS_NO_RESULTS_RETURNED = 8257
          integer, parameter :: ERROR_DS_CONTROL_NOT_FOUND = 8258
          integer, parameter :: ERROR_DS_CLIENT_LOOP = 8259
          integer, parameter :: ERROR_DS_REFERRAL_LIMIT_EXCEEDED = 8260
          integer, parameter :: ERROR_DS_ROOT_MUST_BE_NC = 8301
          integer, parameter :: ERROR_DS_ADD_REPLICA_INHIBITED = 8302
          integer, parameter :: ERROR_DS_ATT_NOT_DEF_IN_SCHEMA = 8303
          integer, parameter :: ERROR_DS_MAX_OBJ_SIZE_EXCEEDED = 8304
          integer, parameter :: ERROR_DS_OBJ_STRING_NAME_EXISTS = 8305
          integer, parameter :: ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306
          integer, parameter :: ERROR_DS_RDN_DOESNT_MATCH_SCHEMA = 8307
          integer, parameter :: ERROR_DS_NO_REQUESTED_ATTS_FOUND = 8308
          integer, parameter :: ERROR_DS_USER_BUFFER_TO_SMALL = 8309
          integer, parameter :: ERROR_DS_ATT_IS_NOT_ON_OBJ = 8310
          integer, parameter :: ERROR_DS_ILLEGAL_MOD_OPERATION = 8311
          integer, parameter :: ERROR_DS_OBJ_TOO_LARGE = 8312
          integer, parameter :: ERROR_DS_BAD_INSTANCE_TYPE = 8313
          integer, parameter :: ERROR_DS_MASTERDSA_REQUIRED = 8314
          integer, parameter :: ERROR_DS_OBJECT_CLASS_REQUIRED = 8315
          integer, parameter :: ERROR_DS_MISSING_REQUIRED_ATT = 8316
          integer, parameter :: ERROR_DS_ATT_NOT_DEF_FOR_CLASS = 8317
          integer, parameter :: ERROR_DS_ATT_ALREADY_EXISTS = 8318
          integer, parameter :: ERROR_DS_CANT_ADD_ATT_VALUES = 8320
          integer, parameter :: ERROR_DS_SINGLE_VALUE_CONSTRAINT = 8321
          integer, parameter :: ERROR_DS_RANGE_CONSTRAINT = 8322
          integer, parameter :: ERROR_DS_ATT_VAL_ALREADY_EXISTS = 8323
          integer, parameter :: ERROR_DS_CANT_REM_MISSING_ATT = 8324
          integer, parameter :: ERROR_DS_CANT_REM_MISSING_ATT_VAL = 8325
          integer, parameter :: ERROR_DS_ROOT_CANT_BE_SUBREF = 8326
          integer, parameter :: ERROR_DS_NO_CHAINING = 8327
          integer, parameter :: ERROR_DS_NO_CHAINED_EVAL = 8328
          integer, parameter :: ERROR_DS_NO_PARENT_OBJECT = 8329
          integer, parameter :: ERROR_DS_PARENT_IS_AN_ALIAS = 8330
          integer, parameter :: ERROR_DS_CANT_MIX_MASTER_AND_REPS = 8331
          integer, parameter :: ERROR_DS_CHILDREN_EXIST = 8332
          integer, parameter :: ERROR_DS_OBJ_NOT_FOUND = 8333
          integer, parameter :: ERROR_DS_ALIASED_OBJ_MISSING = 8334
          integer, parameter :: ERROR_DS_BAD_NAME_SYNTAX = 8335
          integer, parameter :: ERROR_DS_ALIAS_POINTS_TO_ALIAS = 8336
          integer, parameter :: ERROR_DS_CANT_DEREF_ALIAS = 8337
          integer, parameter :: ERROR_DS_OUT_OF_SCOPE = 8338
          integer, parameter :: ERROR_DS_CANT_DELETE_DSA_OBJ = 8340
          integer, parameter :: ERROR_DS_GENERIC_ERROR = 8341
          integer, parameter :: ERROR_DS_DSA_MUST_BE_INT_MASTER = 8342
          integer, parameter :: ERROR_DS_CLASS_NOT_DSA = 8343
          integer, parameter :: ERROR_DS_INSUFF_ACCESS_RIGHTS = 8344
          integer, parameter :: ERROR_DS_ILLEGAL_SUPERIOR = 8345
          integer, parameter :: ERROR_DS_ATTRIBUTE_OWNED_BY_SAM = 8346
          integer, parameter :: ERROR_DS_NAME_TOO_MANY_PARTS = 8347
          integer, parameter :: ERROR_DS_NAME_TOO_LONG = 8348
          integer, parameter :: ERROR_DS_NAME_VALUE_TOO_LONG = 8349
          integer, parameter :: ERROR_DS_NAME_UNPARSEABLE = 8350
          integer, parameter :: ERROR_DS_NAME_TYPE_UNKNOWN = 8351
          integer, parameter :: ERROR_DS_NOT_AN_OBJECT = 8352
          integer, parameter :: ERROR_DS_SEC_DESC_TOO_SHORT = 8353
          integer, parameter :: ERROR_DS_SEC_DESC_INVALID = 8354
          integer, parameter :: ERROR_DS_NO_DELETED_NAME = 8355
          integer, parameter :: ERROR_DS_SUBREF_MUST_HAVE_PARENT = 8356
          integer, parameter :: ERROR_DS_NCNAME_MUST_BE_NC = 8357
          integer, parameter :: ERROR_DS_CANT_ADD_SYSTEM_ONLY = 8358
          integer, parameter :: ERROR_DS_CLASS_MUST_BE_CONCRETE = 8359
          integer, parameter :: ERROR_DS_INVALID_DMD = 8360
          integer, parameter :: ERROR_DS_OBJ_GUID_EXISTS = 8361
          integer, parameter :: ERROR_DS_NOT_ON_BACKLINK = 8362
          integer, parameter :: ERROR_DS_NO_CROSSREF_FOR_NC = 8363
          integer, parameter :: ERROR_DS_SHUTTING_DOWN = 8364
          integer, parameter :: ERROR_DS_UNKNOWN_OPERATION = 8365
          integer, parameter :: ERROR_DS_INVALID_ROLE_OWNER = 8366
          integer, parameter :: ERROR_DS_COULDNT_CONTACT_FSMO = 8367
          integer, parameter :: ERROR_DS_CROSS_NC_DN_RENAME = 8368
          integer, parameter :: ERROR_DS_CANT_MOD_SYSTEM_ONLY = 8369
          integer, parameter :: ERROR_DS_REPLICATOR_ONLY = 8370
          integer, parameter :: ERROR_DS_OBJ_CLASS_NOT_DEFINED = 8371
          integer, parameter :: ERROR_DS_OBJ_CLASS_NOT_SUBCLASS = 8372
          integer, parameter :: ERROR_DS_NAME_REFERENCE_INVALID = 8373
          integer, parameter :: ERROR_DS_CROSS_REF_EXISTS = 8374
          integer, parameter :: ERROR_DS_CANT_DEL_MASTER_CROSSREF = 8375
          integer, parameter :: ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376
          integer, parameter :: ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377
          integer, parameter :: ERROR_DS_DUP_RDN = 8378
          integer, parameter :: ERROR_DS_DUP_OID = 8379
          integer, parameter :: ERROR_DS_DUP_MAPI_ID = 8380
          integer, parameter :: ERROR_DS_DUP_SCHEMA_ID_GUID = 8381
          integer, parameter :: ERROR_DS_DUP_LDAP_DISPLAY_NAME = 8382
          integer, parameter :: ERROR_DS_SEMANTIC_ATT_TEST = 8383
          integer, parameter :: ERROR_DS_SYNTAX_MISMATCH = 8384
          integer, parameter :: ERROR_DS_EXISTS_IN_MUST_HAVE = 8385
          integer, parameter :: ERROR_DS_EXISTS_IN_MAY_HAVE = 8386
          integer, parameter :: ERROR_DS_NONEXISTENT_MAY_HAVE = 8387
          integer, parameter :: ERROR_DS_NONEXISTENT_MUST_HAVE = 8388
          integer, parameter :: ERROR_DS_AUX_CLS_TEST_FAIL = 8389
          integer, parameter :: ERROR_DS_NONEXISTENT_POSS_SUP = 8390
          integer, parameter :: ERROR_DS_SUB_CLS_TEST_FAIL = 8391
          integer, parameter :: ERROR_DS_BAD_RDN_ATT_ID_SYNTAX = 8392
          integer, parameter :: ERROR_DS_EXISTS_IN_AUX_CLS = 8393
          integer, parameter :: ERROR_DS_EXISTS_IN_SUB_CLS = 8394
          integer, parameter :: ERROR_DS_EXISTS_IN_POSS_SUP = 8395
          integer, parameter :: ERROR_DS_RECALCSCHEMA_FAILED = 8396
          integer, parameter :: ERROR_DS_TREE_DELETE_NOT_FINISHED = 8397
          integer, parameter :: ERROR_DS_CANT_DELETE = 8398
          integer, parameter :: ERROR_DS_ATT_SCHEMA_REQ_ID = 8399
          integer, parameter :: ERROR_DS_BAD_ATT_SCHEMA_SYNTAX = 8400
          integer, parameter :: ERROR_DS_CANT_CACHE_ATT = 8401
          integer, parameter :: ERROR_DS_CANT_CACHE_CLASS = 8402
          integer, parameter :: ERROR_DS_CANT_REMOVE_ATT_CACHE = 8403
          integer, parameter :: ERROR_DS_CANT_REMOVE_CLASS_CACHE = 8404
          integer, parameter :: ERROR_DS_CANT_RETRIEVE_DN = 8405
          integer, parameter :: ERROR_DS_MISSING_SUPREF = 8406
          integer, parameter :: ERROR_DS_CANT_RETRIEVE_INSTANCE = 8407
          integer, parameter :: ERROR_DS_CODE_INCONSISTENCY = 8408
          integer, parameter :: ERROR_DS_DATABASE_ERROR = 8409
          integer, parameter :: ERROR_DS_GOVERNSID_MISSING = 8410
          integer, parameter :: ERROR_DS_MISSING_EXPECTED_ATT = 8411
          integer, parameter :: ERROR_DS_NCNAME_MISSING_CR_REF = 8412
          integer, parameter :: ERROR_DS_SECURITY_CHECKING_ERROR = 8413
          integer, parameter :: ERROR_DS_SCHEMA_NOT_LOADED = 8414
          integer, parameter :: ERROR_DS_SCHEMA_ALLOC_FAILED = 8415
          integer, parameter :: ERROR_DS_ATT_SCHEMA_REQ_SYNTAX = 8416
          integer, parameter :: ERROR_DS_GCVERIFY_ERROR = 8417
          integer, parameter :: ERROR_DS_DRA_SCHEMA_MISMATCH = 8418
          integer, parameter :: ERROR_DS_CANT_FIND_DSA_OBJ = 8419
          integer, parameter :: ERROR_DS_CANT_FIND_EXPECTED_NC = 8420
          integer, parameter :: ERROR_DS_CANT_FIND_NC_IN_CACHE = 8421
          integer, parameter :: ERROR_DS_CANT_RETRIEVE_CHILD = 8422
          integer, parameter :: ERROR_DS_SECURITY_ILLEGAL_MODIFY = 8423
          integer, parameter :: ERROR_DS_CANT_REPLACE_HIDDEN_REC = 8424
          integer, parameter :: ERROR_DS_BAD_HIERARCHY_FILE = 8425
          integer, parameter :: ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426
          integer, parameter :: ERROR_DS_CONFIG_PARAM_MISSING = 8427
          integer, parameter :: ERROR_DS_COUNTING_AB_INDICES_FAILED = 8428
          integer, parameter :: ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429
          integer, parameter :: ERROR_DS_INTERNAL_FAILURE = 8430
          integer, parameter :: ERROR_DS_UNKNOWN_ERROR = 8431
          integer, parameter :: ERROR_DS_ROOT_REQUIRES_CLASS_TOP = 8432
          integer, parameter :: ERROR_DS_REFUSING_FSMO_ROLES = 8433
          integer, parameter :: ERROR_DS_MISSING_FSMO_SETTINGS = 8434
          integer, parameter :: ERROR_DS_UNABLE_TO_SURRENDER_ROLES = 8435
          integer, parameter :: ERROR_DS_DRA_GENERIC = 8436
          integer, parameter :: ERROR_DS_DRA_INVALID_PARAMETER = 8437
          integer, parameter :: ERROR_DS_DRA_BUSY = 8438
          integer, parameter :: ERROR_DS_DRA_BAD_DN = 8439
          integer, parameter :: ERROR_DS_DRA_BAD_NC = 8440
          integer, parameter :: ERROR_DS_DRA_DN_EXISTS = 8441
          integer, parameter :: ERROR_DS_DRA_INTERNAL_ERROR = 8442
          integer, parameter :: ERROR_DS_DRA_INCONSISTENT_DIT = 8443
          integer, parameter :: ERROR_DS_DRA_CONNECTION_FAILED = 8444
          integer, parameter :: ERROR_DS_DRA_BAD_INSTANCE_TYPE = 8445
          integer, parameter :: ERROR_DS_DRA_OUT_OF_MEM = 8446
          integer, parameter :: ERROR_DS_DRA_MAIL_PROBLEM = 8447
          integer, parameter :: ERROR_DS_DRA_REF_ALREADY_EXISTS = 8448
          integer, parameter :: ERROR_DS_DRA_REF_NOT_FOUND = 8449
          integer, parameter :: ERROR_DS_DRA_OBJ_IS_REP_SOURCE = 8450
          integer, parameter :: ERROR_DS_DRA_DB_ERROR = 8451
          integer, parameter :: ERROR_DS_DRA_NO_REPLICA = 8452
          integer, parameter :: ERROR_DS_DRA_ACCESS_DENIED = 8453
          integer, parameter :: ERROR_DS_DRA_NOT_SUPPORTED = 8454
          integer, parameter :: ERROR_DS_DRA_RPC_CANCELLED = 8455
          integer, parameter :: ERROR_DS_DRA_SOURCE_DISABLED = 8456
          integer, parameter :: ERROR_DS_DRA_SINK_DISABLED = 8457
          integer, parameter :: ERROR_DS_DRA_NAME_COLLISION = 8458
          integer, parameter :: ERROR_DS_DRA_SOURCE_REINSTALLED = 8459
          integer, parameter :: ERROR_DS_DRA_MISSING_PARENT = 8460
          integer, parameter :: ERROR_DS_DRA_PREEMPTED = 8461
          integer, parameter :: ERROR_DS_DRA_ABANDON_SYNC = 8462
          integer, parameter :: ERROR_DS_DRA_SHUTDOWN = 8463
          integer, parameter :: ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464
          integer, parameter :: ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465
          integer, parameter :: ERROR_DS_DRA_EXTN_CONNECTION_FAILED = 8466
          integer, parameter :: ERROR_DS_INSTALL_SCHEMA_MISMATCH = 8467
          integer, parameter :: ERROR_DS_DUP_LINK_ID = 8468
          integer, parameter :: ERROR_DS_NAME_ERROR_RESOLVING = 8469
          integer, parameter :: ERROR_DS_NAME_ERROR_NOT_FOUND = 8470
          integer, parameter :: ERROR_DS_NAME_ERROR_NOT_UNIQUE = 8471
          integer, parameter :: ERROR_DS_NAME_ERROR_NO_MAPPING = 8472
          integer, parameter :: ERROR_DS_NAME_ERROR_DOMAIN_ONLY = 8473
          integer, parameter :: ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474
          integer, parameter :: ERROR_DS_CONSTRUCTED_ATT_MOD = 8475
          integer, parameter :: ERROR_DS_WRONG_OM_OBJ_CLASS = 8476
          integer, parameter :: ERROR_DS_DRA_REPL_PENDING = 8477
          integer, parameter :: ERROR_DS_DS_REQUIRED = 8478
          integer, parameter :: ERROR_DS_INVALID_LDAP_DISPLAY_NAME = 8479
          integer, parameter :: ERROR_DS_NON_BASE_SEARCH = 8480
          integer, parameter :: ERROR_DS_CANT_RETRIEVE_ATTS = 8481
          integer, parameter :: ERROR_DS_BACKLINK_WITHOUT_LINK = 8482
          integer, parameter :: ERROR_DS_EPOCH_MISMATCH = 8483
          integer, parameter :: ERROR_DS_SRC_NAME_MISMATCH = 8484
          integer, parameter :: ERROR_DS_SRC_AND_DST_NC_IDENTICAL = 8485
          integer, parameter :: ERROR_DS_DST_NC_MISMATCH = 8486
          integer, parameter :: ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487
          integer, parameter :: ERROR_DS_SRC_GUID_MISMATCH = 8488
          integer, parameter :: ERROR_DS_CANT_MOVE_DELETED_OBJECT = 8489
          integer, parameter :: ERROR_DS_PDC_OPERATION_IN_PROGRESS = 8490
          integer, parameter :: ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491
          integer, parameter :: ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492
          integer, parameter :: ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493
          integer, parameter :: ERROR_DS_NC_MUST_HAVE_NC_PARENT = 8494
          integer, parameter :: ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495
          integer, parameter :: ERROR_DS_DST_DOMAIN_NOT_NATIVE = 8496
          integer, parameter :: ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497
          integer, parameter :: ERROR_DS_CANT_MOVE_ACCOUNT_GROUP = 8498
          integer, parameter :: ERROR_DS_CANT_MOVE_RESOURCE_GROUP = 8499
          integer, parameter :: ERROR_DS_INVALID_SEARCH_FLAG = 8500
          integer, parameter :: ERROR_DS_NO_TREE_DELETE_ABOVE_NC = 8501
          integer, parameter :: ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502
          integer, parameter :: ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503
          integer, parameter :: ERROR_DS_SAM_INIT_FAILURE = 8504
          integer, parameter :: ERROR_DS_SENSITIVE_GROUP_VIOLATION = 8505
          integer, parameter :: ERROR_DS_CANT_MOD_PRIMARYGROUPID = 8506
          integer, parameter :: ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507
          integer, parameter :: ERROR_DS_NONSAFE_SCHEMA_CHANGE = 8508
          integer, parameter :: ERROR_DS_SCHEMA_UPDATE_DISALLOWED = 8509
          integer, parameter :: ERROR_DS_CANT_CREATE_UNDER_SCHEMA = 8510
          integer, parameter :: ERROR_DS_INSTALL_NO_SRC_SCH_VERSION = 8511
          integer, parameter :: ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512
          integer, parameter :: ERROR_DS_INVALID_GROUP_TYPE = 8513
          integer, parameter :: ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514
          integer, parameter :: ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515
          integer, parameter :: ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516
          integer, parameter :: ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517
          integer, parameter :: ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518
          integer, parameter :: ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519
          integer, parameter :: ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520
          integer, parameter :: ERROR_DS_HAVE_PRIMARY_MEMBERS = 8521
          integer, parameter :: ERROR_DS_STRING_SD_CONVERSION_FAILED = 8522
          integer, parameter :: ERROR_DS_NAMING_MASTER_GC = 8523
          integer, parameter :: ERROR_DS_DNS_LOOKUP_FAILURE = 8524
          integer, parameter :: ERROR_DS_COULDNT_UPDATE_SPNS = 8525
          integer, parameter :: ERROR_DS_CANT_RETRIEVE_SD = 8526
          integer, parameter :: ERROR_DS_KEY_NOT_UNIQUE = 8527
          integer, parameter :: ERROR_DS_WRONG_LINKED_ATT_SYNTAX = 8528
          integer, parameter :: ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529
          integer, parameter :: ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530
          integer, parameter :: ERROR_DS_CANT_START = 8531
          integer, parameter :: ERROR_DS_INIT_FAILURE = 8532
          integer, parameter :: ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533
          integer, parameter :: ERROR_DS_SOURCE_DOMAIN_IN_FOREST = 8534
          integer, parameter :: ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535
          integer, parameter :: ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536
          integer, parameter :: ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537
          integer, parameter :: ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538
          integer, parameter :: ERROR_DS_SRC_SID_EXISTS_IN_FOREST = 8539
          integer, parameter :: ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540
          integer, parameter :: ERROR_SAM_INIT_FAILURE = 8541
          integer, parameter :: ERROR_DS_DRA_SCHEMA_INFO_SHIP = 8542
          integer, parameter :: ERROR_DS_DRA_SCHEMA_CONFLICT = 8543
          integer, parameter :: ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544
          integer, parameter :: ERROR_DS_DRA_OBJ_NC_MISMATCH = 8545
          integer, parameter :: ERROR_DS_NC_STILL_HAS_DSAS = 8546
          integer, parameter :: ERROR_DS_GC_REQUIRED = 8547
          integer, parameter :: ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548
          integer, parameter :: ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549
          integer, parameter :: ERROR_DS_CANT_ADD_TO_GC = 8550
          integer, parameter :: ERROR_DS_NO_CHECKPOINT_WITH_PDC = 8551
          integer, parameter :: ERROR_DS_SOURCE_AUDITING_NOT_ENABLED = 8552
          integer, parameter :: ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553
          integer, parameter :: ERROR_DS_INVALID_NAME_FOR_SPN = 8554
          integer, parameter :: ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555
          integer, parameter :: ERROR_DS_UNICODEPWD_NOT_IN_QUOTES = 8556
          integer, parameter :: ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557
          integer, parameter :: ERROR_DS_MUST_BE_RUN_ON_DST_DC = 8558
          integer, parameter :: ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559
          integer, parameter :: ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560
          integer, parameter :: DNS_ERROR_RCODE_FORMAT_ERROR = 9001
          integer, parameter :: DNS_ERROR_RCODE_SERVER_FAILURE = 9002
          integer, parameter :: DNS_ERROR_RCODE_NAME_ERROR = 9003
          integer, parameter :: DNS_ERROR_RCODE_NOT_IMPLEMENTED = 9004
          integer, parameter :: DNS_ERROR_RCODE_REFUSED = 9005
          integer, parameter :: DNS_ERROR_RCODE_YXDOMAIN = 9006
          integer, parameter :: DNS_ERROR_RCODE_YXRRSET = 9007
          integer, parameter :: DNS_ERROR_RCODE_NXRRSET = 9008
          integer, parameter :: DNS_ERROR_RCODE_NOTAUTH = 9009
          integer, parameter :: DNS_ERROR_RCODE_NOTZONE = 9010
          integer, parameter :: DNS_ERROR_RCODE_BADSIG = 9016
          integer, parameter :: DNS_ERROR_RCODE_BADKEY = 9017
          integer, parameter :: DNS_ERROR_RCODE_BADTIME = 9018
          integer, parameter :: DNS_INFO_NO_RECORDS = 9501
          integer, parameter :: DNS_ERROR_BAD_PACKET = 9502
          integer, parameter :: DNS_ERROR_NO_PACKET = 9503
          integer, parameter :: DNS_ERROR_RCODE = 9504
          integer, parameter :: DNS_ERROR_UNSECURE_PACKET = 9505
          integer, parameter :: DNS_ERROR_INVALID_TYPE = 9551
          integer, parameter :: DNS_ERROR_INVALID_IP_ADDRESS = 9552
          integer, parameter :: DNS_ERROR_INVALID_PROPERTY = 9553
          integer, parameter :: DNS_ERROR_TRY_AGAIN_LATER = 9554
          integer, parameter :: DNS_ERROR_NOT_UNIQUE = 9555
          integer, parameter :: DNS_ERROR_NON_RFC_NAME = 9556
          integer, parameter :: DNS_STATUS_FQDN = 9557
          integer, parameter :: DNS_STATUS_DOTTED_NAME = 9558
          integer, parameter :: DNS_STATUS_SINGLE_PART_NAME = 9559
          integer, parameter :: DNS_ERROR_INVALID_NAME_CHAR = 9560
          integer, parameter :: DNS_ERROR_NUMERIC_NAME = 9561
          integer, parameter :: DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601
          integer, parameter :: DNS_ERROR_NO_ZONE_INFO = 9602
          integer, parameter :: DNS_ERROR_INVALID_ZONE_OPERATION = 9603
          integer, parameter :: DNS_ERROR_ZONE_CONFIGURATION_ERROR = 9604
          integer, parameter :: DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 9605
          integer, parameter :: DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 9606
          integer, parameter :: DNS_ERROR_ZONE_LOCKED = 9607
          integer, parameter :: DNS_ERROR_ZONE_CREATION_FAILED = 9608
          integer, parameter :: DNS_ERROR_ZONE_ALREADY_EXISTS = 9609
          integer, parameter :: DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 9610
          integer, parameter :: DNS_ERROR_INVALID_ZONE_TYPE = 9611
          integer, parameter :: DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 9612
          integer, parameter :: DNS_ERROR_ZONE_NOT_SECONDARY = 9613
          integer, parameter :: DNS_ERROR_NEED_SECONDARY_ADDRESSES = 9614
          integer, parameter :: DNS_ERROR_WINS_INIT_FAILED = 9615
          integer, parameter :: DNS_ERROR_NEED_WINS_SERVERS = 9616
          integer, parameter :: DNS_ERROR_NBSTAT_INIT_FAILED = 9617
          integer, parameter :: DNS_ERROR_SOA_DELETE_INVALID = 9618
          integer, parameter :: DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651
          integer, parameter :: DNS_ERROR_INVALID_DATAFILE_NAME = 9652
          integer, parameter :: DNS_ERROR_DATAFILE_OPEN_FAILURE = 9653
          integer, parameter :: DNS_ERROR_FILE_WRITEBACK_FAILED = 9654
          integer, parameter :: DNS_ERROR_DATAFILE_PARSING = 9655
          integer, parameter :: DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701
          integer, parameter :: DNS_ERROR_RECORD_FORMAT = 9702
          integer, parameter :: DNS_ERROR_NODE_CREATION_FAILED = 9703
          integer, parameter :: DNS_ERROR_UNKNOWN_RECORD_TYPE = 9704
          integer, parameter :: DNS_ERROR_RECORD_TIMED_OUT = 9705
          integer, parameter :: DNS_ERROR_NAME_NOT_IN_ZONE = 9706
          integer, parameter :: DNS_ERROR_CNAME_LOOP = 9707
          integer, parameter :: DNS_ERROR_NODE_IS_CNAME = 9708
          integer, parameter :: DNS_ERROR_CNAME_COLLISION = 9709
          integer, parameter :: DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 9710
          integer, parameter :: DNS_ERROR_RECORD_ALREADY_EXISTS = 9711
          integer, parameter :: DNS_ERROR_SECONDARY_DATA = 9712
          integer, parameter :: DNS_ERROR_NO_CREATE_CACHE_DATA = 9713
          integer, parameter :: DNS_ERROR_NAME_DOES_NOT_EXIST = 9714
          integer, parameter :: DNS_WARNING_PTR_CREATE_FAILED = 9715
          integer, parameter :: DNS_WARNING_DOMAIN_UNDELETED = 9716
          integer, parameter :: DNS_ERROR_DS_UNAVAILABLE = 9717
          integer, parameter :: DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 9718
          integer, parameter :: DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 9719
          integer, parameter :: DNS_INFO_AXFR_COMPLETE = 9751
          integer, parameter :: DNS_ERROR_AXFR = 9752
          integer, parameter :: DNS_INFO_ADDED_LOCAL_WINS = 9753
          integer, parameter :: DNS_STATUS_CONTINUE_NEEDED = 9801
          integer, parameter :: DNS_ERROR_NO_TCPIP = 9851
          integer, parameter :: DNS_ERROR_NO_DNS_SERVERS = 9852
          integer, parameter :: WSAEINTR = 10004
          integer, parameter :: WSAEBADF = 10009
          integer, parameter :: WSAEACCES = 10013
          integer, parameter :: WSAEFAULT = 10014
          integer, parameter :: WSAEINVAL = 10022
          integer, parameter :: WSAEMFILE = 10024
          integer, parameter :: WSAEWOULDBLOCK = 10035
          integer, parameter :: WSAEINPROGRESS = 10036
          integer, parameter :: WSAEALREADY = 10037
          integer, parameter :: WSAENOTSOCK = 10038
          integer, parameter :: WSAEDESTADDRREQ = 10039
          integer, parameter :: WSAEMSGSIZE = 10040
          integer, parameter :: WSAEPROTOTYPE = 10041
          integer, parameter :: WSAENOPROTOOPT = 10042
          integer, parameter :: WSAEPROTONOSUPPORT = 10043
          integer, parameter :: WSAESOCKTNOSUPPORT = 10044
          integer, parameter :: WSAEOPNOTSUPP = 10045
          integer, parameter :: WSAEPFNOSUPPORT = 10046
          integer, parameter :: WSAEAFNOSUPPORT = 10047
          integer, parameter :: WSAEADDRINUSE = 10048
          integer, parameter :: WSAEADDRNOTAVAIL = 10049
          integer, parameter :: WSAENETDOWN = 10050
          integer, parameter :: WSAENETUNREACH = 10051
          integer, parameter :: WSAENETRESET = 10052
          integer, parameter :: WSAECONNABORTED = 10053
          integer, parameter :: WSAECONNRESET = 10054
          integer, parameter :: WSAENOBUFS = 10055
          integer, parameter :: WSAEISCONN = 10056
          integer, parameter :: WSAENOTCONN = 10057
          integer, parameter :: WSAESHUTDOWN = 10058
          integer, parameter :: WSAETOOMANYREFS = 10059
          integer, parameter :: WSAETIMEDOUT = 10060
          integer, parameter :: WSAECONNREFUSED = 10061
          integer, parameter :: WSAELOOP = 10062
          integer, parameter :: WSAENAMETOOLONG = 10063
          integer, parameter :: WSAEHOSTDOWN = 10064
          integer, parameter :: WSAEHOSTUNREACH = 10065
          integer, parameter :: WSAENOTEMPTY = 10066
          integer, parameter :: WSAEPROCLIM = 10067
          integer, parameter :: WSAEUSERS = 10068
          integer, parameter :: WSAEDQUOT = 10069
          integer, parameter :: WSAESTALE = 10070
          integer, parameter :: WSAEREMOTE = 10071
          integer, parameter :: WSASYSNOTREADY = 10091
          integer, parameter :: WSAVERNOTSUPPORTED = 10092
          integer, parameter :: WSANOTINITIALISED = 10093
          integer, parameter :: WSAEDISCON = 10101
          integer, parameter :: WSAENOMORE = 10102
          integer, parameter :: WSAECANCELLED = 10103
          integer, parameter :: WSAEINVALIDPROCTABLE = 10104
          integer, parameter :: WSAEINVALIDPROVIDER = 10105
          integer, parameter :: WSAEPROVIDERFAILEDINIT = 10106
          integer, parameter :: WSASYSCALLFAILURE = 10107
          integer, parameter :: WSASERVICE_NOT_FOUND = 10108
          integer, parameter :: WSATYPE_NOT_FOUND = 10109
          integer, parameter :: WSA_E_NO_MORE = 10110
          integer, parameter :: WSA_E_CANCELLED = 10111
          integer, parameter :: WSAEREFUSED = 10112
          integer, parameter :: WSAHOST_NOT_FOUND = 11001
          integer, parameter :: WSATRY_AGAIN = 11002
          integer, parameter :: WSANO_RECOVERY = 11003
          integer, parameter :: WSANO_DATA = 11004
          integer, parameter :: WSA_QOS_RECEIVERS = 11005
          integer, parameter :: WSA_QOS_SENDERS = 11006
          integer, parameter :: WSA_QOS_NO_SENDERS = 11007
          integer, parameter :: WSA_QOS_NO_RECEIVERS = 11008
          integer, parameter :: WSA_QOS_REQUEST_CONFIRMED = 11009
          integer, parameter :: WSA_QOS_ADMISSION_FAILURE = 11010
          integer, parameter :: WSA_QOS_POLICY_FAILURE = 11011
          integer, parameter :: WSA_QOS_BAD_STYLE = 11012
          integer, parameter :: WSA_QOS_BAD_OBJECT = 11013
          integer, parameter :: WSA_QOS_TRAFFIC_CTRL_ERROR = 11014
          integer, parameter :: WSA_QOS_GENERIC_ERROR = 11015
          integer, parameter :: WSA_QOS_ESERVICETYPE = 11016
          integer, parameter :: WSA_QOS_EFLOWSPEC = 11017
          integer, parameter :: WSA_QOS_EPROVSPECBUF = 11018
          integer, parameter :: WSA_QOS_EFILTERSTYLE = 11019
          integer, parameter :: WSA_QOS_EFILTERTYPE = 11020
          integer, parameter :: WSA_QOS_EFILTERCOUNT = 11021
          integer, parameter :: WSA_QOS_EOBJLENGTH = 11022
          integer, parameter :: WSA_QOS_EFLOWCOUNT = 11023
          integer, parameter :: WSA_QOS_EUNKOWNPSOBJ = 11024
          integer, parameter :: WSA_QOS_EPOLICYOBJ = 11025
          integer, parameter :: WSA_QOS_EFLOWDESC = 11026
          integer, parameter :: WSA_QOS_EPSFLOWSPEC = 11027
          integer, parameter :: WSA_QOS_EPSFILTERSPEC = 11028
          integer, parameter :: WSA_QOS_ESDMODEOBJ = 11029
          integer, parameter :: WSA_QOS_ESHAPERATEOBJ = 11030
          integer, parameter :: WSA_QOS_RESERVED_PETYPE = 11031
          integer, parameter :: BI_RGB = 0
          integer, parameter :: BI_RLE8 = 1
          integer, parameter :: BI_RLE4 = 2
          integer, parameter :: BI_BITFIELDS = 3
          integer, parameter :: BI_JPEG = 4
          integer, parameter :: BI_PNG = 5
          integer, parameter :: LB_CTLCODE = 0
          integer, parameter :: TAPE_RETURN_STATISTICS = 0
          integer, parameter :: TAPE_RETURN_ENV_INFO = 1
          integer, parameter :: TAPE_RESET_STATISTICS = 2
          integer, parameter :: f_WIN32_IE = #0501
    
    !03-21-01 Insert missing symbolic definitions 
    
        integer, parameter :: WM_SETTINGCHANGE = WM_WININICHANGE
        integer, parameter :: HTSIZE = HTGROWBOX
        integer, parameter :: HTREDUCE = HTMINBUTTON
        integer, parameter :: HTZOOM = HTMAXBUTTON
        integer, parameter :: HTSIZEFIRST = HTLEFT
        integer, parameter :: HTSIZELAST = HTBOTTOMRIGHT
        integer, parameter :: WS_TILED = WS_OVERLAPPED
        integer, parameter :: WS_ICONIC = WS_MINIMIZE
        integer, parameter :: WS_SIZEBOX = WS_THICKFRAME
        integer, parameter :: WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
        integer, parameter :: IDI_WARNING = IDI_EXCLAMATION
        integer, parameter :: IDI_ERROR = IDI_HAND
        integer, parameter :: IDI_INFORMATION = IDI_ASTERISK
        integer, parameter :: EM_SETLIMITTEXT = EM_LIMITTEXT 
        integer, parameter :: BS_RIGHTBUTTON = BS_LEFTTEXT
        integer, parameter :: BN_PUSHED = BN_HILITE
        integer, parameter :: BN_UNPUSHED = BN_UNHILITE
        integer, parameter :: BN_DBLCLK = BN_DOUBLECLICKED
        integer, parameter :: MAXIMUM_SUSPEND_COUNT = MAXCHAR 
        integer, parameter :: SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID
        integer, parameter :: MIN_ACL_REVISION = ACL_REVISION2
        integer, parameter :: MAX_ACL_REVISION = ACL_REVISION4
        integer, parameter :: MEM_IMAGE = SEC_IMAGE 
        integer, parameter :: IO_REPARSE_TAG_RESERVED_RANGE = IO_REPARSE_TAG_RESERVED_ONE
        integer, parameter :: IMAGE_FILE_MACHINE_AXP64 = IMAGE_FILE_MACHINE_ALPHA64
        integer, parameter :: DM_IN_BUFFER = DM_MODIFY
        integer, parameter :: DM_IN_PROMPT = DM_PROMPT
        integer, parameter :: DM_OUT_BUFFER = DM_COPY
        integer, parameter :: DM_OUT_DEFAULT = DM_UPDATE
        integer, parameter :: WAIT_IO_COMPLETION = STATUS_USER_APC
        integer, parameter :: STILL_ACTIVE = STATUS_PENDING
        integer, parameter :: EXCEPTION_ACCESS_VIOLATION = STATUS_ACCESS_VIOLATION
        integer, parameter :: EXCEPTION_DATATYPE_MISALIGNMENT = STATUS_DATATYPE_MISALIGNMENT
        integer, parameter :: EXCEPTION_BREAKPOINT = STATUS_BREAKPOINT
        integer, parameter :: EXCEPTION_SINGLE_STEP = STATUS_SINGLE_STEP
        integer, parameter :: EXCEPTION_ARRAY_BOUNDS_EXCEEDED = STATUS_ARRAY_BOUNDS_EXCEEDED
        integer, parameter :: EXCEPTION_FLT_DENORMAL_OPERAND = STATUS_FLOAT_DENORMAL_OPERAND
        integer, parameter :: EXCEPTION_FLT_DIVIDE_BY_ZERO = STATUS_FLOAT_DIVIDE_BY_ZERO
        integer, parameter :: EXCEPTION_FLT_INEXACT_RESULT = STATUS_FLOAT_INEXACT_RESULT
        integer, parameter :: EXCEPTION_FLT_INVALID_OPERATION = STATUS_FLOAT_INVALID_OPERATION
        integer, parameter :: EXCEPTION_FLT_OVERFLOW = STATUS_FLOAT_OVERFLOW
        integer, parameter :: EXCEPTION_FLT_STACK_CHECK = STATUS_FLOAT_STACK_CHECK
        integer, parameter :: EXCEPTION_FLT_UNDERFLOW = STATUS_FLOAT_UNDERFLOW
        integer, parameter :: EXCEPTION_INT_DIVIDE_BY_ZERO = STATUS_INTEGER_DIVIDE_BY_ZERO
        integer, parameter :: EXCEPTION_INT_OVERFLOW = STATUS_INTEGER_OVERFLOW
        integer, parameter :: EXCEPTION_PRIV_INSTRUCTION = STATUS_PRIVILEGED_INSTRUCTION
        integer, parameter :: EXCEPTION_IN_PAGE_ERROR = STATUS_IN_PAGE_ERROR
        integer, parameter :: EXCEPTION_ILLEGAL_INSTRUCTION = STATUS_ILLEGAL_INSTRUCTION
        integer, parameter :: EXCEPTION_NONCONTINUABLE_EXCEPTION = STATUS_NONCONTINUABLE_EXCEPTION
        integer, parameter :: EXCEPTION_STACK_OVERFLOW = STATUS_STACK_OVERFLOW
        integer, parameter :: EXCEPTION_INVALID_DISPOSITION = STATUS_INVALID_DISPOSITION
        integer, parameter :: EXCEPTION_GUARD_PAGE = STATUS_GUARD_PAGE_VIOLATION
        integer, parameter :: EXCEPTION_INVALID_HANDLE = STATUS_INVALID_HANDLE
        integer, parameter :: CONTROL_C_EXIT = STATUS_CONTROL_C_EXIT
        integer, parameter :: MUTEX_MODIFY_STATE = MUTANT_QUERY_STATE
        integer, parameter :: MUTEX_ALL_ACCESS = MUTANT_ALL_ACCESS
        integer, parameter :: GMEM_LOWER = GMEM_NOT_BANKED
        integer, parameter :: FS_FILE_ENCRYPTION = FILE_SUPPORTS_ENCRYPTION
        integer, parameter :: DS_S_SUCCESS = NO_ERROR
        integer, parameter :: DNS_ERROR_RCODE_NO_ERROR = NO_ERROR
        integer, parameter :: DNS_ERROR_RCODE_LAST = DNS_ERROR_RCODE_BADTIME
        integer, parameter :: DNS_STATUS_PACKET_UNSECURE = DNS_ERROR_UNSECURE_PACKET
        integer, parameter :: DNS_ERROR_NO_MEMORY = ERROR_OUTOFMEMORY
        integer, parameter :: DNS_ERROR_INVALID_NAME = ERROR_INVALID_NAME
        integer, parameter :: DNS_ERROR_INVALID_DATA = ERROR_INVALID_DATA
        integer, parameter :: SEC_E_NO_SPM = SEC_E_INTERNAL_ERROR
        integer, parameter :: SEC_E_NOT_SUPPORTED = SEC_E_UNSUPPORTED_FUNCTION
        integer, parameter :: SCARD_S_SUCCESS = NO_ERROR
        integer, parameter :: RGN_ERROR = ERROR
        integer, parameter :: RGN_MIN = RGN_AND
        integer, parameter :: RGN_MAX = RGN_COPY
        integer, parameter :: STRETCH_ANDSCANS = BLACKONWHITE
        integer, parameter :: STRETCH_ORSCANS = WHITEONBLACK
        integer, parameter :: STRETCH_DELETESCANS = COLORONCOLOR
        integer, parameter :: STRETCH_HALFTONE = HALFTONE
        integer, parameter :: VTA_BASELINE = TA_BASELINE
        integer, parameter :: VTA_LEFT = TA_BOTTOM
        integer, parameter :: VTA_RIGHT = TA_TOP
        integer, parameter :: VTA_CENTER = TA_CENTER
        integer, parameter :: VTA_BOTTOM = TA_RIGHT
        integer, parameter :: VTA_TOP = TA_LEFT
        integer, parameter :: DCB_DIRTY = DCB_ACCUMULATE
        integer, parameter :: MWT_MIN = MWT_IDENTITY
        integer, parameter :: MWT_MAX = MWT_RIGHTMULTIPLY
        integer, parameter :: FW_ULTRALIGHT = FW_EXTRALIGHT
        integer, parameter :: FW_REGULAR = FW_NORMAL
        integer, parameter :: FW_DEMIBOLD = FW_SEMIBOLD
        integer, parameter :: FW_ULTRABOLD = FW_EXTRABOLD
        integer, parameter :: FW_BLACK = FW_HEAVY
        integer, parameter :: MM_MIN = MM_TEXT
        integer, parameter :: MM_MAX = MM_ANISOTROPIC
        integer, parameter :: MM_MAX_FIXEDSCALE = MM_TWIPS
        integer, parameter :: HOLLOW_BRUSH = NULL_BRUSH
        integer, parameter :: BS_HOLLOW = BS_NULL
        integer, parameter :: DMPAPER_FIRST = DMPAPER_LETTER
        integer, parameter :: DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE
        integer, parameter :: DMBIN_FIRST = DMBIN_UPPER
        integer, parameter :: DMBIN_LAST = DMBIN_FORMSOURCE
        integer, parameter :: ILLUMINANT_MAX_INDEX = ILLUMINANT_F2
        integer, parameter :: ILLUMINANT_TUNGSTEN = ILLUMINANT_A
        integer, parameter :: ILLUMINANT_DAYLIGHT = ILLUMINANT_C
        integer, parameter :: ILLUMINANT_FLUORESCENT = ILLUMINANT_F2
        integer, parameter :: ILLUMINANT_NTSC = ILLUMINANT_C
        integer, parameter :: WH_MINHOOK = WH_MIN
        integer, parameter :: WH_MAXHOOK = WH_MAX
        integer, parameter :: HC_NOREM = HC_NOREMOVE
        integer, parameter :: FVIRTKEY = TRUE 
        integer, parameter :: SWP_DRAWFRAME = SWP_FRAMECHANGED
        integer, parameter :: SWP_NOREPOSITION = SWP_NOOWNERZORDER
        integer, parameter :: SM_CXFIXEDFRAME = SM_CXDLGFRAME 
        integer, parameter :: SM_CYFIXEDFRAME = SM_CYDLGFRAME 
        integer, parameter :: SM_CXSIZEFRAME = SM_CXFRAME 
        integer, parameter :: SM_CYSIZEFRAME = SM_CYFRAME 
        integer, parameter :: ESB_DISABLE_LTUP = ESB_DISABLE_LEFT
        integer, parameter :: ESB_DISABLE_RTDN = ESB_DISABLE_RIGHT
        integer, parameter :: MB_ICONWARNING = MB_ICONEXCLAMATION
        integer, parameter :: COLOR_DESKTOP = COLOR_BACKGROUND
        integer, parameter :: COLOR_3DFACE = COLOR_BTNFACE
        integer, parameter :: COLOR_3DSHADOW = COLOR_BTNSHADOW
        integer, parameter :: COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT
        integer, parameter :: COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT
        integer, parameter :: COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT
        integer, parameter :: MFT_STRING = MF_STRING
        integer, parameter :: MFT_BITMAP = MF_BITMAP
        integer, parameter :: MFT_MENUBARBREAK = MF_MENUBARBREAK
        integer, parameter :: MFT_MENUBREAK = MF_MENUBREAK
        integer, parameter :: MFT_OWNERDRAW = MF_OWNERDRAW
        integer, parameter :: MFT_SEPARATOR = MF_SEPARATOR
        integer, parameter :: MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY
        integer, parameter :: MFS_DISABLED = MFS_GRAYED
        integer, parameter :: MFS_CHECKED = MF_CHECKED
        integer, parameter :: MFS_HILITE = MF_HILITE
        integer, parameter :: MFS_ENABLED = MF_ENABLED
        integer, parameter :: MFS_UNCHECKED = MF_UNCHECKED
        integer, parameter :: MFS_UNHILITE = MF_UNHILITE
        integer, parameter :: MFS_DEFAULT = MF_DEFAULT
        integer, parameter :: SC_ICON = SC_MINIMIZE
        integer, parameter :: SC_ZOOM = SC_MAXIMIZE
        integer, parameter :: SPI_SCREENSAVERRUNNING = SPI_SETSCREENSAVERRUNNING
    !DEC$ IF DEFINED( _M_IA64)
        integer, parameter :: SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES
        integer, parameter :: SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES
    !DEC$ END IF
        integer, parameter :: SPIF_SENDCHANGE = SPIF_SENDWININICHANGE
    !DEC$ IF DEFINED( _M_IA64)
        integer, parameter :: STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED
    !DEC$ END IF
        integer, parameter :: CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE 
        integer, parameter :: CAL_USE_CP_ACP = LOCALE_USE_CP_ACP 
        integer, parameter :: CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER 
        integer, parameter :: VS_FILE_INFO = RT_VERSION
        integer, parameter :: WIN31_CLASS = NULL
        integer, parameter :: WN_SUCCESS = NO_ERROR
        integer, parameter :: WN_NO_ERROR = NO_ERROR
        integer, parameter :: WN_NOT_SUPPORTED = ERROR_NOT_SUPPORTED
        integer, parameter :: WN_CANCEL = ERROR_CANCELLED
        integer, parameter :: WN_RETRY = ERROR_RETRY
        integer, parameter :: WN_NET_ERROR = ERROR_UNEXP_NET_ERR
        integer, parameter :: WN_MORE_DATA = ERROR_MORE_DATA
        integer, parameter :: WN_BAD_POINTER = ERROR_INVALID_ADDRESS
        integer, parameter :: WN_BAD_VALUE = ERROR_INVALID_PARAMETER
        integer, parameter :: WN_BAD_USER = ERROR_BAD_USERNAME
        integer, parameter :: WN_BAD_PASSWORD = ERROR_INVALID_PASSWORD
        integer, parameter :: WN_ACCESS_DENIED = ERROR_ACCESS_DENIED
        integer, parameter :: WN_FUNCTION_BUSY = ERROR_BUSY
        integer, parameter :: WN_WINDOWS_ERROR = ERROR_UNEXP_NET_ERR
        integer, parameter :: WN_OUT_OF_MEMORY = ERROR_NOT_ENOUGH_MEMORY
        integer, parameter :: WN_NO_NETWORK = ERROR_NO_NETWORK
        integer, parameter :: WN_EXTENDED_ERROR = ERROR_EXTENDED_ERROR
        integer, parameter :: WN_BAD_LEVEL = ERROR_INVALID_LEVEL
        integer, parameter :: WN_BAD_HANDLE = ERROR_INVALID_HANDLE
        integer, parameter :: WN_NOT_INITIALIZING = ERROR_ALREADY_INITIALIZED
        integer, parameter :: WN_NO_MORE_DEVICES = ERROR_NO_MORE_DEVICES
        integer, parameter :: WN_NOT_CONNECTED = ERROR_NOT_CONNECTED
        integer, parameter :: WN_OPEN_FILES = ERROR_OPEN_FILES
        integer, parameter :: WN_DEVICE_IN_USE = ERROR_DEVICE_IN_USE
        integer, parameter :: WN_BAD_NETNAME = ERROR_BAD_NET_NAME
        integer, parameter :: WN_BAD_LOCALNAME = ERROR_BAD_DEVICE
        integer, parameter :: WN_ALREADY_CONNECTED = ERROR_ALREADY_ASSIGNED
        integer, parameter :: WN_DEVICE_ERROR = ERROR_GEN_FAILURE
        integer, parameter :: WN_CONNECTION_CLOSED = ERROR_CONNECTION_UNAVAIL
        integer, parameter :: WN_NO_NET_OR_BAD_PATH = ERROR_NO_NET_OR_BAD_PATH
        integer, parameter :: WN_BAD_PROVIDER = ERROR_BAD_PROVIDER
        integer, parameter :: WN_CANNOT_OPEN_PROFILE = ERROR_CANNOT_OPEN_PROFILE
        integer, parameter :: WN_BAD_PROFILE = ERROR_BAD_PROFILE
        integer, parameter :: WN_BAD_DEV_TYPE = ERROR_BAD_DEV_TYPE
        integer, parameter :: WN_DEVICE_ALREADY_REMEMBERED = ERROR_DEVICE_ALREADY_REMEMBERED
        integer, parameter :: WN_CONNECTED_OTHER_PASSWORD = ERROR_CONNECTED_OTHER_PASSWORD
        integer, parameter :: WN_NO_MORE_ENTRIES = ERROR_NO_MORE_ITEMS
        integer, parameter :: WN_NOT_CONTAINER = ERROR_NOT_CONTAINER
        integer, parameter :: WN_NOT_AUTHENTICATED = ERROR_NOT_AUTHENTICATED
        integer, parameter :: WN_NOT_LOGGED_ON = ERROR_NOT_LOGGED_ON
        integer, parameter :: WN_NOT_VALIDATED = ERROR_NO_LOGON_SERVERS
        integer, parameter :: CP_WINNEUTRAL = CP_WINANSI
        integer, parameter :: EC_ENABLEONE = ST_BLOCKNEXT
        integer, parameter :: EC_DISABLE = ST_BLOCKED
        integer, parameter :: DRV_CANCEL = DRVCNF_CANCEL
        integer, parameter :: DRV_OK = DRVCNF_OK
        integer, parameter :: DRV_RESTART = DRVCNF_RESTART
        integer, parameter :: DRV_MCI_FIRST = DRV_RESERVED
        integer, parameter :: WOM_OPEN = MM_WOM_OPEN
        integer, parameter :: WOM_CLOSE = MM_WOM_CLOSE
        integer, parameter :: WOM_DONE = MM_WOM_DONE
        integer, parameter :: WIM_OPEN = MM_WIM_OPEN
        integer, parameter :: WIM_CLOSE = MM_WIM_CLOSE
        integer, parameter :: WIM_DATA = MM_WIM_DATA
        integer, parameter :: MIM_OPEN = MM_MIM_OPEN
        integer, parameter :: MIM_CLOSE = MM_MIM_CLOSE
        integer, parameter :: MIM_DATA = MM_MIM_DATA
        integer, parameter :: MIM_LONGDATA = MM_MIM_LONGDATA
        integer, parameter :: MIM_ERROR = MM_MIM_ERROR
        integer, parameter :: MIM_LONGERROR = MM_MIM_LONGERROR
        integer, parameter :: MOM_OPEN = MM_MOM_OPEN
        integer, parameter :: MOM_CLOSE = MM_MOM_CLOSE
        integer, parameter :: MOM_DONE = MM_MOM_DONE
        integer, parameter :: MIM_MOREDATA = MM_MIM_MOREDATA
        integer, parameter :: MOM_POSITIONCB = MM_MOM_POSITIONCB
        integer, parameter :: MMIOM_READ = MMIO_READ 
        integer, parameter :: MMIOM_WRITE = MMIO_WRITE 
        integer, parameter :: MCI_FIRST = DRV_MCI_FIRST 
        integer, parameter :: MCI_DEVTYPE_FIRST = MCI_DEVTYPE_VCR
        integer, parameter :: MCI_DEVTYPE_LAST = MCI_DEVTYPE_SEQUENCER
        integer, parameter :: RPC_S_OK = ERROR_SUCCESS
        integer, parameter :: RPC_S_INVALID_ARG = ERROR_INVALID_PARAMETER
        integer, parameter :: RPC_S_OUT_OF_MEMORY = ERROR_OUTOFMEMORY
        integer, parameter :: RPC_S_OUT_OF_THREADS = ERROR_MAX_THRDS_REACHED
        integer, parameter :: RPC_S_INVALID_LEVEL = ERROR_INVALID_PARAMETER
        integer, parameter :: RPC_S_BUFFER_TOO_SMALL = ERROR_INSUFFICIENT_BUFFER
        integer, parameter :: RPC_S_INVALID_SECURITY_DESC = ERROR_INVALID_SECURITY_DESCR
        integer, parameter :: RPC_S_ACCESS_DENIED = ERROR_ACCESS_DENIED
        integer, parameter :: RPC_S_SERVER_OUT_OF_MEMORY = ERROR_NOT_ENOUGH_SERVER_MEMORY
        integer, parameter :: RPC_S_ASYNC_CALL_PENDING = ERROR_IO_PENDING
        integer, parameter :: RPC_S_UNKNOWN_PRINCIPAL = ERROR_NONE_MAPPED
        integer, parameter :: RPC_S_TIMEOUT = ERROR_TIMEOUT
        integer, parameter :: RPC_X_NO_MEMORY = RPC_S_OUT_OF_MEMORY
        integer, parameter :: RPC_X_INVALID_BOUND = RPC_S_INVALID_BOUND
        integer, parameter :: RPC_X_INVALID_TAG = RPC_S_INVALID_TAG
        integer, parameter :: RPC_X_ENUM_VALUE_TOO_LARGE = RPC_X_ENUM_VALUE_OUT_OF_RANGE
        integer, parameter :: RPC_X_SS_CONTEXT_MISMATCH = ERROR_INVALID_HANDLE
        integer, parameter :: RPC_X_INVALID_BUFFER = ERROR_INVALID_USER_BUFFER
        integer, parameter :: RPC_X_PIPE_APP_MEMORY = ERROR_OUTOFMEMORY
        integer, parameter :: RPC_X_INVALID_PIPE_OPERATION = RPC_X_WRONG_PIPE_ORDER
        integer, parameter :: RPC_C_INFINITE_TIMEOUT = INFINITE
        integer, parameter :: PERF_PRECISION_TIMESTAMP = PERF_LARGE_RAW_BASE
        integer, parameter :: AF_OSI = AF_ISO 
        integer, parameter :: PF_UNSPEC = AF_UNSPEC
        integer, parameter :: PF_UNIX = AF_UNIX
        integer, parameter :: PF_INET = AF_INET
        integer, parameter :: PF_IMPLINK = AF_IMPLINK
        integer, parameter :: PF_PUP = AF_PUP
        integer, parameter :: PF_CHAOS = AF_CHAOS
        integer, parameter :: PF_NS = AF_NS
        integer, parameter :: PF_IPX = AF_IPX
        integer, parameter :: PF_ISO = AF_ISO
        integer, parameter :: PF_OSI = AF_OSI
        integer, parameter :: PF_ECMA = AF_ECMA
        integer, parameter :: PF_DATAKIT = AF_DATAKIT
        integer, parameter :: PF_CCITT = AF_CCITT
        integer, parameter :: PF_SNA = AF_SNA
        integer, parameter :: PF_DLI = AF_DLI
        integer, parameter :: PF_LAT = AF_LAT
        integer, parameter :: PF_HYLINK = AF_HYLINK
        integer, parameter :: PF_APPLETALK = AF_APPLETALK
        integer, parameter :: PF_VOICEVIEW = AF_VOICEVIEW
        integer, parameter :: PF_FIREFOX = AF_FIREFOX
        integer, parameter :: PF_UNKNOWN1 = AF_UNKNOWN1
        integer, parameter :: PF_BAN = AF_BAN
        integer, parameter :: PF_MAX = AF_MAX
        integer, parameter :: HOST_NOT_FOUND = WSAHOST_NOT_FOUND
        integer, parameter :: TRY_AGAIN = WSATRY_AGAIN
        integer, parameter :: NO_RECOVERY = WSANO_RECOVERY
        integer, parameter :: NO_DATA = WSANO_DATA
        integer, parameter :: WSANO_ADDRESS = WSANO_DATA
        integer, parameter :: NO_ADDRESS = WSANO_ADDRESS
        integer, parameter :: EWOULDBLOCK = WSAEWOULDBLOCK
        integer, parameter :: EINPROGRESS = WSAEINPROGRESS
        integer, parameter :: EALREADY = WSAEALREADY
        integer, parameter :: ENOTSOCK = WSAENOTSOCK
        integer, parameter :: EDESTADDRREQ = WSAEDESTADDRREQ
        integer, parameter :: EMSGSIZE = WSAEMSGSIZE
        integer, parameter :: EPROTOTYPE = WSAEPROTOTYPE
        integer, parameter :: ENOPROTOOPT = WSAENOPROTOOPT
        integer, parameter :: EPROTONOSUPPORT = WSAEPROTONOSUPPORT
        integer, parameter :: ESOCKTNOSUPPORT = WSAESOCKTNOSUPPORT
        integer, parameter :: EOPNOTSUPP = WSAEOPNOTSUPP
        integer, parameter :: EPFNOSUPPORT = WSAEPFNOSUPPORT
        integer, parameter :: EAFNOSUPPORT = WSAEAFNOSUPPORT
        integer, parameter :: EADDRINUSE = WSAEADDRINUSE
        integer, parameter :: EADDRNOTAVAIL = WSAEADDRNOTAVAIL
        integer, parameter :: ENETDOWN = WSAENETDOWN
        integer, parameter :: ENETUNREACH = WSAENETUNREACH
        integer, parameter :: ENETRESET = WSAENETRESET
        integer, parameter :: ECONNABORTED = WSAECONNABORTED
        integer, parameter :: ECONNRESET = WSAECONNRESET
        integer, parameter :: ENOBUFS = WSAENOBUFS
        integer, parameter :: EISCONN = WSAEISCONN
        integer, parameter :: ENOTCONN = WSAENOTCONN
        integer, parameter :: ESHUTDOWN = WSAESHUTDOWN
        integer, parameter :: ETOOMANYREFS = WSAETOOMANYREFS
        integer, parameter :: ETIMEDOUT = WSAETIMEDOUT
        integer, parameter :: ECONNREFUSED = WSAECONNREFUSED
        integer, parameter :: ELOOP = WSAELOOP
        integer, parameter :: ENAMETOOLONG = WSAENAMETOOLONG
        integer, parameter :: EHOSTDOWN = WSAEHOSTDOWN
        integer, parameter :: EHOSTUNREACH = WSAEHOSTUNREACH
        integer, parameter :: ENOTEMPTY = WSAENOTEMPTY
        integer, parameter :: EPROCLIM = WSAEPROCLIM
        integer, parameter :: EUSERS = WSAEUSERS
        integer, parameter :: EDQUOT = WSAEDQUOT
        integer, parameter :: ESTALE = WSAESTALE
        integer, parameter :: EREMOTE = WSAEREMOTE
        integer, parameter :: CRYPT_FAILED = FALSE
        integer, parameter :: CRYPT_SUCCEED = TRUE
        integer, parameter :: CRYPT_FORMAT_SEMICOLON = CRYPT_FORMAT_RDN_SEMICOLON
        integer, parameter :: CRYPT_FORMAT_CRLF = CRYPT_FORMAT_RDN_CRLF
        integer, parameter :: CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG = CERT_RDN_ENABLE_T61_UNICODE_FLAG
        integer, parameter :: CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG = CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
        integer, parameter :: CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG = CERT_RDN_DISABLE_CHECK_TYPE_FLAG
        integer, parameter :: CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG = CERT_RDN_DISABLE_IE4_UTF8_FLAG
        integer, parameter :: X509_ANY_STRING = X509_NAME_VALUE
        integer, parameter :: X509_UNICODE_ANY_STRING = X509_UNICODE_NAME_VALUE
        integer, parameter :: X509_CRL_REASON_CODE = X509_ENUMERATED
        integer, parameter :: X509_DSS_PUBLICKEY = X509_MULTI_BYTE_UINT
        integer, parameter :: X509_DH_PUBLICKEY = X509_MULTI_BYTE_UINT
        integer, parameter :: CRYPT_FIRST_ALG_OID_GROUP_ID = CRYPT_HASH_ALG_OID_GROUP_ID
        integer, parameter :: CRYPT_LAST_ALG_OID_GROUP_ID = CRYPT_SIGN_ALG_OID_GROUP_ID
        integer, parameter :: CMSG_SIGNED_DATA_PKCS_1_5_VERSION = CMSG_SIGNED_DATA_V1
        integer, parameter :: CMSG_SIGNED_DATA_CMS_VERSION = CMSG_SIGNED_DATA_V3
        integer, parameter :: CMSG_SIGNER_INFO_PKCS_1_5_VERSION = CMSG_SIGNER_INFO_V1
        integer, parameter :: CMSG_SIGNER_INFO_CMS_VERSION = CMSG_SIGNER_INFO_V3
        integer, parameter :: CMSG_HASHED_DATA_PKCS_1_5_VERSION = CMSG_HASHED_DATA_V0
        integer, parameter :: CMSG_HASHED_DATA_CMS_VERSION = CMSG_HASHED_DATA_V2
        integer, parameter :: CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION = CMSG_ENVELOPED_DATA_V0
        integer, parameter :: CMSG_ENVELOPED_DATA_CMS_VERSION = CMSG_ENVELOPED_DATA_V2
        integer, parameter :: CMSG_KEY_TRANS_PKCS_1_5_VERSION = CMSG_ENVELOPED_RECIPIENT_V0
        integer, parameter :: CMSG_KEY_TRANS_CMS_VERSION = CMSG_ENVELOPED_RECIPIENT_V2
        integer, parameter :: CMSG_KEY_AGREE_VERSION = CMSG_ENVELOPED_RECIPIENT_V3
        integer, parameter :: CMSG_MAIL_LIST_VERSION = CMSG_ENVELOPED_RECIPIENT_V4
        integer, parameter :: CERT_HASH_PROP_ID = CERT_SHA1_HASH_PROP_ID
        integer, parameter :: CERT_CTL_USAGE_PROP_ID = CERT_ENHKEY_USAGE_PROP_ID
        integer, parameter :: CERT_STORE_PROV_FILENAME = CERT_STORE_PROV_FILENAME_W
        integer, parameter :: CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W
        integer, parameter :: CERT_STORE_PROV_SYSTEM_REGISTRY = CERT_STORE_PROV_SYSTEM_REGISTRY_W
        integer, parameter :: CERT_STORE_PROV_PHYSICAL = CERT_STORE_PROV_PHYSICAL_W
        integer, parameter :: CERT_STORE_PROV_SMART_CARD = CERT_STORE_PROV_SMART_CARD_W
        integer, parameter :: CERT_STORE_PROV_LDAP = CERT_STORE_PROV_LDAP_W
        integer, parameter :: CERT_STORE_SAVE_TO_FILENAME = CERT_STORE_SAVE_TO_FILENAME_W
        integer, parameter :: CERT_COMPARE_HASH = CERT_COMPARE_SHA1_HASH
        integer, parameter :: CERT_COMPARE_CTL_USAGE = CERT_COMPARE_ENHKEY_USAGE
        integer, parameter :: CERT_FIND_HASH = CERT_FIND_SHA1_HASH
        integer, parameter :: CERT_FIND_SUBJECT_STR = CERT_FIND_SUBJECT_STR_W
        integer, parameter :: CERT_FIND_ISSUER_STR = CERT_FIND_ISSUER_STR_W
        integer, parameter :: CERT_FIND_CTL_USAGE = CERT_FIND_ENHKEY_USAGE
        integer, parameter :: CERT_FIND_OPTIONAL_CTL_USAGE_FLAG = CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG
        integer, parameter :: CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG = CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
        integer, parameter :: CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG = CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
        integer, parameter :: CERT_FIND_NO_CTL_USAGE_FLAG = CERT_FIND_NO_ENHKEY_USAGE_FLAG
        integer, parameter :: CERT_FIND_OR_CTL_USAGE_FLAG = CERT_FIND_OR_ENHKEY_USAGE_FLAG
        integer, parameter :: CERT_FIND_VALID_CTL_USAGE_FLAG = CERT_FIND_VALID_ENHKEY_USAGE_FLAG
        integer, parameter :: NDR_LOCAL_ENDIAN = NDR_LITTLE_ENDIAN
    !DEC$ IF DEFINED(_M_IA64)
        integer, parameter :: VT_INT_PTR = VT_I8
        integer, parameter :: VT_UINT_PTR = VT_UI8
    !DEC$ ELSE
        integer, parameter :: VT_INT_PTR = VT_I4
        integer, parameter :: VT_UINT_PTR = VT_UI4
    !DEC$ END IF
        integer, parameter :: DEVICE_TYPE = DWORD
        integer, parameter :: IOCTL_STORAGE_BASE = FILE_DEVICE_MASS_STORAGE
        integer, parameter :: IOCTL_DISK_BASE = FILE_DEVICE_DISK
        integer, parameter :: IOCTL_CHANGER_BASE = FILE_DEVICE_CHANGER
!to fix
!        integer, parameter :: PSM_SETFINISHTEXT = PSM_SETFINISHTEXTA
!        integer, parameter :: PSM_SETHEADERTITLE = PSM_SETHEADERTITLEA
!        integer, parameter :: PSM_SETHEADERSUBTITLE = PSM_SETHEADERSUBTITLEA
        integer, parameter :: BINDF_DONTUSECACHE = BINDF_GETNEWESTVERSION
        integer, parameter :: BINDF_DONTPUTINCACHE = BINDF_NOWRITECACHE
        integer, parameter :: BINDF_NOCOPYDATA = BINDF_PULLDATA
        integer, parameter :: PI_DOCFILECLSIDLOOKUP = PI_CLSIDLOOKUP
        integer, parameter :: CFSTR_MIME_NULL = NULL 
        integer, parameter :: S_ASYNCHRONOUS = MK_S_ASYNCHRONOUS 
        integer, parameter :: INET_E_ERROR_LAST = INET_E_USE_EXTEND_BINDING
        integer, parameter :: INET_E_DEFAULT_ACTION = INET_E_USE_DEFAULT_PROTOCOLHANDLER 
        integer(2), parameter :: VT_HARDTYPE = VT_RESERVED
        integer, parameter :: MEMBERID_NIL = DISPID_UNKNOWN
        integer, parameter :: E_DRAW = VIEW_E_DRAW
        integer, parameter :: DATA_E_FORMATETC = DV_E_FORMATETC
        integer, parameter :: CF_SCRIPTSONLY = CF_ANSIONLY
        integer, parameter :: CF_NOOEMFONTS = CF_NOVECTORFONTS
!DEC$ IF(0. eq .1)
!to fix
        integer, parameter :: LBSELCHSTRING = LBSELCHSTRINGA
        integer, parameter :: SHAREVISTRING = SHAREVISTRINGA
        integer, parameter :: FILEOKSTRING = FILEOKSTRINGA
        integer, parameter :: COLOROKSTRING = COLOROKSTRINGA
        integer, parameter :: SETRGBSTRING = SETRGBSTRINGA
        integer, parameter :: HELPMSGSTRING = HELPMSGSTRINGA
        integer, parameter :: FINDMSGSTRING = FINDMSGSTRINGA
        integer, parameter :: SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA
        integer, parameter :: SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA
!DEC$ END IF
        integer, parameter :: MDM_SHIFT_PROTOCOLINFO = MDM_SHIFT_PROTOCOLID
        integer, parameter :: MDM_SHIFT_EXTENDEDINFO = MDM_SHIFT_BEARERMODE
        integer, parameter :: IME_CMODE_CHINESE = IME_CMODE_NATIVE
        integer, parameter :: IME_CMODE_HANGEUL = IME_CMODE_NATIVE
        integer, parameter :: IME_CMODE_HANGUL = IME_CMODE_NATIVE
        integer, parameter :: IME_CMODE_JAPANESE = IME_CMODE_NATIVE
        integer, parameter :: IMFS_GRAYED = MFS_GRAYED
        integer, parameter :: IMFS_DISABLED = MFS_DISABLED
        integer, parameter :: IMFS_CHECKED = MFS_CHECKED
        integer, parameter :: IMFS_HILITE = MFS_HILITE
        integer, parameter :: IMFS_ENABLED = MFS_ENABLED
        integer, parameter :: IMFS_UNCHECKED = MFS_UNCHECKED
        integer, parameter :: IMFS_UNHILITE = MFS_UNHILITE
        integer, parameter :: IMFS_DEFAULT = MFS_DEFAULT
    
    
    ! end of parameter definitions
    
    !DEC$ IF DEFINED( _M_IA64)
    TYPE T_FLOAT128
     SEQUENCE
      integer(8) LowPart  !  f__int64 
      integer(8) HighPart !  f__int64 
     END TYPE
    !DEC$ ENDIF
     TYPE T_LARGE_INTEGER
     SEQUENCE
       integer(DWORD) LowPart ! knowns  DWORD 
       integer(LONG) HighPart ! knowns  LONG 
     END TYPE
    !Inserted structure here:T_LARGE_INTEGER
     TYPE T_ULARGE_INTEGER
     SEQUENCE
       integer(DWORD) LowPart ! knowns  DWORD 
       integer(DWORD) HighPart ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_ULARGE_INTEGER
     TYPE T_LUID
     SEQUENCE
       integer(DWORD) LowPart ! knowns  DWORD 
       integer(LONG) HighPart ! knowns  LONG 
     END TYPE
     TYPE T_LIST_ENTRY
     SEQUENCE
       integer(LPVOID) Flink ! star   struct f_LIST_ENTRY *
       integer(LPVOID) Blink ! star   struct f_LIST_ENTRY *
     END TYPE
     TYPE T_SINGLE_LIST_ENTRY
     SEQUENCE
       integer(LPVOID) Next ! star   struct f_SINGLE_LIST_ENTRY *
     END TYPE
     TYPE T_LIST_ENTRY32
     SEQUENCE
       integer(DWORD) Flink ! knowns  DWORD 
       integer(DWORD) Blink ! knowns  DWORD 
     END TYPE
     TYPE T_LIST_ENTRY64
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) Flink ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) Blink ! knowns  ULONGLONG 
     END TYPE
     TYPE T_GUID
     SEQUENCE
       integer(ULONG) Data1 ! knowns  unsigned long 
       integer(USHORT) Data2 ! knowns  unsigned short 
       integer(USHORT) Data3 ! knowns  unsigned short 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) Data4(8) ! knowns  unsigned char 
!DEC$ ELSE
       character(8) Data4
!DEC$ ENDIF
     END TYPE
     TYPE T_OBJECTID
     SEQUENCE
       TYPE (T_GUID) Lineage ! typedefs  GUID 
       integer(DWORD) Uniquifier ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_FLOATING_SAVE_AREA
     SEQUENCE
       integer(DWORD) ControlWord ! knowns  DWORD 
       integer(DWORD) StatusWord ! knowns  DWORD 
       integer(DWORD) TagWord ! knowns  DWORD 
       integer(DWORD) ErrorOffset ! knowns  DWORD 
       integer(DWORD) ErrorSelector ! knowns  DWORD 
       integer(DWORD) DataOffset ! knowns  DWORD 
       integer(DWORD) DataSelector ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RegisterArea(80) ! knowns  BYTE 
!DEC$ ELSE
       character(80) RegisterArea
!DEC$ ENDIF
       integer(DWORD) Cr0NpxState ! knowns  DWORD 
     END TYPE
     TYPE T_CONTEXT
     SEQUENCE
       integer(DWORD) ContextFlags ! knowns  DWORD 
       integer(DWORD) Dr0 ! knowns  DWORD 
       integer(DWORD) Dr1 ! knowns  DWORD 
       integer(DWORD) Dr2 ! knowns  DWORD 
       integer(DWORD) Dr3 ! knowns  DWORD 
       integer(DWORD) Dr6 ! knowns  DWORD 
       integer(DWORD) Dr7 ! knowns  DWORD 
       TYPE (T_FLOATING_SAVE_AREA) FloatSave ! typedefs  FLOATING_SAVE_AREA 
       integer(DWORD) SegGs ! knowns  DWORD 
       integer(DWORD) SegFs ! knowns  DWORD 
       integer(DWORD) SegEs ! knowns  DWORD 
       integer(DWORD) SegDs ! knowns  DWORD 
       integer(DWORD) Edi ! knowns  DWORD 
       integer(DWORD) Esi ! knowns  DWORD 
       integer(DWORD) Ebx ! knowns  DWORD 
       integer(DWORD) Edx ! knowns  DWORD 
       integer(DWORD) Ecx ! knowns  DWORD 
       integer(DWORD) Eax ! knowns  DWORD 
       integer(DWORD) Ebp ! knowns  DWORD 
       integer(DWORD) Eip ! knowns  DWORD 
       integer(DWORD) SegCs ! knowns  DWORD 
       integer(DWORD) EFlags ! knowns  DWORD 
       integer(DWORD) Esp ! knowns  DWORD 
       integer(DWORD) SegSs ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) ExtendedRegisters(512) ! knowns  BYTE 
!DEC$ ELSE
       character(512) ExtendedRegisters
!DEC$ ENDIF
     END TYPE
    !DEC$ ENDIF
    !Inserted structure here:T_LDT_ENTRY
     STRUCTURE /T_LDT_ENTRY/
        integer(WORD) LimitLow ! knowns  WORD 
        integer(WORD) BaseLow ! knowns  WORD 
       UNION  ! HighWord
         MAP
          STRUCTURE /f_Bytes/ Bytes
        integer(BYTE) BaseMid ! knowns  BYTE 
        integer(BYTE) Flags1 ! knowns  BYTE 
        integer(BYTE) Flags2 ! knowns  BYTE 
        integer(BYTE) BaseHi ! knowns  BYTE 
          END STRUCTURE ! Bytes
         END MAP
         MAP
          STRUCTURE /f_Bits/ Bits
    !???   DWORD BaseMid : 8
    !???   DWORD Type : 5
    !???   DWORD Dpl : 2
    !???   DWORD Pres : 1
    !???   DWORD LimitHi : 4
    !???   DWORD Sys : 1
    !???   DWORD Reserved_0 : 1
    !???   DWORD Default_Big : 1
    !???   DWORD Granularity : 1
    !???   DWORD BaseHi : 8
       integer(DWORD) bitfield ! added - see above for C fields
          END STRUCTURE ! Bits
         END MAP
       END UNION  ! HighWord
     END STRUCTURE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_CONTEXT
     SEQUENCE
       integer(DWORD) ContextFlags ! knowns  DWORD 
       integer(DWORD) Fill1(3) ! knowns  DWORD 
       TYPE(T_LARGE_INTEGERX) DbI0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI2 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI3 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI4 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI5 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI6 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbI7 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD2 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD3 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD4 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD5 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD6 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) DbD7 ! knowns  ULONGLONG 
       TYPE (T_FLOAT128) FltS0 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS1 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS2 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS3 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT0 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT1 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT2 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT3 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT4 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT5 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT6 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT7 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT8 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltT9 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS4 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS5 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS6 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS7 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS8 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS9 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS10 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS11 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS12 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS13 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS14 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS15 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS16 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS17 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS18 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltS19 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF32 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF33 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF34 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF35 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF36 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF37 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF38 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF39 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF40 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF41 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF42 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF43 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF44 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF45 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF46 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF47 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF48 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF49 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF50 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF51 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF52 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF53 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF54 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF55 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF56 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF57 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF58 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF59 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF60 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF61 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF62 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF63 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF64 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF65 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF66 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF67 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF68 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF69 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF70 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF71 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF72 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF73 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF74 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF75 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF76 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF77 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF78 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF79 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF80 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF81 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF82 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF83 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF84 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF85 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF86 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF87 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF88 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF89 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF90 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF91 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF92 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF93 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF94 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF95 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF96 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF97 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF98 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF99 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF100 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF101 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF102 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF103 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF104 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF105 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF106 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF107 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF108 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF109 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF110 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF111 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF112 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF113 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF114 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF115 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF116 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF117 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF118 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF119 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF120 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF121 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF122 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF123 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF124 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF125 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF126 ! typedefs  FLOAT128 
       TYPE (T_FLOAT128) FltF127 ! typedefs  FLOAT128 
       TYPE(T_LARGE_INTEGERX) StFPSR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntGp ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntS0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntS1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntS2 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntS3 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntV0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT2 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT3 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT4 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntSp ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntTeb ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT5 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT6 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT7 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT8 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT9 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT10 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT11 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT12 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT13 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT14 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT15 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT16 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT17 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT18 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT19 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT20 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT21 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntT22 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) IntNats ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) Preds ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrRp ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrS0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrS1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrS2 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrS3 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrS4 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrT0 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) BrT1 ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ApUNAT ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ApLC ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ApEC ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ApCCV ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ApDCR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) RsPFS ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) RsBSP ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) RsBSPSTORE ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) RsRSC ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) RsRNAT ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StIPSR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StIIP ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StIFS ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StFCR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) Eflag ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) SegCSD ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) SegSSD ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) Cflag ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StFSR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StFIR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) StFDR ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) UNUSEDPACK ! knowns  ULONGLONG 
     END TYPE
     TYPE T_PLABEL_DESCRIPTOR
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) EntryPoint ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) GlobalPointer ! knowns  ULONGLONG 
     END TYPE
    !DEC$ ENDIF
     TYPE T_EXCEPTION_RECORD
     SEQUENCE
       integer(DWORD) ExceptionCode ! knowns  DWORD 
       integer(DWORD) ExceptionFlags ! knowns  DWORD 
       integer(LPVOID) ExceptionRecord ! star   struct f_EXCEPTION_RECORD *
       integer(PVOID) ExceptionAddress ! knowns  PVOID 
       integer(DWORD) NumberParameters ! knowns  DWORD 
       integer(ULONG_PTR) ExceptionInformation(15) ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_EXCEPTION_RECORD32
     SEQUENCE
       integer(DWORD) ExceptionCode ! knowns  DWORD 
       integer(DWORD) ExceptionFlags ! knowns  DWORD 
       integer(DWORD) ExceptionRecord ! knowns  DWORD 
       integer(DWORD) ExceptionAddress ! knowns  DWORD 
       integer(DWORD) NumberParameters ! knowns  DWORD 
       integer(DWORD) ExceptionInformation(15) ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_EXCEPTION_RECORD64
     SEQUENCE
       integer(DWORD) ExceptionCode ! knowns  DWORD 
       integer(DWORD) ExceptionFlags ! knowns  DWORD 
       integer(DWORD64) ExceptionRecord ! typedefs  DWORD64 
       integer(DWORD64) ExceptionAddress ! typedefs  DWORD64 
       integer(DWORD) NumberParameters ! knowns  DWORD 
       integer(DWORD) f__unusedAlignment ! knowns  DWORD 
       integer(DWORD64) ExceptionInformation(15) ! typedefs  DWORD64 
     END TYPE
    !DEC$ ENDIF
     TYPE T_EXCEPTION_POINTERS
     SEQUENCE
       integer(LPVOID) ExceptionRecord ! pointers  PEXCEPTION_RECORD 
       integer(LPVOID) ContextRecord ! pointers  PCONTEXT 
     END TYPE
     TYPE T_GENERIC_MAPPING
     SEQUENCE
       integer(ULONG) GenericRead ! typedefs  ACCESS_MASK 
       integer(ULONG) GenericWrite ! typedefs  ACCESS_MASK 
       integer(ULONG) GenericExecute ! typedefs  ACCESS_MASK 
       integer(ULONG) GenericAll ! typedefs  ACCESS_MASK 
     END TYPE
     TYPE T_LUID_AND_ATTRIBUTES
     SEQUENCE
       TYPE (T_LUID) Luid ! typedefs  LUID 
       integer(DWORD) Attributes ! knowns  DWORD 
     END TYPE
     TYPE T_SID_IDENTIFIER_AUTHORITY
     SEQUENCE
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Value(6) ! knowns  BYTE 
!DEC$ ELSE
       character(6) Value
!DEC$ ENDIF
     END TYPE
     TYPE T_SID
     SEQUENCE
       integer(BYTE) Revision ! knowns  BYTE 
       integer(BYTE) SubAuthorityCount ! knowns  BYTE 
       TYPE (T_SID_IDENTIFIER_AUTHORITY) IdentifierAuthority ! typedefs  SID_IDENTIFIER_AUTHORITY 
       integer(DWORD) SubAuthority(1) ! knowns  DWORD 
     END TYPE
     TYPE T_SID_AND_ATTRIBUTES
     SEQUENCE
       integer(PVOID) Sid ! typedefs  PSID 
       integer(DWORD) Attributes ! knowns  DWORD 
     END TYPE
     TYPE T_ACL
     SEQUENCE
       integer(BYTE) AclRevision ! knowns  BYTE 
       integer(BYTE) Sbz1 ! knowns  BYTE 
       integer(WORD) AclSize ! knowns  WORD 
       integer(WORD) AceCount ! knowns  WORD 
       integer(WORD) Sbz2 ! knowns  WORD 
     END TYPE
     TYPE T_ACE_HEADER
     SEQUENCE
       integer(BYTE) AceType ! knowns  BYTE 
       integer(BYTE) AceFlags ! knowns  BYTE 
       integer(WORD) AceSize ! knowns  WORD 
     END TYPE
     TYPE T_ACCESS_ALLOWED_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_ACCESS_DENIED_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_SYSTEM_AUDIT_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_SYSTEM_ALARM_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_ACCESS_ALLOWED_OBJECT_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_GUID) ObjectType ! typedefs  GUID 
       TYPE (T_GUID) InheritedObjectType ! typedefs  GUID 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_ACCESS_DENIED_OBJECT_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_GUID) ObjectType ! typedefs  GUID 
       TYPE (T_GUID) InheritedObjectType ! typedefs  GUID 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_SYSTEM_AUDIT_OBJECT_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_GUID) ObjectType ! typedefs  GUID 
       TYPE (T_GUID) InheritedObjectType ! typedefs  GUID 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_SYSTEM_ALARM_OBJECT_ACE
     SEQUENCE
       TYPE (T_ACE_HEADER) Header ! typedefs  ACE_HEADER 
       integer(ULONG) Mask ! typedefs  ACCESS_MASK 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_GUID) ObjectType ! typedefs  GUID 
       TYPE (T_GUID) InheritedObjectType ! typedefs  GUID 
       integer(DWORD) SidStart ! knowns  DWORD 
     END TYPE
     TYPE T_ACL_REVISION_INFORMATION
     SEQUENCE
       integer(DWORD) AclRevision ! knowns  DWORD 
     END TYPE
     TYPE T_ACL_SIZE_INFORMATION
     SEQUENCE
       integer(DWORD) AceCount ! knowns  DWORD 
       integer(DWORD) AclBytesInUse ! knowns  DWORD 
       integer(DWORD) AclBytesFree ! knowns  DWORD 
     END TYPE
     TYPE T_SECURITY_DESCRIPTOR_RELATIVE
     SEQUENCE
       integer(BYTE) Revision ! knowns  BYTE 
       integer(BYTE) Sbz1 ! knowns  BYTE 
       integer(USHORT) Control ! typedefs  SECURITY_DESCRIPTOR_CONTROL 
       integer(DWORD) Owner ! knowns  DWORD 
       integer(DWORD) Group ! knowns  DWORD 
       integer(DWORD) Sacl ! knowns  DWORD 
       integer(DWORD) Dacl ! knowns  DWORD 
     END TYPE
     TYPE T_SECURITY_DESCRIPTOR
     SEQUENCE
       integer(BYTE) Revision ! knowns  BYTE 
       integer(BYTE) Sbz1 ! knowns  BYTE 
       integer(USHORT) Control ! typedefs  SECURITY_DESCRIPTOR_CONTROL 
       integer(PVOID) Owner ! typedefs  PSID 
       integer(PVOID) Group ! typedefs  PSID 
       integer(LPVOID) Sacl ! pointers  PACL 
       integer(LPVOID) Dacl ! pointers  PACL 
     END TYPE
     TYPE T_OBJECT_TYPE_LIST
     SEQUENCE
       integer(WORD) Level ! knowns  WORD 
       integer(WORD) Sbz ! knowns  WORD 
      integer(LPVOID) ObjectType ! star  GUID  *
     END TYPE
     TYPE T_PRIVILEGE_SET
     SEQUENCE
       integer(DWORD) PrivilegeCount ! knowns  DWORD 
       integer(DWORD) Control ! knowns  DWORD 
       TYPE (T_LUID_AND_ATTRIBUTES) Privilege(1) ! typedefs  LUID_AND_ATTRIBUTES 
     END TYPE
     TYPE T_TOKEN_USER
     SEQUENCE
       TYPE (T_SID_AND_ATTRIBUTES) User ! typedefs  SID_AND_ATTRIBUTES 
     END TYPE
     TYPE T_TOKEN_GROUPS
     SEQUENCE
       integer(DWORD) GroupCount ! knowns  DWORD 
       TYPE (T_SID_AND_ATTRIBUTES) Groups(1) ! typedefs  SID_AND_ATTRIBUTES 
     END TYPE
     TYPE T_TOKEN_PRIVILEGES
     SEQUENCE
       integer(DWORD) PrivilegeCount ! knowns  DWORD 
       TYPE (T_LUID_AND_ATTRIBUTES) Privileges(1) ! typedefs  LUID_AND_ATTRIBUTES 
     END TYPE
     TYPE T_TOKEN_OWNER
     SEQUENCE
       integer(PVOID) Owner ! typedefs  PSID 
     END TYPE
     TYPE T_TOKEN_PRIMARY_GROUP
     SEQUENCE
       integer(PVOID) PrimaryGroup ! typedefs  PSID 
     END TYPE
     TYPE T_TOKEN_DEFAULT_DACL
     SEQUENCE
       integer(LPVOID) DefaultDacl ! pointers  PACL 
     END TYPE
     TYPE T_TOKEN_SOURCE
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) SourceName(8) ! knowns  CHAR 
!DEC$ ELSE
       character(8) SourceName
!DEC$ ENDIF
       TYPE (T_LUID) SourceIdentifier ! typedefs  LUID 
     END TYPE
     TYPE T_TOKEN_STATISTICS
     SEQUENCE
       TYPE (T_LUID) TokenId ! typedefs  LUID 
       TYPE (T_LUID) AuthenticationId ! typedefs  LUID 
       TYPE (T_LARGE_INTEGER) ExpirationTime ! typedefs  LARGE_INTEGER 
       integer(DWORD)  TokenType !  TOKEN_TYPE (an enum)
       integer(DWORD)  ImpersonationLevel !SECURITY_IMPERSONATION_LEVEL (an enum)
       integer(DWORD) DynamicCharged ! knowns  DWORD 
       integer(DWORD) DynamicAvailable ! knowns  DWORD 
       integer(DWORD) GroupCount ! knowns  DWORD 
       integer(DWORD) PrivilegeCount ! knowns  DWORD 
       TYPE (T_LUID) ModifiedId ! typedefs  LUID 
     END TYPE
     TYPE T_TOKEN_CONTROL
     SEQUENCE
       TYPE (T_LUID) TokenId ! typedefs  LUID 
       TYPE (T_LUID) AuthenticationId ! typedefs  LUID 
       TYPE (T_LUID) ModifiedId ! typedefs  LUID 
       TYPE (T_TOKEN_SOURCE) TokenSource ! typedefs  TOKEN_SOURCE 
     END TYPE
     TYPE T_SECURITY_QUALITY_OF_SERVICE
     SEQUENCE
       integer(DWORD) Length ! knowns  DWORD 
       integer(DWORD) ImpersonationLevel !SECURITY_IMPERSONATION_LEVEL (an enum)
       character(UCHAR) ContextTrackingMode ! typedefs  SECURITY_CONTEXT_TRACKING_MODE 
       character(UCHAR) EffectiveOnly ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_SE_IMPERSONATION_STATE
     SEQUENCE
       integer(PVOID) Token ! typedefs  PACCESS_TOKEN 
       character(UCHAR) CopyOnOpen ! typedefs  BOOLEAN 
       character(UCHAR) EffectiveOnly ! typedefs  BOOLEAN 
       integer(DWORD) ImpersonationLevel !SECURITY_IMPERSONATION_LEVEL (an enum)
     END TYPE
    !Inserted structure here:T_NT_TIB
     STRUCTURE /T_NT_TIB/
       integer(LPVOID) ExceptionList ! star    struct f_EXCEPTION_REGISTRATION_RECORD *
        integer(PVOID) StackBase ! knowns  PVOID 
        integer(PVOID) StackLimit ! knowns  PVOID 
        integer(PVOID) SubSystemTib ! knowns  PVOID 
       UNION  ! field0
         MAP
        integer(PVOID) FiberData ! knowns  PVOID 
         END MAP
         MAP
        integer(DWORD) Version ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(PVOID) ArbitraryUserPointer ! knowns  PVOID 
       integer(LPVOID) Self ! star    struct f_NT_TIB *
     END STRUCTURE
     TYPE T_QUOTA_LIMITS
     SEQUENCE
       integer(POINTER_LEN) PagedPoolLimit ! knowns  SIZE_T 
       integer(POINTER_LEN) NonPagedPoolLimit ! knowns  SIZE_T 
       integer(POINTER_LEN) MinimumWorkingSetSize ! knowns  SIZE_T 
       integer(POINTER_LEN) MaximumWorkingSetSize ! knowns  SIZE_T 
       integer(POINTER_LEN) PagefileLimit ! knowns  SIZE_T 
       TYPE (T_LARGE_INTEGER) TimeLimit ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_IO_COUNTERS
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) ReadOperationCount ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) WriteOperationCount ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) OtherOperationCount ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ReadTransferCount ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) WriteTransferCount ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) OtherTransferCount ! knowns  ULONGLONG 
     END TYPE
     TYPE T_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
     SEQUENCE
       TYPE (T_LARGE_INTEGER) TotalUserTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) TotalKernelTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) ThisPeriodTotalUserTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) ThisPeriodTotalKernelTime ! typedefs  LARGE_INTEGER 
       integer(DWORD) TotalPageFaultCount ! knowns  DWORD 
       integer(DWORD) TotalProcesses ! knowns  DWORD 
       integer(DWORD) ActiveProcesses ! knowns  DWORD 
       integer(DWORD) TotalTerminatedProcesses ! knowns  DWORD 
     END TYPE
     TYPE T_JOBOBJECT_BASIC_LIMIT_INFORMATION
     SEQUENCE
       TYPE (T_LARGE_INTEGER) PerProcessUserTimeLimit ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) PerJobUserTimeLimit ! typedefs  LARGE_INTEGER 
       integer(DWORD) LimitFlags ! knowns  DWORD 
       integer(POINTER_LEN) MinimumWorkingSetSize ! knowns  SIZE_T 
       integer(POINTER_LEN) MaximumWorkingSetSize ! knowns  SIZE_T 
       integer(DWORD) ActiveProcessLimit ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) Affinity ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) Affinity ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(DWORD) PriorityClass ! knowns  DWORD 
       integer(DWORD) SchedulingClass ! knowns  DWORD 
     END TYPE
     TYPE T_JOBOBJECT_EXTENDED_LIMIT_INFORMATION
     SEQUENCE
       TYPE (T_JOBOBJECT_BASIC_LIMIT_INFORMATION) BasicLimitInformation ! typedefs  JOBOBJECT_BASIC_LIMIT_INFORMATION 
       TYPE (T_IO_COUNTERS) IoInfo ! typedefs  IO_COUNTERS 
       integer(POINTER_LEN) ProcessMemoryLimit ! knowns  SIZE_T 
       integer(POINTER_LEN) JobMemoryLimit ! knowns  SIZE_T 
       integer(POINTER_LEN) PeakProcessMemoryUsed ! knowns  SIZE_T 
       integer(POINTER_LEN) PeakJobMemoryUsed ! knowns  SIZE_T 
     END TYPE
     TYPE T_JOBOBJECT_BASIC_PROCESS_ID_LIST
     SEQUENCE
       integer(DWORD) NumberOfAssignedProcesses ! knowns  DWORD 
       integer(DWORD) NumberOfProcessIdsInList ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) ProcessIdList(1) ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) ProcessIdList(1) ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_JOBOBJECT_BASIC_UI_RESTRICTIONS
     SEQUENCE
       integer(DWORD) UIRestrictionsClass ! knowns  DWORD 
     END TYPE
     TYPE T_JOBOBJECT_SECURITY_LIMIT_INFORMATION
     SEQUENCE
       integer(DWORD) SecurityLimitFlags  ! knowns  DWORD 
       integer(HANDLE) JobToken  ! knowns  HANDLE 
       integer(LPVOID) SidsToDisable  ! pointers  PTOKEN_GROUPS 
       integer(LPVOID) PrivilegesToDelete  ! pointers  PTOKEN_PRIVILEGES 
       integer(LPVOID) RestrictedSids  ! pointers  PTOKEN_GROUPS 
     END TYPE
     TYPE T_JOBOBJECT_END_OF_JOB_TIME_INFORMATION
     SEQUENCE
       integer(DWORD) EndOfJobTimeAction ! knowns  DWORD 
     END TYPE
     TYPE T_JOBOBJECT_ASSOCIATE_COMPLETION_PORT
     SEQUENCE
       integer(PVOID) CompletionKey ! knowns  PVOID 
       integer(HANDLE) CompletionPort ! knowns  HANDLE 
     END TYPE
     TYPE T_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
     SEQUENCE
       TYPE (T_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION) BasicInfo ! typedefs  JOBOBJECT_BASIC_ACCOUNTING_INFORMATION 
       TYPE (T_IO_COUNTERS) IoInfo ! typedefs  IO_COUNTERS 
     END TYPE
     TYPE T_MEMORY_BASIC_INFORMATION
     SEQUENCE
       integer(PVOID) BaseAddress ! knowns  PVOID 
       integer(PVOID) AllocationBase ! knowns  PVOID 
       integer(DWORD) AllocationProtect ! knowns  DWORD 
       integer(POINTER_LEN) RegionSize ! knowns  SIZE_T 
       integer(DWORD) State ! knowns  DWORD 
       integer(DWORD) Protect ! knowns  DWORD 
       integer(DWORD) Type ! knowns  DWORD 
     END TYPE
     TYPE T_FILE_NOTIFY_INFORMATION
     SEQUENCE
       integer(DWORD) NextEntryOffset ! knowns  DWORD 
       integer(DWORD) Action ! knowns  DWORD 
       integer(DWORD) FileNameLength ! knowns  DWORD 
       integer(WCHAR) FileName(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_FILE_SEGMENT_ELEMENT
     SEQUENCE
     UNION
     MAP
    !DEC$ IF DEFINED( _M_IA64)
      integer(LPVOID) Buffer ! knowns  PVOID64 
    !DEC$ ELSE
      TYPE(T_LARGE_INTEGERX) buffer ! knowns  PVOID64 
    !DEC$ ENDIF
     END MAP
     MAP
       TYPE(T_LARGE_INTEGERX) Alignment ! knowns  ULONGLONG 
     END MAP
     END UNION
     END TYPE
    !Inserted structure here:T_REPARSE_GUID_DATA_BUFFER
     STRUCTURE /T_REPARSE_GUID_DATA_BUFFER/
        integer(DWORD) ReparseTag ! knowns  DWORD 
        integer(WORD) ReparseDataLength ! knowns  WORD 
        integer(WORD) Reserved ! knowns  WORD 
        TYPE(T_GUID) ReparseGuid ! typedefs  GUID 
        STRUCTURE /f_GenericReparseBuffer/ GenericReparseBuffer
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
        integer(BYTE) DataBuffer(1) ! knowns  BYTE 
!DEC$ ELSE
        character(1) DataBuffer
!DEC$ ENDIF
        END STRUCTURE ! GenericReparseBuffer
     END STRUCTURE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
     TYPE T_IMAGE_DOS_HEADER
     SEQUENCE
       integer(WORD) e_magic ! knowns  WORD 
       integer(WORD) e_cblp ! knowns  WORD 
       integer(WORD) e_cp ! knowns  WORD 
       integer(WORD) e_crlc ! knowns  WORD 
       integer(WORD) e_cparhdr ! knowns  WORD 
       integer(WORD) e_minalloc ! knowns  WORD 
       integer(WORD) e_maxalloc ! knowns  WORD 
       integer(WORD) e_ss ! knowns  WORD 
       integer(WORD) e_sp ! knowns  WORD 
       integer(WORD) e_csum ! knowns  WORD 
       integer(WORD) e_ip ! knowns  WORD 
       integer(WORD) e_cs ! knowns  WORD 
       integer(WORD) e_lfarlc ! knowns  WORD 
       integer(WORD) e_ovno ! knowns  WORD 
       integer(WORD) e_res(4) ! knowns  WORD 
       integer(WORD) e_oemid ! knowns  WORD 
       integer(WORD) e_oeminfo ! knowns  WORD 
       integer(WORD) e_res2(10) ! knowns  WORD 
       integer(LONG) e_lfanew ! knowns  LONG 
     END TYPE
     TYPE T_IMAGE_OS2_HEADER
     SEQUENCE
       integer(WORD) ne_magic ! knowns  WORD 
       character(SCHAR) ne_ver ! knowns  CHAR 
       character(SCHAR) ne_rev ! knowns  CHAR 
       integer(WORD) ne_enttab ! knowns  WORD 
       integer(WORD) ne_cbenttab ! knowns  WORD 
       integer(LONG) ne_crc ! knowns  LONG 
       integer(WORD) ne_flags ! knowns  WORD 
       integer(WORD) ne_autodata ! knowns  WORD 
       integer(WORD) ne_heap ! knowns  WORD 
       integer(WORD) ne_stack ! knowns  WORD 
       integer(LONG) ne_csip ! knowns  LONG 
       integer(LONG) ne_sssp ! knowns  LONG 
       integer(WORD) ne_cseg ! knowns  WORD 
       integer(WORD) ne_cmod ! knowns  WORD 
       integer(WORD) ne_cbnrestab ! knowns  WORD 
       integer(WORD) ne_segtab ! knowns  WORD 
       integer(WORD) ne_rsrctab ! knowns  WORD 
       integer(WORD) ne_restab ! knowns  WORD 
       integer(WORD) ne_modtab ! knowns  WORD 
       integer(WORD) ne_imptab ! knowns  WORD 
       integer(LONG) ne_nrestab ! knowns  LONG 
       integer(WORD) ne_cmovent ! knowns  WORD 
       integer(WORD) ne_align ! knowns  WORD 
       integer(WORD) ne_cres ! knowns  WORD 
       integer(BYTE) ne_exetyp ! knowns  BYTE 
       integer(BYTE) ne_flagsothers ! knowns  BYTE 
       integer(WORD) ne_pretthunks ! knowns  WORD 
       integer(WORD) ne_psegrefbytes ! knowns  WORD 
       integer(WORD) ne_swaparea ! knowns  WORD 
       integer(WORD) ne_expver ! knowns  WORD 
     END TYPE
     TYPE T_IMAGE_VXD_HEADER
     SEQUENCE
       integer(WORD) e32_magic ! knowns  WORD 
       integer(BYTE) e32_border ! knowns  BYTE 
       integer(BYTE) e32_worder ! knowns  BYTE 
       integer(DWORD) e32_level ! knowns  DWORD 
       integer(WORD) e32_cpu ! knowns  WORD 
       integer(WORD) e32_os ! knowns  WORD 
       integer(DWORD) e32_ver ! knowns  DWORD 
       integer(DWORD) e32_mflags ! knowns  DWORD 
       integer(DWORD) e32_mpages ! knowns  DWORD 
       integer(DWORD) e32_startobj ! knowns  DWORD 
       integer(DWORD) e32_eip ! knowns  DWORD 
       integer(DWORD) e32_stackobj ! knowns  DWORD 
       integer(DWORD) e32_esp ! knowns  DWORD 
       integer(DWORD) e32_pagesize ! knowns  DWORD 
       integer(DWORD) e32_lastpagesize ! knowns  DWORD 
       integer(DWORD) e32_fixupsize ! knowns  DWORD 
       integer(DWORD) e32_fixupsum ! knowns  DWORD 
       integer(DWORD) e32_ldrsize ! knowns  DWORD 
       integer(DWORD) e32_ldrsum ! knowns  DWORD 
       integer(DWORD) e32_objtab ! knowns  DWORD 
       integer(DWORD) e32_objcnt ! knowns  DWORD 
       integer(DWORD) e32_objmap ! knowns  DWORD 
       integer(DWORD) e32_itermap ! knowns  DWORD 
       integer(DWORD) e32_rsrctab ! knowns  DWORD 
       integer(DWORD) e32_rsrccnt ! knowns  DWORD 
       integer(DWORD) e32_restab ! knowns  DWORD 
       integer(DWORD) e32_enttab ! knowns  DWORD 
       integer(DWORD) e32_dirtab ! knowns  DWORD 
       integer(DWORD) e32_dircnt ! knowns  DWORD 
       integer(DWORD) e32_fpagetab ! knowns  DWORD 
       integer(DWORD) e32_frectab ! knowns  DWORD 
       integer(DWORD) e32_impmod ! knowns  DWORD 
       integer(DWORD) e32_impmodcnt ! knowns  DWORD 
       integer(DWORD) e32_impproc ! knowns  DWORD 
       integer(DWORD) e32_pagesum ! knowns  DWORD 
       integer(DWORD) e32_datapage ! knowns  DWORD 
       integer(DWORD) e32_preload ! knowns  DWORD 
       integer(DWORD) e32_nrestab ! knowns  DWORD 
       integer(DWORD) e32_cbnrestab ! knowns  DWORD 
       integer(DWORD) e32_nressum ! knowns  DWORD 
       integer(DWORD) e32_autodata ! knowns  DWORD 
       integer(DWORD) e32_debuginfo ! knowns  DWORD 
       integer(DWORD) e32_debuglen ! knowns  DWORD 
       integer(DWORD) e32_instpreload ! knowns  DWORD 
       integer(DWORD) e32_instdemand ! knowns  DWORD 
       integer(DWORD) e32_heapsize ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) e32_res3(12) ! knowns  BYTE 
!DEC$ ELSE
       character(12) e32_res3
!DEC$ ENDIF
       integer(DWORD) e32_winresoff ! knowns  DWORD 
       integer(DWORD) e32_winreslen ! knowns  DWORD 
       integer(WORD) e32_devid ! knowns  WORD 
       integer(WORD) e32_ddkver ! knowns  WORD 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
  
     TYPE T_IMAGE_FILE_HEADER
     SEQUENCE
       integer(WORD) Machine ! knowns  WORD 
       integer(WORD) NumberOfSections ! knowns  WORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(DWORD) PointerToSymbolTable ! knowns  DWORD 
       integer(DWORD) NumberOfSymbols ! knowns  DWORD 
       integer(WORD) SizeOfOptionalHeader ! knowns  WORD 
       integer(WORD) Characteristics ! knowns  WORD 
     END TYPE
     TYPE T_IMAGE_DATA_DIRECTORY
     SEQUENCE
       integer(DWORD) VirtualAddress ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_OPTIONAL_HEADER32
     SEQUENCE
       integer(WORD) Magic ! knowns  WORD 
       integer(BYTE) MajorLinkerVersion ! knowns  BYTE 
       integer(BYTE) MinorLinkerVersion ! knowns  BYTE 
       integer(DWORD) SizeOfCode ! knowns  DWORD 
       integer(DWORD) SizeOfInitializedData ! knowns  DWORD 
       integer(DWORD) SizeOfUninitializedData ! knowns  DWORD 
       integer(DWORD) AddressOfEntryPoint ! knowns  DWORD 
       integer(DWORD) BaseOfCode ! knowns  DWORD 
       integer(DWORD) BaseOfData ! knowns  DWORD 
       integer(DWORD) ImageBase ! knowns  DWORD 
       integer(DWORD) SectionAlignment ! knowns  DWORD 
       integer(DWORD) FileAlignment ! knowns  DWORD 
       integer(WORD) MajorOperatingSystemVersion ! knowns  WORD 
       integer(WORD) MinorOperatingSystemVersion ! knowns  WORD 
       integer(WORD) MajorImageVersion ! knowns  WORD 
       integer(WORD) MinorImageVersion ! knowns  WORD 
       integer(WORD) MajorSubsystemVersion ! knowns  WORD 
       integer(WORD) MinorSubsystemVersion ! knowns  WORD 
       integer(DWORD) Win32VersionValue ! knowns  DWORD 
       integer(DWORD) SizeOfImage ! knowns  DWORD 
       integer(DWORD) SizeOfHeaders ! knowns  DWORD 
       integer(DWORD) CheckSum ! knowns  DWORD 
       integer(WORD) Subsystem ! knowns  WORD 
       integer(WORD) DllCharacteristics ! knowns  WORD 
       integer(DWORD) SizeOfStackReserve ! knowns  DWORD 
       integer(DWORD) SizeOfStackCommit ! knowns  DWORD 
       integer(DWORD) SizeOfHeapReserve ! knowns  DWORD 
       integer(DWORD) SizeOfHeapCommit ! knowns  DWORD 
       integer(DWORD) LoaderFlags ! knowns  DWORD 
       integer(DWORD) NumberOfRvaAndSizes ! knowns  DWORD 
       TYPE (T_IMAGE_DATA_DIRECTORY) DataDirectory(16) ! typedefs  IMAGE_DATA_DIRECTORY 
     END TYPE
     TYPE T_IMAGE_ROM_OPTIONAL_HEADER
     SEQUENCE
       integer(WORD) Magic ! knowns  WORD 
       integer(BYTE) MajorLinkerVersion ! knowns  BYTE 
       integer(BYTE) MinorLinkerVersion ! knowns  BYTE 
       integer(DWORD) SizeOfCode ! knowns  DWORD 
       integer(DWORD) SizeOfInitializedData ! knowns  DWORD 
       integer(DWORD) SizeOfUninitializedData ! knowns  DWORD 
       integer(DWORD) AddressOfEntryPoint ! knowns  DWORD 
       integer(DWORD) BaseOfCode ! knowns  DWORD 
       integer(DWORD) BaseOfData ! knowns  DWORD 
       integer(DWORD) BaseOfBss ! knowns  DWORD 
       integer(DWORD) GprMask ! knowns  DWORD 
       integer(DWORD) CprMask(4) ! knowns  DWORD 
       integer(DWORD) GpValue ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_OPTIONAL_HEADER64
     SEQUENCE
       integer(WORD) Magic ! knowns  WORD 
       integer(BYTE) MajorLinkerVersion ! knowns  BYTE 
       integer(BYTE) MinorLinkerVersion ! knowns  BYTE 
       integer(DWORD) SizeOfCode ! knowns  DWORD 
       integer(DWORD) SizeOfInitializedData ! knowns  DWORD 
       integer(DWORD) SizeOfUninitializedData ! knowns  DWORD 
       integer(DWORD) AddressOfEntryPoint ! knowns  DWORD 
       integer(DWORD) BaseOfCode ! knowns  DWORD 
       TYPE(T_LARGE_INTEGERX) ImageBase ! knowns  ULONGLONG 
       integer(DWORD) SectionAlignment ! knowns  DWORD 
       integer(DWORD) FileAlignment ! knowns  DWORD 
       integer(WORD) MajorOperatingSystemVersion ! knowns  WORD 
       integer(WORD) MinorOperatingSystemVersion ! knowns  WORD 
       integer(WORD) MajorImageVersion ! knowns  WORD 
       integer(WORD) MinorImageVersion ! knowns  WORD 
       integer(WORD) MajorSubsystemVersion ! knowns  WORD 
       integer(WORD) MinorSubsystemVersion ! knowns  WORD 
       integer(DWORD) Win32VersionValue ! knowns  DWORD 
       integer(DWORD) SizeOfImage ! knowns  DWORD 
       integer(DWORD) SizeOfHeaders ! knowns  DWORD 
       integer(DWORD) CheckSum ! knowns  DWORD 
       integer(WORD) Subsystem ! knowns  WORD 
       integer(WORD) DllCharacteristics ! knowns  WORD 
       TYPE(T_LARGE_INTEGERX) SizeOfStackReserve ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) SizeOfStackCommit ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) SizeOfHeapReserve ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) SizeOfHeapCommit ! knowns  ULONGLONG 
       integer(DWORD) LoaderFlags ! knowns  DWORD 
       integer(DWORD) NumberOfRvaAndSizes ! knowns  DWORD 
       TYPE (T_IMAGE_DATA_DIRECTORY) DataDirectory(16) ! typedefs  IMAGE_DATA_DIRECTORY 
     END TYPE
     TYPE T_IMAGE_NT_HEADERS64
     SEQUENCE
       integer(DWORD) Signature ! knowns  DWORD 
       TYPE (T_IMAGE_FILE_HEADER) FileHeader ! typedefs  IMAGE_FILE_HEADER 
       TYPE (T_IMAGE_OPTIONAL_HEADER64) OptionalHeader ! typedefs  IMAGE_OPTIONAL_HEADER64 
     END TYPE
     TYPE T_IMAGE_NT_HEADERS32
     SEQUENCE
       integer(DWORD) Signature ! knowns  DWORD 
       TYPE (T_IMAGE_FILE_HEADER) FileHeader ! typedefs  IMAGE_FILE_HEADER 
       TYPE (T_IMAGE_OPTIONAL_HEADER32) OptionalHeader ! typedefs  IMAGE_OPTIONAL_HEADER32 
     END TYPE
     TYPE T_IMAGE_ROM_HEADERS
     SEQUENCE
       TYPE (T_IMAGE_FILE_HEADER) FileHeader ! typedefs  IMAGE_FILE_HEADER 
       TYPE (T_IMAGE_ROM_OPTIONAL_HEADER) OptionalHeader ! typedefs  IMAGE_ROM_OPTIONAL_HEADER 
     END TYPE
     TYPE T_ANON_OBJECT_HEADER
     SEQUENCE
       integer(WORD) Sig1 ! knowns  WORD 
       integer(WORD) Sig2 ! knowns  WORD 
       integer(WORD) Version ! knowns  WORD 
       integer(WORD) Machine ! knowns  WORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       TYPE (T_GUID) ClassID ! typedefs  CLSID 
       integer(DWORD) SizeOfData ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_IMAGE_SECTION_HEADER
     STRUCTURE /T_IMAGE_SECTION_HEADER/
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(BYTE) Name(8) ! knowns  BYTE 
!DEC$ ELSE
        character(8) Name
!DEC$ ENDIF
       UNION  ! Misc
         MAP
        integer(DWORD) PhysicalAddress ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) VirtualSize ! knowns  DWORD 
         END MAP
       END UNION  ! Misc
        integer(DWORD) VirtualAddress ! knowns  DWORD 
        integer(DWORD) SizeOfRawData ! knowns  DWORD 
        integer(DWORD) PointerToRawData ! knowns  DWORD 
        integer(DWORD) PointerToRelocations ! knowns  DWORD 
        integer(DWORD) PointerToLinenumbers ! knowns  DWORD 
        integer(WORD) NumberOfRelocations ! knowns  WORD 
        integer(WORD) NumberOfLinenumbers ! knowns  WORD 
        integer(DWORD) Characteristics ! knowns  DWORD 
     END STRUCTURE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
  
    !Inserted structure here:T_IMAGE_SYMBOL
     STRUCTURE /T_IMAGE_SYMBOL/
       UNION  ! N
         MAP
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(BYTE) ShortName(8) ! knowns  BYTE 
!DEC$ ELSE
        character(8) ShortName
!DEC$ ENDIF
         END MAP
         MAP
          STRUCTURE /f_Name/ Name
        integer(DWORD) Short ! knowns  DWORD 
        integer(DWORD) Long ! knowns  DWORD 
          END STRUCTURE ! Name
         END MAP
         MAP
        integer(DWORD) LongName(2) ! knowns  DWORD 
         END MAP
       END UNION  ! N
        integer(DWORD) Value ! knowns  DWORD 
        integer(SHORT) SectionNumber ! knowns  SHORT 
        integer(WORD) Type ! knowns  WORD 
        integer(BYTE) StorageClass ! knowns  BYTE 
        integer(BYTE) NumberOfAuxSymbols ! knowns  BYTE 
     END STRUCTURE
    !Inserted structure here:T_IMAGE_AUX_SYMBOL
     STRUCTURE /T_IMAGE_AUX_SYMBOL/
     UNION
       MAP
        STRUCTURE /f_Sym/ Sym
        integer(DWORD) TagIndex ! knowns  DWORD 
         UNION  ! Misc
           MAP
            STRUCTURE /f_LnSz/ LnSz
        integer(WORD) Linenumber ! knowns  WORD 
        integer(WORD) Size ! knowns  WORD 
            END STRUCTURE ! LnSz
           END MAP
           MAP
        integer(DWORD) TotalSize ! knowns  DWORD 
           END MAP
         END UNION  ! Misc
         UNION  ! FcnAry
           MAP
            STRUCTURE /f_Function/ Function
        integer(DWORD) PointerToLinenumber ! knowns  DWORD 
        integer(DWORD) PointerToNextFunction ! knowns  DWORD 
            END STRUCTURE ! Function
           END MAP
           MAP
            STRUCTURE /f_Array/ Array
        integer(WORD) Dimension(4) ! knowns  WORD 
            END STRUCTURE ! Array
           END MAP
         END UNION  ! FcnAry
        integer(WORD) TvIndex ! knowns  WORD 
        END STRUCTURE ! Sym
       END MAP
       MAP
        STRUCTURE /f_File/ File
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(BYTE) Name(18) ! knowns  BYTE 
!DEC$ ELSE
        character(18) Name
!DEC$ ENDIF
        END STRUCTURE ! File
       END MAP
       MAP
        STRUCTURE /f_Section/ Section
        integer(DWORD) Length ! knowns  DWORD 
        integer(WORD) NumberOfRelocations ! knowns  WORD 
        integer(WORD) NumberOfLinenumbers ! knowns  WORD 
        integer(DWORD) CheckSum ! knowns  DWORD 
        integer(SHORT) Number ! knowns  SHORT 
        integer(BYTE) Selection ! knowns  BYTE 
        END STRUCTURE ! Section
       END MAP
     END UNION
     END STRUCTURE
    !Inserted structure here:T_IMAGE_RELOCATION
     STRUCTURE /T_IMAGE_RELOCATION/
       UNION  ! field0
         MAP
        integer(DWORD) VirtualAddress ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) RelocCount ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) SymbolTableIndex ! knowns  DWORD 
        integer(WORD) Type ! knowns  WORD 
     END STRUCTURE
    !Inserted structure here:T_IMAGE_LINENUMBER
     STRUCTURE /T_IMAGE_LINENUMBER/
       UNION  ! Type
         MAP
        integer(DWORD) SymbolTableIndex ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) VirtualAddress ! knowns  DWORD 
         END MAP
       END UNION  ! Type
        integer(WORD) Linenumber ! knowns  WORD 
     END STRUCTURE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
  
     TYPE T_IMAGE_BASE_RELOCATION
     SEQUENCE
       integer(DWORD) VirtualAddress ! knowns  DWORD 
       integer(DWORD) SizeOfBlock ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_ARCHIVE_MEMBER_HEADER
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Name(16) ! knowns  BYTE 
!DEC$ ELSE
       character(16) Name
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Date(12) ! knowns  BYTE 
!DEC$ ELSE
       character(12) Date
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) UserID(6) ! knowns  BYTE 
!DEC$ ELSE
       character(6) UserID
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) GroupID(6) ! knowns  BYTE 
!DEC$ ELSE
       character(6) GroupID
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Mode(8) ! knowns  BYTE 
!DEC$ ELSE
       character(8) Mode
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Size(10) ! knowns  BYTE 
!DEC$ ELSE
       character(10) Size
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) EndHeader(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) EndHeader
!DEC$ ENDIF
     END TYPE
     TYPE T_IMAGE_EXPORT_DIRECTORY
     SEQUENCE
       integer(DWORD) Characteristics ! knowns  DWORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
       integer(DWORD) Name ! knowns  DWORD 
       integer(DWORD) Base ! knowns  DWORD 
       integer(DWORD) NumberOfFunctions ! knowns  DWORD 
       integer(DWORD) NumberOfNames ! knowns  DWORD 
       integer(DWORD) AddressOfFunctions ! knowns  DWORD 
       integer(DWORD) AddressOfNames ! knowns  DWORD 
       integer(DWORD) AddressOfNameOrdinals ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_IMPORT_BY_NAME
     SEQUENCE
       integer(WORD) Hint ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Name(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Name
!DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_IMAGE_THUNK_DATA64
     STRUCTURE /T_IMAGE_THUNK_DATA64/
       UNION  ! u1
         MAP
        TYPE(T_LARGE_INTEGERX) ForwarderString ! knowns  ULONGLONG 
         END MAP
         MAP
        TYPE(T_LARGE_INTEGERX) Function ! knowns  ULONGLONG 
         END MAP
         MAP
        TYPE(T_LARGE_INTEGERX) Ordinal ! knowns  ULONGLONG 
         END MAP
         MAP
        TYPE(T_LARGE_INTEGERX) AddressOfData ! knowns  ULONGLONG 
         END MAP
       END UNION  ! u1
     END STRUCTURE
    !Inserted structure here:T_IMAGE_THUNK_DATA32
     STRUCTURE /T_IMAGE_THUNK_DATA32/
       UNION  ! u1
         MAP
        integer(DWORD) ForwarderString ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) Function ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) Ordinal ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) AddressOfData ! knowns  DWORD 
         END MAP
       END UNION  ! u1
     END STRUCTURE
     TYPE T_IMAGE_TLS_DIRECTORY64
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) StartAddressOfRawData ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) EndAddressOfRawData ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) AddressOfIndex ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) AddressOfCallBacks ! knowns  ULONGLONG 
       integer(DWORD) SizeOfZeroFill ! knowns  DWORD 
       integer(DWORD) Characteristics ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_TLS_DIRECTORY32
     SEQUENCE
       integer(DWORD) StartAddressOfRawData ! knowns  DWORD 
       integer(DWORD) EndAddressOfRawData ! knowns  DWORD 
       integer(DWORD) AddressOfIndex ! knowns  DWORD 
       integer(DWORD) AddressOfCallBacks ! knowns  DWORD 
       integer(DWORD) SizeOfZeroFill ! knowns  DWORD 
       integer(DWORD) Characteristics ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_IMAGE_IMPORT_DESCRIPTOR
     STRUCTURE /T_IMAGE_IMPORT_DESCRIPTOR/
       UNION  ! field0
         MAP
        integer(DWORD) Characteristics ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) OriginalFirstThunk ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) TimeDateStamp ! knowns  DWORD 
        integer(DWORD) ForwarderChain ! knowns  DWORD 
        integer(DWORD) Name ! knowns  DWORD 
        integer(DWORD) FirstThunk ! knowns  DWORD 
     END STRUCTURE
     TYPE T_IMAGE_BOUND_IMPORT_DESCRIPTOR
     SEQUENCE
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) OffsetModuleName ! knowns  WORD 
       integer(WORD) NumberOfModuleForwarderRefs ! knowns  WORD 
     END TYPE
     TYPE T_IMAGE_BOUND_FORWARDER_REF
     SEQUENCE
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) OffsetModuleName ! knowns  WORD 
       integer(WORD) Reserved ! knowns  WORD 
     END TYPE
     TYPE T_IMAGE_RESOURCE_DIRECTORY
     SEQUENCE
       integer(DWORD) Characteristics ! knowns  DWORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
       integer(WORD) NumberOfNamedEntries ! knowns  WORD 
       integer(WORD) NumberOfIdEntries ! knowns  WORD 
     END TYPE
    !Inserted structure here:T_IMAGE_RESOURCE_DIRECTORY_ENTRY
     STRUCTURE /T_IMAGE_RESOURCE_DIRECTORY_ENTRY/
       UNION  ! field3
         MAP
    !      STRUCTURE /f_field2/ field2
    !???   DWORD NameOffset:31
    !???   DWORD NameIsString:1
       integer(DWORD) bitfield ! added - see above for C fields
    !      END STRUCTURE ! field2
         END MAP
         MAP
        integer(DWORD) Name ! knowns  DWORD 
         END MAP
         MAP
        integer(WORD) Id ! knowns  WORD 
         END MAP
       END UNION  ! field3
       UNION  ! field1
         MAP
        integer(DWORD) OffsetToData ! knowns  DWORD 
         END MAP
         MAP
    !      STRUCTURE /f_field0/ field0
    !???   DWORD OffsetToDirectory:31
    !???   DWORD DataIsDirectory:1
       integer(DWORD) bitfield1 ! added - see above for C fields
    !      END STRUCTURE ! field0
         END MAP
       END UNION  ! field1
     END STRUCTURE
     TYPE T_IMAGE_RESOURCE_DIRECTORY_STRING
     SEQUENCE
       integer(WORD) Length ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) NameString(1) ! knowns  CHAR 
!DEC$ ELSE
       character(1) NameString
!DEC$ ENDIF
     END TYPE
     TYPE T_IMAGE_RESOURCE_DIR_STRING_U
     SEQUENCE
       integer(WORD) Length ! knowns  WORD 
       integer(WCHAR) NameString(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_IMAGE_RESOURCE_DATA_ENTRY
     SEQUENCE
       integer(DWORD) OffsetToData ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
       integer(DWORD) CodePage ! knowns  DWORD 
       integer(DWORD) Reserved ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_LOAD_CONFIG_DIRECTORY32
     SEQUENCE
       integer(DWORD) Characteristics ! knowns  DWORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
       integer(DWORD) GlobalFlagsClear ! knowns  DWORD 
       integer(DWORD) GlobalFlagsSet ! knowns  DWORD 
       integer(DWORD) CriticalSectionDefaultTimeout ! knowns  DWORD 
       integer(DWORD) DeCommitFreeBlockThreshold ! knowns  DWORD 
       integer(DWORD) DeCommitTotalFreeThreshold ! knowns  DWORD 
       integer(DWORD) LockPrefixTable ! knowns  DWORD 
       integer(DWORD) MaximumAllocationSize ! knowns  DWORD 
       integer(DWORD) VirtualMemoryThreshold ! knowns  DWORD 
       integer(DWORD) ProcessHeapFlags ! knowns  DWORD 
       integer(DWORD) ProcessAffinityMask ! knowns  DWORD 
       integer(WORD) CSDVersion ! knowns  WORD 
       integer(WORD) Reserved1 ! knowns  WORD 
       integer(DWORD) EditList ! knowns  DWORD 
       integer(DWORD) Reserved(1) ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_LOAD_CONFIG_DIRECTORY64
     SEQUENCE
       integer(DWORD) Characteristics ! knowns  DWORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
       integer(DWORD) GlobalFlagsClear ! knowns  DWORD 
       integer(DWORD) GlobalFlagsSet ! knowns  DWORD 
       integer(DWORD) CriticalSectionDefaultTimeout ! knowns  DWORD 
       integer(DWORD) DeCommitFreeBlockThreshold ! knowns  DWORD 
       integer(DWORD) DeCommitTotalFreeThreshold ! knowns  DWORD 
       TYPE(T_LARGE_INTEGERX) LockPrefixTable ! knowns  ULONGLONG 
       integer(DWORD) MaximumAllocationSize ! knowns  DWORD 
       integer(DWORD) VirtualMemoryThreshold ! knowns  DWORD 
       integer(DWORD) ProcessHeapFlags ! knowns  DWORD 
       integer(DWORD) ProcessAffinityMask ! knowns  DWORD 
       integer(WORD) CSDVersion ! knowns  WORD 
       integer(WORD) Reserved1 ! knowns  WORD 
       TYPE(T_LARGE_INTEGERX) EditList ! knowns  ULONGLONG 
       integer(DWORD) Reserved(1) ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_M_IA64RUNTIME_FUNCTION_ENTRY
     SEQUENCE
       integer(DWORD) BeginAddress ! knowns  DWORD 
       integer(DWORD) EndAddress ! knowns  DWORD 
       integer(DWORD) UnwindInfoAddress ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY
     SEQUENCE
       integer(DWORD) BeginAddress ! knowns  DWORD 
       integer(DWORD) EndAddress ! knowns  DWORD 
       integer(DWORD) ExceptionHandler ! knowns  DWORD 
       integer(DWORD) HandlerData ! knowns  DWORD 
       integer(DWORD) PrologEndAddress ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) BeginAddress ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) EndAddress ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) ExceptionHandler ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) HandlerData ! knowns  ULONGLONG 
       TYPE(T_LARGE_INTEGERX) PrologEndAddress ! knowns  ULONGLONG 
     END TYPE
     TYPE T_IMAGE_CE_RUNTIME_FUNCTION_ENTRY
     SEQUENCE
       integer(DWORD) FuncStart ! knowns  DWORD 
    ! ???  DWORD PrologLen : 8
    ! ???  DWORD FuncLen : 22
    ! ???  DWORD ThirtyTwoBit : 1
    ! ???  DWORD ExceptionFlag : 1
       integer(DWORD) bitfield ! added - see above for C fields
     END TYPE
     TYPE T_IMAGE_DEBUG_DIRECTORY
     SEQUENCE
       integer(DWORD) Characteristics ! knowns  DWORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
       integer(DWORD) Type ! knowns  DWORD 
       integer(DWORD) SizeOfData ! knowns  DWORD 
       integer(DWORD) AddressOfRawData ! knowns  DWORD 
       integer(DWORD) PointerToRawData ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_COFF_SYMBOLS_HEADER
     SEQUENCE
       integer(DWORD) NumberOfSymbols ! knowns  DWORD 
       integer(DWORD) LvaToFirstSymbol ! knowns  DWORD 
       integer(DWORD) NumberOfLinenumbers ! knowns  DWORD 
       integer(DWORD) LvaToFirstLinenumber ! knowns  DWORD 
       integer(DWORD) RvaToFirstByteOfCode ! knowns  DWORD 
       integer(DWORD) RvaToLastByteOfCode ! knowns  DWORD 
       integer(DWORD) RvaToFirstByteOfData ! knowns  DWORD 
       integer(DWORD) RvaToLastByteOfData ! knowns  DWORD 
     END TYPE
     TYPE T_FPO_DATA
     SEQUENCE
       integer(DWORD) ulOffStart ! knowns  DWORD 
       integer(DWORD) cbProcSize ! knowns  DWORD 
       integer(DWORD) cdwLocals ! knowns  DWORD 
       integer(WORD) cdwParams ! knowns  WORD 
    ! ???  WORD cbProlog : 8
    ! ???  WORD cbRegs : 3
    ! ???  WORD fHasSEH : 1
    ! ???  WORD fUseBP : 1
    ! ???  WORD reserved : 1
    ! ???  WORD cbFrame : 2
       integer(WORD) bitfield ! added - see above for C fields
     END TYPE
     TYPE T_IMAGE_DEBUG_MISC
     SEQUENCE
       integer(DWORD) DataType ! knowns  DWORD 
       integer(DWORD) Length ! knowns  DWORD 
       character(UCHAR) Unicode ! typedefs  BOOLEAN 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Reserved(3) ! knowns  BYTE 
!DEC$ ELSE
       character(3) Reserved
!DEC$ ENDIF
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_IMAGE_FUNCTION_ENTRY
     SEQUENCE
       integer(DWORD) StartingAddress ! knowns  DWORD 
       integer(DWORD) EndingAddress ! knowns  DWORD 
       integer(DWORD) EndOfPrologue ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_IMAGE_FUNCTION_ENTRY64
     STRUCTURE /T_IMAGE_FUNCTION_ENTRY64/
        TYPE(T_LARGE_INTEGERX) StartingAddress ! knowns  ULONGLONG 
        TYPE(T_LARGE_INTEGERX) EndingAddress ! knowns  ULONGLONG 
       UNION  ! field0
         MAP
        TYPE(T_LARGE_INTEGERX) EndOfPrologue ! knowns  ULONGLONG 
         END MAP
         MAP
        TYPE(T_LARGE_INTEGERX) UnwindInfoAddress ! knowns  ULONGLONG 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_IMAGE_SEPARATE_DEBUG_HEADER
     SEQUENCE
       integer(WORD) Signature ! knowns  WORD 
       integer(WORD) Flags ! knowns  WORD 
       integer(WORD) Machine ! knowns  WORD 
       integer(WORD) Characteristics ! knowns  WORD 
       integer(DWORD) TimeDateStamp ! knowns  DWORD 
       integer(DWORD) CheckSum ! knowns  DWORD 
       integer(DWORD) ImageBase ! knowns  DWORD 
       integer(DWORD) SizeOfImage ! knowns  DWORD 
       integer(DWORD) NumberOfSections ! knowns  DWORD 
       integer(DWORD) ExportedNamesSize ! knowns  DWORD 
       integer(DWORD) DebugDirectorySize ! knowns  DWORD 
       integer(DWORD) SectionAlignment ! knowns  DWORD 
       integer(DWORD) Reserved(2) ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_ARCHITECTURE_HEADER
     SEQUENCE
    ! ???  unsigned int AmaskValue: 1
    ! ???  int :7
    ! ???  unsigned int AmaskShift: 8
    ! ???  int :16
       integer(SINT) bitfield ! added - see above for C fields
       integer(DWORD) FirstEntryRVA ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGE_ARCHITECTURE_ENTRY
     SEQUENCE
       integer(DWORD) FixupInstRVA ! knowns  DWORD 
       integer(DWORD) NewInst ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_IMPORT_OBJECT_HEADER
     STRUCTURE /T_IMPORT_OBJECT_HEADER/
        integer(WORD) Sig1 ! knowns  WORD 
        integer(WORD) Sig2 ! knowns  WORD 
        integer(WORD) Version ! knowns  WORD 
        integer(WORD) Machine ! knowns  WORD 
        integer(DWORD) TimeDateStamp ! knowns  DWORD 
        integer(DWORD) SizeOfData ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(WORD) Ordinal ! knowns  WORD 
         END MAP
         MAP
        integer(WORD) Hint ! knowns  WORD 
         END MAP
       END UNION  ! field0
    !???   WORD Type : 2
    !???   WORD NameType : 3
    !???   WORD Reserved : 11
       integer(DWORD) bitfield ! added - see above for C fields
     END STRUCTURE
    !Inserted structure here:T_SLIST_HEADER
     STRUCTURE /T_SLIST_HEADER/
     UNION
       MAP
        TYPE(T_LARGE_INTEGERX) Alignment ! knowns  ULONGLONG 
       END MAP
       MAP
        STRUCTURE /f_field0/ field0
        TYPE(T_SINGLE_LIST_ENTRY) Next ! typedefs  SINGLE_LIST_ENTRY 
        integer(WORD) Depth ! knowns  WORD 
        integer(WORD) Sequence ! knowns  WORD 
        END STRUCTURE ! field0
       END MAP
     END UNION
     END STRUCTURE
     TYPE T_MESSAGE_RESOURCE_ENTRY
     SEQUENCE
       integer(WORD) Length ! knowns  WORD 
       integer(WORD) Flags ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Text(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Text
!DEC$ ENDIF
     END TYPE
     TYPE T_MESSAGE_RESOURCE_BLOCK
     SEQUENCE
       integer(DWORD) LowId ! knowns  DWORD 
       integer(DWORD) HighId ! knowns  DWORD 
       integer(DWORD) OffsetToEntries ! knowns  DWORD 
     END TYPE
     TYPE T_MESSAGE_RESOURCE_DATA
     SEQUENCE
       integer(DWORD) NumberOfBlocks ! knowns  DWORD 
       TYPE (T_MESSAGE_RESOURCE_BLOCK) Blocks(1) ! typedefs  MESSAGE_RESOURCE_BLOCK 
     END TYPE
     TYPE T_OSVERSIONINFO
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szCSDVersion(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) szCSDVersion
!DEC$ ENDIF
     END TYPE
     TYPE T_OSVERSIONINFOW
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
       integer(WCHAR) szCSDVersion(128) ! knowns  WCHAR 
     END TYPE
     TYPE T_RTL_OSVERSIONINFOW
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
       integer(WCHAR) szCSDVersion(128) ! knowns  WCHAR 
     END TYPE
     TYPE T_OSVERSIONINFOEX
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szCSDVersion(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) szCSDVersion
!DEC$ ENDIF
       integer(WORD) wServicePackMajor ! knowns  WORD 
       integer(WORD) wServicePackMinor ! knowns  WORD 
       integer(WORD) wSuiteMask ! knowns  WORD 
       integer(BYTE) wProductType ! knowns  BYTE 
       integer(BYTE) wReserved ! knowns  BYTE 
     END TYPE
     TYPE T_OSVERSIONINFOEXW
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
       integer(WCHAR) szCSDVersion(128) ! knowns  WCHAR 
       integer(WORD) wServicePackMajor ! knowns  WORD 
       integer(WORD) wServicePackMinor ! knowns  WORD 
       integer(WORD) wSuiteMask ! knowns  WORD 
       integer(BYTE) wProductType ! knowns  BYTE 
       integer(BYTE) wReserved ! knowns  BYTE 
     END TYPE
     TYPE T_RTL_OSVERSIONINFOEXW
     SEQUENCE
       integer(DWORD) dwOSVersionInfoSize ! knowns  DWORD 
       integer(DWORD) dwMajorVersion ! knowns  DWORD 
       integer(DWORD) dwMinorVersion ! knowns  DWORD 
       integer(DWORD) dwBuildNumber ! knowns  DWORD 
       integer(DWORD) dwPlatformId ! knowns  DWORD 
       integer(WCHAR) szCSDVersion(128) ! knowns  WCHAR 
       integer(WORD) wServicePackMajor ! knowns  WORD 
       integer(WORD) wServicePackMinor ! knowns  WORD 
       integer(WORD) wSuiteMask ! knowns  WORD 
       integer(BYTE) wProductType ! knowns  BYTE 
       integer(BYTE) wReserved ! knowns  BYTE 
     END TYPE
     TYPE T_RTL_CRITICAL_SECTION_DEBUG
     SEQUENCE
       integer(WORD) Type ! knowns  WORD 
       integer(WORD) CreatorBackTraceIndex ! knowns  WORD 
       integer(LPVOID) CriticalSection ! star   struct f_RTL_CRITICAL_SECTION *
       TYPE (T_LIST_ENTRY) ProcessLocksList ! typedefs  LIST_ENTRY 
       integer(DWORD) EntryCount ! knowns  DWORD 
       integer(DWORD) ContentionCount ! knowns  DWORD 
       integer(DWORD) Spare(2) ! knowns  DWORD 
     END TYPE
     TYPE T_RTL_RESOURCE_DEBUG
     SEQUENCE
       integer(WORD) Type ! knowns  WORD 
       integer(WORD) CreatorBackTraceIndex ! knowns  WORD 
       integer(LPVOID) CriticalSection ! star   struct f_RTL_CRITICAL_SECTION *
       TYPE (T_LIST_ENTRY) ProcessLocksList ! typedefs  LIST_ENTRY 
       integer(DWORD) EntryCount ! knowns  DWORD 
       integer(DWORD) ContentionCount ! knowns  DWORD 
       integer(DWORD) Spare(2) ! knowns  DWORD 
     END TYPE
     TYPE T_RTL_CRITICAL_SECTION
     SEQUENCE
       integer(LPVOID) DebugInfo ! pointers  PRTL_CRITICAL_SECTION_DEBUG 
       integer(LONG) LockCount ! knowns  LONG 
       integer(LONG) RecursionCount ! knowns  LONG 
       integer(HANDLE) OwningThread ! knowns  HANDLE 
       integer(HANDLE) LockSemaphore ! knowns  HANDLE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) SpinCount ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) SpinCount ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_EVENTLOGRECORD
     SEQUENCE
       integer(DWORD) Length ! knowns  DWORD 
       integer(DWORD) Reserved ! knowns  DWORD 
       integer(DWORD) RecordNumber ! knowns  DWORD 
       integer(DWORD) TimeGenerated ! knowns  DWORD 
       integer(DWORD) TimeWritten ! knowns  DWORD 
       integer(DWORD) EventID ! knowns  DWORD 
       integer(WORD) EventType ! knowns  WORD 
       integer(WORD) NumStrings ! knowns  WORD 
       integer(WORD) EventCategory ! knowns  WORD 
       integer(WORD) ReservedFlags ! knowns  WORD 
       integer(DWORD) ClosingRecordNumber ! knowns  DWORD 
       integer(DWORD) StringOffset ! knowns  DWORD 
       integer(DWORD) UserSidLength ! knowns  DWORD 
       integer(DWORD) UserSidOffset ! knowns  DWORD 
       integer(DWORD) DataLength ! knowns  DWORD 
       integer(DWORD) DataOffset ! knowns  DWORD 
     END TYPE
     TYPE T_EVENTSFORLOGFILE
     SEQUENCE
       integer(DWORD) ulSize ! knowns  DWORD 
       integer(WCHAR) szLogicalLogFile(256) ! knowns  WCHAR 
       integer(DWORD) ulNumRecords ! knowns  DWORD 
       TYPE (T_EVENTLOGRECORD) pEventLogRecords(ANYSIZE_ARRAY) ! typedefs  EVENTLOGRECORD 
     END TYPE
     TYPE T_PACKEDEVENTINFO
     SEQUENCE
       integer(DWORD) ulSize ! knowns  DWORD 
       integer(DWORD) ulNumEventsForLogFile ! knowns  DWORD 
       integer(DWORD) ulOffsets(ANYSIZE_ARRAY) ! knowns  DWORD 
     END TYPE
     TYPE T_TAPE_ERASE
     SEQUENCE
       integer(DWORD) Type ! knowns  DWORD 
       character(UCHAR) Immediate ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_PREPARE
     SEQUENCE
       integer(DWORD) Operation ! knowns  DWORD 
       character(UCHAR) Immediate ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_WRITE_MARKS
     SEQUENCE
       integer(DWORD) Type ! knowns  DWORD 
       integer(DWORD) Count ! knowns  DWORD 
       character(UCHAR) Immediate ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_GET_POSITION
     SEQUENCE
       integer(DWORD) Type ! knowns  DWORD 
       integer(DWORD) Partition ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) Offset ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_TAPE_SET_POSITION
     SEQUENCE
       integer(DWORD) Method ! knowns  DWORD 
       integer(DWORD) Partition ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) Offset ! typedefs  LARGE_INTEGER 
       character(UCHAR) Immediate ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_GET_DRIVE_PARAMETERS
     SEQUENCE
       character(UCHAR) ECC ! typedefs  BOOLEAN 
       character(UCHAR) Compression ! typedefs  BOOLEAN 
       character(UCHAR) DataPadding ! typedefs  BOOLEAN 
       character(UCHAR) ReportSetmarks ! typedefs  BOOLEAN 
       integer(DWORD) DefaultBlockSize ! knowns  DWORD 
       integer(DWORD) MaximumBlockSize ! knowns  DWORD 
       integer(DWORD) MinimumBlockSize ! knowns  DWORD 
       integer(DWORD) MaximumPartitionCount ! knowns  DWORD 
       integer(DWORD) FeaturesLow ! knowns  DWORD 
       integer(DWORD) FeaturesHigh ! knowns  DWORD 
       integer(DWORD) EOTWarningZoneSize ! knowns  DWORD 
     END TYPE
     TYPE T_TAPE_SET_DRIVE_PARAMETERS
     SEQUENCE
       character(UCHAR) ECC ! typedefs  BOOLEAN 
       character(UCHAR) Compression ! typedefs  BOOLEAN 
       character(UCHAR) DataPadding ! typedefs  BOOLEAN 
       character(UCHAR) ReportSetmarks ! typedefs  BOOLEAN 
       integer(DWORD) EOTWarningZoneSize ! knowns  DWORD 
     END TYPE
     TYPE T_TAPE_GET_MEDIA_PARAMETERS
     SEQUENCE
       TYPE (T_LARGE_INTEGER) Capacity ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) Remaining ! typedefs  LARGE_INTEGER 
       integer(DWORD) BlockSize ! knowns  DWORD 
       integer(DWORD) PartitionCount ! knowns  DWORD 
       character(UCHAR) WriteProtected ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_SET_MEDIA_PARAMETERS
     SEQUENCE
       integer(DWORD) BlockSize ! knowns  DWORD 
     END TYPE
     TYPE T_TAPE_CREATE_PARTITION
     SEQUENCE
       integer(DWORD) Method ! knowns  DWORD 
       integer(DWORD) Count ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
     END TYPE
     TYPE T_RECT
     SEQUENCE
       integer(LONG) left ! knowns  LONG 
       integer(LONG) top ! knowns  LONG 
       integer(LONG) right ! knowns  LONG 
       integer(LONG) bottom ! knowns  LONG 
     END TYPE
     TYPE T_RECTL
     SEQUENCE
       integer(LONG) left ! knowns  LONG 
       integer(LONG) top ! knowns  LONG 
       integer(LONG) right ! knowns  LONG 
       integer(LONG) bottom ! knowns  LONG 
     END TYPE
     TYPE T_POINT
     SEQUENCE
       integer(LONG) x ! knowns  LONG 
       integer(LONG) y ! knowns  LONG 
     END TYPE
     TYPE T_POINTL
     SEQUENCE
       integer(LONG) x ! knowns  LONG 
       integer(LONG) y ! knowns  LONG 
     END TYPE
     TYPE T_SIZE
     SEQUENCE
       integer(LONG) cx ! knowns  LONG 
       integer(LONG) cy ! knowns  LONG 
     END TYPE
     TYPE T_POINTS
     SEQUENCE
       integer(SHORT) x ! knowns  SHORT 
       integer(SHORT) y ! knowns  SHORT 
     END TYPE
     TYPE T_OVERLAPPED
       SEQUENCE 
       integer(pointer_len) Internal ! typedefs  ULONG_PTR 
       integer(pointer_len) InternalHigh ! typedefs  ULONG_PTR 
       integer(DWORD) Offset ! knowns  DWORD 
       integer(DWORD) OffsetHigh ! knowns  DWORD 
       integer(HANDLE) hEvent 
     END TYPE
    !Inserted structure here:T_OVERLAPPED
     TYPE T_SECURITY_ATTRIBUTES
     SEQUENCE
       integer(DWORD) nLength ! knowns  DWORD 
       integer(LPVOID) lpSecurityDescriptor ! knowns  LPVOID 
       integer(BOOL) bInheritHandle ! knowns  BOOL 
     END TYPE
     TYPE T_PROCESS_INFORMATION
     SEQUENCE
       integer(HANDLE) hProcess ! knowns  HANDLE 
       integer(HANDLE) hThread ! knowns  HANDLE 
       integer(DWORD) dwProcessId ! knowns  DWORD 
       integer(DWORD) dwThreadId ! knowns  DWORD 
     END TYPE
     TYPE T_FILETIME
     SEQUENCE
       integer(DWORD) dwLowDateTime ! knowns  DWORD 
       integer(DWORD) dwHighDateTime ! knowns  DWORD 
     END TYPE
     TYPE T_SYSTEMTIME
     SEQUENCE
       integer(WORD) wYear ! knowns  WORD 
       integer(WORD) wMonth ! knowns  WORD 
       integer(WORD) wDayOfWeek ! knowns  WORD 
       integer(WORD) wDay ! knowns  WORD 
       integer(WORD) wHour ! knowns  WORD 
       integer(WORD) wMinute ! knowns  WORD 
       integer(WORD) wSecond ! knowns  WORD 
       integer(WORD) wMilliseconds ! knowns  WORD 
     END TYPE
     TYPE T_COMMPROP
     SEQUENCE
       integer(WORD) wPacketLength ! knowns  WORD 
       integer(WORD) wPacketVersion ! knowns  WORD 
       integer(DWORD) dwServiceMask ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(DWORD) dwMaxTxQueue ! knowns  DWORD 
       integer(DWORD) dwMaxRxQueue ! knowns  DWORD 
       integer(DWORD) dwMaxBaud ! knowns  DWORD 
       integer(DWORD) dwProvSubType ! knowns  DWORD 
       integer(DWORD) dwProvCapabilities ! knowns  DWORD 
       integer(DWORD) dwSettableParams ! knowns  DWORD 
       integer(DWORD) dwSettableBaud ! knowns  DWORD 
       integer(WORD) wSettableData ! knowns  WORD 
       integer(WORD) wSettableStopParity ! knowns  WORD 
       integer(DWORD) dwCurrentTxQueue ! knowns  DWORD 
       integer(DWORD) dwCurrentRxQueue ! knowns  DWORD 
       integer(DWORD) dwProvSpec1 ! knowns  DWORD 
       integer(DWORD) dwProvSpec2 ! knowns  DWORD 
       integer(WCHAR) wcProvChar(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_COMSTAT
     SEQUENCE
    ! ???  DWORD fCtsHold : 1
    ! ???  DWORD fDsrHold : 1
    ! ???  DWORD fRlsdHold : 1
    ! ???  DWORD fXoffHold : 1
    ! ???  DWORD fXoffSent : 1
    ! ???  DWORD fEof : 1
    ! ???  DWORD fTxim : 1
    ! ???  DWORD fReserved : 25
       integer(DWORD) bitfield ! added - see above for C fields
       integer(DWORD) cbInQue ! knowns  DWORD 
       integer(DWORD) cbOutQue ! knowns  DWORD 
     END TYPE
     TYPE T_DCB
     SEQUENCE
       integer(DWORD) DCBlength ! knowns  DWORD 
       integer(DWORD) BaudRate ! knowns  DWORD 
    ! ???  DWORD fBinary: 1
    ! ???  DWORD fParity: 1
    ! ???  DWORD fOutxCtsFlow:1
    ! ???  DWORD fOutxDsrFlow:1
    ! ???  DWORD fDtrControl:2
    ! ???  DWORD fDsrSensitivity:1
    ! ???  DWORD fTXContinueOnXoff: 1
    ! ???  DWORD fOutX: 1
    ! ???  DWORD fInX: 1
    ! ???  DWORD fErrorChar: 1
    ! ???  DWORD fNull: 1
    ! ???  DWORD fRtsControl:2
    ! ???  DWORD fAbortOnError:1
    ! ???  DWORD fDummy2:17
       integer(DWORD) bitfield ! added - see above for C fields
       integer(WORD) wReserved ! knowns  WORD 
       integer(WORD) XonLim ! knowns  WORD 
       integer(WORD) XoffLim ! knowns  WORD 
       integer(BYTE) ByteSize ! knowns  BYTE 
       integer(BYTE) Parity ! knowns  BYTE 
       integer(BYTE) StopBits ! knowns  BYTE 
       character(SCHAR) XonChar ! knowns  char 
       character(SCHAR) XoffChar ! knowns  char 
       character(SCHAR) ErrorChar ! knowns  char 
       character(SCHAR) EofChar ! knowns  char 
       character(SCHAR) EvtChar ! knowns  char 
       integer(WORD) wReserved1 ! knowns  WORD 
     END TYPE
     TYPE T_COMMTIMEOUTS
     SEQUENCE
       integer(DWORD) ReadIntervalTimeout ! knowns  DWORD 
       integer(DWORD) ReadTotalTimeoutMultiplier ! knowns  DWORD 
       integer(DWORD) ReadTotalTimeoutConstant ! knowns  DWORD 
       integer(DWORD) WriteTotalTimeoutMultiplier ! knowns  DWORD 
       integer(DWORD) WriteTotalTimeoutConstant ! knowns  DWORD 
     END TYPE
     TYPE T_COMMCONFIG
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(WORD) wVersion ! knowns  WORD 
       integer(WORD) wReserved ! knowns  WORD 
       TYPE (T_DCB) dcb ! typedefs  DCB 
       integer(DWORD) dwProviderSubType ! knowns  DWORD 
       integer(DWORD) dwProviderOffset ! knowns  DWORD 
       integer(DWORD) dwProviderSize ! knowns  DWORD 
       integer(WCHAR) wcProviderData(1) ! knowns  WCHAR 
     END TYPE
    !Inserted structure here:T_SYSTEM_INFO
    !use the hand adjusted version just below so the old samples
    !will work without editing
    !DEC$ IF (0 .EQ. 1) 
     STRUCTURE /T_SYSTEM_INFO/
       UNION  ! field1
         MAP
        integer(DWORD) dwOemId ! knowns  DWORD 
         END MAP
         MAP
          STRUCTURE /f_field01/ field0
        integer(WORD) wProcessorArchitecture ! knowns  WORD 
        integer(WORD) wReserved ! knowns  WORD 
          END STRUCTURE ! field0
         END MAP
       END UNION  ! field1
        integer(DWORD) dwPageSize ! knowns  DWORD 
        integer(LPVOID) lpMinimumApplicationAddress ! knowns  LPVOID 
        integer(LPVOID) lpMaximumApplicationAddress ! knowns  LPVOID 
        integer(DWORD_PTR) dwActiveProcessorMask ! knowns  DWORD_PTR 
        integer(DWORD) dwNumberOfProcessors ! knowns  DWORD 
        integer(DWORD) dwProcessorType ! knowns  DWORD 
        integer(DWORD) dwAllocationGranularity ! knowns  DWORD 
        integer(WORD) wProcessorLevel ! knowns  WORD 
        integer(WORD) wProcessorRevision ! knowns  WORD 
     END STRUCTURE
    !DEC$ ENDIF
    !hand crafted version
     STRUCTURE /T_SYSTEM_INFO/
     UNION
     MAP
       integer(DWORD) dwOemId  ! Obsolete
     END MAP
     MAP
       integer(WORD) wProcessorArchitecture
       integer(WORD) wReserved
     END MAP
     END UNION
       integer(DWORD) dwPageSize ! knowns  DWORD 
       integer(LPVOID) lpMinimumApplicationAddress ! knowns  LPVOID 
       integer(LPVOID) lpMaximumApplicationAddress ! knowns  LPVOID 
       integer(pointer_len) dwActiveProcessorMask ! typedefs  DWORD_PTR 
       integer(DWORD) dwNumberOfProcessors ! knowns  DWORD 
       integer(DWORD) dwProcessorType ! knowns  DWORD 
       integer(DWORD) dwAllocationGranularity ! knowns  DWORD 
     UNION
     MAP
       integer(DWORD) dwReserved !
     END MAP
     MAP
       integer(WORD) wProcessorLevel ! knowns  WORD 
       integer(WORD) wProcessorRevision ! knowns  WORD 
     END MAP
     END UNION
     END STRUCTURE
     TYPE T_MEMORYSTATUS
     SEQUENCE
       integer(DWORD) dwLength ! knowns  DWORD 
       integer(DWORD) dwMemoryLoad ! knowns  DWORD 
       integer(POINTER_LEN) dwTotalPhys ! knowns  SIZE_T 
       integer(POINTER_LEN) dwAvailPhys ! knowns  SIZE_T 
       integer(POINTER_LEN) dwTotalPageFile ! knowns  SIZE_T 
       integer(POINTER_LEN) dwAvailPageFile ! knowns  SIZE_T 
       integer(POINTER_LEN) dwTotalVirtual ! knowns  SIZE_T 
       integer(POINTER_LEN) dwAvailVirtual ! knowns  SIZE_T 
     END TYPE
     TYPE T_EXCEPTION_DEBUG_INFO
     SEQUENCE
       TYPE (T_EXCEPTION_RECORD) ExceptionRecord ! typedefs  EXCEPTION_RECORD 
       integer(DWORD) dwFirstChance ! knowns  DWORD 
     END TYPE
     TYPE T_CREATE_THREAD_DEBUG_INFO
     SEQUENCE
       integer(HANDLE) hThread ! knowns  HANDLE 
       integer(LPVOID) lpThreadLocalBase ! knowns  LPVOID 
       integer(LPVOID) lpStartAddress ! typedefs  LPTHREAD_START_ROUTINE 
     END TYPE
     TYPE T_CREATE_PROCESS_DEBUG_INFO
     SEQUENCE
       integer(HANDLE) hFile ! knowns  HANDLE 
       integer(HANDLE) hProcess ! knowns  HANDLE 
       integer(HANDLE) hThread ! knowns  HANDLE 
       integer(LPVOID) lpBaseOfImage ! knowns  LPVOID 
       integer(DWORD) dwDebugInfoFileOffset ! knowns  DWORD 
       integer(DWORD) nDebugInfoSize ! knowns  DWORD 
       integer(LPVOID) lpThreadLocalBase ! knowns  LPVOID 
       integer(LPVOID) lpStartAddress ! typedefs  LPTHREAD_START_ROUTINE 
       integer(LPVOID) lpImageName ! knowns  LPVOID 
       integer(WORD) fUnicode ! knowns  WORD 
     END TYPE
     TYPE T_EXIT_THREAD_DEBUG_INFO
     SEQUENCE
       integer(DWORD) dwExitCode ! knowns  DWORD 
     END TYPE
     TYPE T_EXIT_PROCESS_DEBUG_INFO
     SEQUENCE
       integer(DWORD) dwExitCode ! knowns  DWORD 
     END TYPE
     TYPE T_LOAD_DLL_DEBUG_INFO
     SEQUENCE
       integer(HANDLE) hFile ! knowns  HANDLE 
       integer(LPVOID) lpBaseOfDll ! knowns  LPVOID 
       integer(DWORD) dwDebugInfoFileOffset ! knowns  DWORD 
       integer(DWORD) nDebugInfoSize ! knowns  DWORD 
       integer(LPVOID) lpImageName ! knowns  LPVOID 
       integer(WORD) fUnicode ! knowns  WORD 
     END TYPE
     TYPE T_UNLOAD_DLL_DEBUG_INFO
     SEQUENCE
       integer(LPVOID) lpBaseOfDll ! knowns  LPVOID 
     END TYPE
     TYPE T_OUTPUT_DEBUG_STRING_INFO
     SEQUENCE
       integer(LPSTR) lpDebugStringData ! knowns  LPSTR 
       integer(WORD) fUnicode ! knowns  WORD 
       integer(WORD) nDebugStringLength ! knowns  WORD 
     END TYPE
     TYPE T_RIP_INFO
     SEQUENCE
       integer(DWORD) dwError ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_DEBUG_EVENT
     STRUCTURE /T_DEBUG_EVENT/
        integer(DWORD) dwDebugEventCode ! knowns  DWORD 
        integer(DWORD) dwProcessId ! knowns  DWORD 
        integer(DWORD) dwThreadId ! knowns  DWORD 
       UNION  ! u
         MAP
        TYPE(T_EXCEPTION_DEBUG_INFO) Exception ! typedefs  EXCEPTION_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_CREATE_THREAD_DEBUG_INFO) CreateThread ! typedefs  CREATE_THREAD_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_CREATE_PROCESS_DEBUG_INFO) CreateProcessInfo ! typedefs  CREATE_PROCESS_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_EXIT_THREAD_DEBUG_INFO) ExitThread ! typedefs  EXIT_THREAD_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_EXIT_PROCESS_DEBUG_INFO) ExitProcess ! typedefs  EXIT_PROCESS_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_LOAD_DLL_DEBUG_INFO) LoadDll ! typedefs  LOAD_DLL_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_UNLOAD_DLL_DEBUG_INFO) UnloadDll ! typedefs  UNLOAD_DLL_DEBUG_INFO 
         END MAP
         MAP
        TYPE(T_OUTPUT_DEBUG_STRING_INFO) DebugString ! typedefs  OUTPUT_DEBUG_STRING_INFO 
         END MAP
         MAP
        TYPE(T_RIP_INFO) RipInfo ! typedefs  RIP_INFO 
         END MAP
       END UNION  ! u
     END STRUCTURE
     TYPE T_OFSTRUCT
     SEQUENCE
       integer(BYTE) cBytes ! knowns  BYTE 
       integer(BYTE) fFixedDisk ! knowns  BYTE 
       integer(WORD) nErrCode ! knowns  WORD 
       integer(WORD) Reserved1 ! knowns  WORD 
       integer(WORD) Reserved2 ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPathName(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) szPathName
!DEC$ ENDIF
     END TYPE
     TYPE T_MEMORYSTATUSEX
     SEQUENCE
       integer(DWORD) dwLength ! knowns  DWORD 
       integer(DWORD) dwMemoryLoad ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
      integer(DWORDLONG) ullTotalPhys ! knowns  DWORDLONG 
      integer(DWORDLONG) ullAvailPhys ! knowns  DWORDLONG 
      integer(DWORDLONG) ullTotalPageFile ! knowns  DWORDLONG 
      integer(DWORDLONG) ullAvailPageFile ! knowns  DWORDLONG 
      integer(DWORDLONG) ullTotalVirtual ! knowns  DWORDLONG 
      integer(DWORDLONG) ullAvailVirtual ! knowns  DWORDLONG 
      integer(DWORDLONG) ullAvailExtendedVirtual ! knowns  DWORDLONG 
    !DEC$ ELSE
      TYPE (T_LARGE_INTEGERX) ullTotalPhys ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX)ullAvailPhys ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX) ullTotalPageFile ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX) ullAvailPageFile ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX) ullTotalVirtual ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX) ullAvailVirtual ! knowns  DWORDLONG 
      TYPE (T_LARGE_INTEGERX) ullAvailExtendedVirtual ! knowns  DWORDLONG 
    !DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_PROCESS_HEAP_ENTRY
     STRUCTURE /T_PROCESS_HEAP_ENTRY/
        integer(PVOID) lpData ! knowns  PVOID 
        integer(DWORD) cbData ! knowns  DWORD 
        integer(BYTE) cbOverhead ! knowns  BYTE 
        integer(BYTE) iRegionIndex ! knowns  BYTE 
        integer(WORD) wFlags ! knowns  WORD 
       UNION  ! field0
         MAP
          STRUCTURE /f_Block/ Block
        integer(HANDLE) hMem ! knowns  HANDLE 
        integer(DWORD) dwReserved(3) ! knowns  DWORD 
          END STRUCTURE ! Block
         END MAP
         MAP
          STRUCTURE /f_Region/ Region
        integer(DWORD) dwCommittedSize ! knowns  DWORD 
        integer(DWORD) dwUnCommittedSize ! knowns  DWORD 
        integer(LPVOID) lpFirstBlock ! knowns  LPVOID 
        integer(LPVOID) lpLastBlock ! knowns  LPVOID 
          END STRUCTURE ! Region
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_BY_HANDLE_FILE_INFORMATION
     SEQUENCE
       integer(DWORD) dwFileAttributes ! knowns  DWORD 
       TYPE (T_FILETIME) ftCreationTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastAccessTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastWriteTime ! typedefs  FILETIME 
       integer(DWORD) dwVolumeSerialNumber ! knowns  DWORD 
       integer(DWORD) nFileSizeHigh ! knowns  DWORD 
       integer(DWORD) nFileSizeLow ! knowns  DWORD 
       integer(DWORD) nNumberOfLinks ! knowns  DWORD 
       integer(DWORD) nFileIndexHigh ! knowns  DWORD 
       integer(DWORD) nFileIndexLow ! knowns  DWORD 
     END TYPE
     TYPE T_TIME_ZONE_INFORMATION
     SEQUENCE
       integer(LONG) Bias ! knowns  LONG 
       integer(WCHAR) StandardName(32) ! knowns  WCHAR 
       TYPE (T_SYSTEMTIME) StandardDate ! typedefs  SYSTEMTIME 
       integer(LONG) StandardBias ! knowns  LONG 
       integer(WCHAR) DaylightName(32) ! knowns  WCHAR 
       TYPE (T_SYSTEMTIME) DaylightDate ! typedefs  SYSTEMTIME 
       integer(LONG) DaylightBias ! knowns  LONG 
     END TYPE
     TYPE T_WIN32_STREAM_ID
     SEQUENCE
       integer(DWORD) dwStreamId  ! knowns  DWORD 
       integer(DWORD) dwStreamAttributes  ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) Size  ! typedefs  LARGE_INTEGER 
       integer(DWORD) dwStreamNameSize  ! knowns  DWORD 
       integer(WCHAR) cStreamName(1)  ! knowns  WCHAR 
     END TYPE
     TYPE T_STARTUPINFO
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
       integer(LPSTR) lpReserved ! knowns  LPSTR 
       integer(LPSTR) lpDesktop ! knowns  LPSTR 
       integer(LPSTR) lpTitle ! knowns  LPSTR 
       integer(DWORD) dwX ! knowns  DWORD 
       integer(DWORD) dwY ! knowns  DWORD 
       integer(DWORD) dwXSize ! knowns  DWORD 
       integer(DWORD) dwYSize ! knowns  DWORD 
       integer(DWORD) dwXCountChars ! knowns  DWORD 
       integer(DWORD) dwYCountChars ! knowns  DWORD 
       integer(DWORD) dwFillAttribute ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(WORD) wShowWindow ! knowns  WORD 
       integer(WORD) cbReserved2 ! knowns  WORD 
       integer(LPBYTE) lpReserved2 ! knowns  LPBYTE 
       integer(HANDLE) hStdInput ! knowns  HANDLE 
       integer(HANDLE) hStdOutput ! knowns  HANDLE 
       integer(HANDLE) hStdError ! knowns  HANDLE 
     END TYPE
     TYPE T_STARTUPINFOW
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
       integer(LPWSTR) lpReserved ! knowns  LPWSTR 
       integer(LPWSTR) lpDesktop ! knowns  LPWSTR 
       integer(LPWSTR) lpTitle ! knowns  LPWSTR 
       integer(DWORD) dwX ! knowns  DWORD 
       integer(DWORD) dwY ! knowns  DWORD 
       integer(DWORD) dwXSize ! knowns  DWORD 
       integer(DWORD) dwYSize ! knowns  DWORD 
       integer(DWORD) dwXCountChars ! knowns  DWORD 
       integer(DWORD) dwYCountChars ! knowns  DWORD 
       integer(DWORD) dwFillAttribute ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(WORD) wShowWindow ! knowns  WORD 
       integer(WORD) cbReserved2 ! knowns  WORD 
       integer(LPBYTE) lpReserved2 ! knowns  LPBYTE 
       integer(HANDLE) hStdInput ! knowns  HANDLE 
       integer(HANDLE) hStdOutput ! knowns  HANDLE 
       integer(HANDLE) hStdError ! knowns  HANDLE 
     END TYPE
     TYPE T_WIN32_FIND_DATA
     SEQUENCE
       integer(DWORD) dwFileAttributes ! knowns  DWORD 
       TYPE (T_FILETIME) ftCreationTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastAccessTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastWriteTime ! typedefs  FILETIME 
       integer(DWORD) nFileSizeHigh ! knowns  DWORD 
       integer(DWORD) nFileSizeLow ! knowns  DWORD 
       integer(DWORD) dwReserved0 ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) cFileName(260) ! knowns  CHAR 
!DEC$ ELSE
       character(260) cFileName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) cAlternateFileName(14) ! knowns  CHAR 
!DEC$ ELSE
       character(14) cAlternateFileName
!DEC$ ENDIF
     END TYPE
     TYPE T_WIN32_FIND_DATAW
     SEQUENCE
       integer(DWORD) dwFileAttributes ! knowns  DWORD 
       TYPE (T_FILETIME) ftCreationTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastAccessTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastWriteTime ! typedefs  FILETIME 
       integer(DWORD) nFileSizeHigh ! knowns  DWORD 
       integer(DWORD) nFileSizeLow ! knowns  DWORD 
       integer(DWORD) dwReserved0 ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(WCHAR) cFileName(260) ! knowns  WCHAR 
       integer(WCHAR) cAlternateFileName(14) ! knowns  WCHAR 
     END TYPE
     TYPE T_WIN32_FILE_ATTRIBUTE_DATA
     SEQUENCE
       integer(DWORD) dwFileAttributes ! knowns  DWORD 
       TYPE (T_FILETIME) ftCreationTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastAccessTime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ftLastWriteTime ! typedefs  FILETIME 
       integer(DWORD) nFileSizeHigh ! knowns  DWORD 
       integer(DWORD) nFileSizeLow ! knowns  DWORD 
     END TYPE
     TYPE T_EVENTLOG_FULL_INFORMATION
     SEQUENCE
       integer(DWORD) dwFull ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_HW_PROFILE_INFO
     SEQUENCE
       integer(DWORD) dwDockInfo ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szHwProfileGuid(39) ! knowns  CHAR 
!DEC$ ELSE
       character(39) szHwProfileGuid
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szHwProfileName(80) ! knowns  CHAR 
!DEC$ ELSE
       character(80) szHwProfileName
!DEC$ ENDIF
     END TYPE
     TYPE T_HW_PROFILE_INFOW
     SEQUENCE
       integer(DWORD) dwDockInfo ! knowns  DWORD 
       integer(WCHAR) szHwProfileGuid(39) ! knowns  WCHAR 
       integer(WCHAR) szHwProfileName(80) ! knowns  WCHAR 
     END TYPE
    !DEC$ ENDIF
     TYPE T_SYSTEM_POWER_STATUS
     SEQUENCE
       integer(BYTE) ACLineStatus ! knowns  BYTE 
       integer(BYTE) BatteryFlag ! knowns  BYTE 
       integer(BYTE) BatteryLifePercent ! knowns  BYTE 
       integer(BYTE) Reserved1 ! knowns  BYTE 
       integer(DWORD) BatteryLifeTime ! knowns  DWORD 
       integer(DWORD) BatteryFullLifeTime ! knowns  DWORD 
     END TYPE
     TYPE T_DRAWPATRECT
     SEQUENCE
       TYPE (T_POINT) ptPosition ! typedefs  POINT 
       TYPE (T_POINT) ptSize ! typedefs  POINT 
       integer(WORD) wStyle ! knowns  WORD 
       integer(WORD) wPattern ! knowns  WORD 
     END TYPE
     TYPE T_PSINJECTDAT
     SEQUENCE
       integer(DWORD) DataBytes ! knowns  DWORD 
       integer(WORD) InjectionPoint ! knowns  WORD 
       integer(WORD) PageNumber ! knowns  WORD 
     END TYPE
     TYPE T_PSFEATURE_OUTPUT
     SEQUENCE
       integer(BOOL) bPageIndependent ! knowns  BOOL 
       integer(BOOL) bSetPageDevice ! knowns  BOOL 
     END TYPE
     TYPE T_PSFEATURE_CUSTPAPER
     SEQUENCE
       integer(LONG) lOrientation ! knowns  LONG 
       integer(LONG) lWidth ! knowns  LONG 
       integer(LONG) lHeight ! knowns  LONG 
       integer(LONG) lWidthOffset ! knowns  LONG 
       integer(LONG) lHeightOffset ! knowns  LONG 
     END TYPE
     TYPE T_XFORM
     SEQUENCE
       real(SFLOAT) eM11 ! knowns  FLOAT 
       real(SFLOAT) eM12 ! knowns  FLOAT 
       real(SFLOAT) eM21 ! knowns  FLOAT 
       real(SFLOAT) eM22 ! knowns  FLOAT 
       real(SFLOAT) eDx ! knowns  FLOAT 
       real(SFLOAT) eDy ! knowns  FLOAT 
     END TYPE
     TYPE T_BITMAP
     SEQUENCE
       integer(LONG) bmType ! knowns  LONG 
       integer(LONG) bmWidth ! knowns  LONG 
       integer(LONG) bmHeight ! knowns  LONG 
       integer(LONG) bmWidthBytes ! knowns  LONG 
       integer(WORD) bmPlanes ! knowns  WORD 
       integer(WORD) bmBitsPixel ! knowns  WORD 
       integer(LPVOID) bmBits ! knowns  LPVOID 
     END TYPE
     TYPE T_RGBTRIPLE
     SEQUENCE
       integer(BYTE) rgbtBlue ! knowns  BYTE 
       integer(BYTE) rgbtGreen ! knowns  BYTE 
       integer(BYTE) rgbtRed ! knowns  BYTE 
     END TYPE
     TYPE T_RGBQUAD
     SEQUENCE
       integer(BYTE) rgbBlue ! knowns  BYTE 
       integer(BYTE) rgbGreen ! knowns  BYTE 
       integer(BYTE) rgbRed ! knowns  BYTE 
       integer(BYTE) rgbReserved ! knowns  BYTE 
     END TYPE
     TYPE T_CIEXYZ
     SEQUENCE
       integer(LONG) ciexyzX ! typedefs  FXPT2DOT30 
       integer(LONG) ciexyzY ! typedefs  FXPT2DOT30 
       integer(LONG) ciexyzZ ! typedefs  FXPT2DOT30 
     END TYPE
     TYPE T_CIEXYZTRIPLE
     SEQUENCE
       TYPE (T_CIEXYZ) ciexyzRed ! typedefs  CIEXYZ 
       TYPE (T_CIEXYZ) ciexyzGreen ! typedefs  CIEXYZ 
       TYPE (T_CIEXYZ) ciexyzBlue ! typedefs  CIEXYZ 
     END TYPE
     TYPE T_LOGCOLORSPACE
     SEQUENCE
       integer(DWORD) lcsSignature ! knowns  DWORD 
       integer(DWORD) lcsVersion ! knowns  DWORD 
       integer(DWORD) lcsSize ! knowns  DWORD 
       integer(LONG) lcsCSType ! typedefs  LCSCSTYPE 
       integer(LONG) lcsIntent ! typedefs  LCSGAMUTMATCH 
       TYPE (T_CIEXYZTRIPLE) lcsEndpoints ! typedefs  CIEXYZTRIPLE 
       integer(DWORD) lcsGammaRed ! knowns  DWORD 
       integer(DWORD) lcsGammaGreen ! knowns  DWORD 
       integer(DWORD) lcsGammaBlue ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) lcsFilename(260) ! knowns  CHAR 
!DEC$ ELSE
       character(260) lcsFilename
!DEC$ ENDIF
     END TYPE
     TYPE T_LOGCOLORSPACEW
     SEQUENCE
       integer(DWORD) lcsSignature ! knowns  DWORD 
       integer(DWORD) lcsVersion ! knowns  DWORD 
       integer(DWORD) lcsSize ! knowns  DWORD 
       integer(LONG) lcsCSType ! typedefs  LCSCSTYPE 
       integer(LONG) lcsIntent ! typedefs  LCSGAMUTMATCH 
       TYPE (T_CIEXYZTRIPLE) lcsEndpoints ! typedefs  CIEXYZTRIPLE 
       integer(DWORD) lcsGammaRed ! knowns  DWORD 
       integer(DWORD) lcsGammaGreen ! knowns  DWORD 
       integer(DWORD) lcsGammaBlue ! knowns  DWORD 
       integer(WCHAR) lcsFilename(260) ! knowns  WCHAR 
     END TYPE
     TYPE T_BITMAPCOREHEADER
     SEQUENCE
       integer(DWORD) bcSize ! knowns  DWORD 
       integer(WORD) bcWidth ! knowns  WORD 
       integer(WORD) bcHeight ! knowns  WORD 
       integer(WORD) bcPlanes ! knowns  WORD 
       integer(WORD) bcBitCount ! knowns  WORD 
     END TYPE
     TYPE T_BITMAPINFOHEADER
     SEQUENCE
       integer(DWORD) biSize ! knowns  DWORD 
       integer(LONG) biWidth ! knowns  LONG 
       integer(LONG) biHeight ! knowns  LONG 
       integer(WORD) biPlanes ! knowns  WORD 
       integer(WORD) biBitCount ! knowns  WORD 
       integer(DWORD) biCompression ! knowns  DWORD 
       integer(DWORD) biSizeImage ! knowns  DWORD 
       integer(LONG) biXPelsPerMeter ! knowns  LONG 
       integer(LONG) biYPelsPerMeter ! knowns  LONG 
       integer(DWORD) biClrUsed ! knowns  DWORD 
       integer(DWORD) biClrImportant ! knowns  DWORD 
     END TYPE
     TYPE T_BITMAPV4HEADER
     SEQUENCE
       integer(DWORD) bV4Size ! knowns  DWORD 
       integer(LONG) bV4Width ! knowns  LONG 
       integer(LONG) bV4Height ! knowns  LONG 
       integer(WORD) bV4Planes ! knowns  WORD 
       integer(WORD) bV4BitCount ! knowns  WORD 
       integer(DWORD) bV4V4Compression ! knowns  DWORD 
       integer(DWORD) bV4SizeImage ! knowns  DWORD 
       integer(LONG) bV4XPelsPerMeter ! knowns  LONG 
       integer(LONG) bV4YPelsPerMeter ! knowns  LONG 
       integer(DWORD) bV4ClrUsed ! knowns  DWORD 
       integer(DWORD) bV4ClrImportant ! knowns  DWORD 
       integer(DWORD) bV4RedMask ! knowns  DWORD 
       integer(DWORD) bV4GreenMask ! knowns  DWORD 
       integer(DWORD) bV4BlueMask ! knowns  DWORD 
       integer(DWORD) bV4AlphaMask ! knowns  DWORD 
       integer(DWORD) bV4CSType ! knowns  DWORD 
       TYPE (T_CIEXYZTRIPLE) bV4Endpoints ! typedefs  CIEXYZTRIPLE 
       integer(DWORD) bV4GammaRed ! knowns  DWORD 
       integer(DWORD) bV4GammaGreen ! knowns  DWORD 
       integer(DWORD) bV4GammaBlue ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_BITMAPV5HEADER
     SEQUENCE
       integer(DWORD) bV5Size ! knowns  DWORD 
       integer(LONG) bV5Width ! knowns  LONG 
       integer(LONG) bV5Height ! knowns  LONG 
       integer(WORD) bV5Planes ! knowns  WORD 
       integer(WORD) bV5BitCount ! knowns  WORD 
       integer(DWORD) bV5Compression ! knowns  DWORD 
       integer(DWORD) bV5SizeImage ! knowns  DWORD 
       integer(LONG) bV5XPelsPerMeter ! knowns  LONG 
       integer(LONG) bV5YPelsPerMeter ! knowns  LONG 
       integer(DWORD) bV5ClrUsed ! knowns  DWORD 
       integer(DWORD) bV5ClrImportant ! knowns  DWORD 
       integer(DWORD) bV5RedMask ! knowns  DWORD 
       integer(DWORD) bV5GreenMask ! knowns  DWORD 
       integer(DWORD) bV5BlueMask ! knowns  DWORD 
       integer(DWORD) bV5AlphaMask ! knowns  DWORD 
       integer(DWORD) bV5CSType ! knowns  DWORD 
       TYPE (T_CIEXYZTRIPLE) bV5Endpoints ! typedefs  CIEXYZTRIPLE 
       integer(DWORD) bV5GammaRed ! knowns  DWORD 
       integer(DWORD) bV5GammaGreen ! knowns  DWORD 
       integer(DWORD) bV5GammaBlue ! knowns  DWORD 
       integer(DWORD) bV5Intent ! knowns  DWORD 
       integer(DWORD) bV5ProfileData ! knowns  DWORD 
       integer(DWORD) bV5ProfileSize ! knowns  DWORD 
       integer(DWORD) bV5Reserved ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
     TYPE T_BITMAPINFO
     SEQUENCE
       TYPE (T_BITMAPINFOHEADER) bmiHeader ! typedefs  BITMAPINFOHEADER 
       TYPE (T_RGBQUAD) bmiColors(1) ! typedefs  RGBQUAD 
     END TYPE
     TYPE T_BITMAPCOREINFO
     SEQUENCE
       TYPE (T_BITMAPCOREHEADER) bmciHeader ! typedefs  BITMAPCOREHEADER 
       TYPE (T_RGBTRIPLE) bmciColors(1) ! typedefs  RGBTRIPLE 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
  
     TYPE T_BITMAPFILEHEADER
     SEQUENCE
       integer(WORD) bfType ! knowns  WORD 
       integer(DWORD) bfSize ! knowns  DWORD 
       integer(WORD) bfReserved1 ! knowns  WORD 
       integer(WORD) bfReserved2 ! knowns  WORD 
       integer(DWORD) bfOffBits ! knowns  DWORD 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
  
     TYPE T_FONTSIGNATURE
     SEQUENCE
       integer(DWORD) fsUsb(4) ! knowns  DWORD 
       integer(DWORD) fsCsb(2) ! knowns  DWORD 
     END TYPE
     TYPE T_CHARSETINFO
     SEQUENCE
       integer(UINT) ciCharset ! knowns  UINT 
       integer(UINT) ciACP ! knowns  UINT 
       TYPE (T_FONTSIGNATURE) fs ! typedefs  FONTSIGNATURE 
     END TYPE
     TYPE T_LOCALESIGNATURE
     SEQUENCE
       integer(DWORD) lsUsb(4) ! knowns  DWORD 
       integer(DWORD) lsCsbDefault(2) ! knowns  DWORD 
       integer(DWORD) lsCsbSupported(2) ! knowns  DWORD 
     END TYPE
     TYPE T_HANDLETABLE
     SEQUENCE
       integer(LPVOID) objectHandle(1) ! pointers  HGDIOBJ 
     END TYPE
     TYPE T_METARECORD
     SEQUENCE
       integer(DWORD) rdSize ! knowns  DWORD 
       integer(WORD) rdFunction ! knowns  WORD 
       integer(WORD) rdParm(1) ! knowns  WORD 
     END TYPE
     TYPE T_METAFILEPICT
     SEQUENCE
       integer(LONG) mm ! knowns  LONG 
       integer(LONG) xExt ! knowns  LONG 
       integer(LONG) yExt ! knowns  LONG 
       integer(HANDLE) hMF ! handles  HMETAFILE 
     END TYPE
 !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
 !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
 !DEC$ ENDIF
 
     TYPE T_METAHEADER
     SEQUENCE
       integer(WORD) mtType ! knowns  WORD 
       integer(WORD) mtHeaderSize ! knowns  WORD 
       integer(WORD) mtVersion ! knowns  WORD 
       integer(DWORD) mtSize ! knowns  DWORD 
       integer(WORD) mtNoObjects ! knowns  WORD 
       integer(DWORD) mtMaxRecord ! knowns  DWORD 
       integer(WORD) mtNoParameters ! knowns  WORD 
     END TYPE
 !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
 !DEC$ END OPTIONS
 !DEC$ ENDIF
 
     TYPE T_ENHMETARECORD
     SEQUENCE
       integer(DWORD) iType ! knowns  DWORD 
       integer(DWORD) nSize ! knowns  DWORD 
       integer(DWORD) dParm(1) ! knowns  DWORD 
     END TYPE
     TYPE T_ENHMETAHEADER
     SEQUENCE
       integer(DWORD) iType ! knowns  DWORD 
       integer(DWORD) nSize ! knowns  DWORD 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       TYPE (T_RECTL) rclFrame ! typedefs  RECTL 
       integer(DWORD) dSignature ! knowns  DWORD 
       integer(DWORD) nVersion ! knowns  DWORD 
       integer(DWORD) nBytes ! knowns  DWORD 
       integer(DWORD) nRecords ! knowns  DWORD 
       integer(WORD) nHandles ! knowns  WORD 
       integer(WORD) sReserved ! knowns  WORD 
       integer(DWORD) nDescription ! knowns  DWORD 
       integer(DWORD) offDescription ! knowns  DWORD 
       integer(DWORD) nPalEntries ! knowns  DWORD 
       TYPE (T_SIZE) szlDevice ! typedefs  SIZEL 
       TYPE (T_SIZE) szlMillimeters ! typedefs  SIZEL 
       integer(DWORD) cbPixelFormat ! knowns  DWORD 
       integer(DWORD) offPixelFormat ! knowns  DWORD 
       integer(DWORD) bOpenGL ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       TYPE (T_SIZE) szlMicrometers ! typedefs  SIZEL 
    !DEC$ ENDIF
     END TYPE
     TYPE T_TEXTMETRIC
     SEQUENCE
       integer(LONG) tmHeight ! knowns  LONG 
       integer(LONG) tmAscent ! knowns  LONG 
       integer(LONG) tmDescent ! knowns  LONG 
       integer(LONG) tmInternalLeading ! knowns  LONG 
       integer(LONG) tmExternalLeading ! knowns  LONG 
       integer(LONG) tmAveCharWidth ! knowns  LONG 
       integer(LONG) tmMaxCharWidth ! knowns  LONG 
       integer(LONG) tmWeight ! knowns  LONG 
       integer(LONG) tmOverhang ! knowns  LONG 
       integer(LONG) tmDigitizedAspectX ! knowns  LONG 
       integer(LONG) tmDigitizedAspectY ! knowns  LONG 
       integer(BYTE) tmFirstChar ! knowns  BYTE 
       integer(BYTE) tmLastChar ! knowns  BYTE 
       integer(BYTE) tmDefaultChar ! knowns  BYTE 
       integer(BYTE) tmBreakChar ! knowns  BYTE 
       integer(BYTE) tmItalic ! knowns  BYTE 
       integer(BYTE) tmUnderlined ! knowns  BYTE 
       integer(BYTE) tmStruckOut ! knowns  BYTE 
       integer(BYTE) tmPitchAndFamily ! knowns  BYTE 
       integer(BYTE) tmCharSet ! knowns  BYTE 
     END TYPE
     TYPE T_TEXTMETRICW
     SEQUENCE
       integer(LONG) tmHeight ! knowns  LONG 
       integer(LONG) tmAscent ! knowns  LONG 
       integer(LONG) tmDescent ! knowns  LONG 
       integer(LONG) tmInternalLeading ! knowns  LONG 
       integer(LONG) tmExternalLeading ! knowns  LONG 
       integer(LONG) tmAveCharWidth ! knowns  LONG 
       integer(LONG) tmMaxCharWidth ! knowns  LONG 
       integer(LONG) tmWeight ! knowns  LONG 
       integer(LONG) tmOverhang ! knowns  LONG 
       integer(LONG) tmDigitizedAspectX ! knowns  LONG 
       integer(LONG) tmDigitizedAspectY ! knowns  LONG 
       integer(WCHAR) tmFirstChar ! knowns  WCHAR 
       integer(WCHAR) tmLastChar ! knowns  WCHAR 
       integer(WCHAR) tmDefaultChar ! knowns  WCHAR 
       integer(WCHAR) tmBreakChar ! knowns  WCHAR 
       integer(BYTE) tmItalic ! knowns  BYTE 
       integer(BYTE) tmUnderlined ! knowns  BYTE 
       integer(BYTE) tmStruckOut ! knowns  BYTE 
       integer(BYTE) tmPitchAndFamily ! knowns  BYTE 
       integer(BYTE) tmCharSet ! knowns  BYTE 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
  
     TYPE T_NEWTEXTMETRIC
     SEQUENCE
       integer(LONG) tmHeight ! knowns  LONG 
       integer(LONG) tmAscent ! knowns  LONG 
       integer(LONG) tmDescent ! knowns  LONG 
       integer(LONG) tmInternalLeading ! knowns  LONG 
       integer(LONG) tmExternalLeading ! knowns  LONG 
       integer(LONG) tmAveCharWidth ! knowns  LONG 
       integer(LONG) tmMaxCharWidth ! knowns  LONG 
       integer(LONG) tmWeight ! knowns  LONG 
       integer(LONG) tmOverhang ! knowns  LONG 
       integer(LONG) tmDigitizedAspectX ! knowns  LONG 
       integer(LONG) tmDigitizedAspectY ! knowns  LONG 
       integer(BYTE) tmFirstChar ! knowns  BYTE 
       integer(BYTE) tmLastChar ! knowns  BYTE 
       integer(BYTE) tmDefaultChar ! knowns  BYTE 
       integer(BYTE) tmBreakChar ! knowns  BYTE 
       integer(BYTE) tmItalic ! knowns  BYTE 
       integer(BYTE) tmUnderlined ! knowns  BYTE 
       integer(BYTE) tmStruckOut ! knowns  BYTE 
       integer(BYTE) tmPitchAndFamily ! knowns  BYTE 
       integer(BYTE) tmCharSet ! knowns  BYTE 
       integer(DWORD) ntmFlags ! knowns  DWORD 
       integer(UINT) ntmSizeEM ! knowns  UINT 
       integer(UINT) ntmCellHeight ! knowns  UINT 
       integer(UINT) ntmAvgWidth ! knowns  UINT 
     END TYPE
     TYPE T_NEWTEXTMETRICW
     SEQUENCE
       integer(LONG) tmHeight ! knowns  LONG 
       integer(LONG) tmAscent ! knowns  LONG 
       integer(LONG) tmDescent ! knowns  LONG 
       integer(LONG) tmInternalLeading ! knowns  LONG 
       integer(LONG) tmExternalLeading ! knowns  LONG 
       integer(LONG) tmAveCharWidth ! knowns  LONG 
       integer(LONG) tmMaxCharWidth ! knowns  LONG 
       integer(LONG) tmWeight ! knowns  LONG 
       integer(LONG) tmOverhang ! knowns  LONG 
       integer(LONG) tmDigitizedAspectX ! knowns  LONG 
       integer(LONG) tmDigitizedAspectY ! knowns  LONG 
       integer(WCHAR) tmFirstChar ! knowns  WCHAR 
       integer(WCHAR) tmLastChar ! knowns  WCHAR 
       integer(WCHAR) tmDefaultChar ! knowns  WCHAR 
       integer(WCHAR) tmBreakChar ! knowns  WCHAR 
       integer(BYTE) tmItalic ! knowns  BYTE 
       integer(BYTE) tmUnderlined ! knowns  BYTE 
       integer(BYTE) tmStruckOut ! knowns  BYTE 
       integer(BYTE) tmPitchAndFamily ! knowns  BYTE 
       integer(BYTE) tmCharSet ! knowns  BYTE 
       integer(DWORD) ntmFlags ! knowns  DWORD 
       integer(UINT) ntmSizeEM ! knowns  UINT 
       integer(UINT) ntmCellHeight ! knowns  UINT 
       integer(UINT) ntmAvgWidth ! knowns  UINT 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
  
     TYPE T_NEWTEXTMETRICEX
     SEQUENCE
       TYPE (T_NEWTEXTMETRIC) ntmTm ! typedefs  NEWTEXTMETRICA 
       TYPE (T_FONTSIGNATURE) ntmFontSig ! typedefs  FONTSIGNATURE 
     END TYPE
     TYPE T_NEWTEXTMETRICEXW
     SEQUENCE
       TYPE (T_NEWTEXTMETRICW) ntmTm ! typedefs  NEWTEXTMETRICW 
       TYPE (T_FONTSIGNATURE) ntmFontSig ! typedefs  FONTSIGNATURE 
     END TYPE
     TYPE T_PELARRAY
     SEQUENCE
       integer(LONG) paXCount ! knowns  LONG 
       integer(LONG) paYCount ! knowns  LONG 
       integer(LONG) paXExt ! knowns  LONG 
       integer(LONG) paYExt ! knowns  LONG 
       integer(BYTE) paRGBs ! knowns  BYTE 
     END TYPE
     TYPE T_LOGBRUSH
     SEQUENCE
       integer(UINT) lbStyle ! knowns  UINT 
       integer(ULONG) lbColor ! typedefs  COLORREF 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) lbHatch ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) lbHatch ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_LOGBRUSH32
     SEQUENCE
       integer(UINT) lbStyle ! knowns  UINT 
       integer(ULONG) lbColor ! typedefs  COLORREF 
       integer(ULONG) lbHatch ! knowns  ULONG 
     END TYPE
     TYPE T_LOGPEN
     SEQUENCE
       integer(UINT) lopnStyle ! knowns  UINT 
       TYPE (T_POINT) lopnWidth ! typedefs  POINT 
       integer(ULONG) lopnColor ! typedefs  COLORREF 
     END TYPE
     TYPE T_EXTLOGPEN
     SEQUENCE
       integer(DWORD) elpPenStyle ! knowns  DWORD 
       integer(DWORD) elpWidth ! knowns  DWORD 
       integer(UINT) elpBrushStyle ! knowns  UINT 
       integer(ULONG) elpColor ! typedefs  COLORREF 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) elpHatch ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) elpHatch ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(DWORD) elpNumEntries ! knowns  DWORD 
       integer(DWORD) elpStyleEntry(1) ! knowns  DWORD 
     END TYPE
     TYPE T_PALETTEENTRY
     SEQUENCE
       integer(BYTE) peRed ! knowns  BYTE 
       integer(BYTE) peGreen ! knowns  BYTE 
       integer(BYTE) peBlue ! knowns  BYTE 
       integer(BYTE) peFlags ! knowns  BYTE 
     END TYPE
     TYPE T_LOGPALETTE
     SEQUENCE
       integer(WORD) palVersion ! knowns  WORD 
       integer(WORD) palNumEntries ! knowns  WORD 
       TYPE (T_PALETTEENTRY) palPalEntry(1) ! typedefs  PALETTEENTRY 
     END TYPE
     TYPE T_LOGFONT
     SEQUENCE
       integer(LONG) lfHeight ! knowns  LONG 
       integer(LONG) lfWidth ! knowns  LONG 
       integer(LONG) lfEscapement ! knowns  LONG 
       integer(LONG) lfOrientation ! knowns  LONG 
       integer(LONG) lfWeight ! knowns  LONG 
       integer(BYTE) lfItalic ! knowns  BYTE 
       integer(BYTE) lfUnderline ! knowns  BYTE 
       integer(BYTE) lfStrikeOut ! knowns  BYTE 
       integer(BYTE) lfCharSet ! knowns  BYTE 
       integer(BYTE) lfOutPrecision ! knowns  BYTE 
       integer(BYTE) lfClipPrecision ! knowns  BYTE 
       integer(BYTE) lfQuality ! knowns  BYTE 
       integer(BYTE) lfPitchAndFamily ! knowns  BYTE 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) lfFaceName(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) lfFaceName
!DEC$ ENDIF
     END TYPE
     TYPE T_LOGFONTW
     SEQUENCE
       integer(LONG) lfHeight ! knowns  LONG 
       integer(LONG) lfWidth ! knowns  LONG 
       integer(LONG) lfEscapement ! knowns  LONG 
       integer(LONG) lfOrientation ! knowns  LONG 
       integer(LONG) lfWeight ! knowns  LONG 
       integer(BYTE) lfItalic ! knowns  BYTE 
       integer(BYTE) lfUnderline ! knowns  BYTE 
       integer(BYTE) lfStrikeOut ! knowns  BYTE 
       integer(BYTE) lfCharSet ! knowns  BYTE 
       integer(BYTE) lfOutPrecision ! knowns  BYTE 
       integer(BYTE) lfClipPrecision ! knowns  BYTE 
       integer(BYTE) lfQuality ! knowns  BYTE 
       integer(BYTE) lfPitchAndFamily ! knowns  BYTE 
       integer(WCHAR) lfFaceName(32) ! knowns  WCHAR 
     END TYPE
     TYPE T_ENUMLOGFONT
     SEQUENCE
       TYPE (T_LOGFONT) elfLogFont ! typedefs  LOGFONTA 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfFullName(64) ! knowns  BYTE 
!DEC$ ELSE
       character(64) elfFullName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfStyle(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) elfStyle
!DEC$ ENDIF
     END TYPE
     TYPE T_ENUMLOGFONTW
     SEQUENCE
       TYPE (T_LOGFONTW) elfLogFont ! typedefs  LOGFONTW 
       integer(WCHAR) elfFullName(64) ! knowns  WCHAR 
       integer(WCHAR) elfStyle(32) ! knowns  WCHAR 
     END TYPE
     TYPE T_ENUMLOGFONTEX
     SEQUENCE
       TYPE (T_LOGFONT) elfLogFont ! typedefs  LOGFONTA 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfFullName(64) ! knowns  BYTE 
!DEC$ ELSE
       character(64) elfFullName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfStyle(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) elfStyle
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfScript(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) elfScript
!DEC$ ENDIF
     END TYPE
     TYPE T_ENUMLOGFONTEXW
     SEQUENCE
       TYPE (T_LOGFONTW) elfLogFont ! typedefs  LOGFONTW 
       integer(WCHAR) elfFullName(64) ! knowns  WCHAR 
       integer(WCHAR) elfStyle(32) ! knowns  WCHAR 
       integer(WCHAR) elfScript(32) ! knowns  WCHAR 
     END TYPE
     TYPE T_PANOSE
     SEQUENCE
       integer(BYTE) bFamilyType ! knowns  BYTE 
       integer(BYTE) bSerifStyle ! knowns  BYTE 
       integer(BYTE) bWeight ! knowns  BYTE 
       integer(BYTE) bProportion ! knowns  BYTE 
       integer(BYTE) bContrast ! knowns  BYTE 
       integer(BYTE) bStrokeVariation ! knowns  BYTE 
       integer(BYTE) bArmStyle ! knowns  BYTE 
       integer(BYTE) bLetterform ! knowns  BYTE 
       integer(BYTE) bMidline ! knowns  BYTE 
       integer(BYTE) bXHeight ! knowns  BYTE 
     END TYPE
     TYPE T_EXTLOGFONT
     SEQUENCE
       TYPE (T_LOGFONT) elfLogFont ! typedefs  LOGFONTA 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfFullName(64) ! knowns  BYTE 
!DEC$ ELSE
       character(64) elfFullName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfStyle(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) elfStyle
!DEC$ ENDIF
       integer(DWORD) elfVersion ! knowns  DWORD 
       integer(DWORD) elfStyleSize ! knowns  DWORD 
       integer(DWORD) elfMatch ! knowns  DWORD 
       integer(DWORD) elfReserved ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfVendorId(4) ! knowns  BYTE 
!DEC$ ELSE
       character(4) elfVendorId
!DEC$ ENDIF
       integer(DWORD) elfCulture ! knowns  DWORD 
       TYPE (T_PANOSE) elfPanose ! typedefs  PANOSE 
     END TYPE
     TYPE T_EXTLOGFONTW
     SEQUENCE
       TYPE (T_LOGFONTW) elfLogFont ! typedefs  LOGFONTW 
       integer(WCHAR) elfFullName(64) ! knowns  WCHAR 
       integer(WCHAR) elfStyle(32) ! knowns  WCHAR 
       integer(DWORD) elfVersion ! knowns  DWORD 
       integer(DWORD) elfStyleSize ! knowns  DWORD 
       integer(DWORD) elfMatch ! knowns  DWORD 
       integer(DWORD) elfReserved ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) elfVendorId(4) ! knowns  BYTE 
!DEC$ ELSE
       character(4) elfVendorId
!DEC$ ENDIF
       integer(DWORD) elfCulture ! knowns  DWORD 
       TYPE (T_PANOSE) elfPanose ! typedefs  PANOSE 
     END TYPE
    !Inserted structure here:T_DEVMODE
     STRUCTURE /T_DEVMODE/
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) dmDeviceName(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) dmDeviceName
!DEC$ ENDIF
        integer(WORD) dmSpecVersion ! knowns  WORD 
        integer(WORD) dmDriverVersion ! knowns  WORD 
        integer(WORD) dmSize ! knowns  WORD 
        integer(WORD) dmDriverExtra ! knowns  WORD 
        integer(DWORD) dmFields ! knowns  DWORD 
       UNION  ! field2
         MAP
          STRUCTURE /f_field15/ field1
        integer(SHORT) dmOrientation ! knowns  short 
        integer(SHORT) dmPaperSize ! knowns  short 
        integer(SHORT) dmPaperLength ! knowns  short 
        integer(SHORT) dmPaperWidth ! knowns  short 
          END STRUCTURE ! field1
         END MAP
         MAP
        TYPE(T_POINTL) dmPosition ! typedefs  POINTL 
         END MAP
       END UNION  ! field2
        integer(SHORT) dmScale ! knowns  short 
        integer(SHORT) dmCopies ! knowns  short 
        integer(SHORT) dmDefaultSource ! knowns  short 
        integer(SHORT) dmPrintQuality ! knowns  short 
        integer(SHORT) dmColor ! knowns  short 
        integer(SHORT) dmDuplex ! knowns  short 
        integer(SHORT) dmYResolution ! knowns  short 
        integer(SHORT) dmTTOption ! knowns  short 
        integer(SHORT) dmCollate ! knowns  short 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(BYTE) dmFormName(32) ! knowns  BYTE 
!DEC$ ELSE
        character(32) dmFormName
!DEC$ ENDIF
        integer(WORD) dmLogPixels ! knowns  WORD 
        integer(DWORD) dmBitsPerPel ! knowns  DWORD 
        integer(DWORD) dmPelsWidth ! knowns  DWORD 
        integer(DWORD) dmPelsHeight ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(DWORD) dmDisplayFlags ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dmNup ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) dmDisplayFrequency ! knowns  DWORD 
        integer(DWORD) dmICMMethod ! knowns  DWORD 
        integer(DWORD) dmICMIntent ! knowns  DWORD 
        integer(DWORD) dmMediaType ! knowns  DWORD 
        integer(DWORD) dmDitherType ! knowns  DWORD 
        integer(DWORD) dmReserved1 ! knowns  DWORD 
        integer(DWORD) dmReserved2 ! knowns  DWORD 
        integer(DWORD) dmPanningWidth ! knowns  DWORD 
        integer(DWORD) dmPanningHeight ! knowns  DWORD 
     END STRUCTURE
    !Inserted structure here:T_DEVMODEW
     STRUCTURE /T_DEVMODEW/
        integer(WCHAR) dmDeviceName(32) ! knowns  WCHAR 
        integer(WORD) dmSpecVersion ! knowns  WORD 
        integer(WORD) dmDriverVersion ! knowns  WORD 
        integer(WORD) dmSize ! knowns  WORD 
        integer(WORD) dmDriverExtra ! knowns  WORD 
        integer(DWORD) dmFields ! knowns  DWORD 
       UNION  ! field2
         MAP
          STRUCTURE /f_field10/ field1
        integer(SHORT) dmOrientation ! knowns  short 
        integer(SHORT) dmPaperSize ! knowns  short 
        integer(SHORT) dmPaperLength ! knowns  short 
        integer(SHORT) dmPaperWidth ! knowns  short 
          END STRUCTURE ! field1
         END MAP
         MAP
        TYPE(T_POINTL) dmPosition ! typedefs  POINTL 
         END MAP
       END UNION  ! field2
        integer(SHORT) dmScale ! knowns  short 
        integer(SHORT) dmCopies ! knowns  short 
        integer(SHORT) dmDefaultSource ! knowns  short 
        integer(SHORT) dmPrintQuality ! knowns  short 
        integer(SHORT) dmColor ! knowns  short 
        integer(SHORT) dmDuplex ! knowns  short 
        integer(SHORT) dmYResolution ! knowns  short 
        integer(SHORT) dmTTOption ! knowns  short 
        integer(SHORT) dmCollate ! knowns  short 
        integer(WCHAR) dmFormName(32) ! knowns  WCHAR 
        integer(WORD) dmLogPixels ! knowns  WORD 
        integer(DWORD) dmBitsPerPel ! knowns  DWORD 
        integer(DWORD) dmPelsWidth ! knowns  DWORD 
        integer(DWORD) dmPelsHeight ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(DWORD) dmDisplayFlags ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dmNup ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) dmDisplayFrequency ! knowns  DWORD 
        integer(DWORD) dmICMMethod ! knowns  DWORD 
        integer(DWORD) dmICMIntent ! knowns  DWORD 
        integer(DWORD) dmMediaType ! knowns  DWORD 
        integer(DWORD) dmDitherType ! knowns  DWORD 
        integer(DWORD) dmReserved1 ! knowns  DWORD 
        integer(DWORD) dmReserved2 ! knowns  DWORD 
        integer(DWORD) dmPanningWidth ! knowns  DWORD 
        integer(DWORD) dmPanningHeight ! knowns  DWORD 
     END STRUCTURE
     TYPE T_DISPLAY_DEVICE
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) DeviceName(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) DeviceName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) DeviceString(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) DeviceString
!DEC$ ENDIF
       integer(DWORD) StateFlags ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) DeviceID(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) DeviceID
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) DeviceKey(128) ! knowns  CHAR 
!DEC$ ELSE
       character(128) DeviceKey
!DEC$ ENDIF
     END TYPE
     TYPE T_DISPLAY_DEVICEW
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
       integer(WCHAR) DeviceName(32) ! knowns  WCHAR 
       integer(WCHAR) DeviceString(128) ! knowns  WCHAR 
       integer(DWORD) StateFlags ! knowns  DWORD 
       integer(WCHAR) DeviceID(128) ! knowns  WCHAR 
       integer(WCHAR) DeviceKey(128) ! knowns  WCHAR 
     END TYPE
     TYPE T_RGNDATAHEADER
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) iType ! knowns  DWORD 
       integer(DWORD) nCount ! knowns  DWORD 
       integer(DWORD) nRgnSize ! knowns  DWORD 
       TYPE (T_RECT) rcBound ! typedefs  RECT 
     END TYPE
     TYPE T_RGNDAT
     SEQUENCE
       TYPE (T_RGNDATAHEADER) rdh ! typedefs  RGNDATAHEADER 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) Buffer(1) ! knowns  char 
!DEC$ ELSE
       character(1) Buffer
!DEC$ ENDIF
     END TYPE
     TYPE T_ABC
     SEQUENCE
       integer(SINT) abcA ! knowns  int 
       integer(UINT) abcB ! knowns  UINT 
       integer(SINT) abcC ! knowns  int 
     END TYPE
     TYPE T_ABCFLOAT
     SEQUENCE
       real(SFLOAT) abcfA ! knowns  FLOAT 
       real(SFLOAT) abcfB ! knowns  FLOAT 
       real(SFLOAT) abcfC ! knowns  FLOAT 
     END TYPE
     TYPE T_OUTLINETEXTMETRIC
     SEQUENCE
       integer(UINT) otmSize ! knowns  UINT 
       TYPE (T_TEXTMETRIC) otmTextMetrics ! typedefs  TEXTMETRICA 
       integer(BYTE) otmFiller ! knowns  BYTE 
       TYPE (T_PANOSE) otmPanoseNumber ! typedefs  PANOSE 
       integer(UINT) otmfsSelection ! knowns  UINT 
       integer(UINT) otmfsType ! knowns  UINT 
       integer(SINT) otmsCharSlopeRise ! knowns  int 
       integer(SINT) otmsCharSlopeRun ! knowns  int 
       integer(SINT) otmItalicAngle ! knowns  int 
       integer(UINT) otmEMSquare ! knowns  UINT 
       integer(SINT) otmAscent ! knowns  int 
       integer(SINT) otmDescent ! knowns  int 
       integer(UINT) otmLineGap ! knowns  UINT 
       integer(UINT) otmsCapEmHeight ! knowns  UINT 
       integer(UINT) otmsXHeight ! knowns  UINT 
       TYPE (T_RECT) otmrcFontBox ! typedefs  RECT 
       integer(SINT) otmMacAscent ! knowns  int 
       integer(SINT) otmMacDescent ! knowns  int 
       integer(UINT) otmMacLineGap ! knowns  UINT 
       integer(UINT) otmusMinimumPPEM ! knowns  UINT 
       TYPE (T_POINT) otmptSubscriptSize ! typedefs  POINT 
       TYPE (T_POINT) otmptSubscriptOffset ! typedefs  POINT 
       TYPE (T_POINT) otmptSuperscriptSize ! typedefs  POINT 
       TYPE (T_POINT) otmptSuperscriptOffset ! typedefs  POINT 
       integer(UINT) otmsStrikeoutSize ! knowns  UINT 
       integer(SINT) otmsStrikeoutPosition ! knowns  int 
       integer(SINT) otmsUnderscoreSize ! knowns  int 
       integer(SINT) otmsUnderscorePosition ! knowns  int 
       integer(PSTR) otmpFamilyName ! knowns  PSTR 
       integer(PSTR) otmpFaceName ! knowns  PSTR 
       integer(PSTR) otmpStyleName ! knowns  PSTR 
       integer(PSTR) otmpFullName ! knowns  PSTR 
     END TYPE
     TYPE T_OUTLINETEXTMETRICW
     SEQUENCE
       integer(UINT) otmSize ! knowns  UINT 
       TYPE (T_TEXTMETRICW) otmTextMetrics ! typedefs  TEXTMETRICW 
       integer(BYTE) otmFiller ! knowns  BYTE 
       TYPE (T_PANOSE) otmPanoseNumber ! typedefs  PANOSE 
       integer(UINT) otmfsSelection ! knowns  UINT 
       integer(UINT) otmfsType ! knowns  UINT 
       integer(SINT) otmsCharSlopeRise ! knowns  int 
       integer(SINT) otmsCharSlopeRun ! knowns  int 
       integer(SINT) otmItalicAngle ! knowns  int 
       integer(UINT) otmEMSquare ! knowns  UINT 
       integer(SINT) otmAscent ! knowns  int 
       integer(SINT) otmDescent ! knowns  int 
       integer(UINT) otmLineGap ! knowns  UINT 
       integer(UINT) otmsCapEmHeight ! knowns  UINT 
       integer(UINT) otmsXHeight ! knowns  UINT 
       TYPE (T_RECT) otmrcFontBox ! typedefs  RECT 
       integer(SINT) otmMacAscent ! knowns  int 
       integer(SINT) otmMacDescent ! knowns  int 
       integer(UINT) otmMacLineGap ! knowns  UINT 
       integer(UINT) otmusMinimumPPEM ! knowns  UINT 
       TYPE (T_POINT) otmptSubscriptSize ! typedefs  POINT 
       TYPE (T_POINT) otmptSubscriptOffset ! typedefs  POINT 
       TYPE (T_POINT) otmptSuperscriptSize ! typedefs  POINT 
       TYPE (T_POINT) otmptSuperscriptOffset ! typedefs  POINT 
       integer(UINT) otmsStrikeoutSize ! knowns  UINT 
       integer(SINT) otmsStrikeoutPosition ! knowns  int 
       integer(SINT) otmsUnderscoreSize ! knowns  int 
       integer(SINT) otmsUnderscorePosition ! knowns  int 
       integer(PSTR) otmpFamilyName ! knowns  PSTR 
       integer(PSTR) otmpFaceName ! knowns  PSTR 
       integer(PSTR) otmpStyleName ! knowns  PSTR 
       integer(PSTR) otmpFullName ! knowns  PSTR 
     END TYPE
     TYPE T_POLYTEXT
     SEQUENCE
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(UINT) n ! knowns  UINT 
       integer(LPCSTR) lpstr ! knowns  LPCSTR 
       integer(UINT) uiFlags ! knowns  UINT 
       TYPE (T_RECT) rcl ! typedefs  RECT 
      integer(LPVOID) pdx ! star  int  *
     END TYPE
     TYPE T_POLYTEXTW
     SEQUENCE
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(UINT) n ! knowns  UINT 
       integer(LPCWSTR) lpstr ! knowns  LPCWSTR 
       integer(UINT) uiFlags ! knowns  UINT 
       TYPE (T_RECT) rcl ! typedefs  RECT 
      integer(LPVOID) pdx ! star  int  *
     END TYPE
     TYPE T_FIXED
     SEQUENCE
       integer(WORD) fract ! knowns  WORD 
       integer(SHORT) value ! knowns  short 
     END TYPE
     TYPE T_MAT2
     SEQUENCE
       TYPE (T_FIXED) eM11 ! typedefs  FIXED 
       TYPE (T_FIXED) eM12 ! typedefs  FIXED 
       TYPE (T_FIXED) eM21 ! typedefs  FIXED 
       TYPE (T_FIXED) eM22 ! typedefs  FIXED 
     END TYPE
     TYPE T_GLYPHMETRICS
     SEQUENCE
       integer(UINT) gmBlackBoxX ! knowns  UINT 
       integer(UINT) gmBlackBoxY ! knowns  UINT 
       TYPE (T_POINT) gmptGlyphOrigin ! typedefs  POINT 
       integer(SHORT) gmCellIncX ! knowns  short 
       integer(SHORT) gmCellIncY ! knowns  short 
     END TYPE
     TYPE T_POINTFX
     SEQUENCE
       TYPE (T_FIXED) x ! typedefs  FIXED 
       TYPE (T_FIXED) y ! typedefs  FIXED 
     END TYPE
     TYPE T_TTPOLYCURVE
     SEQUENCE
       integer(WORD) wType ! knowns  WORD 
       integer(WORD) cpfx ! knowns  WORD 
       TYPE (T_POINTFX) apfx(1) ! typedefs  POINTFX 
     END TYPE
     TYPE T_TTPOLYGONHEADER
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
       TYPE (T_POINTFX) pfxStart ! typedefs  POINTFX 
     END TYPE
     TYPE T_GCP_RESULTS
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(LPSTR) lpOutString ! knowns  LPSTR 
      integer(LPVOID) lpOrder ! star  UINT  *
      integer(LPVOID) lpDx ! star  int  *
      integer(LPVOID) lpCaretPos ! star  int  *
       integer(LPSTR) lpClass ! knowns  LPSTR 
       integer(LPWSTR) lpGlyphs ! knowns  LPWSTR 
       integer(UINT) nGlyphs ! knowns  UINT 
       integer(SINT) nMaxFit ! knowns  int 
     END TYPE
     TYPE T_GCP_RESULTSW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(LPWSTR) lpOutString ! knowns  LPWSTR 
      integer(LPVOID) lpOrder ! star  UINT  *
      integer(LPVOID) lpDx ! star  int  *
      integer(LPVOID) lpCaretPos ! star  int  *
       integer(LPSTR) lpClass ! knowns  LPSTR 
       integer(LPWSTR) lpGlyphs ! knowns  LPWSTR 
       integer(UINT) nGlyphs ! knowns  UINT 
       integer(SINT) nMaxFit ! knowns  int 
     END TYPE
     TYPE T_RASTERIZER_STATUS
     SEQUENCE
       integer(SHORT) nSize ! knowns  short 
       integer(SHORT) wFlags ! knowns  short 
       integer(SHORT) nLanguageID ! knowns  short 
     END TYPE
     TYPE T_PIXELFORMATDESCRIPTOR
     SEQUENCE
       integer(WORD) nSize ! knowns  WORD 
       integer(WORD) nVersion ! knowns  WORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(BYTE) iPixelType ! knowns  BYTE 
       integer(BYTE) cColorBits ! knowns  BYTE 
       integer(BYTE) cRedBits ! knowns  BYTE 
       integer(BYTE) cRedShift ! knowns  BYTE 
       integer(BYTE) cGreenBits ! knowns  BYTE 
       integer(BYTE) cGreenShift ! knowns  BYTE 
       integer(BYTE) cBlueBits ! knowns  BYTE 
       integer(BYTE) cBlueShift ! knowns  BYTE 
       integer(BYTE) cAlphaBits ! knowns  BYTE 
       integer(BYTE) cAlphaShift ! knowns  BYTE 
       integer(BYTE) cAccumBits ! knowns  BYTE 
       integer(BYTE) cAccumRedBits ! knowns  BYTE 
       integer(BYTE) cAccumGreenBits ! knowns  BYTE 
       integer(BYTE) cAccumBlueBits ! knowns  BYTE 
       integer(BYTE) cAccumAlphaBits ! knowns  BYTE 
       integer(BYTE) cDepthBits ! knowns  BYTE 
       integer(BYTE) cStencilBits ! knowns  BYTE 
       integer(BYTE) cAuxBuffers ! knowns  BYTE 
       integer(BYTE) iLayerType ! knowns  BYTE 
       integer(BYTE) bReserved ! knowns  BYTE 
       integer(DWORD) dwLayerMask ! knowns  DWORD 
       integer(DWORD) dwVisibleMask ! knowns  DWORD 
       integer(DWORD) dwDamageMask ! knowns  DWORD 
     END TYPE
     TYPE T_TRIVERTEX
     SEQUENCE
       integer(LONG) x ! knowns  LONG 
       integer(LONG) y ! knowns  LONG 
       integer(USHORT) Red ! typedefs  COLOR16 
       integer(USHORT) Green ! typedefs  COLOR16 
       integer(USHORT) Blue ! typedefs  COLOR16 
       integer(USHORT) Alpha ! typedefs  COLOR16 
     END TYPE
     TYPE T_GRADIENT_TRIANGLE
     SEQUENCE
       integer(ULONG) Vertex1 ! knowns  ULONG 
       integer(ULONG) Vertex2 ! knowns  ULONG 
       integer(ULONG) Vertex3 ! knowns  ULONG 
     END TYPE
     TYPE T_GRADIENT_RECT
     SEQUENCE
       integer(ULONG) UpperLeft ! knowns  ULONG 
       integer(ULONG) LowerRight ! knowns  ULONG 
     END TYPE
     TYPE T_BLENDFUNCTION
     SEQUENCE
       integer(BYTE) BlendOp ! knowns  BYTE 
       integer(BYTE) BlendFlags ! knowns  BYTE 
       integer(BYTE) SourceConstantAlpha ! knowns  BYTE 
       integer(BYTE) AlphaFormat ! knowns  BYTE 
     END TYPE
     TYPE T_DIBSECTION
     SEQUENCE
       TYPE (T_BITMAP) dsBm ! typedefs  BITMAP 
       TYPE (T_BITMAPINFOHEADER) dsBmih ! typedefs  BITMAPINFOHEADER 
       integer(DWORD) dsBitfields(3) ! knowns  DWORD 
       integer(HANDLE) dshSection ! knowns  HANDLE 
       integer(DWORD) dsOffset ! knowns  DWORD 
     END TYPE
     TYPE T_COLORADJUSTMENT
     SEQUENCE
       integer(WORD) caSize ! knowns  WORD 
       integer(WORD) caFlags ! knowns  WORD 
       integer(WORD) caIlluminantIndex ! knowns  WORD 
       integer(WORD) caRedGamma ! knowns  WORD 
       integer(WORD) caGreenGamma ! knowns  WORD 
       integer(WORD) caBlueGamma ! knowns  WORD 
       integer(WORD) caReferenceBlack ! knowns  WORD 
       integer(WORD) caReferenceWhite ! knowns  WORD 
       integer(SHORT) caContrast ! knowns  SHORT 
       integer(SHORT) caBrightness ! knowns  SHORT 
       integer(SHORT) caColorfulness ! knowns  SHORT 
       integer(SHORT) caRedGreenTint ! knowns  SHORT 
     END TYPE
     TYPE T_DOCINFO
     SEQUENCE
       integer(SINT) cbSize ! knowns  int 
       integer(LPCSTR) lpszDocName ! knowns  LPCSTR 
       integer(LPCSTR) lpszOutput ! knowns  LPCSTR 
       integer(LPCSTR) lpszDatatype ! knowns  LPCSTR 
       integer(DWORD) fwType ! knowns  DWORD 
     END TYPE
     TYPE T_DOCINFOW
     SEQUENCE
       integer(SINT) cbSize ! knowns  int 
       integer(LPCWSTR) lpszDocName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszOutput ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszDatatype ! knowns  LPCWSTR 
       integer(DWORD) fwType ! knowns  DWORD 
     END TYPE
     TYPE T_KERNINGPAIR
     SEQUENCE
       integer(WORD) wFirst ! knowns  WORD 
       integer(WORD) wSecond ! knowns  WORD 
       integer(SINT) iKernAmount ! knowns  int 
     END TYPE
     TYPE T_EMR
     SEQUENCE
       integer(DWORD) iType ! knowns  DWORD 
       integer(DWORD) nSize ! knowns  DWORD 
     END TYPE
     TYPE T_EMRTEXT
     SEQUENCE
       TYPE (T_POINTL) ptlReference ! typedefs  POINTL 
       integer(DWORD) nChars ! knowns  DWORD 
       integer(DWORD) offString ! knowns  DWORD 
       integer(DWORD) fOptions ! knowns  DWORD 
       TYPE (T_RECTL) rcl ! typedefs  RECTL 
       integer(DWORD) offDx ! knowns  DWORD 
     END TYPE
     TYPE T_EMRABORTPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRBEGINPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRENDPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRCLOSEFIGURE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRFLATTENPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRWIDENPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRSETMETARGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRSAVEDC
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRREALIZEPALETTE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
     END TYPE
     TYPE T_EMRSELECTCLIPPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETBKMODE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETMAPMODE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_EMRSETLAYOUT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
     TYPE T_EMRSETPOLYFILLMODE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETROP2
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETSTRETCHBLTMODE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETICMMODE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETTEXTALIGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETMITERLIMIT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       real(SFLOAT) eMiterLimit ! knowns  FLOAT 
     END TYPE
     TYPE T_EMRRESTOREDC
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(LONG) iRelative ! knowns  LONG 
     END TYPE
     TYPE T_EMRSETARCDIRECTION
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) iArcDirection ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETMAPPERFLAGS
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETBKCOLOR
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(ULONG) crColor ! typedefs  COLORREF 
     END TYPE
     TYPE T_EMRSETTEXTCOLOR
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(ULONG) crColor ! typedefs  COLORREF 
     END TYPE
     TYPE T_EMRSELECTOBJECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihObject ! knowns  DWORD 
     END TYPE
     TYPE T_EMRDELETEOBJECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihObject ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSELECTPALETTE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPal ! knowns  DWORD 
     END TYPE
     TYPE T_EMRRESIZEPALETTE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPal ! knowns  DWORD 
       integer(DWORD) cEntries ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETPALETTEENTRIES
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPal ! knowns  DWORD 
       integer(DWORD) iStart ! knowns  DWORD 
       integer(DWORD) cEntries ! knowns  DWORD 
       TYPE (T_PALETTEENTRY) aPalEntries(1) ! typedefs  PALETTEENTRY 
     END TYPE
     TYPE T_EMRSETCOLORADJUSTMENT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_COLORADJUSTMENT) ColorAdjustment ! typedefs  COLORADJUSTMENT 
     END TYPE
     TYPE T_EMRGDICOMMENT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMREOF
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) nPalEntries ! knowns  DWORD 
       integer(DWORD) offPalEntries ! knowns  DWORD 
       integer(DWORD) nSizeLast ! knowns  DWORD 
     END TYPE
     TYPE T_EMRLINETO
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptl ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRMOVETOEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptl ! typedefs  POINTL 
     END TYPE
     TYPE T_EMROFFSETCLIPRGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlOffset ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRFILLPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRSTROKEANDFILLPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRSTROKEPATH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
     END TYPE
     TYPE T_EMREXCLUDECLIPRECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclClip ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRINTERSECTCLIPRECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclClip ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRSETVIEWPORTORGEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlOrigin ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRSETWINDOWORGEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlOrigin ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRSETBRUSHORGEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlOrigin ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRSETVIEWPORTEXTEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_SIZE) szlExtent ! typedefs  SIZEL 
     END TYPE
     TYPE T_EMRSETWINDOWEXTEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_SIZE) szlExtent ! typedefs  SIZEL 
     END TYPE
     TYPE T_EMRSCALEVIEWPORTEXTEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(LONG) xNum ! knowns  LONG 
       integer(LONG) xDenom ! knowns  LONG 
       integer(LONG) yNum ! knowns  LONG 
       integer(LONG) yDenom ! knowns  LONG 
     END TYPE
     TYPE T_EMRSCALEWINDOWEXTEX
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(LONG) xNum ! knowns  LONG 
       integer(LONG) xDenom ! knowns  LONG 
       integer(LONG) yNum ! knowns  LONG 
       integer(LONG) yDenom ! knowns  LONG 
     END TYPE
     TYPE T_EMRSETWORLDTRANSFORM
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_XFORM) xform ! typedefs  XFORM 
     END TYPE
     TYPE T_EMRMODIFYWORLDTRANSFORM
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_XFORM) xform ! typedefs  XFORM 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETPIXELV
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlPixel ! typedefs  POINTL 
       integer(ULONG) crColor ! typedefs  COLORREF 
     END TYPE
     TYPE T_EMREXTFLOODFILL
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlStart ! typedefs  POINTL 
       integer(ULONG) crColor ! typedefs  COLORREF 
       integer(DWORD) iMode ! knowns  DWORD 
     END TYPE
     TYPE T_EMRELLIPSE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRRECTANGLE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
     END TYPE
     TYPE T_EMRROUNDRECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
       TYPE (T_SIZE) szlCorner ! typedefs  SIZEL 
     END TYPE
     TYPE T_EMRARC
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
       TYPE (T_POINTL) ptlStart ! typedefs  POINTL 
       TYPE (T_POINTL) ptlEnd ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRARCTO
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
       TYPE (T_POINTL) ptlStart ! typedefs  POINTL 
       TYPE (T_POINTL) ptlEnd ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRCHORD
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
       TYPE (T_POINTL) ptlStart ! typedefs  POINTL 
       TYPE (T_POINTL) ptlEnd ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPIE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBox ! typedefs  RECTL 
       TYPE (T_POINTL) ptlStart ! typedefs  POINTL 
       TYPE (T_POINTL) ptlEnd ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRANGLEARC
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_POINTL) ptlCenter ! typedefs  POINTL 
       integer(DWORD) nRadius ! knowns  DWORD 
       real(SFLOAT) eStartAngle ! knowns  FLOAT 
       real(SFLOAT) eSweepAngle ! knowns  FLOAT 
     END TYPE
     TYPE T_EMRPOLYLINE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYBEZIER
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYGON
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYBEZIERTO
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYLINETO
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYLINE16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYBEZIER16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYGON16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYBEZIERTO16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYLINETO16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYDRAW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cptl ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) abTypes(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) abTypes
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRPOLYDRAW16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cpts ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) abTypes(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) abTypes
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRPOLYPOLYLINE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) nPolys ! knowns  DWORD 
       integer(DWORD) cptl ! knowns  DWORD 
       integer(DWORD) aPolyCounts(1) ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYPOLYGON
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) nPolys ! knowns  DWORD 
       integer(DWORD) cptl ! knowns  DWORD 
       integer(DWORD) aPolyCounts(1) ! knowns  DWORD 
       TYPE (T_POINTL) aptl(1) ! typedefs  POINTL 
     END TYPE
     TYPE T_EMRPOLYPOLYLINE16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) nPolys ! knowns  DWORD 
       integer(DWORD) cpts ! knowns  DWORD 
       integer(DWORD) aPolyCounts(1) ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRPOLYPOLYGON16
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) nPolys ! knowns  DWORD 
       integer(DWORD) cpts ! knowns  DWORD 
       integer(DWORD) aPolyCounts(1) ! knowns  DWORD 
       TYPE (T_POINTS) apts(1) ! typedefs  POINTS 
     END TYPE
     TYPE T_EMRINVERTRGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cbRgnData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RgnData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) RgnData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRPAINTRGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cbRgnData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RgnData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) RgnData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRFILLRGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cbRgnData ! knowns  DWORD 
       integer(DWORD) ihBrush ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RgnData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) RgnData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRFRAMERGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cbRgnData ! knowns  DWORD 
       integer(DWORD) ihBrush ! knowns  DWORD 
       TYPE (T_SIZE) szlStroke ! typedefs  SIZEL 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RgnData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) RgnData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMREXTSELECTCLIPRGN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) cbRgnData ! knowns  DWORD 
       integer(DWORD) iMode ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) RgnData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) RgnData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMREXTTEXTOUT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) iGraphicsMode ! knowns  DWORD 
       real(SFLOAT) exScale ! knowns  FLOAT 
       real(SFLOAT) eyScale ! knowns  FLOAT 
       TYPE (T_EMRTEXT) emrtext ! typedefs  EMRTEXT 
     END TYPE
     TYPE T_EMREXTTEXTOUTW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) iGraphicsMode ! knowns  DWORD 
       real(SFLOAT) exScale ! knowns  FLOAT 
       real(SFLOAT) eyScale ! knowns  FLOAT 
       TYPE (T_EMRTEXT) emrtext ! typedefs  EMRTEXT 
     END TYPE
     TYPE T_EMRPOLYTEXTOUT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) iGraphicsMode ! knowns  DWORD 
       real(SFLOAT) exScale ! knowns  FLOAT 
       real(SFLOAT) eyScale ! knowns  FLOAT 
       integer(LONG) cStrings ! knowns  LONG 
       TYPE (T_EMRTEXT) aemrtext(1) ! typedefs  EMRTEXT 
     END TYPE
     TYPE T_EMRPOLYTEXTOUTW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) iGraphicsMode ! knowns  DWORD 
       real(SFLOAT) exScale ! knowns  FLOAT 
       real(SFLOAT) eyScale ! knowns  FLOAT 
       integer(LONG) cStrings ! knowns  LONG 
       TYPE (T_EMRTEXT) aemrtext(1) ! typedefs  EMRTEXT 
     END TYPE
     TYPE T_EMRBITBLT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSTRETCHBLT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
     END TYPE
     TYPE T_EMRMASKBLT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(LONG) xMask ! knowns  LONG 
       integer(LONG) yMask ! knowns  LONG 
       integer(DWORD) iUsageMask ! knowns  DWORD 
       integer(DWORD) offBmiMask ! knowns  DWORD 
       integer(DWORD) cbBmiMask ! knowns  DWORD 
       integer(DWORD) offBitsMask ! knowns  DWORD 
       integer(DWORD) cbBitsMask ! knowns  DWORD 
     END TYPE
     TYPE T_EMRPLGBLT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       TYPE (T_POINTL) aptlDest(3) ! typedefs  POINTL 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(LONG) xMask ! knowns  LONG 
       integer(LONG) yMask ! knowns  LONG 
       integer(DWORD) iUsageMask ! knowns  DWORD 
       integer(DWORD) offBmiMask ! knowns  DWORD 
       integer(DWORD) cbBmiMask ! knowns  DWORD 
       integer(DWORD) offBitsMask ! knowns  DWORD 
       integer(DWORD) cbBitsMask ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSETDIBITSTODEVICE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) iStartScan ! knowns  DWORD 
       integer(DWORD) cScans ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSTRETCHDIBITS
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
     END TYPE
     TYPE T_EMREXTCREATEFONTINDIRECTW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihFont ! knowns  DWORD 
       TYPE (T_EXTLOGFONTW) elfw ! typedefs  EXTLOGFONTW 
     END TYPE
     TYPE T_EMRCREATEPALETTE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPal ! knowns  DWORD 
       TYPE (T_LOGPALETTE) lgpl ! typedefs  LOGPALETTE 
     END TYPE
     TYPE T_EMRCREATEPEN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPen ! knowns  DWORD 
       TYPE (T_LOGPEN) lopn ! typedefs  LOGPEN 
     END TYPE
     TYPE T_EMREXTCREATEPEN
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPen ! knowns  DWORD 
       integer(DWORD) offBmi ! knowns  DWORD 
       integer(DWORD) cbBmi ! knowns  DWORD 
       integer(DWORD) offBits ! knowns  DWORD 
       integer(DWORD) cbBits ! knowns  DWORD 
       TYPE (T_EXTLOGPEN) elp ! typedefs  EXTLOGPEN 
     END TYPE
     TYPE T_EMRCREATEBRUSHINDIRECT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihBrush ! knowns  DWORD 
       TYPE (T_LOGBRUSH32) lb ! typedefs  LOGBRUSH32 
     END TYPE
     TYPE T_EMRCREATEMONOBRUSH
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihBrush ! knowns  DWORD 
       integer(DWORD) iUsage ! knowns  DWORD 
       integer(DWORD) offBmi ! knowns  DWORD 
       integer(DWORD) cbBmi ! knowns  DWORD 
       integer(DWORD) offBits ! knowns  DWORD 
       integer(DWORD) cbBits ! knowns  DWORD 
     END TYPE
     TYPE T_EMRCREATEDIBPATTERNBRUSHPT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihBrush ! knowns  DWORD 
       integer(DWORD) iUsage ! knowns  DWORD 
       integer(DWORD) offBmi ! knowns  DWORD 
       integer(DWORD) cbBmi ! knowns  DWORD 
       integer(DWORD) offBits ! knowns  DWORD 
       integer(DWORD) cbBits ! knowns  DWORD 
     END TYPE
     TYPE T_EMRFORMAT
     SEQUENCE
       integer(DWORD) dSignature ! knowns  DWORD 
       integer(DWORD) nVersion ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
       integer(DWORD) offData ! knowns  DWORD 
     END TYPE
     TYPE T_EMRGLSRECORD
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRGLSBOUNDEDRECORD
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRPIXELFORMAT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_PIXELFORMATDESCRIPTOR) pfd ! typedefs  PIXELFORMATDESCRIPTOR 
     END TYPE
     TYPE T_EMRCREATECOLORSPACE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihCS ! knowns  DWORD 
       TYPE (T_LOGCOLORSPACE) lcs ! typedefs  LOGCOLORSPACEA 
     END TYPE
     TYPE T_EMRSETCOLORSPACE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihCS ! knowns  DWORD 
     END TYPE
     TYPE T_EMRSELECTCOLORSPACE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihCS ! knowns  DWORD 
     END TYPE
     TYPE T_EMRDELETECOLORSPACE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihCS ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_EMREXTESCAPE
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_POINTFLOAT
     SEQUENCE
       real(SFLOAT) x ! knowns  FLOAT 
       real(SFLOAT) y ! knowns  FLOAT 
     END TYPE
!The following data type is also defined in DFOPNGLT. Use
!the Rename clause in the use statement to get rid of one
!or the other.
     TYPE T_GLYPHMETRICSFLOAT
     SEQUENCE
       real(SFLOAT) gmfBlackBoxX ! knowns  FLOAT 
       real(SFLOAT) gmfBlackBoxY ! knowns  FLOAT 
       TYPE (T_POINTFLOAT) gmfptGlyphOrigin ! typedefs  POINTFLOAT 
       real(SFLOAT) gmfCellIncX ! knowns  FLOAT 
       real(SFLOAT) gmfCellIncY ! knowns  FLOAT 
     END TYPE
     TYPE T_LAYERPLANEDESCRIPTOR
     SEQUENCE
       integer(WORD) nSize ! knowns  WORD 
       integer(WORD) nVersion ! knowns  WORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(BYTE) iPixelType ! knowns  BYTE 
       integer(BYTE) cColorBits ! knowns  BYTE 
       integer(BYTE) cRedBits ! knowns  BYTE 
       integer(BYTE) cRedShift ! knowns  BYTE 
       integer(BYTE) cGreenBits ! knowns  BYTE 
       integer(BYTE) cGreenShift ! knowns  BYTE 
       integer(BYTE) cBlueBits ! knowns  BYTE 
       integer(BYTE) cBlueShift ! knowns  BYTE 
       integer(BYTE) cAlphaBits ! knowns  BYTE 
       integer(BYTE) cAlphaShift ! knowns  BYTE 
       integer(BYTE) cAccumBits ! knowns  BYTE 
       integer(BYTE) cAccumRedBits ! knowns  BYTE 
       integer(BYTE) cAccumGreenBits ! knowns  BYTE 
       integer(BYTE) cAccumBlueBits ! knowns  BYTE 
       integer(BYTE) cAccumAlphaBits ! knowns  BYTE 
       integer(BYTE) cDepthBits ! knowns  BYTE 
       integer(BYTE) cStencilBits ! knowns  BYTE 
       integer(BYTE) cAuxBuffers ! knowns  BYTE 
       integer(BYTE) iLayerPlane ! knowns  BYTE 
       integer(BYTE) bReserved ! knowns  BYTE 
       integer(ULONG) crTransparent ! typedefs  COLORREF 
     END TYPE
     TYPE T_CBT_CREATEWND
     SEQUENCE
       integer(LPVOID) lpcs ! star   struct tagCREATESTRUCTA *
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
     END TYPE
     TYPE T_CBT_CREATEWNDW
     SEQUENCE
       integer(LPVOID) lpcs ! star   struct tagCREATESTRUCTW *
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
     END TYPE
     TYPE T_CBTACTIVATESTRUCT
     SEQUENCE
       integer(BOOL) fMouse ! knowns  BOOL 
       integer(HANDLE) hWndActive ! handles  HWND 
     END TYPE
     TYPE T_EVENTMSG
     SEQUENCE
       integer(UINT) message ! knowns  UINT 
       integer(UINT) paramL ! knowns  UINT 
       integer(UINT) paramH ! knowns  UINT 
       integer(DWORD) time ! knowns  DWORD 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_CWPSTRUCT
     SEQUENCE
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(UINT) message ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_CWPRETSTRUCT
     SEQUENCE
       integer(LONG) lResult ! typedefs  LRESULT 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(UINT) message ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_KBDLLHOOKSTRUCT
       SEQUENCE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(SINT) iEscape ! knowns  INT 
       integer(SINT) cbEscData ! knowns  INT 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) EscData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) EscData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRDRAWESCAPE
       SEQUENCE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(DWORD) vkCode ! knowns  DWORD 
       integer(DWORD) scanCode ! knowns  DWORD 
       integer(DWORD) flags ! knowns  DWORD 
       integer(DWORD) time ! knowns  DWORD 
       integer(ULONG) dwExtraInfo ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_MSLLHOOKSTRUCT
       SEQUENCE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(SINT) iEscape ! knowns  INT 
       integer(SINT) cbEscData ! knowns  INT 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) EscData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) EscData
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRNAMEDESCAPE
       SEQUENCE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(DWORD) mouseData ! knowns  DWORD 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(SINT) iEscape ! knowns  INT 
       integer(SINT) cbDriver ! knowns  INT 
       integer(SINT) cbEscData ! knowns  INT 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) EscData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) EscData
!DEC$ ENDIF
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(DWORD) flags ! knowns  DWORD 
       integer(DWORD) time ! knowns  DWORD 
       integer(ULONG) dwExtraInfo ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_DEBUGHOOKINFO
     SEQUENCE
       integer(DWORD) idThread ! knowns  DWORD 
       integer(DWORD) idThreadInstaller ! knowns  DWORD 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(SINT) code ! knowns  int 
     END TYPE
     TYPE T_MOUSEHOOKSTRUCT
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) wHitTestCode ! knowns  UINT 
       integer(ULONG) dwExtraInfo ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_HARDWAREHOOKSTRUCT
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) message ! knowns  UINT 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
     END TYPE
     TYPE T_USEROBJECTFLAGS
     SEQUENCE
       integer(BOOL) fInherit ! knowns  BOOL 
       integer(BOOL) fReserved ! knowns  BOOL 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_WNDCLASSEX
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCSTR) lpszMenuName ! knowns  LPCSTR 
       integer(LPCSTR) lpszClassName ! knowns  LPCSTR 
       integer(HANDLE) hIconSm ! handles  HICON 
     END TYPE
     TYPE T_WNDCLASSEXW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCWSTR) lpszMenuName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszClassName ! knowns  LPCWSTR 
       integer(HANDLE) hIconSm ! handles  HICON 
     END TYPE
     TYPE T_WNDCLASS
     SEQUENCE
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCSTR) lpszMenuName ! knowns  LPCSTR 
       integer(LPCSTR) lpszClassName ! knowns  LPCSTR 
     END TYPE
     TYPE T_WNDCLASSW
     SEQUENCE
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCWSTR) lpszMenuName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszClassName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MSG
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) message ! knowns  UINT 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(DWORD) time ! knowns  DWORD 
       TYPE (T_POINT) pt ! typedefs  POINT 
     END TYPE
     TYPE T_MINMAXINFO
     SEQUENCE
       TYPE (T_POINT) ptReserved ! typedefs  POINT 
       TYPE (T_POINT) ptMaxSize ! typedefs  POINT 
       TYPE (T_POINT) ptMaxPosition ! typedefs  POINT 
       TYPE (T_POINT) ptMinTrackSize ! typedefs  POINT 
       TYPE (T_POINT) ptMaxTrackSize ! typedefs  POINT 
     END TYPE
     TYPE T_COPYDATASTRUCT
     SEQUENCE
       integer(ULONG) dwData ! typedefs  ULONG_PTR 
       integer(DWORD) cbData ! knowns  DWORD 
       integer(PVOID) lpData ! knowns  PVOID 
     END TYPE
     TYPE T_MDINEXTMENU
     SEQUENCE
       integer(HANDLE) hmenuIn ! handles  HMENU 
       integer(HANDLE) hmenuNext ! handles  HMENU 
       integer(HANDLE) hwndNext ! handles  HWND 
     END TYPE
     TYPE T_WINDOWPOS
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_NCCALCSIZE_PARAMS
     SEQUENCE
       TYPE (T_RECT) rgrc(3) ! typedefs  RECT 
       integer(LPVOID) lppos ! pointers  PWINDOWPOS 
     END TYPE
     TYPE T_TRACKMOUSEEVENT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(HANDLE) hwndTrack ! handles  HWND 
       integer(DWORD) dwHoverTime ! knowns  DWORD 
    !DEC$ ENDIF
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_EMRSETICMPROFILE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) cbName ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRSETICMPROFILEW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) cbName ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRCREATECOLORSPACEW
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihCS ! knowns  DWORD 
       TYPE (T_LOGCOLORSPACEW) lcs ! typedefs  LOGCOLORSPACEW 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRCOLORMATCHTOTARGET
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) dwAction ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) cbName ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Data(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Data
!DEC$ ENDIF
     END TYPE
     TYPE T_EMRCOLORCORRECTPALETTE
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       integer(DWORD) ihPalette ! knowns  DWORD 
       integer(DWORD) nFirstEntry ! knowns  DWORD 
       integer(DWORD) nPalEntries ! knowns  DWORD 
       integer(DWORD) nReserved ! knowns  DWORD 
     END TYPE
     TYPE T_EMRALPHABLEND
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
     END TYPE
     TYPE T_EMRGRADIENTFILL
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(DWORD) nVer ! knowns  DWORD 
       integer(DWORD) nTri ! knowns  DWORD 
       integer(ULONG) ulMode ! knowns  ULONG 
       TYPE (T_TRIVERTEX) Ver(1) ! typedefs  TRIVERTEX 
     END TYPE
     TYPE T_EMRTRANSPARENTBLT
     SEQUENCE
       TYPE (T_EMR) emr ! typedefs  EMR 
       TYPE (T_RECTL) rclBounds ! typedefs  RECTL 
       integer(LONG) xDest ! knowns  LONG 
       integer(LONG) yDest ! knowns  LONG 
       integer(LONG) cxDest ! knowns  LONG 
       integer(LONG) cyDest ! knowns  LONG 
       integer(DWORD) dwRop ! knowns  DWORD 
       integer(LONG) xSrc ! knowns  LONG 
       integer(LONG) ySrc ! knowns  LONG 
       TYPE (T_XFORM) xformSrc ! typedefs  XFORM 
       integer(ULONG) crBkColorSrc ! typedefs  COLORREF 
       integer(DWORD) iUsageSrc ! knowns  DWORD 
       integer(DWORD) offBmiSrc ! knowns  DWORD 
       integer(DWORD) cbBmiSrc ! knowns  DWORD 
       integer(DWORD) offBitsSrc ! knowns  DWORD 
       integer(DWORD) cbBitsSrc ! knowns  DWORD 
       integer(LONG) cxSrc ! knowns  LONG 
       integer(LONG) cySrc ! knowns  LONG 
     END TYPE
     !>>>>>>>>>>>>>wrc start duplicate
     TYPE T_POINTFLOAT
     SEQUENCE
       real(SFLOAT) x ! knowns  FLOAT 
       real(SFLOAT) y ! knowns  FLOAT 
     END TYPE
     TYPE T_GLYPHMETRICSFLOAT
     SEQUENCE
       real(SFLOAT) gmfBlackBoxX ! knowns  FLOAT 
       real(SFLOAT) gmfBlackBoxY ! knowns  FLOAT 
       TYPE (T_POINTFLOAT) gmfptGlyphOrigin ! typedefs  POINTFLOAT 
       real(SFLOAT) gmfCellIncX ! knowns  FLOAT 
       real(SFLOAT) gmfCellIncY ! knowns  FLOAT 
     END TYPE
     TYPE T_LAYERPLANEDESCRIPTOR
     SEQUENCE
       integer(WORD) nSize ! knowns  WORD 
       integer(WORD) nVersion ! knowns  WORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(BYTE) iPixelType ! knowns  BYTE 
       integer(BYTE) cColorBits ! knowns  BYTE 
       integer(BYTE) cRedBits ! knowns  BYTE 
       integer(BYTE) cRedShift ! knowns  BYTE 
       integer(BYTE) cGreenBits ! knowns  BYTE 
       integer(BYTE) cGreenShift ! knowns  BYTE 
       integer(BYTE) cBlueBits ! knowns  BYTE 
       integer(BYTE) cBlueShift ! knowns  BYTE 
       integer(BYTE) cAlphaBits ! knowns  BYTE 
       integer(BYTE) cAlphaShift ! knowns  BYTE 
       integer(BYTE) cAccumBits ! knowns  BYTE 
       integer(BYTE) cAccumRedBits ! knowns  BYTE 
       integer(BYTE) cAccumGreenBits ! knowns  BYTE 
       integer(BYTE) cAccumBlueBits ! knowns  BYTE 
       integer(BYTE) cAccumAlphaBits ! knowns  BYTE 
       integer(BYTE) cDepthBits ! knowns  BYTE 
       integer(BYTE) cStencilBits ! knowns  BYTE 
       integer(BYTE) cAuxBuffers ! knowns  BYTE 
       integer(BYTE) iLayerPlane ! knowns  BYTE 
       integer(BYTE) bReserved ! knowns  BYTE 
       integer(ULONG) crTransparent ! typedefs  COLORREF 
     END TYPE
     TYPE T_WGLSWAP
     SEQUENCE
       integer(HANDLE) hdc ! handles  HDC 
       integer(UINT) uiFlags ! knowns  UINT 
     END TYPE
     TYPE T_CBT_CREATEWND
     SEQUENCE
       integer(LPVOID) lpcs ! star   struct tagCREATESTRUCTA *
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
     END TYPE
     TYPE T_CBT_CREATEWNDW
     SEQUENCE
       integer(LPVOID) lpcs ! star   struct tagCREATESTRUCTW *
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
     END TYPE
     TYPE T_CBTACTIVATESTRUCT
     SEQUENCE
       integer(BOOL) fMouse ! knowns  BOOL 
       integer(HANDLE) hWndActive ! handles  HWND 
     END TYPE
     TYPE T_EVENTMSG
     SEQUENCE
       integer(UINT) message ! knowns  UINT 
       integer(UINT) paramL ! knowns  UINT 
       integer(UINT) paramH ! knowns  UINT 
       integer(DWORD) time ! knowns  DWORD 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_CWPSTRUCT
     SEQUENCE
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(UINT) message ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_CWPRETSTRUCT
     SEQUENCE
       TYPE(T_LARGE_INTEGERX) lResult ! typedefs  LRESULT 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(UINT) message ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
     END TYPE
     TYPE T_DEBUGHOOKINFO
     SEQUENCE
       integer(DWORD) idThread ! knowns  DWORD 
       integer(DWORD) idThreadInstaller ! knowns  DWORD 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(SINT) code ! knowns  int 
     END TYPE
     TYPE T_MOUSEHOOKSTRUCT
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) wHitTestCode ! knowns  UINT 
       integer(POINTER_LEN) dwExtraInfo ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_HARDWAREHOOKSTRUCT
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) message ! knowns  UINT 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
     END TYPE
     TYPE T_MOUSEMOVEPOINT
     SEQUENCE
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(DWORD) time ! knowns  DWORD 
       integer(pointer_len) dwExtraInfo ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_USEROBJECTFLAGS
     SEQUENCE
       integer(BOOL) fInherit ! knowns  BOOL 
       integer(BOOL) fReserved ! knowns  BOOL 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_WNDCLASSEX
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCSTR) lpszMenuName ! knowns  LPCSTR 
       integer(LPCSTR) lpszClassName ! knowns  LPCSTR 
     END TYPE
       integer(HANDLE) hIconSm ! handles  HICON 
     TYPE T_WNDCLASSEXW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCWSTR) lpszMenuName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszClassName ! knowns  LPCWSTR 
       integer(HANDLE) hIconSm ! handles  HICON 
     END TYPE
     TYPE T_WNDCLASS
     SEQUENCE
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCSTR) lpszMenuName ! knowns  LPCSTR 
       integer(LPCSTR) lpszClassName ! knowns  LPCSTR 
     END TYPE
     TYPE T_WNDCLASSW
     SEQUENCE
       integer(UINT) style ! knowns  UINT 
       integer(LPVOID) lpfnWndProc ! pointers  WNDPROC 
       integer(SINT) cbClsExtra ! knowns  int 
       integer(SINT) cbWndExtra ! knowns  int 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       integer(HANDLE) hbrBackground ! handles  HBRUSH 
       integer(LPCWSTR) lpszMenuName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszClassName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MSG
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) message ! knowns  UINT 
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
       integer(DWORD) time ! knowns  DWORD 
       TYPE (T_POINT) pt ! typedefs  POINT 
     END TYPE
     TYPE T_MINMAXINFO
     SEQUENCE
       TYPE (T_POINT) ptReserved ! typedefs  POINT 
       TYPE (T_POINT) ptMaxSize ! typedefs  POINT 
       TYPE (T_POINT) ptMaxPosition ! typedefs  POINT 
       TYPE (T_POINT) ptMinTrackSize ! typedefs  POINT 
       TYPE (T_POINT) ptMaxTrackSize ! typedefs  POINT 
     END TYPE
     TYPE T_COPYDATASTRUCT
     SEQUENCE
       integer(pointer_len) dwData ! typedefs  ULONG_PTR 
       integer(DWORD) cbData ! knowns  DWORD 
       integer(PVOID) lpData ! knowns  PVOID 
     END TYPE
     TYPE T_MDINEXTMENU
     SEQUENCE
       integer(HANDLE) hmenuIn ! handles  HMENU 
       integer(HANDLE) hmenuNext ! handles  HMENU 
       integer(HANDLE) hwndNext ! handles  HWND 
     END TYPE
     TYPE T_WINDOWPOS
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(HANDLE) hwndInsertAfter ! handles  HWND 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_NCCALCSIZE_PARAMS
     SEQUENCE
       TYPE (T_RECT) rgrc(3) ! typedefs  RECT 
       integer(LPVOID) lppos ! pointers  PWINDOWPOS 
     END TYPE
    !DEC$ ENDIF
    !>>>>>>>>>>>>>>>>wrc end duplicates
     TYPE T_ACCEL
     SEQUENCE
       integer(BYTE) fVirt ! knowns  BYTE 
       integer(WORD) key ! knowns  WORD 
       integer(WORD) cmd ! knowns  WORD 
     END TYPE
     TYPE T_PAINTSTRUCT
     SEQUENCE
       integer(HANDLE) hdc ! handles  HDC 
       integer(BOOL) fErase ! knowns  BOOL 
       TYPE (T_RECT) rcPaint ! typedefs  RECT 
       integer(BOOL) fRestore ! knowns  BOOL 
       integer(BOOL) fIncUpdate ! knowns  BOOL 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) rgbReserved(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) rgbReserved
!DEC$ ENDIF
     END TYPE
     TYPE T_CREATESTRUCT
     SEQUENCE
       integer(LPVOID) lpCreateParams ! knowns  LPVOID 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hMenu ! handles  HMENU 
       integer(HANDLE) hwndParent ! handles  HWND 
       integer(SINT) cy ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) x ! knowns  int 
       integer(LONG) style ! knowns  LONG 
       integer(LPCSTR) lpszName ! knowns  LPCSTR 
       integer(LPCSTR) lpszClass ! knowns  LPCSTR 
       integer(DWORD) dwExStyle ! knowns  DWORD 
     END TYPE
     TYPE T_CREATESTRUCTW
     SEQUENCE
       integer(LPVOID) lpCreateParams ! knowns  LPVOID 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(HANDLE) hMenu ! handles  HMENU 
       integer(HANDLE) hwndParent ! handles  HWND 
       integer(SINT) cy ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) x ! knowns  int 
       integer(LONG) style ! knowns  LONG 
       integer(LPCWSTR) lpszName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszClass ! knowns  LPCWSTR 
       integer(DWORD) dwExStyle ! knowns  DWORD 
     END TYPE
     TYPE T_WINDOWPLACEMENT
     SEQUENCE
       integer(UINT) length ! knowns  UINT 
       integer(UINT) flags ! knowns  UINT 
       integer(UINT) showCmd ! knowns  UINT 
       TYPE (T_POINT) ptMinPosition ! typedefs  POINT 
       TYPE (T_POINT) ptMaxPosition ! typedefs  POINT 
       TYPE (T_RECT) rcNormalPosition ! typedefs  RECT 
     END TYPE
     TYPE T_NMHDR
     SEQUENCE
       integer(HANDLE) hwndFrom ! handles  HWND 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) idFrom ! typedefs  UINT_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(UINT) idFrom ! typedefs  UINT_PTR 
    !DEC$ ENDIF
       integer(UINT) code ! knowns  UINT 
     END TYPE
     TYPE T_STYLESTRUCT
     SEQUENCE
       integer(DWORD) styleOld ! knowns  DWORD 
       integer(DWORD) styleNew ! knowns  DWORD 
     END TYPE
     TYPE T_MEASUREITEMSTRUCT
     SEQUENCE
       integer(UINT) CtlType ! knowns  UINT 
       integer(UINT) CtlID ! knowns  UINT 
       integer(UINT) itemID ! knowns  UINT 
       integer(UINT) itemWidth ! knowns  UINT 
       integer(UINT) itemHeight ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_DRAWITEMSTRUCT
     SEQUENCE
       integer(UINT) CtlType ! knowns  UINT 
       integer(UINT) CtlID ! knowns  UINT 
       integer(UINT) itemID ! knowns  UINT 
       integer(UINT) itemAction ! knowns  UINT 
       integer(UINT) itemState ! knowns  UINT 
       integer(HANDLE) hwndItem ! handles  HWND 
       integer(HANDLE) hDC ! handles  HDC 
       TYPE (T_RECT) rcItem ! typedefs  RECT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_DELETEITEMSTRUCT
     SEQUENCE
       integer(UINT) CtlType ! knowns  UINT 
       integer(UINT) CtlID ! knowns  UINT 
       integer(UINT) itemID ! knowns  UINT 
       integer(HANDLE) hwndItem ! handles  HWND 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) itemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_COMPAREITEMSTRUCT
     SEQUENCE
       integer(UINT) CtlType ! knowns  UINT 
       integer(UINT) CtlID ! knowns  UINT 
       integer(HANDLE) hwndItem ! handles  HWND 
       integer(UINT) itemID1 ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) itemData1 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) itemData1 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(UINT) itemID2 ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) itemData2 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) itemData2 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwLocaleId ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_FLASHWINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(UINT) uCount ! knowns  UINT 
       integer(DWORD) dwTimeout ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
  
     TYPE T_DLGTEMPLATE
     SEQUENCE
       integer(DWORD) style ! knowns  DWORD 
       integer(DWORD) dwExtendedStyle ! knowns  DWORD 
       integer(WORD) cdit ! knowns  WORD 
       integer(SHORT) x ! knowns  short 
       integer(SHORT) y ! knowns  short 
       integer(SHORT) cx ! knowns  short 
       integer(SHORT) cy ! knowns  short 
     END TYPE
     TYPE T_DLGITEMTEMPLATE
     SEQUENCE
       integer(DWORD) style ! knowns  DWORD 
       integer(DWORD) dwExtendedStyle ! knowns  DWORD 
       integer(SHORT) x ! knowns  short 
       integer(SHORT) y ! knowns  short 
       integer(SHORT) cx ! knowns  short 
       integer(SHORT) cy ! knowns  short 
       integer(WORD) id ! knowns  WORD 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
 
     TYPE T_TPMPARAMS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       TYPE (T_RECT) rcExclude ! typedefs  RECT 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_MENUINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) fMask ! knowns  DWORD 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(UINT) cyMax ! knowns  UINT 
       integer(HANDLE) hbrBack ! handles  HBRUSH 
       integer(DWORD) dwContextHelpID ! knowns  DWORD 
       integer(pointer_len) dwMenuData ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_MENUGETOBJECTINFO
     SEQUENCE
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(UINT) uPos ! knowns  UINT 
       integer(HANDLE) hmenu ! handles  HMENU 
       integer(PVOID) riid ! knowns  PVOID 
       integer(PVOID) pvObj ! knowns  PVOID 
     END TYPE
    !DEC$ ENDIF
     TYPE T_MENUITEMINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask ! knowns  UINT 
       integer(UINT) fType ! knowns  UINT 
       integer(UINT) fState ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(HANDLE) hSubMenu ! handles  HMENU 
       integer(HANDLE) hbmpChecked ! handles  HBITMAP 
       integer(HANDLE) hbmpUnchecked ! handles  HBITMAP 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwItemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwItemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(LPSTR) dwTypeData ! knowns  LPSTR 
       integer(UINT) cch ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hbmpItem ! handles  HBITMAP 
    !DEC$ ENDIF
     END TYPE
     TYPE T_MENUITEMINFOW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask ! knowns  UINT 
       integer(UINT) fType ! knowns  UINT 
       integer(UINT) fState ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(HANDLE) hSubMenu ! handles  HMENU 
       integer(HANDLE) hbmpChecked ! handles  HBITMAP 
       integer(HANDLE) hbmpUnchecked ! handles  HBITMAP 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwItemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwItemData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(LPWSTR) dwTypeData ! knowns  LPWSTR 
       integer(UINT) cch ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hbmpItem ! handles  HBITMAP 
    !DEC$ ENDIF
     END TYPE
     TYPE T_DROPSTRUCT
     SEQUENCE
       integer(HANDLE) hwndSource ! handles  HWND 
       integer(HANDLE) hwndSink ! handles  HWND 
       integer(DWORD) wFmt ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwData ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       TYPE (T_POINT) ptDrop ! typedefs  POINT 
       integer(DWORD) dwControlData ! knowns  DWORD 
     END TYPE
     TYPE T_DRAWTEXTPARAMS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iTabLength ! knowns  int 
       integer(SINT) iLeftMargin ! knowns  int 
       integer(SINT) iRightMargin ! knowns  int 
       integer(UINT) uiLengthDrawn ! knowns  UINT 
     END TYPE
     TYPE T_HELPINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iContextType ! knowns  int 
       integer(SINT) iCtrlId ! knowns  int 
       integer(HANDLE) hItemHandle ! knowns  HANDLE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwContextId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwContextId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       TYPE (T_POINT) MousePos ! typedefs  POINT 
     END TYPE
     TYPE T_MSGBOXPARAMS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCSTR) lpszText ! knowns  LPCSTR 
       integer(LPCSTR) lpszCaption ! knowns  LPCSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(LPCSTR) lpszIcon ! knowns  LPCSTR 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwContextHelpId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwContextHelpId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPVOID) lpfnMsgBoxCallback ! pointers  MSGBOXCALLBACK 
       integer(DWORD) dwLanguageId ! knowns  DWORD 
     END TYPE
     TYPE T_MSGBOXPARAMSW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCWSTR) lpszText ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszCaption ! knowns  LPCWSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(LPCWSTR) lpszIcon ! knowns  LPCWSTR 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwContextHelpId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwContextHelpId ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPVOID) lpfnMsgBoxCallback ! pointers  MSGBOXCALLBACK 
       integer(DWORD) dwLanguageId ! knowns  DWORD 
     END TYPE
     TYPE T_MENUITEMTEMPLATEHEADER
     SEQUENCE
       integer(WORD) versionNumber ! knowns  WORD 
       integer(WORD) offset ! knowns  WORD 
     END TYPE
     TYPE T_MENUITEMTEMPLATE
     SEQUENCE
       integer(WORD) mtOption ! knowns  WORD 
       integer(WORD) mtID ! knowns  WORD 
       integer(WCHAR) mtString(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_ICONINFO
     SEQUENCE
       integer(BOOL) fIcon ! knowns  BOOL 
       integer(DWORD) xHotspot ! knowns  DWORD 
       integer(DWORD) yHotspot ! knowns  DWORD 
       integer(HANDLE) hbmMask ! handles  HBITMAP 
       integer(HANDLE) hbmColor ! handles  HBITMAP 
     END TYPE
     TYPE T_CURSORSHAPE
     SEQUENCE
       integer(SINT) xHotSpot ! knowns  int 
       integer(SINT) yHotSpot ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(SINT) cbWidth ! knowns  int 
       integer(BYTE) Planes ! knowns  BYTE 
       integer(BYTE) BitsPixel ! knowns  BYTE 
     END TYPE
    !Name changed so old component names in dflogm.f90
    !can be used. At some point the X should be
    !dropped.  See near the end of this file
    !for the old definition
    !
    ! X has been removed, and the older definition near
    ! the end of this file has been commented out.
    ! The field names have been changed to the ones
    ! used in dflog.f90.
     TYPE T_SCROLLINFO  
     SEQUENCE
       integer(UINT) Size ! cbSize knowns  UINT 
       integer(UINT) Mask ! fMask knowns  UINT 
       integer(SINT) Min  ! nMin knowns  int 
       integer(SINT) Max  ! nMask knowns  int 
       integer(UINT) Page ! nPage knowns  UINT 
       integer(SINT) Pos  ! nPos knowns  int 
       integer(SINT) TrackPos ! NTrackPos knowns  int 
     END TYPE
     !Also keep version with X in case someone used it.
     TYPE T_SCROLLINFOX 
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask  ! knowns  UINT 
       integer(SINT) nMin   ! knowns  int 
       integer(SINT) nMax   ! knowns  int 
       integer(UINT) nPage  ! knowns  UINT 
       integer(SINT) nPos   ! knowns  int 
       integer(SINT) nTrackPos ! knowns  int 
     END TYPE
     TYPE T_MDICREATESTRUCT
     SEQUENCE
       integer(LPCSTR) szClass ! knowns  LPCSTR 
       integer(LPCSTR) szTitle ! knowns  LPCSTR 
       integer(HANDLE) hOwner ! knowns  HANDLE 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(DWORD) style ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
     END TYPE
     TYPE T_MDICREATESTRUCTW
     SEQUENCE
       integer(LPCWSTR) szClass ! knowns  LPCWSTR 
       integer(LPCWSTR) szTitle ! knowns  LPCWSTR 
       integer(HANDLE) hOwner ! knowns  HANDLE 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(DWORD) style ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
     END TYPE
     TYPE T_CLIENTCREATESTRUCT
     SEQUENCE
       integer(HANDLE) hWindowMenu ! knowns  HANDLE 
       integer(UINT) idFirstChild ! knowns  UINT 
     END TYPE
     TYPE T_MULTIKEYHELP
     SEQUENCE
       integer(DWORD) mkSize ! knowns  DWORD 
       character(SCHAR) mkKeylist ! knowns  CHAR 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szKeyphrase(1) ! knowns  CHAR 
!DEC$ ELSE
       character(1) szKeyphrase
!DEC$ ENDIF
     END TYPE
     TYPE T_MULTIKEYHELPW
     SEQUENCE
       integer(DWORD) mkSize ! knowns  DWORD 
       integer(WCHAR) mkKeylist ! knowns  WCHAR 
       integer(WCHAR) szKeyphrase(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_HELPWININFO
     SEQUENCE
       integer(SINT) wStructSize ! knowns  int 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) dx ! knowns  int 
       integer(SINT) dy ! knowns  int 
       integer(SINT) wMax ! knowns  int 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) rgchMember(2) ! knowns  CHAR 
!DEC$ ELSE
       character(2) rgchMember
!DEC$ ENDIF
     END TYPE
     TYPE T_HELPWININFOW
     SEQUENCE
       integer(SINT) wStructSize ! knowns  int 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) dx ! knowns  int 
       integer(SINT) dy ! knowns  int 
       integer(SINT) wMax ! knowns  int 
       integer(WCHAR) rgchMember(2) ! knowns  WCHAR 
     END TYPE
     TYPE T_NONCLIENTMETRICS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iBorderWidth ! knowns  int 
       integer(SINT) iScrollWidth ! knowns  int 
       integer(SINT) iScrollHeight ! knowns  int 
       integer(SINT) iCaptionWidth ! knowns  int 
       integer(SINT) iCaptionHeight ! knowns  int 
       TYPE (T_LOGFONT) lfCaptionFont ! typedefs  LOGFONTA 
       integer(SINT) iSmCaptionWidth ! knowns  int 
       integer(SINT) iSmCaptionHeight ! knowns  int 
       TYPE (T_LOGFONT) lfSmCaptionFont ! typedefs  LOGFONTA 
       integer(SINT) iMenuWidth ! knowns  int 
       integer(SINT) iMenuHeight ! knowns  int 
       TYPE (T_LOGFONT) lfMenuFont ! typedefs  LOGFONTA 
       TYPE (T_LOGFONT) lfStatusFont ! typedefs  LOGFONTA 
       TYPE (T_LOGFONT) lfMessageFont ! typedefs  LOGFONTA 
     END TYPE
     TYPE T_NONCLIENTMETRICSW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iBorderWidth ! knowns  int 
       integer(SINT) iScrollWidth ! knowns  int 
       integer(SINT) iScrollHeight ! knowns  int 
       integer(SINT) iCaptionWidth ! knowns  int 
       integer(SINT) iCaptionHeight ! knowns  int 
       TYPE (T_LOGFONTW) lfCaptionFont ! typedefs  LOGFONTW 
       integer(SINT) iSmCaptionWidth ! knowns  int 
       integer(SINT) iSmCaptionHeight ! knowns  int 
       TYPE (T_LOGFONTW) lfSmCaptionFont ! typedefs  LOGFONTW 
       integer(SINT) iMenuWidth ! knowns  int 
       integer(SINT) iMenuHeight ! knowns  int 
       TYPE (T_LOGFONTW) lfMenuFont ! typedefs  LOGFONTW 
       TYPE (T_LOGFONTW) lfStatusFont ! typedefs  LOGFONTW 
       TYPE (T_LOGFONTW) lfMessageFont ! typedefs  LOGFONTW 
     END TYPE
     TYPE T_MINIMIZEDMETRICS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iWidth ! knowns  int 
       integer(SINT) iHorzGap ! knowns  int 
       integer(SINT) iVertGap ! knowns  int 
       integer(SINT) iArrange ! knowns  int 
     END TYPE
     TYPE T_ICONMETRICS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iHorzSpacing ! knowns  int 
       integer(SINT) iVertSpacing ! knowns  int 
       integer(SINT) iTitleWrap ! knowns  int 
       TYPE (T_LOGFONT) lfFont ! typedefs  LOGFONTA 
     END TYPE
     TYPE T_ICONMETRICSW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iHorzSpacing ! knowns  int 
       integer(SINT) iVertSpacing ! knowns  int 
       integer(SINT) iTitleWrap ! knowns  int 
       TYPE (T_LOGFONTW) lfFont ! typedefs  LOGFONTW 
     END TYPE
     TYPE T_ANIMATIONINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(SINT) iMinAnimate ! knowns  int 
     END TYPE
     TYPE T_SERIALKEYS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPSTR) lpszActivePort ! knowns  LPSTR 
       integer(LPSTR) lpszPort ! knowns  LPSTR 
       integer(UINT) iBaudRate ! knowns  UINT 
       integer(UINT) iPortState ! knowns  UINT 
       integer(UINT) iActive ! knowns  UINT 
     END TYPE
     TYPE T_SERIALKEYSW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPWSTR) lpszActivePort ! knowns  LPWSTR 
       integer(LPWSTR) lpszPort ! knowns  LPWSTR 
       integer(UINT) iBaudRate ! knowns  UINT 
       integer(UINT) iPortState ! knowns  UINT 
       integer(UINT) iActive ! knowns  UINT 
     END TYPE
     TYPE T_HIGHCONTRAST
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPSTR) lpszDefaultScheme ! knowns  LPSTR 
     END TYPE
     TYPE T_HIGHCONTRASTW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPWSTR) lpszDefaultScheme ! knowns  LPWSTR 
     END TYPE
     TYPE T_VIDEOPARAMETERS
     SEQUENCE
       TYPE (T_GUID) Guid ! typedefs  GUID 
       integer(ULONG) dwOffset ! knowns  ULONG 
       integer(ULONG) dwCommand ! knowns  ULONG 
       integer(ULONG) dwFlags ! knowns  ULONG 
       integer(ULONG) dwMode ! knowns  ULONG 
       integer(ULONG) dwTVStandard ! knowns  ULONG 
       integer(ULONG) dwAvailableModes ! knowns  ULONG 
       integer(ULONG) dwAvailableTVStandard ! knowns  ULONG 
       integer(ULONG) dwFlickerFilter ! knowns  ULONG 
       integer(ULONG) dwOverScanX ! knowns  ULONG 
       integer(ULONG) dwOverScanY ! knowns  ULONG 
       integer(ULONG) dwMaxUnscaledX ! knowns  ULONG 
       integer(ULONG) dwMaxUnscaledY ! knowns  ULONG 
       integer(ULONG) dwPositionX ! knowns  ULONG 
       integer(ULONG) dwPositionY ! knowns  ULONG 
       integer(ULONG) dwBrightness ! knowns  ULONG 
       integer(ULONG) dwContrast ! knowns  ULONG 
       integer(ULONG) dwCPType ! knowns  ULONG 
       integer(ULONG) dwCPCommand ! knowns  ULONG 
       integer(ULONG) dwCPStandard ! knowns  ULONG 
       integer(ULONG) dwCPKey ! knowns  ULONG 
       integer(ULONG) bCP_APSTriggerBits ! knowns  ULONG 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) bOEMCopyProtection(256) ! knowns  UCHAR 
!DEC$ ELSE
       character(256) bOEMCopyProtection
!DEC$ ENDIF
     END TYPE
     TYPE T_FILTERKEYS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) iWaitMSec ! knowns  DWORD 
       integer(DWORD) iDelayMSec ! knowns  DWORD 
       integer(DWORD) iRepeatMSec ! knowns  DWORD 
       integer(DWORD) iBounceMSec ! knowns  DWORD 
     END TYPE
     TYPE T_STICKYKEYS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_MOUSEKEYS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) iMaxSpeed ! knowns  DWORD 
       integer(DWORD) iTimeToMaxSpeed ! knowns  DWORD 
       integer(DWORD) iCtrlSpeed ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(DWORD) dwReserved2 ! knowns  DWORD 
     END TYPE
     TYPE T_ACCESSTIMEOUT
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) iTimeOutMSec ! knowns  DWORD 
     END TYPE
     TYPE T_SOUNDSENTRY
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) iFSTextEffect ! knowns  DWORD 
       integer(DWORD) iFSTextEffectMSec ! knowns  DWORD 
       integer(DWORD) iFSTextEffectColorBits ! knowns  DWORD 
       integer(DWORD) iFSGrafEffect ! knowns  DWORD 
       integer(DWORD) iFSGrafEffectMSec ! knowns  DWORD 
       integer(DWORD) iFSGrafEffectColor ! knowns  DWORD 
       integer(DWORD) iWindowsEffect ! knowns  DWORD 
       integer(DWORD) iWindowsEffectMSec ! knowns  DWORD 
       integer(LPSTR) lpszWindowsEffectDLL ! knowns  LPSTR 
       integer(DWORD) iWindowsEffectOrdinal ! knowns  DWORD 
     END TYPE
     TYPE T_SOUNDSENTRYW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) iFSTextEffect ! knowns  DWORD 
       integer(DWORD) iFSTextEffectMSec ! knowns  DWORD 
       integer(DWORD) iFSTextEffectColorBits ! knowns  DWORD 
       integer(DWORD) iFSGrafEffect ! knowns  DWORD 
       integer(DWORD) iFSGrafEffectMSec ! knowns  DWORD 
       integer(DWORD) iFSGrafEffectColor ! knowns  DWORD 
       integer(DWORD) iWindowsEffect ! knowns  DWORD 
       integer(DWORD) iWindowsEffectMSec ! knowns  DWORD 
       integer(LPWSTR) lpszWindowsEffectDLL ! knowns  LPWSTR 
       integer(DWORD) iWindowsEffectOrdinal ! knowns  DWORD 
     END TYPE
     TYPE T_TOGGLEKEYS
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_MONITORINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcMonitor ! typedefs  RECT 
       TYPE (T_RECT) rcWork ! typedefs  RECT 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_MONITORINFOEX
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szDevice(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szDevice
!DEC$ ENDIF
     END TYPE
     TYPE T_MONITORINFOEXW
     SEQUENCE
       integer(WCHAR) szDevice(32) ! knowns  WCHAR 
     END TYPE
     TYPE T_GUITHREADINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) flags ! knowns  DWORD 
       integer(HANDLE) hwndActive ! handles  HWND 
       integer(HANDLE) hwndFocus ! handles  HWND 
       integer(HANDLE) hwndCapture ! handles  HWND 
       integer(HANDLE) hwndMenuOwner ! handles  HWND 
       integer(HANDLE) hwndMoveSize ! handles  HWND 
       integer(HANDLE) hwndCaret ! handles  HWND 
       TYPE (T_RECT) rcCaret ! typedefs  RECT 
     END TYPE
     TYPE T_CURSORINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) flags ! knowns  DWORD 
       integer(HANDLE) hCursor ! typedefs  HCURSOR 
       TYPE (T_POINT) ptScreenPos ! typedefs  POINT 
     END TYPE
     TYPE T_WINDOWINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcWindow ! typedefs  RECT 
       TYPE (T_RECT) rcClient ! typedefs  RECT 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(DWORD) dwExStyle ! knowns  DWORD 
       integer(DWORD) dwWindowStatus ! knowns  DWORD 
       integer(UINT) cxWindowBorders ! knowns  UINT 
       integer(UINT) cyWindowBorders ! knowns  UINT 
       integer(USHORT) atomWindowType ! typedefs  ATOM 
       integer(WORD) wCreatorVersion ! knowns  WORD 
     END TYPE
     TYPE T_TITLEBARINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcTitleBar ! typedefs  RECT 
       integer(DWORD) rgstate(5+1)
     END TYPE
     TYPE T_MENUBARINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcBar ! typedefs  RECT 
       integer(HANDLE) hMenu ! handles  HMENU 
       integer(HANDLE) hwndMenu ! handles  HWND 
    ! ???  BOOL fBarFocused:1
    ! ???  BOOL fFocused:1
       integer(DWORD) bitfield ! added - see above for C fields
     END TYPE
     TYPE T_SCROLLBARINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcScrollBar ! typedefs  RECT 
       integer(SINT) dxyLineButton ! knowns  int 
       integer(SINT) xyThumbTop ! knowns  int 
       integer(SINT) xyThumbBottom ! knowns  int 
       integer(SINT) reserved ! knowns  int 
       integer(DWORD) rgstate(5+1)
     END TYPE
     TYPE T_COMBOBOXINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_RECT) rcItem ! typedefs  RECT 
       TYPE (T_RECT) rcButton ! typedefs  RECT 
       integer(DWORD) stateButton ! knowns  DWORD 
       integer(HANDLE) hwndCombo ! handles  HWND 
       integer(HANDLE) hwndItem ! handles  HWND 
       integer(HANDLE) hwndList ! handles  HWND 
     END TYPE
     TYPE T_ALTTABINFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(SINT) cItems ! knowns  int 
       integer(SINT) cColumns ! knowns  int 
       integer(SINT) cRows ! knowns  int 
       integer(SINT) iColFocus ! knowns  int 
       integer(SINT) iRowFocus ! knowns  int 
       integer(SINT) cxItem ! knowns  int 
       integer(SINT) cyItem ! knowns  int 
       TYPE (T_POINT) ptStart ! typedefs  POINT 
     END TYPE
    !DEC$ ENDIF
     TYPE T_CPINFO
     SEQUENCE
       integer(UINT) MaxCharSize ! knowns  UINT 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) DefaultChar(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) DefaultChar
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) LeadByte(12) ! knowns  BYTE 
!DEC$ ELSE
       character(12) LeadByte
!DEC$ ENDIF
     END TYPE
     TYPE T_CPINFOEX
     SEQUENCE
       integer(UINT) MaxCharSize ! knowns  UINT 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) DefaultChar(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) DefaultChar
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) LeadByte(12) ! knowns  BYTE 
!DEC$ ELSE
       character(12) LeadByte
!DEC$ ENDIF
       integer(WCHAR) UnicodeDefaultChar ! knowns  WCHAR 
       integer(UINT) CodePage ! knowns  UINT 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) CodePageName(260) ! knowns  CHAR 
!DEC$ ELSE
       character(260) CodePageName
!DEC$ ENDIF
     END TYPE
     TYPE T_CPINFOEXW
     SEQUENCE
       integer(UINT) MaxCharSize ! knowns  UINT 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) DefaultChar(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) DefaultChar
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) LeadByte(12) ! knowns  BYTE 
!DEC$ ELSE
       character(12) LeadByte
!DEC$ ENDIF
       integer(WCHAR) UnicodeDefaultChar ! knowns  WCHAR 
       integer(UINT) CodePage ! knowns  UINT 
       integer(WCHAR) CodePageName(260) ! knowns  WCHAR 
     END TYPE
     TYPE T_NUMBERFMT
     SEQUENCE
       integer(UINT) NumDigits ! knowns  UINT 
       integer(UINT) LeadingZero ! knowns  UINT 
       integer(UINT) Grouping ! knowns  UINT 
       integer(LPSTR) lpDecimalSep ! knowns  LPSTR 
       integer(LPSTR) lpThousandSep ! knowns  LPSTR 
       integer(UINT) NegativeOrder ! knowns  UINT 
     END TYPE
     TYPE T_NUMBERFMTW
     SEQUENCE
       integer(UINT) NumDigits ! knowns  UINT 
       integer(UINT) LeadingZero ! knowns  UINT 
       integer(UINT) Grouping ! knowns  UINT 
       integer(LPWSTR) lpDecimalSep ! knowns  LPWSTR 
       integer(LPWSTR) lpThousandSep ! knowns  LPWSTR 
       integer(UINT) NegativeOrder ! knowns  UINT 
     END TYPE
     TYPE T_CURRENCYFMT
     SEQUENCE
       integer(UINT) NumDigits ! knowns  UINT 
       integer(UINT) LeadingZero ! knowns  UINT 
       integer(UINT) Grouping ! knowns  UINT 
       integer(LPSTR) lpDecimalSep ! knowns  LPSTR 
       integer(LPSTR) lpThousandSep ! knowns  LPSTR 
       integer(UINT) NegativeOrder ! knowns  UINT 
       integer(UINT) PositiveOrder ! knowns  UINT 
       integer(LPSTR) lpCurrencySymbol ! knowns  LPSTR 
     END TYPE
     TYPE T_CURRENCYFMTW
     SEQUENCE
       integer(UINT) NumDigits ! knowns  UINT 
       integer(UINT) LeadingZero ! knowns  UINT 
       integer(UINT) Grouping ! knowns  UINT 
       integer(LPWSTR) lpDecimalSep ! knowns  LPWSTR 
       integer(LPWSTR) lpThousandSep ! knowns  LPWSTR 
       integer(UINT) NegativeOrder ! knowns  UINT 
       integer(UINT) PositiveOrder ! knowns  UINT 
       integer(LPWSTR) lpCurrencySymbol ! knowns  LPWSTR 
     END TYPE
     TYPE T_COORD
     SEQUENCE
       integer(SHORT) X ! knowns  SHORT 
       integer(SHORT) Y ! knowns  SHORT 
     END TYPE
     TYPE T_SMALL_RECT
     SEQUENCE
       integer(SHORT) Left ! knowns  SHORT 
       integer(SHORT) Top ! knowns  SHORT 
       integer(SHORT) Right ! knowns  SHORT 
       integer(SHORT) Bottom ! knowns  SHORT 
     END TYPE
    !Inserted structure here:T_KEY_EVENT_RECORD
     STRUCTURE /T_KEY_EVENT_RECORD/
        integer(BOOL) bKeyDown ! knowns  BOOL 
        integer(WORD) wRepeatCount ! knowns  WORD 
        integer(WORD) wVirtualKeyCode ! knowns  WORD 
        integer(WORD) wVirtualScanCode ! knowns  WORD 
       UNION  ! uChar
         MAP
        integer(WCHAR) UnicodeChar ! knowns  WCHAR 
         END MAP
         MAP
        character(SCHAR) AsciiChar ! knowns  CHAR 
         END MAP
       END UNION  ! uChar
        integer(DWORD) dwControlKeyState ! knowns  DWORD 
     END STRUCTURE
     TYPE T_MOUSE_EVENT_RECORD
     SEQUENCE
       TYPE (T_COORD) dwMousePosition ! typedefs  COORD 
       integer(DWORD) dwButtonState ! knowns  DWORD 
       integer(DWORD) dwControlKeyState ! knowns  DWORD 
       integer(DWORD) dwEventFlags ! knowns  DWORD 
     END TYPE
     TYPE T_WINDOW_BUFFER_SIZE_RECORD
     SEQUENCE
       TYPE (T_COORD) dwSize ! typedefs  COORD 
     END TYPE
     TYPE T_MENU_EVENT_RECORD
     SEQUENCE
       integer(UINT) dwCommandId ! knowns  UINT 
     END TYPE
     TYPE T_FOCUS_EVENT_RECORD
     SEQUENCE
       integer(BOOL) bSetFocus ! knowns  BOOL 
     END TYPE
    !Inserted structure here:T_INPUT_RECORD
     STRUCTURE /T_INPUT_RECORD/
        integer(WORD) EventType ! knowns  WORD 
       UNION  ! Event
         MAP
        TYPE(T_KEY_EVENT_RECORD) KeyEvent ! typedefs  KEY_EVENT_RECORD 
         END MAP
         MAP
        TYPE(T_MOUSE_EVENT_RECORD) MouseEvent ! typedefs  MOUSE_EVENT_RECORD 
         END MAP
         MAP
        TYPE(T_WINDOW_BUFFER_SIZE_RECORD) WindowBufferSizeEvent ! typedefs  WINDOW_BUFFER_SIZE_RECORD 
         END MAP
         MAP
        TYPE(T_MENU_EVENT_RECORD) MenuEvent ! typedefs  MENU_EVENT_RECORD 
         END MAP
         MAP
        TYPE(T_FOCUS_EVENT_RECORD) FocusEvent ! typedefs  FOCUS_EVENT_RECORD 
         END MAP
       END UNION  ! Event
     END STRUCTURE
    !Inserted structure here:T_CHAR_INFO
     STRUCTURE /T_CHAR_INFO/
       UNION  ! Char
         MAP
        integer(WCHAR) UnicodeChar ! knowns  WCHAR 
         END MAP
         MAP
        character(SCHAR) AsciiChar ! knowns  CHAR 
         END MAP
       END UNION  ! Char
        integer(WORD) Attributes ! knowns  WORD 
     END STRUCTURE
     TYPE T_CONSOLE_SCREEN_BUFFER_INFO
     SEQUENCE
       TYPE (T_COORD) dwSize ! typedefs  COORD 
       TYPE (T_COORD) dwCursorPosition ! typedefs  COORD 
       integer(WORD) wAttributes ! knowns  WORD 
       TYPE (T_SMALL_RECT) srWindow ! typedefs  SMALL_RECT 
       TYPE (T_COORD) dwMaximumWindowSize ! typedefs  COORD 
     END TYPE
     TYPE T_CONSOLE_CURSOR_INFO
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(BOOL) bVisible ! knowns  BOOL 
     END TYPE
     TYPE T_VS_FIXEDFILEINFO
     SEQUENCE
       integer(DWORD) dwSignature ! knowns  DWORD 
       integer(DWORD) dwStrucVersion ! knowns  DWORD 
       integer(DWORD) dwFileVersionMS ! knowns  DWORD 
       integer(DWORD) dwFileVersionLS ! knowns  DWORD 
       integer(DWORD) dwProductVersionMS ! knowns  DWORD 
       integer(DWORD) dwProductVersionLS ! knowns  DWORD 
       integer(DWORD) dwFileFlagsMask ! knowns  DWORD 
       integer(DWORD) dwFileFlags ! knowns  DWORD 
       integer(DWORD) dwFileOS ! knowns  DWORD 
       integer(DWORD) dwFileType ! knowns  DWORD 
       integer(DWORD) dwFileSubtype ! knowns  DWORD 
       integer(DWORD) dwFileDateMS ! knowns  DWORD 
       integer(DWORD) dwFileDateLS ! knowns  DWORD 
     END TYPE
     TYPE T_val_context
     SEQUENCE
       integer(SINT) valuelen ! knowns  int 
       integer(LPVOID) value_context ! knowns  LPVOID 
       integer(LPVOID) val_buff_ptr ! knowns  LPVOID 
     END TYPE
     TYPE T_PVALUE
     SEQUENCE
       integer(LPSTR) pv_valuename ! knowns  LPSTR 
       integer(SINT) pv_valuelen ! knowns  int 
       integer(LPVOID) pv_value_context ! knowns  LPVOID 
       integer(DWORD) pv_type ! knowns  DWORD 
     END TYPE
     TYPE T_PVALUEW
     SEQUENCE
       integer(LPWSTR) pv_valuename ! knowns  LPWSTR 
       integer(SINT) pv_valuelen ! knowns  int 
       integer(LPVOID) pv_value_context ! knowns  LPVOID 
       integer(DWORD) pv_type ! knowns  DWORD 
     END TYPE
     TYPE T_REG_PROVIDER
     SEQUENCE
       integer(LPVOID) pi_R0_1val ! pointers  PQUERYHANDLER 
       integer(LPVOID) pi_R0_allvals ! pointers  PQUERYHANDLER 
       integer(LPVOID) pi_R3_1val ! pointers  PQUERYHANDLER 
       integer(LPVOID) pi_R3_allvals ! pointers  PQUERYHANDLER 
       integer(DWORD) pi_flags ! knowns  DWORD 
       integer(LPVOID) pi_key_context ! knowns  LPVOID 
     END TYPE
     TYPE T_VALENT
     SEQUENCE
       integer(LPSTR) ve_valuename ! knowns  LPSTR 
       integer(DWORD) ve_valuelen ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) ve_valueptr ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) ve_valueptr ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) ve_type ! knowns  DWORD 
     END TYPE
     TYPE T_VALENTW
     SEQUENCE
       integer(LPWSTR) ve_valuename ! knowns  LPWSTR 
       integer(DWORD) ve_valuelen ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) ve_valueptr ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) ve_valueptr ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) ve_type ! knowns  DWORD 
     END TYPE
     TYPE T_NETRESOURCE
     SEQUENCE
       integer(DWORD) dwScope ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
       integer(DWORD) dwDisplayType ! knowns  DWORD 
       integer(DWORD) dwUsage ! knowns  DWORD 
       integer(LPSTR) lpLocalName ! knowns  LPSTR 
       integer(LPSTR) lpRemoteName ! knowns  LPSTR 
       integer(LPSTR) lpComment  ! knowns  LPSTR 
       integer(LPSTR) lpProvider ! knowns  LPSTR 
     END TYPE
     TYPE T_NETRESOURCEW
     SEQUENCE
       integer(DWORD) dwScope ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
       integer(DWORD) dwDisplayType ! knowns  DWORD 
       integer(DWORD) dwUsage ! knowns  DWORD 
       integer(LPWSTR) lpLocalName ! knowns  LPWSTR 
       integer(LPWSTR) lpRemoteName ! knowns  LPWSTR 
       integer(LPWSTR) lpComment  ! knowns  LPWSTR 
       integer(LPWSTR) lpProvider ! knowns  LPWSTR 
     END TYPE
     TYPE T_CONNECTDLGSTRUCT
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(LPVOID) lpConnRes ! pointers  LPNETRESOURCEA 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwDevNum ! knowns  DWORD 
     END TYPE
     TYPE T_CONNECTDLGSTRUCTW
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(LPVOID) lpConnRes ! pointers  LPNETRESOURCEW 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwDevNum ! knowns  DWORD 
     END TYPE
     TYPE T_DISCDLGSTRUCT
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(LPSTR) lpLocalName ! knowns  LPSTR 
       integer(LPSTR) lpRemoteName ! knowns  LPSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_DISCDLGSTRUCTW
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(LPWSTR) lpLocalName ! knowns  LPWSTR 
       integer(LPWSTR) lpRemoteName ! knowns  LPWSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_UNIVERSAL_NAME_INFO
     SEQUENCE
       integer(LPSTR) lpUniversalName ! knowns  LPSTR 
     END TYPE
     TYPE T_UNIVERSAL_NAME_INFOW
     SEQUENCE
       integer(LPWSTR) lpUniversalName ! knowns  LPWSTR 
     END TYPE
     TYPE T_REMOTE_NAME_INFO
     SEQUENCE
       integer(LPSTR) lpUniversalName ! knowns  LPSTR 
       integer(LPSTR) lpConnectionName ! knowns  LPSTR 
       integer(LPSTR) lpRemainingPath ! knowns  LPSTR 
     END TYPE
     TYPE T_REMOTE_NAME_INFOW
     SEQUENCE
       integer(LPWSTR) lpUniversalName ! knowns  LPWSTR 
       integer(LPWSTR) lpConnectionName ! knowns  LPWSTR 
       integer(LPWSTR) lpRemainingPath ! knowns  LPWSTR 
     END TYPE
     TYPE T_NETINFOSTRUCT
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(DWORD) dwProviderVersion ! knowns  DWORD 
       integer(DWORD) dwStatus ! knowns  DWORD 
       integer(DWORD) dwCharacteristics ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwHandle ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwHandle ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       integer(WORD) wNetType ! knowns  WORD 
       integer(DWORD) dwPrinters ! knowns  DWORD 
       integer(DWORD) dwDrives ! knowns  DWORD 
     END TYPE
     TYPE T_NETCONNECTINFOSTRUCT
     SEQUENCE
       integer(DWORD) cbStructure ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwSpeed ! knowns  DWORD 
       integer(DWORD) dwDelay ! knowns  DWORD 
       integer(DWORD) dwOptDataSize ! knowns  DWORD 
     END TYPE
     TYPE T_DDEACK
     SEQUENCE
    ! ???  unsigned short bAppReturnCode:8, reserved:6, fBusy:1, fAck:1
       integer(USHORT) bitfield ! added - see above for C fields
     END TYPE
     TYPE T_DDEADVISE
     SEQUENCE
    ! ???  unsigned short reserved:14, fDeferUpd:1, fAckReq:1
       integer(USHORT) bitfield ! added - see above for C fields
       integer(SHORT) cfFormat ! knowns  short 
     END TYPE
     TYPE T_DDEDATA
     SEQUENCE
    ! ???  unsigned short unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1
       integer(USHORT) bitfield ! added - see above for C fields
       integer(SHORT) cfFormat ! knowns  short 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Value(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Value
!DEC$ ENDIF
     END TYPE
     TYPE T_DDEPOKE
     SEQUENCE
    ! ???  unsigned short unused:13, fRelease:1, fReserved:2
       integer(USHORT) bitfield ! added - see above for C fields
       integer(SHORT) cfFormat ! knowns  short 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Value(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Value
!DEC$ ENDIF
     END TYPE
     TYPE T_DDELN
     SEQUENCE
    ! ???  unsigned short unused:13, fRelease:1, fDeferUpd:1, fAckReq:1
       integer(USHORT) bitfield ! added - see above for C fields
       integer(SHORT) cfFormat ! knowns  short 
     END TYPE
     TYPE T_DDEUP
     SEQUENCE
    ! ???  unsigned short unused:12, fAck:1, fRelease:1, fReserved:1, fAckReq:1
       integer(USHORT) bitfield ! added - see above for C fields
       integer(SHORT) cfFormat ! knowns  short 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgb(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) rgb
!DEC$ ENDIF
     END TYPE
     TYPE T_HSZPAIR
     SEQUENCE
       integer(HANDLE) hszSvc ! handles  HSZ 
       integer(HANDLE) hszTopic ! handles  HSZ 
     END TYPE
     TYPE T_CONVCONTEXT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(UINT) wFlags ! knowns  UINT 
       integer(UINT) wCountryID ! knowns  UINT 
       integer(SINT) iCodePage ! knowns  int 
       integer(DWORD) dwLangID ! knowns  DWORD 
       integer(DWORD) dwSecurity ! knowns  DWORD 
       TYPE (T_SECURITY_QUALITY_OF_SERVICE) qos ! typedefs  SECURITY_QUALITY_OF_SERVICE 
     END TYPE
     TYPE T_CONVINFO
     SEQUENCE
       integer(DWORD) cb ! knowns  DWORD 
       integer(pointer_len) hUser ! typedefs  DWORD_PTR 
       integer(HANDLE) hConvPartner ! handles  HCONV 
       integer(HANDLE) hszSvcPartner ! handles  HSZ 
       integer(HANDLE) hszServiceReq ! handles  HSZ 
       integer(HANDLE) hszTopic ! handles  HSZ 
       integer(HANDLE) hszItem ! handles  HSZ 
       integer(UINT) wFmt ! knowns  UINT 
       integer(UINT) wType ! knowns  UINT 
       integer(UINT) wStatus ! knowns  UINT 
       integer(UINT) wConvst ! knowns  UINT 
       integer(UINT) wLastError ! knowns  UINT 
       integer(HANDLE) hConvList ! handles  HCONVLIST 
       TYPE (T_CONVCONTEXT) ConvCtxt ! typedefs  CONVCONTEXT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(HANDLE) hwndPartner ! handles  HWND 
     END TYPE
     TYPE T_DDEML_MSG_HOOK_DATA
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) uiLo ! typedefs  UINT_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(UINT) uiLo ! typedefs  UINT_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) uiHi ! typedefs  UINT_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(UINT) uiHi ! typedefs  UINT_PTR 
    !DEC$ ENDIF
       integer(DWORD) cbData ! knowns  DWORD 
       integer(DWORD) Data(8) ! knowns  DWORD 
     END TYPE
     TYPE T_MONMSGSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(HANDLE) hwndTo ! handles  HWND 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hTask ! knowns  HANDLE 
       integer(UINT) wMsg ! knowns  UINT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fWPARAM) wParam ! typedefs  WPARAM 
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
       TYPE (T_DDEML_MSG_HOOK_DATA) dmhd ! typedefs  DDEML_MSG_HOOK_DATA 
     END TYPE
     TYPE T_MONCBSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hTask ! knowns  HANDLE 
       integer(DWORD) dwRet ! knowns  DWORD 
       integer(UINT) wType ! knowns  UINT 
       integer(UINT) wFmt ! knowns  UINT 
       integer(HANDLE) hConv ! handles  HCONV 
       integer(HANDLE) hsz1 ! handles  HSZ 
       integer(HANDLE) hsz2 ! handles  HSZ 
       integer(HANDLE) hData ! handles  HDDEDATA 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwData1 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwData1 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwData2 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwData2 ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
       TYPE (T_CONVCONTEXT) cc ! typedefs  CONVCONTEXT 
       integer(DWORD) cbData ! knowns  DWORD 
       integer(DWORD) Data(8) ! knowns  DWORD 
     END TYPE
     TYPE T_MONHSZSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(BOOL) fsAction ! knowns  BOOL 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hsz ! handles  HSZ 
       integer(HANDLE) hTask ! knowns  HANDLE 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) str(1) ! knowns  CHAR 
!DEC$ ELSE
       character(1) str
!DEC$ ENDIF
     END TYPE
     TYPE T_MONHSZSTRUCTW
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(BOOL) fsAction ! knowns  BOOL 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hsz ! handles  HSZ 
       integer(HANDLE) hTask ! knowns  HANDLE 
       integer(WCHAR) str(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_MONERRSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(UINT) wLastError ! knowns  UINT 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hTask ! knowns  HANDLE 
     END TYPE
     TYPE T_MONLINKSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hTask ! knowns  HANDLE 
       integer(BOOL) fEstablished ! knowns  BOOL 
       integer(BOOL) fNoData ! knowns  BOOL 
       integer(HANDLE) hszSvc ! handles  HSZ 
       integer(HANDLE) hszTopic ! handles  HSZ 
       integer(HANDLE) hszItem ! handles  HSZ 
       integer(UINT) wFmt ! knowns  UINT 
       integer(BOOL) fServer ! knowns  BOOL 
       integer(HANDLE) hConvServer ! handles  HCONV 
       integer(HANDLE) hConvClient ! handles  HCONV 
     END TYPE
     TYPE T_MONCONVSTRUCT
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(BOOL) fConnect ! knowns  BOOL 
       integer(DWORD) dwTime ! knowns  DWORD 
       integer(HANDLE) hTask ! knowns  HANDLE 
       integer(HANDLE) hszSvc ! handles  HSZ 
       integer(HANDLE) hszTopic ! handles  HSZ 
       integer(HANDLE) hConvClient ! handles  HCONV 
       integer(HANDLE) hConvServer ! handles  HCONV 
     END TYPE
     TYPE T_CRGB
     SEQUENCE
       integer(BYTE) bRed ! knowns  BYTE 
       integer(BYTE) bGreen ! knowns  BYTE 
       integer(BYTE) bBlue ! knowns  BYTE 
       integer(BYTE) bExtra ! knowns  BYTE 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
  !DEC$ ENDIF
    !Inserted structure here:T_MMTIME
     STRUCTURE /T_MMTIME/
        integer(UINT) wType ! knowns  UINT 
       UNION  ! u
         MAP
        integer(DWORD) ms ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) sample ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) cb ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) ticks ! knowns  DWORD 
         END MAP
         MAP
          STRUCTURE /f_smpte/ smpte
        integer(BYTE) hour ! knowns  BYTE 
        integer(BYTE) min ! knowns  BYTE 
        integer(BYTE) sec ! knowns  BYTE 
        integer(BYTE) frame ! knowns  BYTE 
        integer(BYTE) fps ! knowns  BYTE 
        integer(BYTE) dummy ! knowns  BYTE 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
        integer(BYTE) pad(2) ! knowns  BYTE 
!DEC$ ELSE
        character(2) pad
!DEC$ ENDIF
          END STRUCTURE ! smpte
         END MAP
         MAP
          STRUCTURE /f_midi/ midi
        integer(DWORD) songptrpos ! knowns  DWORD 
          END STRUCTURE ! midi
         END MAP
       END UNION  ! u
     END STRUCTURE
     TYPE T_DRVCONFIGINFOEX
     SEQUENCE
       integer(DWORD) dwDCISize ! knowns  DWORD 
       integer(LPCWSTR) lpszDCISectionName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszDCIAliasName ! knowns  LPCWSTR 
       integer(DWORD) dnDevNode ! knowns  DWORD 
     END TYPE
     TYPE T_DRVCONFIGINFO
     SEQUENCE
       integer(DWORD) dwDCISize ! knowns  DWORD 
       integer(LPCWSTR) lpszDCISectionName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpszDCIAliasName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_WAVEHDR
     SEQUENCE
       integer(LPSTR) lpData ! knowns  LPSTR 
       integer(DWORD) dwBufferLength ! knowns  DWORD 
       integer(DWORD) dwBytesRecorded ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwUser ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwUser ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwLoops ! knowns  DWORD 
       integer(LPVOID) lpNext ! star   struct wavehdr_tag *
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) reserved ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) reserved ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_WAVEOUTCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(DWORD) dwFormats ! knowns  DWORD 
       integer(WORD) wChannels ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_WAVEOUTCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(DWORD) dwFormats ! knowns  DWORD 
       integer(WORD) wChannels ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_WAVEINCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(DWORD) dwFormats ! knowns  DWORD 
       integer(WORD) wChannels ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
     END TYPE
     TYPE T_WAVEINCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(DWORD) dwFormats ! knowns  DWORD 
       integer(WORD) wChannels ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
     END TYPE
     TYPE T_WAVEFORMAT
     SEQUENCE
       integer(WORD) wFormatTag ! knowns  WORD 
       integer(WORD) nChannels ! knowns  WORD 
       integer(DWORD) nSamplesPerSec ! knowns  DWORD 
       integer(DWORD) nAvgBytesPerSec ! knowns  DWORD 
       integer(WORD) nBlockAlign ! knowns  WORD 
     END TYPE
     TYPE T_PCMWAVEFORMAT
     SEQUENCE
       TYPE (T_WAVEFORMAT) wf ! typedefs  WAVEFORMAT 
       integer(WORD) wBitsPerSample ! knowns  WORD 
     END TYPE
     TYPE T_WAVEFORMATEX
     SEQUENCE
       integer(WORD) wFormatTag ! knowns  WORD 
       integer(WORD) nChannels ! knowns  WORD 
       integer(DWORD) nSamplesPerSec ! knowns  DWORD 
       integer(DWORD) nAvgBytesPerSec ! knowns  DWORD 
       integer(WORD) nBlockAlign ! knowns  WORD 
       integer(WORD) wBitsPerSample ! knowns  WORD 
       integer(WORD) cbSize ! knowns  WORD 
     END TYPE
     TYPE T_MIDIOUTCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(WORD) wTechnology ! knowns  WORD 
       integer(WORD) wVoices ! knowns  WORD 
       integer(WORD) wNotes ! knowns  WORD 
       integer(WORD) wChannelMask ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIOUTCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(WORD) wTechnology ! knowns  WORD 
       integer(WORD) wVoices ! knowns  WORD 
       integer(WORD) wNotes ! knowns  WORD 
       integer(WORD) wChannelMask ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIINCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIINCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIHDR
     SEQUENCE
       integer(LPSTR) lpData ! knowns  LPSTR 
       integer(DWORD) dwBufferLength ! knowns  DWORD 
       integer(DWORD) dwBytesRecorded ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwUser ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwUser ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPVOID) lpNext ! star   struct midihdr_tag *
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) reserved ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) reserved ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwOffset ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwReserved(8) ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwReserved(8) ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_MIDIEVENT
     SEQUENCE
       integer(DWORD) dwDeltaTime ! knowns  DWORD 
       integer(DWORD) dwStreamID ! knowns  DWORD 
       integer(DWORD) dwEvent ! knowns  DWORD 
       integer(DWORD) dwParms(1) ! knowns  DWORD 
     END TYPE
     TYPE T_MIDISTRMBUFFVER
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       integer(DWORD) dwMid ! knowns  DWORD 
       integer(DWORD) dwOEMVersion ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIPROPTIMEDIV
     SEQUENCE
       integer(DWORD) cbStruct ! knowns  DWORD 
       integer(DWORD) dwTimeDiv ! knowns  DWORD 
     END TYPE
     TYPE T_MIDIPROPTEMPO
     SEQUENCE
       integer(DWORD) cbStruct ! knowns  DWORD 
       integer(DWORD) dwTempo ! knowns  DWORD 
     END TYPE
     TYPE T_AUXCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(WORD) wTechnology ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_AUXCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(WORD) wTechnology ! knowns  WORD 
       integer(WORD) wReserved1 ! knowns  WORD 
       integer(DWORD) dwSupport ! knowns  DWORD 
     END TYPE
     TYPE T_MIXERCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(DWORD) fdwSupport ! knowns  DWORD 
       integer(DWORD) cDestinations ! knowns  DWORD 
     END TYPE
     TYPE T_MIXERCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(UINT) vDriverVersion ! typedefs  MMVERSION 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(DWORD) fdwSupport ! knowns  DWORD 
       integer(DWORD) cDestinations ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_MIXERLINE
     STRUCTURE /T_MIXERLINE/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwDestination ! knowns  DWORD 
        integer(DWORD) dwSource ! knowns  DWORD 
        integer(DWORD) dwLineID ! knowns  DWORD 
        integer(DWORD) fdwLine ! knowns  DWORD 
        integer(DWORD_PTR) dwUser ! knowns  DWORD_PTR 
        integer(DWORD) dwComponentType ! knowns  DWORD 
        integer(DWORD) cChannels ! knowns  DWORD 
        integer(DWORD) cConnections ! knowns  DWORD 
        integer(DWORD) cControls ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        character(SCHAR) szShortName(16) ! knowns  CHAR 
!DEC$ ELSE
        character(16) szShortName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        character(SCHAR) szName(64) ! knowns  CHAR 
!DEC$ ELSE
        character(64) szName
!DEC$ ENDIF
        STRUCTURE /f_Target/ Target
        integer(DWORD) dwType ! knowns  DWORD 
        integer(DWORD) dwDeviceID ! knowns  DWORD 
        integer(WORD) wMid ! knowns  WORD 
        integer(WORD) wPid ! knowns  WORD 
        integer(UINT) vDriverVersion ! typedefs  MMVERSION 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
        character(32) szPname
!DEC$ ENDIF
        END STRUCTURE ! Target
     END STRUCTURE
    !Inserted structure here:T_MIXERLINEW
     STRUCTURE /T_MIXERLINEW/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwDestination ! knowns  DWORD 
        integer(DWORD) dwSource ! knowns  DWORD 
        integer(DWORD) dwLineID ! knowns  DWORD 
        integer(DWORD) fdwLine ! knowns  DWORD 
        integer(DWORD_PTR) dwUser ! knowns  DWORD_PTR 
        integer(DWORD) dwComponentType ! knowns  DWORD 
        integer(DWORD) cChannels ! knowns  DWORD 
        integer(DWORD) cConnections ! knowns  DWORD 
        integer(DWORD) cControls ! knowns  DWORD 
        integer(WCHAR) szShortName(16) ! knowns  WCHAR 
        integer(WCHAR) szName(64) ! knowns  WCHAR 
        STRUCTURE /f_Target1/ Target
        integer(DWORD) dwType ! knowns  DWORD 
        integer(DWORD) dwDeviceID ! knowns  DWORD 
        integer(WORD) wMid ! knowns  WORD 
        integer(WORD) wPid ! knowns  WORD 
        integer(UINT) vDriverVersion ! typedefs  MMVERSION 
        integer(WCHAR) szPname(32) ! knowns  WCHAR 
        END STRUCTURE ! Target
     END STRUCTURE
    !Inserted structure here:T_MIXERCONTROL
     STRUCTURE /T_MIXERCONTROL/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwControlID ! knowns  DWORD 
        integer(DWORD) dwControlType ! knowns  DWORD 
        integer(DWORD) fdwControl ! knowns  DWORD 
        integer(DWORD) cMultipleItems ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        character(SCHAR) szShortName(16) ! knowns  CHAR 
!DEC$ ELSE
        character(16) szShortName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        character(SCHAR) szName(64) ! knowns  CHAR 
!DEC$ ELSE
        character(64) szName
!DEC$ ENDIF
       UNION  ! Bounds
         MAP
          STRUCTURE /f_field12/ field1
        integer(LONG) lMinimum ! knowns  LONG 
        integer(LONG) lMaximum ! knowns  LONG 
          END STRUCTURE ! field1
         END MAP
         MAP
          STRUCTURE /f_field02/ field0
        integer(DWORD) dwMinimum ! knowns  DWORD 
        integer(DWORD) dwMaximum ! knowns  DWORD 
          END STRUCTURE ! field0
         END MAP
         MAP
        integer(DWORD) dwReserved(6) ! knowns  DWORD 
         END MAP
       END UNION  ! Bounds
       UNION  ! Metrics
         MAP
        integer(DWORD) cSteps ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) cbCustomData ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dwReserved1(6) ! knowns  DWORD 
         END MAP
       END UNION  ! Metrics
     END STRUCTURE
    !Inserted structure here:T_MIXERCONTROLW
     STRUCTURE /T_MIXERCONTROLW/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwControlID ! knowns  DWORD 
        integer(DWORD) dwControlType ! knowns  DWORD 
        integer(DWORD) fdwControl ! knowns  DWORD 
        integer(DWORD) cMultipleItems ! knowns  DWORD 
        integer(WCHAR) szShortName(16) ! knowns  WCHAR 
        integer(WCHAR) szName(64) ! knowns  WCHAR 
       UNION  ! Bounds
         MAP
          STRUCTURE /f_field13/ field1
        integer(LONG) lMinimum ! knowns  LONG 
        integer(LONG) lMaximum ! knowns  LONG 
          END STRUCTURE ! field1
         END MAP
         MAP
          STRUCTURE /f_field03/ field0
        integer(DWORD) dwMinimum ! knowns  DWORD 
        integer(DWORD) dwMaximum ! knowns  DWORD 
          END STRUCTURE ! field0
         END MAP
         MAP
        integer(DWORD) dwReserved(6) ! knowns  DWORD 
         END MAP
       END UNION  ! Bounds
       UNION  ! Metrics
         MAP
        integer(DWORD) cSteps ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) cbCustomData ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dwReserved1(6) ! knowns  DWORD 
         END MAP
       END UNION  ! Metrics
     END STRUCTURE
    !Inserted structure here:T_MIXERLINECONTROLS
     STRUCTURE /T_MIXERLINECONTROLS/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwLineID ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(DWORD) dwControlID ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dwControlType ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) cControls ! knowns  DWORD 
        integer(DWORD) cbmxctrl ! knowns  DWORD 
        integer(LPVOID) pamxctrl ! pointers  LPMIXERCONTROLA 
     END STRUCTURE
    !Inserted structure here:T_MIXERLINECONTROLSW
     STRUCTURE /T_MIXERLINECONTROLSW/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwLineID ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(DWORD) dwControlID ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) dwControlType ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) cControls ! knowns  DWORD 
        integer(DWORD) cbmxctrl ! knowns  DWORD 
        integer(LPVOID) pamxctrl ! pointers  LPMIXERCONTROLW 
     END STRUCTURE
    !Inserted structure here:T_MIXERCONTROLDETAILS
     STRUCTURE /T_MIXERCONTROLDETAILS/
        integer(DWORD) cbStruct ! knowns  DWORD 
        integer(DWORD) dwControlID ! knowns  DWORD 
        integer(DWORD) cChannels ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(HANDLE) hwndOwner ! handles  HWND 
         END MAP
         MAP
        integer(DWORD) cMultipleItems ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) cbDetails ! knowns  DWORD 
        integer(LPVOID) paDetails ! knowns  LPVOID 
     END STRUCTURE
     TYPE T_MIXERCONTROLDETAILS_LISTTEXT
     SEQUENCE
       integer(DWORD) dwParam1 ! knowns  DWORD 
       integer(DWORD) dwParam2 ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szName(64) ! knowns  CHAR 
!DEC$ ELSE
       character(64) szName
!DEC$ ENDIF
     END TYPE
     TYPE T_MIXERCONTROLDETAILS_LISTTEXTW
     SEQUENCE
       integer(DWORD) dwParam1 ! knowns  DWORD 
       integer(DWORD) dwParam2 ! knowns  DWORD 
       integer(WCHAR) szName(64) ! knowns  WCHAR 
     END TYPE
     TYPE T_MIXERCONTROLDETAILS_BOOLEAN
     SEQUENCE
       integer(LONG) fValue ! knowns  LONG 
     END TYPE
     TYPE T_MIXERCONTROLDETAILS_SIGNED
     SEQUENCE
       integer(LONG) lValue ! knowns  LONG 
     END TYPE
     TYPE T_MIXERCONTROLDETAILS_UNSIGNED
     SEQUENCE
       integer(DWORD) dwValue ! knowns  DWORD 
     END TYPE
     TYPE T_TIMECAPS
     SEQUENCE
       integer(UINT) wPeriodMin ! knowns  UINT 
       integer(UINT) wPeriodMax ! knowns  UINT 
     END TYPE
     TYPE T_JOYCAPS
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szPname(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szPname
!DEC$ ENDIF
       integer(UINT) wXmin ! knowns  UINT 
       integer(UINT) wXmax ! knowns  UINT 
       integer(UINT) wYmin ! knowns  UINT 
       integer(UINT) wYmax ! knowns  UINT 
       integer(UINT) wZmin ! knowns  UINT 
       integer(UINT) wZmax ! knowns  UINT 
       integer(UINT) wNumButtons ! knowns  UINT 
       integer(UINT) wPeriodMin ! knowns  UINT 
       integer(UINT) wPeriodMax ! knowns  UINT 
       integer(UINT) wRmin ! knowns  UINT 
       integer(UINT) wRmax ! knowns  UINT 
       integer(UINT) wUmin ! knowns  UINT 
       integer(UINT) wUmax ! knowns  UINT 
       integer(UINT) wVmin ! knowns  UINT 
       integer(UINT) wVmax ! knowns  UINT 
       integer(UINT) wCaps ! knowns  UINT 
       integer(UINT) wMaxAxes ! knowns  UINT 
       integer(UINT) wNumAxes ! knowns  UINT 
       integer(UINT) wMaxButtons ! knowns  UINT 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szRegKey(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szRegKey
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szOEMVxD(260) ! knowns  CHAR 
!DEC$ ELSE
       character(260) szOEMVxD
!DEC$ ENDIF
     END TYPE
     TYPE T_JOYCAPSW
     SEQUENCE
       integer(WORD) wMid ! knowns  WORD 
       integer(WORD) wPid ! knowns  WORD 
       integer(WCHAR) szPname(32) ! knowns  WCHAR 
       integer(UINT) wXmin ! knowns  UINT 
       integer(UINT) wXmax ! knowns  UINT 
       integer(UINT) wYmin ! knowns  UINT 
       integer(UINT) wYmax ! knowns  UINT 
       integer(UINT) wZmin ! knowns  UINT 
       integer(UINT) wZmax ! knowns  UINT 
       integer(UINT) wNumButtons ! knowns  UINT 
       integer(UINT) wPeriodMin ! knowns  UINT 
       integer(UINT) wPeriodMax ! knowns  UINT 
       integer(UINT) wRmin ! knowns  UINT 
       integer(UINT) wRmax ! knowns  UINT 
       integer(UINT) wUmin ! knowns  UINT 
       integer(UINT) wUmax ! knowns  UINT 
       integer(UINT) wVmin ! knowns  UINT 
       integer(UINT) wVmax ! knowns  UINT 
       integer(UINT) wCaps ! knowns  UINT 
       integer(UINT) wMaxAxes ! knowns  UINT 
       integer(UINT) wNumAxes ! knowns  UINT 
       integer(UINT) wMaxButtons ! knowns  UINT 
       integer(WCHAR) szRegKey(32) ! knowns  WCHAR 
       integer(WCHAR) szOEMVxD(260) ! knowns  WCHAR 
     END TYPE
     TYPE T_JOYINFO
     SEQUENCE
       integer(UINT) wXpos ! knowns  UINT 
       integer(UINT) wYpos ! knowns  UINT 
       integer(UINT) wZpos ! knowns  UINT 
       integer(UINT) wButtons ! knowns  UINT 
     END TYPE
     TYPE T_JOYINFOEX
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwXpos ! knowns  DWORD 
       integer(DWORD) dwYpos ! knowns  DWORD 
       integer(DWORD) dwZpos ! knowns  DWORD 
       integer(DWORD) dwRpos ! knowns  DWORD 
       integer(DWORD) dwUpos ! knowns  DWORD 
       integer(DWORD) dwVpos ! knowns  DWORD 
       integer(DWORD) dwButtons ! knowns  DWORD 
       integer(DWORD) dwButtonNumber ! knowns  DWORD 
       integer(DWORD) dwPOV ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(DWORD) dwReserved2 ! knowns  DWORD 
     END TYPE
     TYPE T_MMIOINFO
     SEQUENCE
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(ULONG) fccIOProc ! typedefs  FOURCC 
       integer(LPVOID) pIOProc ! pointers  LPMMIOPROC 
       integer(UINT) wErrorRet ! knowns  UINT 
       integer(HANDLE) htask ! handles  HTASK 
       integer(LONG) cchBuffer ! knowns  LONG 
       integer(LPVOID) pchBuffer ! pointers  HPSTR 
       integer(LPVOID) pchNext ! pointers  HPSTR 
       integer(LPVOID) pchEndRead ! pointers  HPSTR 
       integer(LPVOID) pchEndWrite ! pointers  HPSTR 
       integer(LONG) lBufOffset ! knowns  LONG 
       integer(LONG) lDiskOffset ! knowns  LONG 
       integer(DWORD) adwInfo(3) ! knowns  DWORD 
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(DWORD) dwReserved2 ! knowns  DWORD 
       integer(HANDLE) hmmio ! handles  HMMIO 
     END TYPE
     TYPE T_MMCKINFO
     SEQUENCE
       integer(ULONG) ckid ! typedefs  FOURCC 
       integer(DWORD) cksize ! knowns  DWORD 
       integer(ULONG) fccType ! typedefs  FOURCC 
       integer(DWORD) dwDataOffset ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_GENERIC_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
     END TYPE
     TYPE T_MCI_OPEN_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCSTR) lpstrDeviceType ! knowns  LPCSTR 
       integer(LPCSTR) lpstrElementName ! knowns  LPCSTR 
       integer(LPCSTR) lpstrAlias ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_OPEN_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCWSTR) lpstrDeviceType ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrElementName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrAlias ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_PLAY_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrom ! knowns  DWORD 
       integer(DWORD) dwTo ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_SEEK_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwTo ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_STATUS_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
       integer(pointer_len) dwReturn ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
       integer(ULONG) dwReturn ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwItem ! knowns  DWORD 
       integer(DWORD) dwTrack ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_INFO_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPSTR) lpstrReturn ! knowns  LPSTR 
       integer(DWORD) dwRetSize ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_INFO_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPWSTR) lpstrReturn ! knowns  LPWSTR 
       integer(DWORD) dwRetSize ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_GETDEVCAPS_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwReturn ! knowns  DWORD 
       integer(DWORD) dwItem ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_SYSINFO_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPSTR) lpstrReturn ! knowns  LPSTR 
       integer(DWORD) dwRetSize ! knowns  DWORD 
       integer(DWORD) dwNumber ! knowns  DWORD 
       integer(UINT) wDeviceType ! knowns  UINT 
     END TYPE
     TYPE T_MCI_SYSINFO_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPWSTR) lpstrReturn ! knowns  LPWSTR 
       integer(DWORD) dwRetSize ! knowns  DWORD 
       integer(DWORD) dwNumber ! knowns  DWORD 
       integer(UINT) wDeviceType ! knowns  UINT 
     END TYPE
     TYPE T_MCI_SET_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwTimeFormat ! knowns  DWORD 
       integer(DWORD) dwAudio ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_BREAK_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(SINT) nVirtKey ! knowns  int 
       integer(HANDLE) hwndBreak ! handles  HWND 
     END TYPE
     TYPE T_MCI_SAVE_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCSTR) lpfilename ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_SAVE_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCWSTR) lpfilename ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_LOAD_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCSTR) lpfilename ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_LOAD_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCWSTR) lpfilename ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_RECORD_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrom ! knowns  DWORD 
       integer(DWORD) dwTo ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_VD_PLAY_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrom ! knowns  DWORD 
       integer(DWORD) dwTo ! knowns  DWORD 
       integer(DWORD) dwSpeed ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_VD_STEP_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrames ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_VD_ESCAPE_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCSTR) lpstrCommand ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_VD_ESCAPE_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCWSTR) lpstrCommand ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_WAVE_OPEN_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCSTR) lpstrDeviceType ! knowns  LPCSTR 
       integer(LPCSTR) lpstrElementName ! knowns  LPCSTR 
       integer(LPCSTR) lpstrAlias ! knowns  LPCSTR 
       integer(DWORD) dwBufferSeconds ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_WAVE_OPEN_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCWSTR) lpstrDeviceType ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrElementName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrAlias ! knowns  LPCWSTR 
       integer(DWORD) dwBufferSeconds ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_WAVE_DELETE_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrom ! knowns  DWORD 
       integer(DWORD) dwTo ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_WAVE_SET_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwTimeFormat ! knowns  DWORD 
       integer(DWORD) dwAudio ! knowns  DWORD 
       integer(UINT) wInput ! knowns  UINT 
       integer(UINT) wOutput ! knowns  UINT 
       integer(WORD) wFormatTag ! knowns  WORD 
       integer(WORD) wReserved2 ! knowns  WORD 
       integer(WORD) nChannels ! knowns  WORD 
       integer(WORD) wReserved3 ! knowns  WORD 
       integer(DWORD) nSamplesPerSec ! knowns  DWORD 
       integer(DWORD) nAvgBytesPerSec ! knowns  DWORD 
       integer(WORD) nBlockAlign ! knowns  WORD 
       integer(WORD) wReserved4 ! knowns  WORD 
       integer(WORD) wBitsPerSample ! knowns  WORD 
       integer(WORD) wReserved5 ! knowns  WORD 
     END TYPE
     TYPE T_MCI_SEQ_SET_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwTimeFormat ! knowns  DWORD 
       integer(DWORD) dwAudio ! knowns  DWORD 
       integer(DWORD) dwTempo ! knowns  DWORD 
       integer(DWORD) dwPort ! knowns  DWORD 
       integer(DWORD) dwSlave ! knowns  DWORD 
       integer(DWORD) dwMaster ! knowns  DWORD 
       integer(DWORD) dwOffset ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_ANIM_OPEN_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCSTR) lpstrDeviceType ! knowns  LPCSTR 
       integer(LPCSTR) lpstrElementName ! knowns  LPCSTR 
       integer(LPCSTR) lpstrAlias ! knowns  LPCSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(HANDLE) hWndParent ! handles  HWND 
     END TYPE
     TYPE T_MCI_ANIM_OPEN_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCWSTR) lpstrDeviceType ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrElementName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrAlias ! knowns  LPCWSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(HANDLE) hWndParent ! handles  HWND 
     END TYPE
     TYPE T_MCI_ANIM_PLAY_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrom ! knowns  DWORD 
       integer(DWORD) dwTo ! knowns  DWORD 
       integer(DWORD) dwSpeed ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_ANIM_STEP_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(DWORD) dwFrames ! knowns  DWORD 
     END TYPE
     TYPE T_MCI_ANIM_WINDOW_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) nCmdShow ! knowns  UINT 
       integer(LPCSTR) lpstrText ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_ANIM_WINDOW_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) nCmdShow ! knowns  UINT 
       integer(LPCWSTR) lpstrText ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_ANIM_RECT_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_MCI_ANIM_UPDATE_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       TYPE (T_RECT) rc ! typedefs  RECT 
       integer(HANDLE) hDC ! handles  HDC 
     END TYPE
     TYPE T_MCI_OVLY_OPEN_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCSTR) lpstrDeviceType ! knowns  LPCSTR 
       integer(LPCSTR) lpstrElementName ! knowns  LPCSTR 
       integer(LPCSTR) lpstrAlias ! knowns  LPCSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(HANDLE) hWndParent ! handles  HWND 
     END TYPE
     TYPE T_MCI_OVLY_OPEN_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(UINT) wDeviceID ! typedefs  MCIDEVICEID 
       integer(LPCWSTR) lpstrDeviceType ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrElementName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrAlias ! knowns  LPCWSTR 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(HANDLE) hWndParent ! handles  HWND 
     END TYPE
     TYPE T_MCI_OVLY_WINDOW_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) nCmdShow ! knowns  UINT 
       integer(LPCSTR) lpstrText ! knowns  LPCSTR 
     END TYPE
     TYPE T_MCI_OVLY_WINDOW_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) nCmdShow ! knowns  UINT 
       integer(LPCWSTR) lpstrText ! knowns  LPCWSTR 
     END TYPE
     TYPE T_MCI_OVLY_RECT_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_MCI_OVLY_SAVE_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCSTR) lpfilename ! knowns  LPCSTR 
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_MCI_OVLY_SAVE_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCWSTR) lpfilename ! knowns  LPCWSTR 
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_MCI_OVLY_LOAD_PARMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCSTR) lpfilename ! knowns  LPCSTR 
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_MCI_OVLY_LOAD_PARMSW
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) dwCallback ! typedefs  DWORD_PTR 
    !DEC$ ENDIF
       integer(LPCWSTR) lpfilename ! knowns  LPCWSTR 
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
 
     TYPE T_NCB
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_command ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_command ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_retcode ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_retcode ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_lsn ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_lsn ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_num ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_num ! knowns  UCHAR 
!DEC$ ENDIF
       integer(PUCHAR) ncb_buffer ! knowns  PUCHAR 
       integer(WORD) ncb_length ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_callname(16) ! knowns  UCHAR 
!DEC$ ELSE
       character(16) ncb_callname
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_name(16) ! knowns  UCHAR 
!DEC$ ELSE
       character(16) ncb_name
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_rto ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_rto ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_sto ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_sto ! knowns  UCHAR 
!DEC$ ENDIF
     integer(LPVOID) ncb_post ! function pointers   void (__stdcall *ncb_post)( struct f_NCB * )
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_lana_num ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_lana_num ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_cmd_cplt ! knowns  UCHAR 
!DEC$ ELSE
       character(1) ncb_cmd_cplt ! knowns  UCHAR 
!DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IA64)
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_reserve(18) ! knowns  UCHAR 
!DEC$ ELSE
       character(18) ncb_reserve
!DEC$ ENDIF
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) ncb_reserve(10) ! knowns  UCHAR 
!DEC$ ELSE
       character(10) ncb_reserve
!DEC$ ENDIF
    !DEC$ ENDIF
       integer(HANDLE) ncb_event ! knowns  HANDLE 
     END TYPE
     TYPE T_ADAPTER_STATUS
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) adapter_address(6) ! knowns  UCHAR 
!DEC$ ELSE
       character(6) adapter_address
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) rev_major ! knowns  UCHAR 
!DEC$ ELSE
       character(1) rev_major ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) reserved0 ! knowns  UCHAR 
!DEC$ ELSE
       character(1) reserved0 ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) adapter_type ! knowns  UCHAR 
!DEC$ ELSE
       character(1) adapter_type ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) rev_minor ! knowns  UCHAR 
!DEC$ ELSE
       character(1) rev_minor ! knowns  UCHAR 
!DEC$ ENDIF
       integer(WORD) duration ! knowns  WORD 
       integer(WORD) frmr_recv ! knowns  WORD 
       integer(WORD) frmr_xmit ! knowns  WORD 
       integer(WORD) iframe_recv_err ! knowns  WORD 
       integer(WORD) xmit_aborts ! knowns  WORD 
       integer(DWORD) xmit_success ! knowns  DWORD 
       integer(DWORD) recv_success ! knowns  DWORD 
       integer(WORD) iframe_xmit_err ! knowns  WORD 
       integer(WORD) recv_buff_unavail ! knowns  WORD 
       integer(WORD) t1_timeouts ! knowns  WORD 
       integer(WORD) ti_timeouts ! knowns  WORD 
       integer(DWORD) reserved1 ! knowns  DWORD 
       integer(WORD) free_ncbs ! knowns  WORD 
       integer(WORD) max_cfg_ncbs ! knowns  WORD 
       integer(WORD) max_ncbs ! knowns  WORD 
       integer(WORD) xmit_buf_unavail ! knowns  WORD 
       integer(WORD) max_dgram_size ! knowns  WORD 
       integer(WORD) pending_sess ! knowns  WORD 
       integer(WORD) max_cfg_sess ! knowns  WORD 
       integer(WORD) max_sess ! knowns  WORD 
       integer(WORD) max_sess_pkt_size ! knowns  WORD 
       integer(WORD) name_count ! knowns  WORD 
     END TYPE
     TYPE T_NAME_BUFFER
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) name(16) ! knowns  UCHAR 
!DEC$ ELSE
       character(16) name
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) name_num ! knowns  UCHAR 
!DEC$ ELSE
       character(1) name_num ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) name_flags ! knowns  UCHAR 
!DEC$ ELSE
       character(1) name_flags ! knowns  UCHAR 
!DEC$ ENDIF
     END TYPE
     TYPE T_SESSION_HEADER
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) sess_name ! knowns  UCHAR 
!DEC$ ELSE
       character(1) sess_name ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) num_sess ! knowns  UCHAR 
!DEC$ ELSE
       character(1) num_sess ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) rcv_dg_outstanding ! knowns  UCHAR 
!DEC$ ELSE
       character(1) rcv_dg_outstanding ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) rcv_any_outstanding ! knowns  UCHAR 
!DEC$ ELSE
       character(1) rcv_any_outstanding ! knowns  UCHAR 
!DEC$ ENDIF
     END TYPE
     TYPE T_SESSION_BUFFER
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) lsn ! knowns  UCHAR 
!DEC$ ELSE
       character(1) lsn ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) state ! knowns  UCHAR 
!DEC$ ELSE
       character(1) state ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) local_name(16) ! knowns  UCHAR 
!DEC$ ELSE
       character(16) local_name
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) remote_name(16) ! knowns  UCHAR 
!DEC$ ELSE
       character(16) remote_name
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) rcvs_outstanding ! knowns  UCHAR 
!DEC$ ELSE
       character(1) rcvs_outstanding ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) sends_outstanding ! knowns  UCHAR 
!DEC$ ELSE
       character(1) sends_outstanding ! knowns  UCHAR 
!DEC$ ENDIF
     END TYPE
     TYPE T_LANA_ENUM
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) length ! knowns  UCHAR 
!DEC$ ELSE
       character(1) length ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) lana(254+1)
!DEC$ ELSE
       character(254+1) lana
!DEC$ ENDIF
     END TYPE
     TYPE T_FIND_NAME_HEADER
     SEQUENCE
       integer(WORD) node_count ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) reserved ! knowns  UCHAR 
!DEC$ ELSE
       character(1) reserved ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) unique_group ! knowns  UCHAR 
!DEC$ ELSE
       character(1) unique_group ! knowns  UCHAR 
!DEC$ ENDIF
     END TYPE
     TYPE T_FIND_NAME_BUFFER
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) length ! knowns  UCHAR 
!DEC$ ELSE
       character(1) length ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) access_control ! knowns  UCHAR 
!DEC$ ELSE
       character(1) access_control ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) frame_control ! knowns  UCHAR 
!DEC$ ELSE
       character(1) frame_control ! knowns  UCHAR 
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) destination_addr(6) ! knowns  UCHAR 
!DEC$ ELSE
       character(6) destination_addr
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) source_addr(6) ! knowns  UCHAR 
!DEC$ ELSE
       character(6) source_addr
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(UCHAR) routing_info(18) ! knowns  UCHAR 
!DEC$ ELSE
       character(18) routing_info
!DEC$ ENDIF
     END TYPE
     TYPE T_ACTION_HEADER
     SEQUENCE
       integer(ULONG) transport_id ! knowns  ULONG 
       integer(USHORT) action_code ! knowns  USHORT 
       integer(USHORT) reserved ! knowns  USHORT 
     END TYPE
    !Inserted structure here:T_RPC_ASYNC_STATE
     STRUCTURE /T_RPC_ASYNC_STATE/
        integer(UINT) Size ! knowns  unsigned int 
        integer(ULONG) Signature ! knowns  unsigned long 
        integer(LONG) Lock ! knowns  long 
        integer(ULONG) Flags ! knowns  unsigned long 
       integer(LPVOID) StubInfo ! star  void  *
       integer(LPVOID) UserInfo ! star  void  *
       integer(LPVOID) RuntimeInfo ! star  void  *
    !???   RPC_ASYNC_EVENT Event !  RPC_ASYNC_EVENT 
    !???   RPC_NOTIFICATION_TYPES NotificationType !  RPC_NOTIFICATION_TYPES 
       UNION  ! u
         MAP
          STRUCTURE /f_APC/ APC
        integer(LPVOID) NotificationRoutine ! pointers  PFN_RPCNOTIFICATION_ROUTINE 
        integer(HANDLE) hThread ! knowns  HANDLE 
          END STRUCTURE ! APC
         END MAP
         MAP
          STRUCTURE /f_IOC/ IOC
        integer(HANDLE) hIOPort ! knowns  HANDLE 
        integer(DWORD) dwNumberOfBytesTransferred ! knowns  DWORD 
        integer(DWORD_PTR) dwCompletionKey ! knowns  DWORD_PTR 
        integer(LPVOID) lpOverlapped ! pointers  LPOVERLAPPED 
          END STRUCTURE ! IOC
         END MAP
         MAP
          STRUCTURE /f_HWND/ HWND
        integer(HANDLE) hWnd ! handles  HWND 
        integer(UINT) Msg ! knowns  UINT 
          END STRUCTURE ! HWND
         END MAP
         MAP
        integer(HANDLE) hEvent ! knowns  HANDLE 
         END MAP
         MAP
        integer(LPVOID) NotificationRoutine ! pointers  PFN_RPCNOTIFICATION_ROUTINE 
         END MAP
       END UNION  ! u
        integer(LONG_PTR) Reserved(4) ! knowns  LONG_PTR 
     END STRUCTURE
  
     TYPE T_DRAGINFO
     SEQUENCE
       integer(UINT) uSize ! knowns  UINT 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(BOOL) fNC ! knowns  BOOL 
       integer(LPSTR) lpFileList ! knowns  LPSTR 
       integer(DWORD) grfKeyState ! knowns  DWORD 
     END TYPE
     TYPE T_DRAGINFOW
     SEQUENCE
       integer(UINT) uSize ! knowns  UINT 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(BOOL) fNC ! knowns  BOOL 
       integer(LPWSTR) lpFileList ! knowns  LPWSTR 
       integer(DWORD) grfKeyState ! knowns  DWORD 
     END TYPE
     TYPE T_APPBARDATA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) uCallbackMessage ! knowns  UINT 
       integer(UINT) uEdge ! knowns  UINT 
       TYPE (T_RECT) rc ! typedefs  RECT 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
     END TYPE
     TYPE T_SHFILEOPSTRUCT
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) wFunc ! knowns  UINT 
       integer(LPCSTR) pFrom ! knowns  LPCSTR 
       integer(LPCSTR) pTo ! knowns  LPCSTR 
       integer(USHORT) fFlags ! typedefs  FILEOP_FLAGS 
       integer(BOOL) fAnyOperationsAborted ! knowns  BOOL 
       integer(LPVOID) hNameMappings ! knowns  LPVOID 
       integer(LPCSTR) lpszProgressTitle ! knowns  LPCSTR 
     END TYPE
     TYPE T_SHFILEOPSTRUCTW
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT) wFunc ! knowns  UINT 
       integer(LPCWSTR) pFrom ! knowns  LPCWSTR 
       integer(LPCWSTR) pTo ! knowns  LPCWSTR 
       integer(USHORT) fFlags ! typedefs  FILEOP_FLAGS 
       integer(BOOL) fAnyOperationsAborted ! knowns  BOOL 
       integer(LPVOID) hNameMappings ! knowns  LPVOID 
       integer(LPCWSTR) lpszProgressTitle ! knowns  LPCWSTR 
     END TYPE
     TYPE T_SHNAMEMAPPING
     SEQUENCE
       integer(LPSTR) pszOldPath ! knowns  LPSTR 
       integer(LPSTR) pszNewPath ! knowns  LPSTR 
       integer(SINT) cchOldPath ! knowns  int 
       integer(SINT) cchNewPath ! knowns  int 
     END TYPE
     TYPE T_SHNAMEMAPPINGW
     SEQUENCE
       integer(LPWSTR) pszOldPath ! knowns  LPWSTR 
       integer(LPWSTR) pszNewPath ! knowns  LPWSTR 
       integer(SINT) cchOldPath ! knowns  int 
       integer(SINT) cchNewPath ! knowns  int 
     END TYPE
    !Inserted structure here:T_SHELLEXECUTEINFO
     STRUCTURE /T_SHELLEXECUTEINFO/
        integer(DWORD) cbSize ! knowns  DWORD 
        integer(ULONG) fMask ! knowns  ULONG 
        integer(HANDLE) hwnd ! handles  HWND 
        integer(LPCSTR) lpVerb ! knowns  LPCSTR 
        integer(LPCSTR) lpFile ! knowns  LPCSTR 
        integer(LPCSTR) lpParameters ! knowns  LPCSTR 
        integer(LPCSTR) lpDirectory ! knowns  LPCSTR 
        integer(SINT) nShow ! knowns  int 
        integer(HANDLE) hInstApp ! handles  HINSTANCE 
        integer(LPVOID) lpIDList ! knowns  LPVOID 
        integer(LPCSTR) lpClass ! knowns  LPCSTR 
        integer(HANDLE) hkeyClass ! handles  HKEY 
        integer(DWORD) dwHotKey ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! knowns  HANDLE 
         END MAP
         MAP
        integer(HANDLE) hMonitor ! knowns  HANDLE 
         END MAP
       END UNION  ! field0
        integer(HANDLE) hProcess ! knowns  HANDLE 
     END STRUCTURE
    !Inserted structure here:T_SHELLEXECUTEINFOW
     STRUCTURE /T_SHELLEXECUTEINFOW/
        integer(DWORD) cbSize ! knowns  DWORD 
        integer(ULONG) fMask ! knowns  ULONG 
        integer(HANDLE) hwnd ! handles  HWND 
        integer(LPCWSTR) lpVerb ! knowns  LPCWSTR 
        integer(LPCWSTR) lpFile ! knowns  LPCWSTR 
        integer(LPCWSTR) lpParameters ! knowns  LPCWSTR 
        integer(LPCWSTR) lpDirectory ! knowns  LPCWSTR 
        integer(SINT) nShow ! knowns  int 
        integer(HANDLE) hInstApp ! handles  HINSTANCE 
        integer(LPVOID) lpIDList ! knowns  LPVOID 
        integer(LPCWSTR) lpClass ! knowns  LPCWSTR 
        integer(HANDLE) hkeyClass ! handles  HKEY 
        integer(DWORD) dwHotKey ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! knowns  HANDLE 
         END MAP
         MAP
        integer(HANDLE) hMonitor ! knowns  HANDLE 
         END MAP
       END UNION  ! field0
        integer(HANDLE) hProcess ! knowns  HANDLE 
     END STRUCTURE
     TYPE T_SHCREATEPROCESSINFOW
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(ULONG) fMask ! knowns  ULONG 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(LPCWSTR) pszFile ! knowns  LPCWSTR 
       integer(LPCWSTR) pszParameters ! knowns  LPCWSTR 
       integer(LPCWSTR) pszCurrentDirectory ! knowns  LPCWSTR 
       integer(HANDLE) hUserToken ! knowns  HANDLE 
       integer(LPVOID) lpProcessAttributes ! pointers  LPSECURITY_ATTRIBUTES 
       integer(LPVOID) lpThreadAttributes ! pointers  LPSECURITY_ATTRIBUTES 
       integer(BOOL) bInheritHandles ! knowns  BOOL 
       integer(DWORD) dwCreationFlags ! knowns  DWORD 
       integer(LPVOID) lpStartupInfo ! pointers  LPSTARTUPINFOW 
       integer(LPVOID) lpProcessInformation ! pointers  LPPROCESS_INFORMATION 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_SHQUERYRBINFO  !put into x86 also when integer(8) is in
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(INT64) i64Size !  f__int64 
       integer(INT64) i64NumItems !  f__int64 
     END TYPE
    !DEC$ ELSE
     TYPE T_SHQUERYRBINFO  !put into x86 also when integer(8) is in
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE(T_LARGE_INTEGERX) i64Size !  f__int64 
       TYPE(T_LARGE_INTEGERX) i64NumItems !  f__int64 
     END TYPE
    !DEC$ ENDIF
     TYPE T_NOTIFYICONDATA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) uID ! knowns  UINT 
       integer(UINT) uFlags ! knowns  UINT 
       integer(UINT) uCallbackMessage ! knowns  UINT 
       integer(HANDLE) hIcon ! handles  HICON 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szTip(64) ! knowns  CHAR 
!DEC$ ELSE
       character(64) szTip
!DEC$ ENDIF
     END TYPE
     TYPE T_NOTIFYICONDATAW
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(HANDLE) hWnd ! handles  HWND 
       integer(UINT) uID ! knowns  UINT 
       integer(UINT) uFlags ! knowns  UINT 
       integer(UINT) uCallbackMessage ! knowns  UINT 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(WCHAR) szTip(64) ! knowns  WCHAR 
     END TYPE
     TYPE T_SHFILEINFO
     SEQUENCE
       integer(HANDLE) hIcon ! handles  HICON 
       integer(SINT) iIcon ! knowns  int 
       integer(DWORD) dwAttributes ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szDisplayName(260) ! knowns  CHAR 
!DEC$ ELSE
       character(260) szDisplayName
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szTypeName(80) ! knowns  CHAR 
!DEC$ ELSE
       character(80) szTypeName
!DEC$ ENDIF
     END TYPE
     TYPE T_SHFILEINFOW
     SEQUENCE
       integer(HANDLE) hIcon ! handles  HICON 
       integer(SINT) iIcon ! knowns  int 
       integer(DWORD) dwAttributes ! knowns  DWORD 
       integer(WCHAR) szDisplayName(260) ! knowns  WCHAR 
       integer(WCHAR) szTypeName(80) ! knowns  WCHAR 
     END TYPE
  
     TYPE T_PERF_DATA_BLOCK
     SEQUENCE
       integer(WCHAR) Signature(4) ! knowns  WCHAR 
       integer(DWORD) LittleEndian ! knowns  DWORD 
       integer(DWORD) Version ! knowns  DWORD 
       integer(DWORD) Revision ! knowns  DWORD 
       integer(DWORD) TotalByteLength ! knowns  DWORD 
       integer(DWORD) HeaderLength ! knowns  DWORD 
       integer(DWORD) NumObjectTypes ! knowns  DWORD 
       integer(LONG) DefaultObject ! knowns  LONG 
       TYPE (T_SYSTEMTIME) SystemTime ! typedefs  SYSTEMTIME 
       TYPE (T_LARGE_INTEGER) PerfTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) PerfFreq ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) PerfTime100nSec ! typedefs  LARGE_INTEGER 
       integer(DWORD) SystemNameLength ! knowns  DWORD 
       integer(DWORD) SystemNameOffset ! knowns  DWORD 
     END TYPE
     TYPE T_PERF_OBJECT_TYPE
     SEQUENCE
       integer(DWORD) TotalByteLength ! knowns  DWORD 
       integer(DWORD) DefinitionLength ! knowns  DWORD 
       integer(DWORD) HeaderLength ! knowns  DWORD 
       integer(DWORD) ObjectNameTitleIndex ! knowns  DWORD 
       integer(LPWSTR) ObjectNameTitle ! knowns  LPWSTR 
       integer(DWORD) ObjectHelpTitleIndex ! knowns  DWORD 
       integer(LPWSTR) ObjectHelpTitle ! knowns  LPWSTR 
       integer(DWORD) DetailLevel ! knowns  DWORD 
       integer(DWORD) NumCounters ! knowns  DWORD 
       integer(LONG) DefaultCounter ! knowns  LONG 
       integer(LONG) NumInstances ! knowns  LONG 
       integer(DWORD) CodePage ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) PerfTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) PerfFreq ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_PERF_COUNTER_DEFINITION
     SEQUENCE
       integer(DWORD) ByteLength ! knowns  DWORD 
       integer(DWORD) CounterNameTitleIndex ! knowns  DWORD 
       integer(LPWSTR) CounterNameTitle ! knowns  LPWSTR 
       integer(DWORD) CounterHelpTitleIndex ! knowns  DWORD 
       integer(LPWSTR) CounterHelpTitle ! knowns  LPWSTR 
       integer(LONG) DefaultScale ! knowns  LONG 
       integer(DWORD) DetailLevel ! knowns  DWORD 
       integer(DWORD) CounterType ! knowns  DWORD 
       integer(DWORD) CounterSize ! knowns  DWORD 
       integer(DWORD) CounterOffset ! knowns  DWORD 
     END TYPE
     TYPE T_PERF_INSTANCE_DEFINITION
     SEQUENCE
       integer(DWORD) ByteLength ! knowns  DWORD 
       integer(DWORD) ParentObjectTitleIndex ! knowns  DWORD 
       integer(DWORD) ParentObjectInstance ! knowns  DWORD 
       integer(LONG) UniqueID ! knowns  LONG 
       integer(DWORD) NameOffset ! knowns  DWORD 
       integer(DWORD) NameLength ! knowns  DWORD 
     END TYPE
     TYPE T_PERF_COUNTER_BLOCK
     SEQUENCE
       integer(DWORD) ByteLength ! knowns  DWORD 
     END TYPE
     TYPE T_fd_set
     SEQUENCE
       integer(UINT) fd_count ! typedefs  u_int 
    !DEC$ IF DEFINED( _M_IA64)
       integer(DWORD64) fd_array(64) ! typedefs  SOCKET 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(UINT) fd_array(64) ! typedefs  SOCKET 
    !DEC$ ENDIF
     END TYPE
     TYPE T_timeval
     SEQUENCE
       integer(LONG) tv_sec ! knowns  long 
       integer(LONG) tv_usec ! knowns  long 
     END TYPE
     TYPE T_hostent
     SEQUENCE
      integer(LPVOID)  h_name ! star  char  *
      integer(LPVOID)   h_aliases ! star  char  *
       integer(SHORT) h_addrtype ! knowns  short 
       integer(SHORT) h_length ! knowns  short 
      integer(LPVOID)   h_addr_list ! star  char  *
     END TYPE
     TYPE T_netent
     SEQUENCE
      integer(LPVOID)  n_name ! star  char  *
      integer(LPVOID)   n_aliases ! star  char  *
       integer(SHORT) n_addrtype ! knowns  short 
       integer(ULONG) n_net ! typedefs  u_long 
     END TYPE
     TYPE T_servent
     SEQUENCE
      integer(LPVOID)  s_name ! star  char  *
      integer(LPVOID)   s_aliases ! star  char  *
    !DEC$ IF DEFINED( _M_IA64)
      integer(LPVOID)  s_proto ! star  char  *
    !DEC$ ENDIF
       integer(SHORT) s_port ! knowns  short 
    !DEC$ IF DEFINED( _M_IX86)
      integer(LPVOID)  s_proto ! star  char  *
    !DEC$ ENDIF
     END TYPE
     TYPE T_protoent
     SEQUENCE
      integer(LPVOID)  p_name ! star  char  *
      integer(LPVOID)   p_aliases ! star  char  *
       integer(SHORT) p_proto ! knowns  short 
     END TYPE
    !Inserted structure here:T_in_addr
     STRUCTURE /T_in_addr/
       UNION  ! S_un
         MAP
          STRUCTURE /f_S_un_b/ S_un_b
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(UCHAR) s_b1,s_b2,s_b3,s_b4 ! knowns  u_char 
!DEC$ ELSE
        character(1) s_b1,s_b2,s_b3,s_b4 ! knowns  u_char 
!DEC$ ENDIF
          END STRUCTURE ! S_un_b
         END MAP
         MAP
          STRUCTURE /f_S_un_w/ S_un_w
        integer(USHORT) s_w1,s_w2 ! knowns  u_short 
          END STRUCTURE ! S_un_w
         END MAP
         MAP
        integer(ULONG) S_addr ! typedefs  u_long 
         END MAP
       END UNION  ! S_un
     END STRUCTURE
     TYPE T_sockaddr_in
     SEQUENCE
       integer(SHORT) sin_family ! knowns  short 
       integer(USHORT) sin_port ! knowns  u_short 
       TYPE(T_in_addr) sin_addr
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) sin_zero(8) ! knowns  char 
!DEC$ ELSE
       character(8) sin_zero
!DEC$ ENDIF
     END TYPE
     TYPE T_WSADATA
     SEQUENCE
       integer(WORD) wVersion ! knowns  WORD 
       integer(WORD) wHighVersion ! knowns  WORD 
    !DEC$ IF DEFINED( _M_IX86)
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
      character(SCHAR)  szDescription(256+1)
!DEC$ ELSE
      character(256+1)  szDescription
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
      character(SCHAR)  szSystemStatus(128+1)
!DEC$ ELSE
      character(128+1)  szSystemStatus
!DEC$ ENDIF
    !DEC$ ENDIF
       integer(USHORT) iMaxSockets ! knowns  unsigned short 
       integer(USHORT) iMaxUdpDg ! knowns  unsigned short 
      integer(LPVOID)  lpVendorInfo ! star  char  *
    !DEC$ IF DEFINED( _M_IA64)
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
      character(SCHAR) szDescription(256+1)
!DEC$ ELSE
      character(256+1) szDescription
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
      character(SCHAR) szSystemStatus(128+1)
!DEC$ ELSE
      character(128+1) szSystemStatus
!DEC$ ENDIF
    !DEC$ ENDIF
     END TYPE
     TYPE T_ip_mreq
     SEQUENCE
       TYPE(T_in_addr) imr_multiaddr
       TYPE(T_in_addr) imr_interface
     END TYPE
     TYPE T_sockaddr
     SEQUENCE
       integer(USHORT) sa_family ! knowns  u_short 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) sa_data(14) ! knowns  char 
!DEC$ ELSE
       character(14) sa_data
!DEC$ ENDIF
     END TYPE
     TYPE T_sockproto
     SEQUENCE
       integer(USHORT) sp_family ! knowns  u_short 
       integer(USHORT) sp_protocol ! knowns  u_short 
     END TYPE
     TYPE T_linger
     SEQUENCE
       integer(USHORT) l_onoff ! knowns  u_short 
       integer(USHORT) l_linger ! knowns  u_short 
     END TYPE
     TYPE T_TRANSMIT_FILE_BUFFERS
     SEQUENCE
       integer(PVOID) Head ! knowns  PVOID 
       integer(DWORD) HeadLength ! knowns  DWORD 
       integer(PVOID) Tail ! knowns  PVOID 
       integer(DWORD) TailLength ! knowns  DWORD 
     END TYPE
     TYPE T_VTableProvStruc
     SEQUENCE
       integer(DWORD) Version ! knowns  DWORD 
       integer(LPVOID) FuncVerifyImage ! pointers  FARPROC 
       integer(LPVOID) FuncReturnhWnd ! pointers  FARPROC 
       integer(DWORD) dwProvType ! knowns  DWORD 
      integer(LPVOID) pbContextInfo ! star  BYTE  *
       integer(DWORD) cbContextInfo ! knowns  DWORD 
       integer(LPSTR) pszProvName ! knowns  LPSTR 
     END TYPE
     TYPE T_CMS_KEY_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       integer(UINT) Algid ! typedefs  ALG_ID 
      integer(LPVOID) pbOID ! star  BYTE  *
       integer(DWORD) cbOID ! knowns  DWORD 
     END TYPE
     TYPE T_HMAC_INFO
     SEQUENCE
       integer(UINT) HashAlgid ! typedefs  ALG_ID 
      integer(LPVOID) pbInnerString ! star  BYTE  *
       integer(DWORD) cbInnerString ! knowns  DWORD 
      integer(LPVOID) pbOuterString ! star  BYTE  *
       integer(DWORD) cbOuterString ! knowns  DWORD 
     END TYPE
     TYPE T_SCHANNEL_ALG
     SEQUENCE
       integer(DWORD) dwUse ! knowns  DWORD 
       integer(UINT) Algid ! typedefs  ALG_ID 
       integer(DWORD) cBits ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwReserved ! knowns  DWORD 
     END TYPE
     TYPE T_PROV_ENUMALGS
     SEQUENCE
       integer(UINT) aiAlgid ! typedefs  ALG_ID 
       integer(DWORD) dwBitLen ! knowns  DWORD 
       integer(DWORD) dwNameLen ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szName(20) ! knowns  CHAR 
!DEC$ ELSE
       character(20) szName
!DEC$ ENDIF
     END TYPE
     TYPE T_PROV_ENUMALGS_EX
     SEQUENCE
       integer(UINT) aiAlgid ! typedefs  ALG_ID 
       integer(DWORD) dwDefaultLen ! knowns  DWORD 
       integer(DWORD) dwMinLen ! knowns  DWORD 
       integer(DWORD) dwMaxLen ! knowns  DWORD 
       integer(DWORD) dwProtocols ! knowns  DWORD 
       integer(DWORD) dwNameLen ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szName(20) ! knowns  CHAR 
!DEC$ ELSE
       character(20) szName
!DEC$ ENDIF
       integer(DWORD) dwLongNameLen ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szLongName(40) ! knowns  CHAR 
!DEC$ ELSE
       character(40) szLongName
!DEC$ ENDIF
     END TYPE
     TYPE T_BLOBHEADER
     SEQUENCE
       integer(BYTE) bType ! knowns  BYTE 
       integer(BYTE) bVersion ! knowns  BYTE 
       integer(WORD) reserved ! knowns  WORD 
       integer(UINT) aiKeyAlg ! typedefs  ALG_ID 
     END TYPE
     TYPE T_PUBLICKEYSTRUC
     SEQUENCE
       integer(BYTE) bType ! knowns  BYTE 
       integer(BYTE) bVersion ! knowns  BYTE 
       integer(WORD) reserved ! knowns  WORD 
       integer(UINT) aiKeyAlg ! typedefs  ALG_ID 
     END TYPE
     TYPE T_RSAPUBKEY
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlen ! knowns  DWORD 
       integer(DWORD) pubexp ! knowns  DWORD 
     END TYPE
     TYPE T_DHPUBKEY
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlen ! knowns  DWORD 
     END TYPE
     TYPE T_DSSPUBKEY
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlen ! knowns  DWORD 
     END TYPE
     TYPE T_KEAPUBKEY
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlen ! knowns  DWORD 
     END TYPE
     TYPE T_TEKPUBKEY
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlen ! knowns  DWORD 
     END TYPE
     TYPE T_DSSSEED
     SEQUENCE
       integer(DWORD) counter ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) seed(20) ! knowns  BYTE 
!DEC$ ELSE
       character(20) seed
!DEC$ ENDIF
     END TYPE
     TYPE T_DHPUBKEY_VER3
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlenP ! knowns  DWORD 
       integer(DWORD) bitlenQ ! knowns  DWORD 
       integer(DWORD) bitlenJ ! knowns  DWORD 
       TYPE (T_DSSSEED) DSSSeed ! typedefs  DSSSEED 
     END TYPE
     TYPE T_DSSPUBKEY_VER3
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlenP ! knowns  DWORD 
       integer(DWORD) bitlenQ ! knowns  DWORD 
       integer(DWORD) bitlenJ ! knowns  DWORD 
       TYPE (T_DSSSEED) DSSSeed ! typedefs  DSSSEED 
     END TYPE
     TYPE T_DHPRIVKEY_VER3
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlenP ! knowns  DWORD 
       integer(DWORD) bitlenQ ! knowns  DWORD 
       integer(DWORD) bitlenJ ! knowns  DWORD 
       integer(DWORD) bitlenX ! knowns  DWORD 
       TYPE (T_DSSSEED) DSSSeed ! typedefs  DSSSEED 
     END TYPE
     TYPE T_DSSPRIVKEY_VER3
     SEQUENCE
       integer(DWORD) magic ! knowns  DWORD 
       integer(DWORD) bitlenP ! knowns  DWORD 
       integer(DWORD) bitlenQ ! knowns  DWORD 
       integer(DWORD) bitlenJ ! knowns  DWORD 
       integer(DWORD) bitlenX ! knowns  DWORD 
       TYPE (T_DSSSEED) DSSSeed ! typedefs  DSSSEED 
     END TYPE
     TYPE T_KEY_TYPE_SUBTYPE
     SEQUENCE
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       TYPE (T_GUID) Type ! typedefs  GUID 
       TYPE (T_GUID) Subtype ! typedefs  GUID 
     END TYPE
     TYPE T_CERT_FORTEZZA_DATA_PROP
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) SerialNumber(8) ! knowns  unsigned char 
!DEC$ ELSE
       character(8) SerialNumber
!DEC$ ENDIF
       integer(SINT) CertIndex ! knowns  int 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) CertLabel(36) ! knowns  unsigned char 
!DEC$ ELSE
       character(36) CertLabel
!DEC$ ENDIF
     END TYPE
     TYPE T_CRYPT_INTEGER_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_UINT_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_OBJID_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CERT_NAME_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CERT_RDN_VALUE_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CERT_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRL_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_DATA_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_DATA_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_HASH_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_DIGEST_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_DER_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CRYPT_ATTR_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
     END TYPE
     TYPE T_CMS_DH_KEY_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       integer(UINT) Algid ! typedefs  ALG_ID 
       integer(LPSTR) pszContentEncObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_DATA_BLOB) PubInfo ! typedefs  CRYPT_DATA_BLOB 
      integer(LPVOID) pReserved ! star  void  *
     END TYPE
     TYPE T_CRYPT_BIT_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
       integer(DWORD) cUnusedBits ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_ALGORITHM_IDENTIFIER
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Parameters ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
     TYPE T_CRYPT_OBJID_TABLE
     SEQUENCE
       integer(DWORD) dwAlgId ! knowns  DWORD 
       integer(LPCSTR) pszObjId ! knowns  LPCSTR 
     END TYPE
     TYPE T_CRYPT_HASH_INFO
     SEQUENCE
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_HASH_BLOB) Hash ! typedefs  CRYPT_HASH_BLOB 
     END TYPE
     TYPE T_CERT_EXTENSION
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       integer(BOOL) fCritical ! knowns  BOOL 
       TYPE (T_CRYPT_OBJID_BLOB) Value ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
     TYPE T_CRYPT_ATTRIBUTE_TYPE_VALUE
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Value ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
     TYPE T_CRYPT_ATTRIBUTE
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       integer(DWORD) cValue ! knowns  DWORD 
       integer(LPVOID) rgValue ! pointers  PCRYPT_ATTR_BLOB 
     END TYPE
     TYPE T_CRYPT_ATTRIBUTES
     SEQUENCE
       integer(DWORD) cAttr ! knowns  DWORD 
       integer(LPVOID) rgAttr ! pointers  PCRYPT_ATTRIBUTE 
     END TYPE
     TYPE T_CERT_RDN_ATTR
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       integer(DWORD) dwValueType ! knowns  DWORD 
       TYPE (T_CERT_RDN_VALUE_BLOB) Value ! typedefs  CERT_RDN_VALUE_BLOB 
     END TYPE
     TYPE T_CERT_RDN
     SEQUENCE
       integer(DWORD) cRDNAttr ! knowns  DWORD 
       integer(LPVOID) rgRDNAttr ! pointers  PCERT_RDN_ATTR 
     END TYPE
     TYPE T_CERT_NAME_INFO
     SEQUENCE
       integer(DWORD) cRDN ! knowns  DWORD 
       integer(LPVOID) rgRDN ! pointers  PCERT_RDN 
     END TYPE
     TYPE T_CERT_NAME_VALUE
     SEQUENCE
       integer(DWORD) dwValueType ! knowns  DWORD 
       TYPE (T_CERT_RDN_VALUE_BLOB) Value ! typedefs  CERT_RDN_VALUE_BLOB 
     END TYPE
     TYPE T_CERT_PUBLIC_KEY_INFO
     SEQUENCE
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) Algorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_BIT_BLOB) PublicKey ! typedefs  CRYPT_BIT_BLOB 
     END TYPE
     TYPE T_CRYPT_PRIVATE_KEY_INFO
     SEQUENCE
       integer(DWORD) Version ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) Algorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DER_BLOB) PrivateKey ! typedefs  CRYPT_DER_BLOB 
       integer(LPVOID) pAttributes ! pointers  PCRYPT_ATTRIBUTES 
     END TYPE
     TYPE T_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO
     SEQUENCE
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) EncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedPrivateKey ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CRYPT_PKCS8_IMPORT_PARAMS
     SEQUENCE
       TYPE (T_CRYPT_DIGEST_BLOB) PrivateKey ! typedefs  CRYPT_DIGEST_BLOB 
       integer(LPVOID) pResolvehCryptProvFunc ! pointers  PCRYPT_RESOLVE_HCRYPTPROV_FUNC 
       integer(LPVOID) pVoidResolveFunc ! knowns  LPVOID 
       integer(LPVOID) pDecryptPrivateKeyFunc ! pointers  PCRYPT_DECRYPT_PRIVATE_KEY_FUNC 
       integer(LPVOID) pVoidDecryptFunc ! knowns  LPVOID 
     END TYPE
     TYPE T_CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS
     SEQUENCE
       TYPE (T_CRYPT_DIGEST_BLOB) PrivateKey ! typedefs  CRYPT_DIGEST_BLOB 
       integer(LPVOID) pResolvehCryptProvFunc ! pointers  PCRYPT_RESOLVE_HCRYPTPROV_FUNC 
       integer(LPVOID) pVoidResolveFunc ! knowns  LPVOID 
       integer(LPVOID) pDecryptPrivateKeyFunc ! pointers  PCRYPT_DECRYPT_PRIVATE_KEY_FUNC 
       integer(LPVOID) pVoidDecryptFunc ! knowns  LPVOID 
     END TYPE
     TYPE T_CRYPT_PKCS8_EXPORT_PARAMS
     SEQUENCE
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(LPSTR) pszPrivateKeyObjId ! knowns  LPSTR 
       integer(LPVOID) pEncryptPrivateKeyFunc ! pointers  PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC 
       integer(LPVOID) pVoidEncryptFunc ! knowns  LPVOID 
     END TYPE
     TYPE T_CERT_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CRYPT_INTEGER_BLOB) SerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) SignatureAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CERT_NAME_BLOB) Issuer ! typedefs  CERT_NAME_BLOB 
       TYPE (T_FILETIME) NotBefore ! typedefs  FILETIME 
       TYPE (T_FILETIME) NotAfter ! typedefs  FILETIME 
       TYPE (T_CERT_NAME_BLOB) Subject ! typedefs  CERT_NAME_BLOB 
       TYPE (T_CERT_PUBLIC_KEY_INFO) SubjectPublicKeyInfo ! typedefs  CERT_PUBLIC_KEY_INFO 
       TYPE (T_CRYPT_BIT_BLOB) IssuerUniqueId ! typedefs  CRYPT_BIT_BLOB 
       TYPE (T_CRYPT_BIT_BLOB) SubjectUniqueId ! typedefs  CRYPT_BIT_BLOB 
       integer(DWORD) cExtension ! knowns  DWORD 
       integer(LPVOID) rgExtension ! pointers  PCERT_EXTENSION 
     END TYPE
     TYPE T_CRL_ENTRY
     SEQUENCE
       TYPE (T_CRYPT_INTEGER_BLOB) SerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
       TYPE (T_FILETIME) RevocationDate ! typedefs  FILETIME 
       integer(DWORD) cExtension ! knowns  DWORD 
       integer(LPVOID) rgExtension ! pointers  PCERT_EXTENSION 
     END TYPE
     TYPE T_CRL_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) SignatureAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CERT_NAME_BLOB) Issuer ! typedefs  CERT_NAME_BLOB 
       TYPE (T_FILETIME) ThisUpdate ! typedefs  FILETIME 
       TYPE (T_FILETIME) NextUpdate ! typedefs  FILETIME 
       integer(DWORD) cCRLEntry ! knowns  DWORD 
       integer(LPVOID) rgCRLEntry ! pointers  PCRL_ENTRY 
       integer(DWORD) cExtension ! knowns  DWORD 
       integer(LPVOID) rgExtension ! pointers  PCERT_EXTENSION 
     END TYPE
     TYPE T_CERT_REQUEST_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CERT_NAME_BLOB) Subject ! typedefs  CERT_NAME_BLOB 
       TYPE (T_CERT_PUBLIC_KEY_INFO) SubjectPublicKeyInfo ! typedefs  CERT_PUBLIC_KEY_INFO 
       integer(DWORD) cAttribute ! knowns  DWORD 
       integer(LPVOID) rgAttribute ! pointers  PCRYPT_ATTRIBUTE 
     END TYPE
     TYPE T_CERT_KEYGEN_REQUEST_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CERT_PUBLIC_KEY_INFO) SubjectPublicKeyInfo ! typedefs  CERT_PUBLIC_KEY_INFO 
       integer(LPWSTR) pwszChallengeString ! knowns  LPWSTR 
     END TYPE
     TYPE T_CERT_SIGNED_CONTENT_INFO
     SEQUENCE
       TYPE (T_CRYPT_DER_BLOB) ToBeSigned ! typedefs  CRYPT_DER_BLOB 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) SignatureAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_BIT_BLOB) Signature ! typedefs  CRYPT_BIT_BLOB 
     END TYPE
     TYPE T_CTL_USAGE
     SEQUENCE
       integer(DWORD) cUsageIdentifier ! knowns  DWORD 
      integer(LPVOID) rgpszUsageIdentifier ! star  LPSTR  *
     END TYPE
     TYPE T_CERT_ENHKEY_USAGE
     SEQUENCE
       integer(DWORD) cUsageIdentifier ! knowns  DWORD 
      integer(LPVOID) rgpszUsageIdentifier ! star  LPSTR  *
     END TYPE
     TYPE T_CTL_ENTRY
     SEQUENCE
       TYPE (T_CRYPT_DATA_BLOB) SubjectIdentifier ! typedefs  CRYPT_DATA_BLOB 
       integer(DWORD) cAttribute ! knowns  DWORD 
       integer(LPVOID) rgAttribute ! pointers  PCRYPT_ATTRIBUTE 
     END TYPE
     TYPE T_CTL_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CTL_USAGE) SubjectUsage ! typedefs  CTL_USAGE 
       TYPE (T_CRYPT_DATA_BLOB) ListIdentifier ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CRYPT_INTEGER_BLOB) SequenceNumber ! typedefs  CRYPT_INTEGER_BLOB 
       TYPE (T_FILETIME) ThisUpdate ! typedefs  FILETIME 
       TYPE (T_FILETIME) NextUpdate ! typedefs  FILETIME 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) SubjectAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       integer(DWORD) cCTLEntry ! knowns  DWORD 
       integer(LPVOID) rgCTLEntry ! pointers  PCTL_ENTRY 
       integer(DWORD) cExtension ! knowns  DWORD 
       integer(LPVOID) rgExtension ! pointers  PCERT_EXTENSION 
     END TYPE
     TYPE T_CRYPT_TIME_STAMP_REQUEST_INFO
     SEQUENCE
       integer(LPSTR) pszTimeStampAlgorithm ! knowns  LPSTR 
       integer(LPSTR) pszContentType ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Content ! typedefs  CRYPT_OBJID_BLOB 
       integer(DWORD) cAttribute ! knowns  DWORD 
       integer(LPVOID) rgAttribute ! pointers  PCRYPT_ATTRIBUTE 
     END TYPE
     TYPE T_CRYPT_ENROLLMENT_NAME_VALUE_PAIR
     SEQUENCE
       integer(LPWSTR) pwszName ! knowns  LPWSTR 
       integer(LPWSTR) pwszValue ! knowns  LPWSTR 
     END TYPE
     TYPE T_CRYPT_CSP_PROVIDER
     SEQUENCE
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(LPWSTR) pwszProviderName ! knowns  LPWSTR 
       TYPE (T_CRYPT_BIT_BLOB) Signature ! typedefs  CRYPT_BIT_BLOB 
     END TYPE
     TYPE T_CRYPT_ENCODE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pfnAlloc ! pointers  PFN_CRYPT_ALLOC 
       integer(LPVOID) pfnFree ! pointers  PFN_CRYPT_FREE 
     END TYPE
     TYPE T_CRYPT_DECODE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pfnAlloc ! pointers  PFN_CRYPT_ALLOC 
       integer(LPVOID) pfnFree ! pointers  PFN_CRYPT_FREE 
     END TYPE
     TYPE T_CERT_EXTENSIONS
     SEQUENCE
       integer(DWORD) cExtension ! knowns  DWORD 
       integer(LPVOID) rgExtension ! pointers  PCERT_EXTENSION 
     END TYPE
     TYPE T_CERT_AUTHORITY_KEY_ID_INFO
     SEQUENCE
       TYPE (T_CRYPT_DATA_BLOB) KeyId ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CERT_NAME_BLOB) CertIssuer ! typedefs  CERT_NAME_BLOB 
       TYPE (T_CRYPT_INTEGER_BLOB) CertSerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
     END TYPE
     TYPE T_CERT_PRIVATE_KEY_VALIDITY
     SEQUENCE
       TYPE (T_FILETIME) NotBefore ! typedefs  FILETIME 
       TYPE (T_FILETIME) NotAfter ! typedefs  FILETIME 
     END TYPE
     TYPE T_CERT_KEY_ATTRIBUTES_INFO
     SEQUENCE
       TYPE (T_CRYPT_DATA_BLOB) KeyId ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CRYPT_BIT_BLOB) IntendedKeyUsage ! typedefs  CRYPT_BIT_BLOB 
       integer(LPVOID) pPrivateKeyUsagePeriod ! pointers  PCERT_PRIVATE_KEY_VALIDITY 
     END TYPE
     TYPE T_CERT_POLICY_ID
     SEQUENCE
       integer(DWORD) cCertPolicyElementId ! knowns  DWORD 
      integer(LPVOID) rgpszCertPolicyElementId ! star  LPSTR  *
     END TYPE
     TYPE T_CERT_KEY_USAGE_RESTRICTION_INFO
     SEQUENCE
       integer(DWORD) cCertPolicyId ! knowns  DWORD 
       integer(LPVOID) rgCertPolicyId ! pointers  PCERT_POLICY_ID 
       TYPE (T_CRYPT_BIT_BLOB) RestrictedKeyUsage ! typedefs  CRYPT_BIT_BLOB 
     END TYPE
     TYPE T_CERT_OTHER_NAME
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Value ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
    !Inserted structure here:T_CERT_ALT_NAME_ENTRY
     STRUCTURE /T_CERT_ALT_NAME_ENTRY/
        integer(DWORD) dwAltNameChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(LPVOID) pOtherName ! pointers  PCERT_OTHER_NAME 
         END MAP
         MAP
        integer(LPWSTR) pwszRfc822Name ! knowns  LPWSTR 
         END MAP
         MAP
        integer(LPWSTR) pwszDNSName ! knowns  LPWSTR 
         END MAP
         MAP
        TYPE(T_CERT_NAME_BLOB) DirectoryName ! typedefs  CERT_NAME_BLOB 
         END MAP
         MAP
        integer(LPWSTR) pwszURL ! knowns  LPWSTR 
         END MAP
         MAP
        TYPE(T_CRYPT_DATA_BLOB) IPAddress ! typedefs  CRYPT_DATA_BLOB 
         END MAP
         MAP
        integer(LPSTR) pszRegisteredID ! knowns  LPSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CERT_ALT_NAME_INFO
     SEQUENCE
       integer(DWORD) cAltEntry ! knowns  DWORD 
       integer(LPVOID) rgAltEntry ! pointers  PCERT_ALT_NAME_ENTRY 
     END TYPE
     TYPE T_CERT_BASIC_CONSTRAINTS_INFO
     SEQUENCE
       TYPE (T_CRYPT_BIT_BLOB) SubjectType ! typedefs  CRYPT_BIT_BLOB 
       integer(BOOL) fPathLenConstraint ! knowns  BOOL 
       integer(DWORD) dwPathLenConstraint ! knowns  DWORD 
       integer(DWORD) cSubtreesConstraint ! knowns  DWORD 
      integer(LPVOID) rgSubtreesConstraint ! star  CERT_NAME_BLOB  *
     END TYPE
     TYPE T_CERT_BASIC_CONSTRAINTS2_INFO
     SEQUENCE
       integer(BOOL) fCA ! knowns  BOOL 
       integer(BOOL) fPathLenConstraint ! knowns  BOOL 
       integer(DWORD) dwPathLenConstraint ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_POLICY_QUALIFIER_INFO
     SEQUENCE
       integer(LPSTR) pszPolicyQualifierId ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Qualifier ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
     TYPE T_CERT_POLICY_INFO
     SEQUENCE
       integer(LPSTR) pszPolicyIdentifier ! knowns  LPSTR 
       integer(DWORD) cPolicyQualifier ! knowns  DWORD 
      integer(LPVOID) rgPolicyQualifier ! star  CERT_POLICY_QUALIFIER_INFO  *
     END TYPE
     TYPE T_CERT_POLICIES_INFO
     SEQUENCE
       integer(DWORD) cPolicyInfo ! knowns  DWORD 
      integer(LPVOID) rgPolicyInfo ! star  CERT_POLICY_INFO  *
     END TYPE
     TYPE T_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE
     SEQUENCE
       integer(LPSTR) pszOrganization ! knowns  LPSTR 
       integer(DWORD) cNoticeNumbers ! knowns  DWORD 
      integer(LPVOID) rgNoticeNumbers ! star  int  *
     END TYPE
     TYPE T_CERT_POLICY_QUALIFIER_USER_NOTICE
     SEQUENCE
      integer(LPVOID) pNoticeReference ! star  CERT_POLICY_QUALIFIER_NOTICE_REFERENCE  *
       integer(LPWSTR) pszDisplayText ! knowns  LPWSTR 
     END TYPE
     TYPE T_CPS_URLS
     SEQUENCE
       integer(LPWSTR) pszURL ! knowns  LPWSTR 
      integer(LPVOID) pAlgorithm ! star  CRYPT_ALGORITHM_IDENTIFIER  *
      integer(LPVOID) pDigest ! star  CRYPT_DATA_BLOB  *
     END TYPE
     TYPE T_CERT_POLICY95_QUALIFIER1
     SEQUENCE
       integer(LPWSTR) pszPracticesReference ! knowns  LPWSTR 
       integer(LPSTR) pszNoticeIdentifier ! knowns  LPSTR 
       integer(LPSTR) pszNSINoticeIdentifier ! knowns  LPSTR 
       integer(DWORD) cCPSURLs ! knowns  DWORD 
      integer(LPVOID) rgCPSURLs ! star  CPS_URLS  *
     END TYPE
     TYPE T_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       integer(DWORD) cValue ! knowns  DWORD 
       integer(LPVOID) rgValue ! pointers  PCRYPT_DER_BLOB 
     END TYPE
     TYPE T_CRYPT_CONTENT_INFO
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_DER_BLOB) Content ! typedefs  CRYPT_DER_BLOB 
     END TYPE
     TYPE T_CRYPT_SEQUENCE_OF_ANY
     SEQUENCE
       integer(DWORD) cValue ! knowns  DWORD 
       integer(LPVOID) rgValue ! pointers  PCRYPT_DER_BLOB 
     END TYPE
     TYPE T_CERT_AUTHORITY_KEY_ID2_INFO
     SEQUENCE
       TYPE (T_CRYPT_DATA_BLOB) KeyId ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CERT_ALT_NAME_INFO) AuthorityCertIssuer ! typedefs  CERT_ALT_NAME_INFO 
       TYPE (T_CRYPT_INTEGER_BLOB) AuthorityCertSerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
     END TYPE
     TYPE T_CERT_ACCESS_DESCRIPTION
     SEQUENCE
       integer(LPSTR) pszAccessMethod ! knowns  LPSTR 
       TYPE (T_CERT_ALT_NAME_ENTRY) AccessLocation ! typedefs  CERT_ALT_NAME_ENTRY 
     END TYPE
     TYPE T_CERT_AUTHORITY_INFO_ACCESS
     SEQUENCE
       integer(DWORD) cAccDescr ! knowns  DWORD 
       integer(LPVOID) rgAccDescr ! pointers  PCERT_ACCESS_DESCRIPTION 
     END TYPE
    !Inserted structure here:T_CRL_DIST_POINT_NAME
     STRUCTURE /T_CRL_DIST_POINT_NAME/
        integer(DWORD) dwDistPointNameChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        TYPE(T_CERT_ALT_NAME_INFO) FullName ! typedefs  CERT_ALT_NAME_INFO 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CRL_DIST_POINT
     SEQUENCE
       TYPE (T_CRL_DIST_POINT_NAME) DistPointName ! typedefs  CRL_DIST_POINT_NAME 
       TYPE (T_CRYPT_BIT_BLOB) ReasonFlags ! typedefs  CRYPT_BIT_BLOB 
       TYPE (T_CERT_ALT_NAME_INFO) CRLIssuer ! typedefs  CERT_ALT_NAME_INFO 
     END TYPE
     TYPE T_CRL_DIST_POINTS_INFO
     SEQUENCE
       integer(DWORD) cDistPoint ! knowns  DWORD 
       integer(LPVOID) rgDistPoint ! pointers  PCRL_DIST_POINT 
     END TYPE
     TYPE T_CERT_DSS_PARAMETERS
     SEQUENCE
       TYPE (T_CRYPT_UINT_BLOB) p ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) q ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) g ! typedefs  CRYPT_UINT_BLOB 
     END TYPE
     TYPE T_CERT_DH_PARAMETERS
     SEQUENCE
       TYPE (T_CRYPT_UINT_BLOB) p ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) g ! typedefs  CRYPT_UINT_BLOB 
     END TYPE
     TYPE T_CERT_X942_DH_VALIDATION_PARAMS
     SEQUENCE
       TYPE (T_CRYPT_BIT_BLOB) seed ! typedefs  CRYPT_BIT_BLOB 
       integer(DWORD) pgenCounter ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_X942_DH_PARAMETERS
     SEQUENCE
       TYPE (T_CRYPT_UINT_BLOB) p ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) g ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) q ! typedefs  CRYPT_UINT_BLOB 
       TYPE (T_CRYPT_UINT_BLOB) j ! typedefs  CRYPT_UINT_BLOB 
       integer(LPVOID) pValidationParams ! pointers  PCERT_X942_DH_VALIDATION_PARAMS 
     END TYPE
     TYPE T_CRYPT_X942_OTHER_INFO
     SEQUENCE
       integer(LPSTR) pszContentEncryptionObjId ! knowns  LPSTR 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgbCounter(4) ! knowns  BYTE 
!DEC$ ELSE
       character(4) rgbCounter
!DEC$ ENDIF
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgbKeyLength(4) ! knowns  BYTE 
!DEC$ ELSE
       character(4) rgbKeyLength
!DEC$ ENDIF
       TYPE (T_CRYPT_DATA_BLOB) PubInfo ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CRYPT_RC2_CBC_PARAMETERS
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       integer(BOOL) fIV ! knowns  BOOL 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgbIV(8) ! knowns  BYTE 
!DEC$ ELSE
       character(8) rgbIV
!DEC$ ENDIF
     END TYPE
     TYPE T_CRYPT_SMIME_CAPABILITY
     SEQUENCE
       integer(LPSTR) pszObjId ! knowns  LPSTR 
       TYPE (T_CRYPT_OBJID_BLOB) Parameters ! typedefs  CRYPT_OBJID_BLOB 
     END TYPE
     TYPE T_CRYPT_SMIME_CAPABILITIES
     SEQUENCE
       integer(DWORD) cCapability ! knowns  DWORD 
       integer(LPVOID) rgCapability ! pointers  PCRYPT_SMIME_CAPABILITY 
     END TYPE
     TYPE T_CRYPT_OID_FUNC_ENTRY
     SEQUENCE
       integer(LPCSTR) pszOID ! knowns  LPCSTR 
      integer(LPVOID) pvFuncAddr ! star  void  *
     END TYPE
    !Inserted structure here:T_CRYPT_OID_INFO
     STRUCTURE /T_CRYPT_OID_INFO/
        integer(DWORD) cbSize ! knowns  DWORD 
        integer(LPCSTR) pszOID ! knowns  LPCSTR 
        integer(LPCWSTR) pwszName ! knowns  LPCWSTR 
        integer(DWORD) dwGroupId ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(DWORD) dwValue ! knowns  DWORD 
         END MAP
         MAP
        integer(UINT) Algid ! typedefs  ALG_ID 
         END MAP
         MAP
        integer(DWORD) dwLength ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        TYPE(T_CRYPT_DATA_BLOB) ExtraInfo ! typedefs  CRYPT_DATA_BLOB 
     END STRUCTURE
     TYPE T_CERT_ISSUER_SERIAL_NUMBER
     SEQUENCE
       TYPE (T_CERT_NAME_BLOB) Issuer ! typedefs  CERT_NAME_BLOB 
       TYPE (T_CRYPT_INTEGER_BLOB) SerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
     END TYPE
    !Inserted structure here:T_CERT_ID
     STRUCTURE /T_CERT_ID/
        integer(DWORD) dwIdChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        TYPE(T_CERT_ISSUER_SERIAL_NUMBER) IssuerSerialNumber ! typedefs  CERT_ISSUER_SERIAL_NUMBER 
         END MAP
         MAP
        TYPE(T_CRYPT_HASH_BLOB) KeyId ! typedefs  CRYPT_HASH_BLOB 
         END MAP
         MAP
        TYPE(T_CRYPT_HASH_BLOB) HashId ! typedefs  CRYPT_HASH_BLOB 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CMSG_SIGNER_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pCertInfo ! pointers  PCERT_INFO 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvHashAuxInfo ! star  void  *
       integer(DWORD) cAuthAttr ! knowns  DWORD 
       integer(LPVOID) rgAuthAttr ! pointers  PCRYPT_ATTRIBUTE 
       integer(DWORD) cUnauthAttr ! knowns  DWORD 
       integer(LPVOID) rgUnauthAttr ! pointers  PCRYPT_ATTRIBUTE 
     END TYPE
     TYPE T_CMSG_SIGNED_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) cSigners ! knowns  DWORD 
       integer(LPVOID) rgSigners ! pointers  PCMSG_SIGNER_ENCODE_INFO 
       integer(DWORD) cCertEncoded ! knowns  DWORD 
       integer(LPVOID) rgCertEncoded ! pointers  PCERT_BLOB 
       integer(DWORD) cCrlEncoded ! knowns  DWORD 
       integer(LPVOID) rgCrlEncoded ! pointers  PCRL_BLOB 
     END TYPE
     TYPE T_CMSG_ENVELOPED_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) ContentEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvEncryptionAuxInfo ! star  void  *
       integer(DWORD) cRecipients ! knowns  DWORD 
      integer(LPVOID) rgpRecipients ! star  PCERT_INFO  *
     END TYPE
     TYPE T_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvKeyEncryptionAuxInfo ! star  void  *
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_BIT_BLOB) RecipientPublicKey ! typedefs  CRYPT_BIT_BLOB 
       TYPE (T_CERT_ID) RecipientId ! typedefs  CERT_ID 
     END TYPE
     TYPE T_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CRYPT_BIT_BLOB) RecipientPublicKey ! typedefs  CRYPT_BIT_BLOB 
       TYPE (T_CERT_ID) RecipientId ! typedefs  CERT_ID 
       TYPE (T_FILETIME) Date ! typedefs  FILETIME 
       integer(LPVOID) pOtherAttr ! pointers  PCRYPT_ATTRIBUTE_TYPE_VALUE 
     END TYPE
    !Inserted structure here:T_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO
     STRUCTURE /T_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO/
        integer(DWORD) cbSize ! knowns  DWORD 
        TYPE(T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       integer(LPVOID) pvKeyEncryptionAuxInfo ! star  void  *
        TYPE(T_CRYPT_ALGORITHM_IDENTIFIER) KeyWrapAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       integer(LPVOID) pvKeyWrapAuxInfo ! star  void  *
        integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
        integer(DWORD) dwKeySpec ! knowns  DWORD 
        integer(DWORD) dwKeyChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(LPVOID) pEphemeralAlgorithm ! pointers  PCRYPT_ALGORITHM_IDENTIFIER 
         END MAP
         MAP
        integer(LPVOID) pSenderId ! pointers  PCERT_ID 
         END MAP
       END UNION  ! field0
        TYPE(T_CRYPT_DATA_BLOB) UserKeyingMaterial ! typedefs  CRYPT_DATA_BLOB 
        integer(DWORD) cRecipientEncryptedKeys ! knowns  DWORD 
       integer(LPVOID) rgpRecipientEncryptedKeys ! star  PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO  *
     END STRUCTURE
    !Inserted structure here:T_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO
     STRUCTURE /T_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO/
        integer(DWORD) cbSize ! knowns  DWORD 
        TYPE(T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       integer(LPVOID) pvKeyEncryptionAuxInfo ! star  void  *
        integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
        integer(DWORD) dwKeyChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(ULONG) hKeyEncryptionKey ! typedefs  HCRYPTKEY 
         END MAP
         MAP
       integer(LPVOID) pvKeyEncryptionKey ! star  void  *
         END MAP
       END UNION  ! field0
        TYPE(T_CRYPT_DATA_BLOB) KeyId ! typedefs  CRYPT_DATA_BLOB 
        TYPE(T_FILETIME) Date ! typedefs  FILETIME 
        integer(LPVOID) pOtherAttr ! pointers  PCRYPT_ATTRIBUTE_TYPE_VALUE 
     END STRUCTURE
    !Inserted structure here:T__CMSG_RECIPIENT_ENCODE_INFO
     STRUCTURE /T__CMSG_RECIPIENT_ENCODE_INFO/
        integer(DWORD) dwRecipientChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(LPVOID) pKeyTrans ! pointers  PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO 
         END MAP
         MAP
        integer(LPVOID) pKeyAgree ! pointers  PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO 
         END MAP
         MAP
        integer(LPVOID) pMailList ! pointers  PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CMSG_RC2_AUX_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwBitLen ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_SP3_COMPATIBLE_AUX_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_RC4_AUX_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwBitLen ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CMSG_SIGNED_ENCODE_INFO) SignedInfo ! typedefs  CMSG_SIGNED_ENCODE_INFO 
       TYPE (T_CMSG_ENVELOPED_ENCODE_INFO) EnvelopedInfo ! typedefs  CMSG_ENVELOPED_ENCODE_INFO 
     END TYPE
     TYPE T_CMSG_HASHED_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvHashAuxInfo ! star  void  *
     END TYPE
     TYPE T_CMSG_ENCRYPTED_ENCODE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) ContentEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvEncryptionAuxInfo ! star  void  *
     END TYPE
     TYPE T_CMSG_STREAM_INFO
     SEQUENCE
       integer(DWORD) cbContent ! knowns  DWORD 
       integer(LPVOID) pfnStreamOutput ! pointers  PFN_CMSG_STREAM_OUTPUT 
      integer(LPVOID) pvArg ! star  void  *
     END TYPE
     TYPE T_CMSG_SIGNER_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CERT_NAME_BLOB) Issuer ! typedefs  CERT_NAME_BLOB 
       TYPE (T_CRYPT_INTEGER_BLOB) SerialNumber ! typedefs  CRYPT_INTEGER_BLOB 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedHash ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CRYPT_ATTRIBUTES) AuthAttrs ! typedefs  CRYPT_ATTRIBUTES 
       TYPE (T_CRYPT_ATTRIBUTES) UnauthAttrs ! typedefs  CRYPT_ATTRIBUTES 
     END TYPE
     TYPE T_CMSG_CMS_SIGNER_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CERT_ID) SignerId ! typedefs  CERT_ID 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedHash ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CRYPT_ATTRIBUTES) AuthAttrs ! typedefs  CRYPT_ATTRIBUTES 
       TYPE (T_CRYPT_ATTRIBUTES) UnauthAttrs ! typedefs  CRYPT_ATTRIBUTES 
     END TYPE
     TYPE T_CMSG_KEY_TRANS_RECIPIENT_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CERT_ID) RecipientId ! typedefs  CERT_ID 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO
     SEQUENCE
       TYPE (T_CERT_ID) RecipientId ! typedefs  CERT_ID 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_FILETIME) Date ! typedefs  FILETIME 
       integer(LPVOID) pOtherAttr ! pointers  PCRYPT_ATTRIBUTE_TYPE_VALUE 
     END TYPE
    !Inserted structure here:T_CMSG_KEY_AGREE_RECIPIENT_INFO
     STRUCTURE /T_CMSG_KEY_AGREE_RECIPIENT_INFO/
        integer(DWORD) dwVersion ! knowns  DWORD 
        integer(DWORD) dwOriginatorChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        TYPE(T_CERT_ID) OriginatorCertId ! typedefs  CERT_ID 
         END MAP
         MAP
        TYPE(T_CERT_PUBLIC_KEY_INFO) OriginatorPublicKeyInfo ! typedefs  CERT_PUBLIC_KEY_INFO 
         END MAP
       END UNION  ! field0
        TYPE(T_CRYPT_DATA_BLOB) UserKeyingMaterial ! typedefs  CRYPT_DATA_BLOB 
        TYPE(T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
        integer(DWORD) cRecipientEncryptedKeys ! knowns  DWORD 
       integer(LPVOID) rgpRecipientEncryptedKeys ! star  PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO  *
     END STRUCTURE
     TYPE T_CMSG_MAIL_LIST_RECIPIENT_INFO
     SEQUENCE
       integer(DWORD) dwVersion ! knowns  DWORD 
       TYPE (T_CRYPT_DATA_BLOB) KeyId ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
       TYPE (T_FILETIME) Date ! typedefs  FILETIME 
       integer(LPVOID) pOtherAttr ! pointers  PCRYPT_ATTRIBUTE_TYPE_VALUE 
     END TYPE
    !Inserted structure here:T_CMSG_CMS_RECIPIENT_INFO
     STRUCTURE /T_CMSG_CMS_RECIPIENT_INFO/
        integer(DWORD) dwRecipientChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(LPVOID) pKeyTrans ! pointers  PCMSG_KEY_TRANS_RECIPIENT_INFO 
         END MAP
         MAP
        integer(LPVOID) pKeyAgree ! pointers  PCMSG_KEY_AGREE_RECIPIENT_INFO 
         END MAP
         MAP
        integer(LPVOID) pMailList ! pointers  PCMSG_MAIL_LIST_RECIPIENT_INFO 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwSignerIndex ! knowns  DWORD 
       integer(DWORD) dwSignerType ! knowns  DWORD 
      integer(LPVOID) pvSigner ! star  void  *
     END TYPE
     TYPE T_CMSG_CTRL_DECRYPT_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(DWORD) dwRecipientIndex ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(LPVOID) pKeyTrans ! pointers  PCMSG_KEY_TRANS_RECIPIENT_INFO 
       integer(DWORD) dwRecipientIndex ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(LPVOID) pKeyAgree ! pointers  PCMSG_KEY_AGREE_RECIPIENT_INFO 
       integer(DWORD) dwRecipientIndex ! knowns  DWORD 
       integer(DWORD) dwRecipientEncryptedKeyIndex ! knowns  DWORD 
       TYPE (T_CRYPT_BIT_BLOB) OriginatorPublicKey ! typedefs  CRYPT_BIT_BLOB 
     END TYPE
    !Inserted structure here:T_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA
     STRUCTURE /T_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA/
        integer(DWORD) cbSize ! knowns  DWORD 
        integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
        integer(LPVOID) pMailList ! pointers  PCMSG_MAIL_LIST_RECIPIENT_INFO 
        integer(DWORD) dwRecipientIndex ! knowns  DWORD 
        integer(DWORD) dwKeyChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(ULONG) hKeyEncryptionKey ! typedefs  HCRYPTKEY 
         END MAP
         MAP
       integer(LPVOID) pvKeyEncryptionKey ! star  void  *
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwSignerIndex ! knowns  DWORD 
       TYPE (T_CRYPT_DATA_BLOB) blob ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwSignerIndex ! knowns  DWORD 
       integer(DWORD) dwUnauthAttrIndex ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_CONTENT_ENCRYPT_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) ContentEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvEncryptionAuxInfo ! star  void  *
       integer(DWORD) cRecipients ! knowns  DWORD 
       integer(LPVOID) rgCmsRecipients ! pointers  PCMSG_RECIPIENT_ENCODE_INFO 
       integer(LPVOID) pfnAlloc ! pointers  PFN_CMSG_ALLOC 
       integer(LPVOID) pfnFree ! pointers  PFN_CMSG_FREE 
       integer(DWORD) dwEncryptFlags ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hContentEncryptKey ! typedefs  HCRYPTKEY 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hContentEncryptKey ! typedefs  HCRYPTKEY 
    !DEC$ ENDIF
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_KEY_TRANS_ENCRYPT_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwRecipientIndex ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
    !Inserted structure here:T_CMSG_KEY_AGREE_ENCRYPT_INFO
     STRUCTURE /T_CMSG_KEY_AGREE_ENCRYPT_INFO/
        integer(DWORD) cbSize ! knowns  DWORD 
        integer(DWORD) dwRecipientIndex ! knowns  DWORD 
        TYPE(T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
        TYPE(T_CRYPT_DATA_BLOB) UserKeyingMaterial ! typedefs  CRYPT_DATA_BLOB 
        integer(DWORD) dwOriginatorChoice ! knowns  DWORD 
       UNION  ! field0
         MAP
        TYPE(T_CERT_ID) OriginatorCertId ! typedefs  CERT_ID 
         END MAP
         MAP
        TYPE(T_CERT_PUBLIC_KEY_INFO) OriginatorPublicKeyInfo ! typedefs  CERT_PUBLIC_KEY_INFO 
         END MAP
       END UNION  ! field0
        integer(DWORD) cKeyAgreeKeyEncryptInfo ! knowns  DWORD 
       integer(LPVOID) rgpKeyAgreeKeyEncryptInfo ! star  PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO  *
        integer(DWORD) dwFlags ! knowns  DWORD 
     END STRUCTURE
     TYPE T_CMSG_MAIL_LIST_ENCRYPT_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwRecipientIndex ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) KeyEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) EncryptedKey ! typedefs  CRYPT_DATA_BLOB 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_CONTEXT
     SEQUENCE
       integer(DWORD) dwCertEncodingType ! knowns  DWORD 
      integer(LPVOID) pbCertEncoded ! star  BYTE  *
       integer(DWORD) cbCertEncoded ! knowns  DWORD 
       integer(LPVOID) pCertInfo ! pointers  PCERT_INFO 
       integer(LPVOID) hCertStore ! pointers  HCERTSTORE 
     END TYPE
     TYPE T_CRL_CONTEXT
     SEQUENCE
       integer(DWORD) dwCertEncodingType ! knowns  DWORD 
      integer(LPVOID) pbCrlEncoded ! star  BYTE  *
       integer(DWORD) cbCrlEncoded ! knowns  DWORD 
       integer(LPVOID) pCrlInfo ! pointers  PCRL_INFO 
       integer(LPVOID) hCertStore ! pointers  HCERTSTORE 
     END TYPE
     TYPE T_CTL_CONTEXT
     SEQUENCE
       integer(DWORD) dwMsgAndCertEncodingType ! knowns  DWORD 
      integer(LPVOID) pbCtlEncoded ! star  BYTE  *
       integer(DWORD) cbCtlEncoded ! knowns  DWORD 
       integer(LPVOID) pCtlInfo ! pointers  PCTL_INFO 
       integer(LPVOID) hCertStore ! pointers  HCERTSTORE 
       integer(LPVOID) hCryptMsg ! pointers  HCRYPTMSG 
      integer(LPVOID) pbCtlContent ! star  BYTE  *
       integer(DWORD) cbCtlContent ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_KEY_PROV_PARAM
     SEQUENCE
       integer(DWORD) dwParam ! knowns  DWORD 
      integer(LPVOID) pbData ! star  BYTE  *
       integer(DWORD) cbData ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_KEY_PROV_INFO
     SEQUENCE
       integer(LPWSTR) pwszContainerName ! knowns  LPWSTR 
       integer(LPWSTR) pwszProvName ! knowns  LPWSTR 
       integer(DWORD) dwProvType ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) cProvParam ! knowns  DWORD 
       integer(LPVOID) rgProvParam ! pointers  PCRYPT_KEY_PROV_PARAM 
       integer(DWORD) dwKeySpec ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_KEY_CONTEXT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_CERT_SYSTEM_STORE_RELOCATE_PARA
     STRUCTURE /T_CERT_SYSTEM_STORE_RELOCATE_PARA/
       UNION  ! field1
         MAP
        integer(HANDLE) hKeyBase ! handles  HKEY 
         END MAP
         MAP
       integer(LPVOID) pvBase ! star  void  *
         END MAP
       END UNION  ! field1
       UNION  ! field0
         MAP
       integer(LPVOID) pvSystemStore ! star  void  *
         END MAP
         MAP
        integer(LPCSTR) pszSystemStore ! knowns  LPCSTR 
         END MAP
         MAP
        integer(LPCWSTR) pwszSystemStore ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_CERT_REGISTRY_STORE_CLIENT_GPT_PARA
     SEQUENCE
       integer(HANDLE) hKeyBase ! handles  HKEY 
       integer(LPWSTR) pwszRegPath ! knowns  LPWSTR 
     END TYPE
     TYPE T_CERT_REGISTRY_STORE_ROAMING_PARA
     SEQUENCE
       integer(HANDLE) hKey ! handles  HKEY 
       integer(LPWSTR) pwszStoreDirectory ! knowns  LPWSTR 
     END TYPE
     TYPE T_CERT_STORE_PROV_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) cStoreProvFunc ! knowns  DWORD 
      integer(LPVOID) rgpvStoreProvFunc ! star  void  *
       integer(LPVOID) hStoreProv ! pointers  HCERTSTOREPROV 
       integer(DWORD) dwStoreProvFlags ! knowns  DWORD 
       integer(LPVOID) hStoreProvFuncAddr2 ! pointers  HCRYPTOIDFUNCADDR 
     END TYPE
     TYPE T_CERT_STORE_PROV_FIND_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgAndCertEncodingType ! knowns  DWORD 
       integer(DWORD) dwFindFlags ! knowns  DWORD 
       integer(DWORD) dwFindType ! knowns  DWORD 
       integer(LPVOID) pvFindPara ! star  void  *
     END TYPE
     TYPE T_CTL_ANY_SUBJECT_INFO
     SEQUENCE
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) SubjectAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
       TYPE (T_CRYPT_DATA_BLOB) SubjectIdentifier ! typedefs  CRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CTL_FIND_USAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CTL_USAGE) SubjectUsage ! typedefs  CTL_USAGE 
       TYPE (T_CRYPT_DATA_BLOB) ListIdentifier ! typedefs  CRYPT_DATA_BLOB 
       integer(LPVOID) pSigner ! pointers  PCERT_INFO 
     END TYPE
     TYPE T_CTL_FIND_SUBJECT_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pUsagePara ! pointers  PCTL_FIND_USAGE_PARA 
       integer(DWORD) dwSubjectType ! knowns  DWORD 
      integer(LPVOID) pvSubject ! star  void  *
     END TYPE
     TYPE T_CERT_CREATE_CONTEXT_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pfnFree ! pointers  PFN_CRYPT_FREE 
      integer(LPVOID) pvFree ! star  void  *
     END TYPE
     TYPE T_CERT_SYSTEM_STORE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_PHYSICAL_STORE_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPSTR) pszOpenStoreProvider ! knowns  LPSTR 
       integer(DWORD) dwOpenEncodingType ! knowns  DWORD 
       integer(DWORD) dwOpenFlags ! knowns  DWORD 
       TYPE (T_CRYPT_DATA_BLOB) OpenParameters ! typedefs  CRYPT_DATA_BLOB 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwPriority ! knowns  DWORD 
     END TYPE
     TYPE T_CTL_VERIFY_USAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CRYPT_DATA_BLOB) ListIdentifier ! typedefs  CRYPT_DATA_BLOB 
       integer(DWORD) cCtlStore ! knowns  DWORD 
      integer(LPVOID) rghCtlStore ! star  HCERTSTORE  *
       integer(DWORD) cSignerStore ! knowns  DWORD 
      integer(LPVOID) rghSignerStore ! star  HCERTSTORE  *
     END TYPE
     TYPE T_CTL_VERIFY_USAGE_STATUS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwError ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
      integer(LPVOID) ppCtl ! star  PCCTL_CONTEXT  *
       integer(DWORD) dwCtlEntryIndex ! knowns  DWORD 
      integer(LPVOID) ppSigner ! star  PCCERT_CONTEXT  *
       integer(DWORD) dwSignerIndex ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_REVOCATION_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pIssuerCert ! pointers  PCCERT_CONTEXT 
       integer(DWORD) cCertStore ! knowns  DWORD 
      integer(LPVOID) rgCertStore ! star  HCERTSTORE  *
       integer(LPVOID) hCrlStore ! pointers  HCERTSTORE 
       integer(LPVOID) pftTimeToUse ! pointers  LPFILETIME 
     END TYPE
     TYPE T_CERT_REVOCATION_STATUS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwIndex ! knowns  DWORD 
       integer(DWORD) dwError ! knowns  DWORD 
       integer(DWORD) dwReason ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA
     SEQUENCE
       integer(DWORD) cOID ! knowns  DWORD 
      integer(LPVOID) rgpszOID ! star  LPSTR  *
     END TYPE
     TYPE T_CRYPT_SIGN_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgEncodingType ! knowns  DWORD 
       integer(LPVOID) pSigningCert ! pointers  PCCERT_CONTEXT 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvHashAuxInfo ! star  void  *
       integer(DWORD) cMsgCert ! knowns  DWORD 
      integer(LPVOID) rgpMsgCert ! star  PCCERT_CONTEXT  *
       integer(DWORD) cMsgCrl ! knowns  DWORD 
      integer(LPVOID) rgpMsgCrl ! star  PCCRL_CONTEXT  *
       integer(DWORD) cAuthAttr ! knowns  DWORD 
       integer(LPVOID) rgAuthAttr ! pointers  PCRYPT_ATTRIBUTE 
       integer(DWORD) cUnauthAttr ! knowns  DWORD 
       integer(LPVOID) rgUnauthAttr ! pointers  PCRYPT_ATTRIBUTE 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwInnerContentType ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_VERIFY_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgAndCertEncodingType ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(LPVOID) pfnGetSignerCertificate ! pointers  PFN_CRYPT_GET_SIGNER_CERTIFICATE 
      integer(LPVOID) pvGetArg ! star  void  *
     END TYPE
     TYPE T_CRYPT_ENCRYPT_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgEncodingType ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) ContentEncryptionAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvEncryptionAuxInfo ! star  void  *
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwInnerContentType ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPT_DECRYPT_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgAndCertEncodingType ! knowns  DWORD 
       integer(DWORD) cCertStore ! knowns  DWORD 
      integer(LPVOID) rghCertStore ! star  HCERTSTORE  *
     END TYPE
     TYPE T_CRYPT_HASH_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgEncodingType ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvHashAuxInfo ! star  void  *
     END TYPE
     TYPE T_CRYPT_KEY_SIGN_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgAndCertEncodingType ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) HashAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
      integer(LPVOID) pvHashAuxInfo ! star  void  *
       TYPE (T_CRYPT_ALGORITHM_IDENTIFIER) PubKeyAlgorithm ! typedefs  CRYPT_ALGORITHM_IDENTIFIER 
     END TYPE
     TYPE T_CRYPT_KEY_VERIFY_MESSAGE_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwMsgEncodingType ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCryptProv ! typedefs  HCRYPTPROV 
    !DEC$ ENDIF
     END TYPE
     TYPE T_CERT_CHAIN
     SEQUENCE
       integer(DWORD) cCerts ! knowns  DWORD 
       integer(LPVOID) certs ! pointers  PCERT_BLOB 
       TYPE (T_CRYPT_KEY_PROV_INFO) keyLocatorInfo ! typedefs  CRYPT_KEY_PROV_INFO 
     END TYPE
     TYPE T_CRYPT_BLOB_ARRAY
     SEQUENCE
       integer(DWORD) cBlob ! knowns  DWORD 
       integer(LPVOID) rgBlob ! pointers  PCRYPT_DATA_BLOB 
     END TYPE
     TYPE T_CRYPT_CREDENTIALS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPCSTR) pszCredentialsOid ! knowns  LPCSTR 
       integer(LPVOID) pvCredentials ! knowns  LPVOID 
     END TYPE
     TYPE T_CRYPT_PASSWORD_CREDENTIALSA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPSTR) pszUsername ! knowns  LPSTR 
       integer(LPSTR) pszPassword ! knowns  LPSTR 
     END TYPE
     TYPE T_CRYPT_PASSWORD_CREDENTIALSW
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPWSTR) pszUsername ! knowns  LPWSTR 
       integer(LPWSTR) pszPassword ! knowns  LPWSTR 
     END TYPE
     TYPE T_CRYPT_ASYNC_RETRIEVAL_COMPLETION
     SEQUENCE
       integer(LPVOID) pfnCompletion ! pointers  PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC 
       integer(LPVOID) pvCompletion ! knowns  LPVOID 
     END TYPE
     TYPE T_CRYPT_URL_ARRAY
     SEQUENCE
       integer(DWORD) cUrl ! knowns  DWORD 
       integer(LPWSTR) rgwszUrl ! star  LPWSTR*  *
     END TYPE
     TYPE T_CRYPT_URL_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
     END TYPE
     TYPE T_CRYPTPROTECT_PROMPTSTRUCT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwPromptFlags ! knowns  DWORD 
       integer(HANDLE) hwndApp ! handles  HWND 
       integer(LPCWSTR) szPrompt ! knowns  LPCWSTR 
     END TYPE
     TYPE T_CERT_CHAIN_ENGINE_CONFIG
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) hRestrictedRoot ! pointers  HCERTSTORE 
       integer(LPVOID) hRestrictedTrust ! pointers  HCERTSTORE 
       integer(LPVOID) hRestrictedOther ! pointers  HCERTSTORE 
       integer(DWORD)  cAdditionalStore ! knowns  DWORD 
       integer(LPVOID) rghAdditionalStore ! star  HCERTSTORE*  *
       integer(DWORD)  dwFlags ! knowns  DWORD 
       integer(DWORD)  dwUrlRetrievalTimeout ! knowns  DWORD 
       integer(DWORD)  MaximumCachedCertificates ! knowns  DWORD 
       integer(DWORD)  CycleDetectionModulus ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_TRUST_STATUS
     SEQUENCE
       integer(DWORD) dwErrorStatus ! knowns  DWORD 
       integer(DWORD) dwInfoStatus ! knowns  DWORD 
     END TYPE
     TYPE T_CERT_REVOCATION_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwRevocationResult ! knowns  DWORD 
       integer(LPCSTR) pszRevocationOid ! knowns  LPCSTR 
       integer(LPVOID) pvOidSpecificInfo ! knowns  LPVOID 
     END TYPE
     TYPE T_CERT_TRUST_LIST_INFO
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pCtlEntry ! pointers  PCTL_ENTRY 
       integer(LPVOID) pCtlContext ! pointers  PCCTL_CONTEXT 
     END TYPE
     TYPE T_CERT_CHAIN_ELEMENT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) pCertContext ! pointers  PCCERT_CONTEXT 
       TYPE (T_CERT_TRUST_STATUS) TrustStatus ! typedefs  CERT_TRUST_STATUS 
       integer(LPVOID) pRevocationInfo ! pointers  PCERT_REVOCATION_INFO 
     END TYPE
     TYPE T_CERT_SIMPLE_CHAIN
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CERT_TRUST_STATUS) TrustStatus ! typedefs  CERT_TRUST_STATUS 
       integer(DWORD) cElement ! knowns  DWORD 
       integer(LPVOID) rgpElement ! star  PCERT_CHAIN_ELEMENT*  *
       integer(LPVOID) pTrustListInfo ! pointers  PCERT_TRUST_LIST_INFO 
     END TYPE
     TYPE T_CERT_CHAIN_CONTEXT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CERT_TRUST_STATUS) TrustStatus ! typedefs  CERT_TRUST_STATUS 
       integer(DWORD) cChain ! knowns  DWORD 
       integer(LPVOID) rgpChain ! star  PCERT_SIMPLE_CHAIN*  *
     END TYPE
     TYPE T_CERT_USAGE_MATCH
     SEQUENCE
       integer(DWORD) dwType ! knowns  DWORD 
       TYPE (T_CERT_ENHKEY_USAGE) Usage ! typedefs  CERT_ENHKEY_USAGE 
     END TYPE
     TYPE T_CTL_USAGE_MATCH
     SEQUENCE
       integer(DWORD) dwType ! knowns  DWORD 
       TYPE (T_CTL_USAGE) Usage ! typedefs  CTL_USAGE 
     END TYPE
     TYPE T_CERT_CHAIN_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_CERT_USAGE_MATCH) RequestedUsage ! typedefs  CERT_USAGE_MATCH 
     END TYPE
     TYPE T_CRL_REVOCATION_INFO
     SEQUENCE
       integer(LPVOID) pCrlEntry ! pointers  PCRL_ENTRY 
       integer(LPVOID) pCrlContext ! pointers  PCCRL_CONTEXT 
       integer(LPVOID) pCrlIssuerChain ! pointers  PCCERT_CHAIN_CONTEXT 
     END TYPE
     TYPE T_CERT_CHAIN_FIND_BY_ISSUER_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPCSTR) pszUsageIdentifier ! knowns  LPCSTR 
       integer(DWORD) dwKeySpec ! knowns  DWORD 
       integer(DWORD) dwAcquirePrivateKeyFlags ! knowns  DWORD 
       integer(DWORD) cIssuer ! knowns  DWORD 
      integer(LPVOID) rgIssuer ! star  CERT_NAME_BLOB  *
       integer(LPVOID) pfnFindCallback ! pointers  PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK 
      integer(LPVOID) pvFindArg ! star  void  *
     END TYPE
     TYPE T_CERT_CHAIN_POLICY_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
      integer(LPVOID) pvExtraPolicyPara ! star  void  *
     END TYPE
     TYPE T_CERT_CHAIN_POLICY_STATUS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwError ! knowns  DWORD 
       integer(LONG) lChainIndex ! knowns  LONG 
       integer(LONG) lElementIndex ! knowns  LONG 
      integer(LPVOID) pvExtraPolicyStatus ! star  void  *
     END TYPE
     TYPE T_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwRegPolicySettings ! knowns  DWORD 
       integer(LPVOID) pSignerInfo ! pointers  PCMSG_SIGNER_INFO 
     END TYPE
     TYPE T_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(BOOL) fCommercial ! knowns  BOOL 
     END TYPE
     TYPE T_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwRegPolicySettings ! knowns  DWORD 
       integer(BOOL) fCommercial ! knowns  BOOL 
     END TYPE
    !Inserted structure here:T_HTTPSPolicyCallbackData
     STRUCTURE /T_HTTPSPolicyCallbackData/
       UNION  ! field0
         MAP
        integer(DWORD) cbStruct ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) cbSize ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) dwAuthType ! knowns  DWORD 
        integer(DWORD) fdwChecks ! knowns  DWORD 
       integer(LPVOID) pwszServerName ! star  WCHAR  *
     END STRUCTURE
    ! TYPE T_SSL_EXTRA_CERT_CHAIN_POLICY_PARA
    ! SEQUENCE
    ! TYPE (T_HTTPSPolicyCallbackData_em1) item_2
    !   integer(DWORD) dwAuthType ! knowns  DWORD 
    !   integer(DWORD) fdwChecks ! knowns  DWORD 
    !  integer(LPVOID) pwszServerName ! star  WCHAR  *
    ! END TYPE
     
    !Same as T_HTTPSPolicyCallbackData
    STRUCTURE /T_SSL_EXTRA_CERT_CHAIN_POLICY_PARA/
       UNION  ! field0
         MAP
        integer(DWORD) cbStruct ! knowns  DWORD 
         END MAP
         MAP
        integer(DWORD) cbSize ! knowns  DWORD 
         END MAP
       END UNION  ! field0
        integer(DWORD) dwAuthType ! knowns  DWORD 
        integer(DWORD) fdwChecks ! knowns  DWORD 
       integer(LPVOID) pwszServerName ! star  WCHAR  *
     END STRUCTURE
     TYPE T_EFS_CERTIFICATE_BLOB
     SEQUENCE
       integer(DWORD) dwCertEncodingType ! knowns  DWORD 
       integer(DWORD) cbData ! knowns  DWORD 
       integer(PBYTE) pbData ! knowns  PBYTE 
     END TYPE
     TYPE T_EFS_HASH_BLOB
     SEQUENCE
       integer(DWORD) cbData ! knowns  DWORD 
       integer(PBYTE) pbData ! knowns  PBYTE 
     END TYPE
     TYPE T_ENCRYPTION_CERTIFICATE
     SEQUENCE
       integer(DWORD) cbTotalLength ! knowns  DWORD 
      integer(LPVOID)  pUserSid ! star  SID  *
       integer(LPVOID) pCertBlob ! pointers  PEFS_CERTIFICATE_BLOB 
     END TYPE
     TYPE T_ENCRYPTION_CERTIFICATE_HASH
     SEQUENCE
       integer(DWORD) cbTotalLength ! knowns  DWORD 
      integer(LPVOID)  pUserSid ! star  SID  *
       integer(LPVOID) pHash ! pointers  PEFS_HASH_BLOB 
       integer(LPWSTR) lpDisplayInformation ! knowns  LPWSTR 
     END TYPE
     TYPE T_ENCRYPTION_CERTIFICATE_HASH_LIST
     SEQUENCE
       integer(DWORD) nCert_Hash ! knowns  DWORD 
      integer(LPVOID)  pUsers ! star  PENCRYPTION_CERTIFICATE_HASH  *
     END TYPE
     TYPE T_ENCRYPTION_CERTIFICATE_LIST
     SEQUENCE
       integer(DWORD) nUsers ! knowns  DWORD 
      integer(LPVOID)  pUsers ! star  PENCRYPTION_CERTIFICATE  *
     END TYPE
     TYPE T_RPC_IMPORT_CONTEXT_P
     SEQUENCE
      integer(HANDLE) LookupContext !  RPC_NS_HANDLE 
      integer(HANDLE) ProposedHandle !  RPC_BINDING_HANDLE 
      integer(LPVOID)  Bindings ! star  RPC_BINDING_VECTOR  *
     END TYPE
     TYPE T_SCONTEXT_QUEUE
     SEQUENCE
       integer(ULONG) NumberOfObjects ! knowns  unsigned long 
      integer(LPVOID)  ArrayOfObjects ! star  NDR_SCONTEXT  *
     END TYPE
     TYPE T_ARRAY_INFO
     SEQUENCE
       integer(LONG) Dimension ! knowns  long 
      integer(LPVOID)  BufferConformanceMark ! star  unsigned long  *
      integer(LPVOID)  BufferVarianceMark ! star  unsigned long  *
      integer(LPVOID)  MaxCountArray ! star  unsigned long  *
      integer(LPVOID)  OffsetArray ! star  unsigned long  *
      integer(LPVOID)  ActualCountArray ! star  unsigned long  *
     END TYPE
     TYPE T_MIDL_STUB_MESSAGE
     SEQUENCE
      integer(LPVOID)  RpcMsg !  PRPC_MESSAGE 
      integer(LPVOID)  Buffer ! star  unsigned char  *
      integer(LPVOID)  BufferStart ! star  unsigned char  *
      integer(LPVOID)  BufferEnd ! star  unsigned char  *
      integer(LPVOID)  BufferMark ! star  unsigned char  *
       integer(ULONG) BufferLength ! knowns  unsigned long 
       integer(ULONG) MemorySize ! knowns  unsigned long 
      integer(LPVOID)  Memory ! star  unsigned char  *
       integer(SINT) IsClient ! knowns  int 
       integer(SINT) ReuseBuffer ! knowns  int 
      integer(LPVOID)  AllocAllNodesMemory ! star  unsigned char  *
      integer(LPVOID)  AllocAllNodesMemoryEnd ! star  unsigned char  *
       integer(SINT) IgnoreEmbeddedPointers ! knowns  int 
      integer(LPVOID)  PointerBufferMark ! star  unsigned char  *
       character(UCHAR) fBufferValid ! knowns  unsigned char 
       character(UCHAR) uFlags ! knowns  unsigned char 
       integer(pointer_len) MaxCount ! typedefs  ULONG_PTR 
       integer(ULONG) Offset ! knowns  unsigned long 
       integer(ULONG) ActualCount ! knowns  unsigned long 
     integer(LPVOID) pfnAllocate ! function pointers   void * ( f__stdcall * pfnAllocate)(size_t)
     integer(LPVOID) pfnFree ! function pointers   void ( f__stdcall * pfnFree)(void *)
      integer(LPVOID)  StackTop ! star  unsigned char  *
      integer(LPVOID)  pPresentedType ! star  unsigned char  *
      integer(LPVOID)  pTransmitType ! star  unsigned char  *
      integer(LPVOID) SavedHandle !  handle_t 
       integer(LPVOID) StubDesc ! star    struct f_MIDL_STUB_DESC * 
       integer(LPVOID) FullPtrXlatTables ! star   struct f_FULL_PTR_XLAT_TABLES * 
       integer(ULONG) FullPtrRefId ! knowns  unsigned long 
       integer(ULONG) ulUnused1 ! knowns  unsigned long 
    ! ???  int fInDontFree :1
    ! ???  int fDontCallFreeInst :1
    ! ???  int fInOnlyParam :1
    ! ???  int fHasReturn :1
    ! ???  int fHasExtensions :1
    ! ???  int fHasNewCorrDesc :1
    ! ???  int fUnused :10
       integer(SINT) bitfield ! added - see above for C fields
       integer(ULONG) dwDestContext ! knowns  unsigned long 
      integer(LPVOID)  pvDestContext ! star  void  *
      integer(LPVOID)  SavedContextHandles ! star  NDR_SCONTEXT  *
       integer(LONG) ParamNumber ! knowns  long 
       integer(LPVOID) pRpcChannelBuffer ! star   struct IRpcChannelBuffer * 
       integer(LPVOID) pArrayInfo ! pointers  PARRAY_INFO 
      integer(LPVOID)  SizePtrCountArray ! star  unsigned long  *
      integer(LPVOID)  SizePtrOffsetArray ! star  unsigned long  *
      integer(LPVOID)  SizePtrLengthArray ! star  unsigned long  *
      integer(LPVOID)  pArgQueue ! star  void  *
       integer(ULONG) dwStubPhase ! knowns  unsigned long 
       integer(LPVOID) pPipeDesc ! pointers  PNDR_PIPE_DESC 
       integer(LPVOID) pAsyncMsg ! pointers  PNDR_ASYNC_MESSAGE 
       integer(LPVOID) pCorrInfo ! pointers  PNDR_CORRELATION_INFO 
      integer(LPVOID)  pCorrMemory ! star  unsigned char  *
      integer(LPVOID)  pMemoryList ! star  void  *
      integer(ULONG_PTR) w2kReserved(5) ! typedefs  ULONG_PTR 
     END TYPE
     TYPE T_GENERIC_BINDING_ROUTINE_PAIR
     SEQUENCE
       integer(LPVOID) pfnBind ! pointers  GENERIC_BINDING_ROUTINE 
       integer(LPVOID) pfnUnbind ! pointers  GENERIC_UNBIND_ROUTINE 
     END TYPE
     TYPE T_GENERIC_BINDING_INFO
     SEQUENCE
      integer(LPVOID)  pObj ! star  void  *
       integer(UINT) Size ! knowns  unsigned int 
       integer(LPVOID) pfnBind ! pointers  GENERIC_BINDING_ROUTINE 
       integer(LPVOID) pfnUnbind ! pointers  GENERIC_UNBIND_ROUTINE 
     END TYPE
     TYPE T_XMIT_ROUTINE_QUINTUPLE
     SEQUENCE
       integer(LPVOID) pfnTranslateToXmit ! pointers  XMIT_HELPER_ROUTINE 
       integer(LPVOID) pfnTranslateFromXmit ! pointers  XMIT_HELPER_ROUTINE 
       integer(LPVOID) pfnFreeXmit ! pointers  XMIT_HELPER_ROUTINE 
       integer(LPVOID) pfnFreeInst ! pointers  XMIT_HELPER_ROUTINE 
     END TYPE
     TYPE T_USER_MARSHAL_ROUTINE_QUADRUPLE
     SEQUENCE
       integer(LPVOID) pfnBufferSize ! pointers  USER_MARSHAL_SIZING_ROUTINE 
       integer(LPVOID) pfnMarshall ! pointers  USER_MARSHAL_MARSHALLING_ROUTINE 
       integer(LPVOID) pfnUnmarshall ! pointers  USER_MARSHAL_UNMARSHALLING_ROUTINE 
       integer(LPVOID) pfnFree ! pointers  USER_MARSHAL_FREEING_ROUTINE 
     END TYPE
     TYPE T_USER_MARSHAL_CB
     SEQUENCE
       integer(ULONG) Flags ! knowns  unsigned long 
       integer(LPVOID) pStubMsg ! pointers  PMIDL_STUB_MESSAGE 
       integer(LPVOID) pReserve ! pointers  PFORMAT_STRING 
       integer(ULONG) Signature ! knowns  unsigned long 
    ! ???  USER_MARSHAL_CB_TYPE CBType !  USER_MARSHAL_CB_TYPE 
    !    USER_MARSHAL_CB_BUFFER_SIZE,
    !    USER_MARSHAL_CB_MARSHALL,
    !    USER_MARSHAL_CB_UNMARSHALL,
    !    USER_MARSHAL_CB_FREE
       integer(DWORD) CBType !  USER_MARSHAL_CB_TYPE - an enum 
       integer(LPVOID) pFormat ! pointers  PFORMAT_STRING 
       integer(LPVOID) pTypeFormat ! pointers  PFORMAT_STRING 
     END TYPE
     TYPE T_MALLOC_FREE_STRUCT
     SEQUENCE
     integer(LPVOID) pfnAllocate ! function pointers   void * ( f__stdcall * pfnAllocate)(size_t)
     integer(LPVOID) pfnFree ! function pointers   void ( f__stdcall * pfnFree)(void *)
     END TYPE
     TYPE T_COMM_FAULT_OFFSETS
     SEQUENCE
       integer(SHORT) CommOffset ! knowns  short 
       integer(SHORT) FaultOffset ! knowns  short 
     END TYPE
    !Inserted structure here:T_MIDL_STUB_DESC
     STRUCTURE /T_MIDL_STUB_DESC/
       integer(LPVOID)  RpcInterfaceInformation ! star  void  *
     integer(LPVOID) pfnAllocate ! function pointers    void * ( f__stdcall * pfnAllocate)(size_t)
     integer(LPVOID) pfnFree ! function pointers    void ( f__stdcall * pfnFree)(void *)
       UNION  ! IMPLICIT_HANDLE_INFO
         MAP
       integer(LPVOID)  pAutoHandle ! star  handle_t  *
         END MAP
         MAP
       integer(LPVOID)  pPrimitiveHandle ! star  handle_t  *
         END MAP
         MAP
        integer(LPVOID) pGenericBindingInfo ! pointers  PGENERIC_BINDING_INFO 
         END MAP
       END UNION  ! IMPLICIT_HANDLE_INFO
        integer(LPVOID)  apfnNdrRundownRoutines ! star  NDR_RUNDOWN  *
        integer(LPVOID)  aGenericBindingRoutinePairs ! star  GENERIC_BINDING_ROUTINE_PAIR  *
        integer(LPVOID)  apfnExprEval ! star  EXPR_EVAL  *
        integer(LPVOID)  aXmitQuintuple ! star  XMIT_ROUTINE_QUINTUPLE  *
        integer(LPVOID)  pFormatTypes ! star  unsigned char  *
        integer(SINT) fCheckBounds ! knowns  int 
        integer(ULONG) Version ! knowns  unsigned long 
       integer(LPVOID)  pMallocFreeStruct ! star  MALLOC_FREE_STRUCT  *
        integer(LONG) MIDLVersion ! knowns  long 
        integer(LPVOID)  CommFaultOffsets ! star  COMM_FAULT_OFFSETS  *
        integer(LPVOID)  aUserMarshalQuadruple ! star  USER_MARSHAL_ROUTINE_QUADRUPLE  *
        integer(LPVOID)  NotifyRoutineTable ! star  NDR_NOTIFY_ROUTINE  *
        integer(ULONG_PTR) mFlags ! knowns  ULONG_PTR 
        integer(ULONG_PTR) Reserved3 ! knowns  ULONG_PTR 
        integer(ULONG_PTR) Reserved4 ! knowns  ULONG_PTR 
        integer(ULONG_PTR) Reserved5 ! knowns  ULONG_PTR 
     END STRUCTURE
     TYPE T_MIDL_FORMAT_STRING
     SEQUENCE
       integer(SHORT) Pad ! knowns  short 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) Format(ANYSIZE_ARRAY) ! knowns  unsigned char 
!DEC$ ELSE
       character(ANYSIZE_ARRAY) Format
!DEC$ ENDIF
     END TYPE
     TYPE T_MIDL_SERVER_INFO
     SEQUENCE
       integer(LPVOID) pStubDesc ! pointers  PMIDL_STUB_DESC 
       integer(LPVOID)  DispatchTable ! star  SERVER_ROUTINE  *
       integer(LPVOID) ProcString ! pointers  PFORMAT_STRING 
       integer(LPVOID)  FmtStringOffset ! star  unsigned short  *
       integer(LPVOID)  ThunkTable ! star  STUB_THUNK  *
       integer(LPVOID) LocalFormatTypes ! pointers  PFORMAT_STRING 
       integer(LPVOID) LocalProcString ! pointers  PFORMAT_STRING 
       integer(LPVOID)  LocalFmtStringOffset ! star  unsigned short  *
     END TYPE
     TYPE T_MIDL_STUBLESS_PROXY_INFO
     SEQUENCE
       integer(LPVOID) pStubDesc ! pointers  PMIDL_STUB_DESC 
       integer(LPVOID) ProcFormatString ! pointers  PFORMAT_STRING 
       integer(LPVOID)  FormatStringOffset ! star  unsigned short  *
       integer(LPVOID) LocalFormatTypes ! pointers  PFORMAT_STRING 
       integer(LPVOID) LocalProcString ! pointers  PFORMAT_STRING 
       integer(LPVOID)  LocalFmtStringOffset ! star  unsigned short  *
     END TYPE
     TYPE T_CLIENT_CALL_RETURN
     SEQUENCE
     UNION
     MAP
      integer(LPVOID)  Pointer ! star  void  *
     END MAP
     MAP
    !DEC$ IF DEFINED( _M_IA64)
       TYPE(T_LARGE_INTEGERX) Simple ! typedefs  LONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(LONG) Simple ! typedefs  LONG_PTR 
    !DEC$ ENDIF
     END MAP
     END UNION
     END TYPE
     TYPE T_FULL_PTR_TO_REFID_ELEMENT
     SEQUENCE
       integer(LPVOID) Next ! star   struct f_FULL_PTR_TO_REFID_ELEMENT * 
      integer(LPVOID)  Pointer ! star  void  *
       integer(ULONG) RefId ! knowns  unsigned long 
       character(UCHAR) State ! knowns  unsigned char 
     END TYPE
    !Inserted structure here:T_FULL_PTR_XLAT_TABLES
     STRUCTURE /T_FULL_PTR_XLAT_TABLES/
        STRUCTURE /f_RefIdToPointer/ RefIdToPointer
       integer(LPVOID)   XlatTable ! star  void  *
       integer(LPVOID)  StateTable ! star  unsigned char  *
        integer(ULONG) NumberOfEntries ! knowns  unsigned long 
        END STRUCTURE ! RefIdToPointer
        STRUCTURE /f_PointerToRefId/ PointerToRefId
       integer(LPVOID)  XlatTable ! star  PFULL_PTR_TO_REFID_ELEMENT  *
        integer(ULONG) NumberOfBuckets ! knowns  unsigned long 
        integer(ULONG) HashMask ! knowns  unsigned long 
        END STRUCTURE ! PointerToRefId
        integer(ULONG) NextRefId ! knowns  unsigned long 
    !???   XLAT_SIDE XlatSide !  XLAT_SIDE 
     END STRUCTURE
     TYPE T_NDR_USER_MARSHAL_INFO_LEVEL1
     SEQUENCE
      integer(LPVOID) Buffer ! star  void  *
       integer(ULONG) BufferSize ! knowns  unsigned long 
     integer(LPVOID) pfnAllocate ! function pointers   void *(__stdcall * pfnAllocate)(size_t)
     integer(LPVOID) pfnFree ! function pointers   void (__stdcall * pfnFree)(void *)
       integer(LPVOID) pRpcChannelBuffer ! star   struct IRpcChannelBuffer * 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) Reserved(5) ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) Reserved(5) ! typedefs  ULONG_PTR 
    !DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_NDR_USER_MARSHAL_INFO
     STRUCTURE /T_NDR_USER_MARSHAL_INFO/
        integer(ULONG) InformationLevel ! knowns  unsigned long 
       UNION  ! field0
         MAP
        TYPE(T_NDR_USER_MARSHAL_INFO_LEVEL1) Level1 ! typedefs  NDR_USER_MARSHAL_INFO_LEVEL1 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_RemHGLOBAL
     SEQUENCE
       integer(LONG) fNullHGlobal ! knowns  long 
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_RemHMETAFILEPICT
     SEQUENCE
       integer(LONG) mm ! knowns  long 
       integer(LONG) xExt ! knowns  long 
       integer(LONG) yExt ! knowns  long 
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_RemHENHMETAFILE
     SEQUENCE
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_RemHBITMAP
     SEQUENCE
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_RemHPALETTE
     SEQUENCE
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_RemHBRUSH
     SEQUENCE
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
     TYPE T_COAUTHIDENTITY
     SEQUENCE
      integer(LPVOID) User ! star  USHORT  *
       integer(ULONG) UserLength ! knowns  ULONG 
      integer(LPVOID) Domain ! star  USHORT  *
       integer(ULONG) DomainLength ! knowns  ULONG 
      integer(LPVOID) Password ! star  USHORT  *
       integer(ULONG) PasswordLength ! knowns  ULONG 
       integer(ULONG) Flags ! knowns  ULONG 
     END TYPE
     TYPE T_COAUTHINFO
     SEQUENCE
       integer(DWORD) dwAuthnSvc ! knowns  DWORD 
       integer(DWORD) dwAuthzSvc ! knowns  DWORD 
       integer(LPWSTR) pwszServerPrincName ! knowns  LPWSTR 
       integer(DWORD) dwAuthnLevel ! knowns  DWORD 
       integer(DWORD) dwImpersonationLevel ! knowns  DWORD 
      integer(LPVOID) pAuthIdentityData ! star  COAUTHIDENTITY  *
       integer(DWORD) dwCapabilities ! knowns  DWORD 
     END TYPE
     TYPE T_BYTE_BLOB
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) abData(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) abData
!DEC$ ENDIF
     END TYPE
     TYPE T_WORD_BLOB
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
       integer(USHORT) asData(1) ! knowns  unsigned short 
     END TYPE
     TYPE T_DWORD_BLOB
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
       integer(ULONG) alData(1) ! knowns  unsigned long 
     END TYPE
     TYPE T_FLAGGED_BYTE_BLOB
     SEQUENCE
       integer(ULONG) fFlags ! knowns  unsigned long 
       integer(ULONG) clSize ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) abData(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) abData
!DEC$ ENDIF
     END TYPE
     TYPE T_FLAGGED_WORD_BLOB
     SEQUENCE
       integer(ULONG) fFlags ! knowns  unsigned long 
       integer(ULONG) clSize ! knowns  unsigned long 
       integer(USHORT) asData(1) ! knowns  unsigned short 
     END TYPE
     TYPE T_BYTE_SIZEDARR
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
      integer(LPVOID) pData ! star  byte  *
     END TYPE
     TYPE T_WORD_SIZEDARR
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
      integer(LPVOID) pData ! star  unsigned short  *
     END TYPE
     TYPE T_DWORD_SIZEDARR
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
      integer(LPVOID) pData ! star  unsigned long  *
     END TYPE
     TYPE T_HYPER_SIZEDARR
     SEQUENCE
       integer(ULONG) clSize ! knowns  unsigned long 
      integer(LPVOID) pData ! star  f__int64  *
     END TYPE
    !Inserted structure here:T_userCLIPFORMAT
     STRUCTURE /T_userCLIPFORMAT/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(DWORD) dwValue ! knowns  DWORD 
         END MAP
         MAP
       integer(LPVOID) pwszName ! star  wchar_t  *
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_GDI_NONREMOTE
     STRUCTURE /T_GDI_NONREMOTE/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  DWORD_BLOB  *
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_userHGLOBAL
     STRUCTURE /T_userHGLOBAL/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  FLAGGED_BYTE_BLOB  *
         END MAP
         MAP
    !???   f__int64 hInproc64 !  f__int64 
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_userHMETAFILE
     STRUCTURE /T_userHMETAFILE/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  BYTE_BLOB  *
         END MAP
       END UNION  ! u
     END STRUCTURE
     TYPE T_remoteMETAFILEPICT
     SEQUENCE
       integer(LONG) mm ! knowns  long 
       integer(LONG) xExt ! knowns  long 
       integer(LONG) yExt ! knowns  long 
      integer(LPVOID) hMF ! star  userHMETAFILE  *
     END TYPE
    !Inserted structure here:T_userHMETAFILEPICT
     STRUCTURE /T_userHMETAFILEPICT/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  remoteMETAFILEPICT  *
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_userHENHMETAFILE
     STRUCTURE /T_userHENHMETAFILE/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  BYTE_BLOB  *
         END MAP
       END UNION  ! u
     END STRUCTURE
     TYPE T_userBITMAP
     SEQUENCE
       integer(LONG) bmType ! knowns  LONG 
       integer(LONG) bmWidth ! knowns  LONG 
       integer(LONG) bmHeight ! knowns  LONG 
       integer(LONG) bmWidthBytes ! knowns  LONG 
       integer(WORD) bmPlanes ! knowns  WORD 
       integer(WORD) bmBitsPixel ! knowns  WORD 
       integer(ULONG) cbSize ! knowns  ULONG 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) pBuffer(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) pBuffer
!DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_userHBITMAP
     STRUCTURE /T_userHBITMAP/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  userBITMAP  *
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_userHPALETTE
     STRUCTURE /T_userHPALETTE/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
       integer(LPVOID) hRemote ! star  LOGPALETTE  *
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_RemotableHandle
     STRUCTURE /T_RemotableHandle/
        integer(LONG) fContext ! knowns  long 
       UNION  ! u
         MAP
        integer(LONG) hInproc ! knowns  long 
         END MAP
         MAP
        integer(LONG) hRemote ! knowns  long 
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_CY
     STRUCTURE /T_CY/
     UNION
       MAP
        STRUCTURE /f_field04/ field0
        integer(ULONG) Lo ! knowns  unsigned long 
        integer(LONG) Hi ! knowns  long 
        END STRUCTURE ! field0
       END MAP
       MAP
        TYPE(T_LARGE_INTEGERX) int64 ! typedefs  LONGLONG 
       END MAP
     END UNION
     END STRUCTURE
    !Inserted structure here:T_DECIMAL
     STRUCTURE /T_DECIMAL/
        integer(USHORT) wReserved ! knowns  USHORT 
       UNION  ! field3
         MAP
          STRUCTURE /f_field22/ field2
        integer(BYTE) scale ! knowns  BYTE 
        integer(BYTE) sign ! knowns  BYTE 
          END STRUCTURE ! field2
         END MAP
         MAP
        integer(USHORT) signscale ! knowns  USHORT 
         END MAP
       END UNION  ! field3
        integer(ULONG) Hi32 ! knowns  ULONG 
       UNION  ! field1
         MAP
          STRUCTURE /f_field05/ field0
        integer(ULONG) Lo32 ! knowns  ULONG 
        integer(ULONG) Mid32 ! knowns  ULONG 
          END STRUCTURE ! field0
         END MAP
         MAP
        TYPE(T_LARGE_INTEGERX) Lo64 ! knowns  ULONGLONG 
         END MAP
       END UNION  ! field1
     END STRUCTURE
     TYPE T_BSTRBLOB
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
      integer(LPVOID) pData ! star  BYTE  *
     END TYPE
     TYPE T_BLOB
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
      integer(LPVOID) pBlobData ! star  BYTE  *
     END TYPE
     TYPE T_CLIPDATA
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(LONG) ulClipFmt ! knowns  long 
      integer(LPVOID) pClipData ! star  BYTE  *
     END TYPE
     TYPE T_CSPLATFORM
     SEQUENCE
       integer(DWORD) dwPlatformId ! knowns  DWORD 
       integer(DWORD) dwVersionHi ! knowns  DWORD 
       integer(DWORD) dwVersionLo ! knowns  DWORD 
       integer(DWORD) dwProcessorArch ! knowns  DWORD 
     END TYPE
     TYPE T_QUERYCONTEXT
     SEQUENCE
       integer(DWORD) dwContext ! knowns  DWORD 
       TYPE (T_CSPLATFORM) Platform ! typedefs  CSPLATFORM 
       integer(ULONG) Locale ! typedefs  LCID 
       integer(DWORD) dwVersionHi ! knowns  DWORD 
       integer(DWORD) dwVersionLo ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_uCLSSPEC
     STRUCTURE /T_uCLSSPEC/
        integer(DWORD) tyspec ! knowns  DWORD 
       UNION  ! tagged_union
         MAP
        TYPE(T_GUID) clsid ! typedefs  CLSID 
         END MAP
         MAP
        integer(LPVOID) pFileExt ! pointers  LPOLESTR 
         END MAP
         MAP
        integer(LPVOID) pMimeType ! pointers  LPOLESTR 
         END MAP
         MAP
        integer(LPVOID) pProgId ! pointers  LPOLESTR 
         END MAP
         MAP
        integer(LPVOID) pFileName ! pointers  LPOLESTR 
         END MAP
         MAP
          STRUCTURE /f_ByName/ ByName
        integer(LPVOID) pPackageName ! pointers  LPOLESTR 
        TYPE(T_GUID) PolicyId ! typedefs  GUID 
          END STRUCTURE ! ByName
         END MAP
         MAP
          STRUCTURE /f_ByObjectId/ ByObjectId
        TYPE(T_GUID) ObjectId ! typedefs  GUID 
        TYPE(T_GUID) PolicyId ! typedefs  GUID 
          END STRUCTURE ! ByObjectId
         END MAP
       END UNION  ! tagged_union
     END STRUCTURE
     TYPE T_STORAGE_DEVICE_NUMBER
     SEQUENCE
       integer(DWORD) DeviceType ! knowns  DWORD 
       integer(DWORD) DeviceNumber ! knowns  DWORD 
       integer(DWORD) PartitionNumber ! knowns  DWORD 
     END TYPE
     TYPE T_STORAGE_BUS_RESET_REQUEST
     SEQUENCE
       integer(BYTE) PathId ! knowns  BYTE 
     END TYPE
     TYPE T_PREVENT_MEDIA_REMOVAL
     SEQUENCE
       character(UCHAR) PreventMediaRemoval ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_TAPE_STATISTICS
     SEQUENCE
       integer(DWORD) Version ! knowns  DWORD 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) RecoveredWrites ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) UnrecoveredWrites ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) RecoveredReads ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) UnrecoveredReads ! typedefs  LARGE_INTEGER 
       integer(BYTE) CompressionRatioReads ! knowns  BYTE 
       integer(BYTE) CompressionRatioWrites ! knowns  BYTE 
     END TYPE
     TYPE T_TAPE_GET_STATISTICS
     SEQUENCE
       integer(DWORD) Operation ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_DEVICE_MEDIA_INFO
     STRUCTURE /T_DEVICE_MEDIA_INFO/
       UNION  ! DeviceSpecific
         MAP
          STRUCTURE /f_DiskInfo/ DiskInfo
        TYPE(T_LARGE_INTEGER) Cylinders ! typedefs  LARGE_INTEGER 
    !???   STORAGE_MEDIA_TYPE MediaType !  STORAGE_MEDIA_TYPE 
        integer(DWORD) TracksPerCylinder ! knowns  DWORD 
        integer(DWORD) SectorsPerTrack ! knowns  DWORD 
        integer(DWORD) BytesPerSector ! knowns  DWORD 
        integer(DWORD) NumberMediaSides ! knowns  DWORD 
        integer(DWORD) MediaCharacteristics ! knowns  DWORD 
          END STRUCTURE ! DiskInfo
         END MAP
         MAP
          STRUCTURE /f_RemovableDiskInfo/ RemovableDiskInfo
        TYPE(T_LARGE_INTEGER) Cylinders ! typedefs  LARGE_INTEGER 
    !???   STORAGE_MEDIA_TYPE MediaType !  STORAGE_MEDIA_TYPE 
        integer(DWORD) TracksPerCylinder ! knowns  DWORD 
        integer(DWORD) SectorsPerTrack ! knowns  DWORD 
        integer(DWORD) BytesPerSector ! knowns  DWORD 
        integer(DWORD) NumberMediaSides ! knowns  DWORD 
        integer(DWORD) MediaCharacteristics ! knowns  DWORD 
          END STRUCTURE ! RemovableDiskInfo
         END MAP
         MAP
          STRUCTURE /f_TapeInfo/ TapeInfo
    !???   STORAGE_MEDIA_TYPE MediaType !  STORAGE_MEDIA_TYPE 
        integer(DWORD) MediaCharacteristics ! knowns  DWORD 
        integer(DWORD) CurrentBlockSize ! knowns  DWORD 
    !???   STORAGE_BUS_TYPE BusType !  STORAGE_BUS_TYPE 
           UNION  ! BusSpecificData
             MAP
              STRUCTURE /f_ScsiInformation/ ScsiInformation
        integer(BYTE) MediumType ! knowns  BYTE 
        integer(BYTE) DensityCode ! knowns  BYTE 
              END STRUCTURE ! ScsiInformation
             END MAP
           END UNION  ! BusSpecificData
          END STRUCTURE ! TapeInfo
         END MAP
       END UNION  ! DeviceSpecific
     END STRUCTURE
     TYPE T_GET_MEDIA_TYPES
     SEQUENCE
       integer(DWORD) DeviceType ! knowns  DWORD 
       integer(DWORD) MediaInfoCount ! knowns  DWORD 
       TYPE (T_DEVICE_MEDIA_INFO) MediaInfo(1) ! typedefs  DEVICE_MEDIA_INFO 
     END TYPE
     TYPE T_STORAGE_PREDICT_FAILURE
     SEQUENCE
       integer(DWORD) PredictFailure ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) VendorSpecific(512) ! knowns  BYTE 
!DEC$ ELSE
       character(512) VendorSpecific
!DEC$ ENDIF
     END TYPE
     TYPE T_FORMAT_PARAMETERS
     SEQUENCE
    ! ???  MEDIA_TYPE MediaType !  MEDIA_TYPE 
       integer(DWORD) MediaType ! an enum
       integer(DWORD) StartCylinderNumber ! knowns  DWORD 
       integer(DWORD) EndCylinderNumber ! knowns  DWORD 
       integer(DWORD) StartHeadNumber ! knowns  DWORD 
       integer(DWORD) EndHeadNumber ! knowns  DWORD 
     END TYPE
     TYPE T_FORMAT_EX_PARAMETERS
     SEQUENCE
    ! ???  MEDIA_TYPE MediaType !  MEDIA_TYPE 
       integer(DWORD) MediaType ! an enum
       integer(DWORD) StartCylinderNumber ! knowns  DWORD 
       integer(DWORD) EndCylinderNumber ! knowns  DWORD 
       integer(DWORD) StartHeadNumber ! knowns  DWORD 
       integer(DWORD) EndHeadNumber ! knowns  DWORD 
       integer(WORD) FormatGapLength ! knowns  WORD 
       integer(WORD) SectorsPerTrack ! knowns  WORD 
       integer(WORD) SectorNumber(1) ! knowns  WORD 
     END TYPE
     TYPE T_DISK_GEOMETRY
     SEQUENCE
       TYPE (T_LARGE_INTEGER) Cylinders ! typedefs  LARGE_INTEGER 
    ! ???  MEDIA_TYPE MediaType !  MEDIA_TYPE 
       integer(DWORD) MediaType ! an enum
       integer(DWORD) TracksPerCylinder ! knowns  DWORD 
       integer(DWORD) SectorsPerTrack ! knowns  DWORD 
       integer(DWORD) BytesPerSector ! knowns  DWORD 
     END TYPE
     TYPE T_PARTITION_INFORMATION
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartingOffset ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) PartitionLength ! typedefs  LARGE_INTEGER 
       integer(DWORD) HiddenSectors ! knowns  DWORD 
       integer(DWORD) PartitionNumber ! knowns  DWORD 
       integer(BYTE) PartitionType ! knowns  BYTE 
       character(UCHAR) BootIndicator ! typedefs  BOOLEAN 
       character(UCHAR) RecognizedPartition ! typedefs  BOOLEAN 
       character(UCHAR) RewritePartition ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_SET_PARTITION_INFORMATION
     SEQUENCE
       integer(BYTE) PartitionType ! knowns  BYTE 
     END TYPE
     TYPE T_DRIVE_LAYOUT_INFORMATION
     SEQUENCE
       integer(DWORD) PartitionCount ! knowns  DWORD 
       integer(DWORD) Signature ! knowns  DWORD 
       TYPE (T_PARTITION_INFORMATION) PartitionEntry(1) ! typedefs  PARTITION_INFORMATION 
     END TYPE
     TYPE T_VERIFY_INFORMATION
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartingOffset ! typedefs  LARGE_INTEGER 
       integer(DWORD) Length ! knowns  DWORD 
     END TYPE
     TYPE T_REASSIGN_BLOCKS
     SEQUENCE
       integer(WORD) Reserved ! knowns  WORD 
       integer(WORD) Count ! knowns  WORD 
       integer(DWORD) BlockNumber(1) ! knowns  DWORD 
     END TYPE
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_DISK_CONTROLLER_NUMBER
     SEQUENCE
       integer(DWORD) ControllerNumber ! knowns  DWORD 
       integer(DWORD) DiskNumber ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
     TYPE T_HISTOGRAM_BUCKET
     SEQUENCE
       integer(DWORD) Reads ! knowns  DWORD 
       integer(DWORD) Writes ! knowns  DWORD 
     END TYPE
     TYPE T_DISK_HISTOGRAM
     SEQUENCE
       TYPE (T_LARGE_INTEGER) DiskSize ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) Start ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) End ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) Average ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) AverageRead ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) AverageWrite ! typedefs  LARGE_INTEGER 
       integer(DWORD) Granularity ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
       integer(DWORD) ReadCount ! knowns  DWORD 
       integer(DWORD) WriteCount ! knowns  DWORD 
       integer(LPVOID) Histogram ! pointers  PHISTOGRAM_BUCKET 
     END TYPE
     TYPE T_DISK_PERFORMANCE
     SEQUENCE
       TYPE (T_LARGE_INTEGER) BytesRead ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) BytesWritten ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) ReadTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) WriteTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) IdleTime ! typedefs  LARGE_INTEGER 
       integer(DWORD) ReadCount ! knowns  DWORD 
       integer(DWORD) WriteCount ! knowns  DWORD 
       integer(DWORD) QueueDepth ! knowns  DWORD 
       integer(DWORD) SplitCount ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) QueryTime ! typedefs  LARGE_INTEGER 
       integer(DWORD) StorageDeviceNumber ! knowns  DWORD 
       integer(WCHAR) StorageManagerName(8) ! knowns  WCHAR 
     END TYPE
     TYPE T_DISK_RECORD
     SEQUENCE
       TYPE (T_LARGE_INTEGER) ByteOffset ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) StartTime ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) EndTime ! typedefs  LARGE_INTEGER 
       integer(PVOID) VirtualAddress ! knowns  PVOID 
       integer(DWORD) NumberOfBytes ! knowns  DWORD 
       integer(BYTE) DeviceNumber ! knowns  BYTE 
       character(UCHAR) ReadRequest ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_DISK_LOGGING
     SEQUENCE
       integer(BYTE) Function ! knowns  BYTE 
       integer(PVOID) BufferAddress ! knowns  PVOID 
       integer(DWORD) BufferSize ! knowns  DWORD 
     END TYPE
     TYPE T_BIN_RANGE
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartValue ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) Length ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_PERF_BIN
     SEQUENCE
       integer(DWORD) NumberOfBins ! knowns  DWORD 
       integer(DWORD) TypeOfBin ! knowns  DWORD 
       TYPE (T_BIN_RANGE) BinsRanges(1) ! typedefs  BIN_RANGE 
     END TYPE
     TYPE T_BIN_COUNT
     SEQUENCE
       TYPE (T_BIN_RANGE) BinRange ! typedefs  BIN_RANGE 
       integer(DWORD) BinCount ! knowns  DWORD 
     END TYPE
     TYPE T_BIN_RESULTS
     SEQUENCE
       integer(DWORD) NumberOfBins ! knowns  DWORD 
       TYPE (T_BIN_COUNT) BinCounts(1) ! typedefs  BIN_COUNT 
     END TYPE
!DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
!DEC$ OPTIONS /ALIGN=RECORDS=PACKED /WARN=NOALIGN
!DEC$ ENDIF
       TYPE T_GETVERSIONINPARAMS
     SEQUENCE
       integer(BYTE) bVersion ! knowns  BYTE 
       integer(BYTE) bRevision ! knowns  BYTE 
       integer(BYTE) bReserved ! knowns  BYTE 
       integer(BYTE) bIDEDeviceMap ! knowns  BYTE 
       integer(DWORD) fCapabilities ! knowns  DWORD 
       integer(DWORD) dwReserved(4) ! knowns  DWORD 
     END TYPE
     TYPE T_IDEREGS
     SEQUENCE
       integer(BYTE) bFeaturesReg ! knowns  BYTE 
       integer(BYTE) bSectorCountReg ! knowns  BYTE 
       integer(BYTE) bSectorNumberReg ! knowns  BYTE 
       integer(BYTE) bCylLowReg ! knowns  BYTE 
       integer(BYTE) bCylHighReg ! knowns  BYTE 
       integer(BYTE) bDriveHeadReg ! knowns  BYTE 
       integer(BYTE) bCommandReg ! knowns  BYTE 
       integer(BYTE) bReserved ! knowns  BYTE 
     END TYPE
     TYPE T_SENDCMDINPARAMS
     SEQUENCE
       integer(DWORD) cBufferSize ! knowns  DWORD 
       TYPE (T_IDEREGS) irDriveRegs ! typedefs  IDEREGS 
       integer(BYTE) bDriveNumber ! knowns  BYTE 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) bReserved(3) ! knowns  BYTE 
!DEC$ ELSE
       character(3) bReserved
!DEC$ ENDIF
       integer(DWORD) dwReserved(4) ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) bBuffer(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) bBuffer
!DEC$ ENDIF
     END TYPE
     TYPE T_DRIVERSTATUS
     SEQUENCE
       integer(BYTE) bDriverError ! knowns  BYTE 
       integer(BYTE) bIDEError ! knowns  BYTE 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) bReserved(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) bReserved
!DEC$ ENDIF
       integer(DWORD) dwReserved(2) ! knowns  DWORD 
     END TYPE
     TYPE T_SENDCMDOUTPARAMS
     SEQUENCE
       integer(DWORD) cBufferSize ! knowns  DWORD 
       TYPE (T_DRIVERSTATUS) DriverStatus ! typedefs  DRIVERSTATUS 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) bBuffer(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) bBuffer
!DEC$ ENDIF
     END TYPE
  !DEC$ IF DEFINED(ALIGNMENT_IS_PACKED_IA64)
  !DEC$ END OPTIONS
  !DEC$ ENDIF
     TYPE T_CHANGER_ELEMENT
     SEQUENCE
    ! ???  ELEMENT_TYPE ElementType !  ELEMENT_TYPE 
       integer(DWORD) ElementType ! an enum
       integer(DWORD) ElementAddress ! knowns  DWORD 
     END TYPE
     TYPE T_CHANGER_ELEMENT_LIST
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Element ! typedefs  CHANGER_ELEMENT 
       integer(DWORD) NumberOfElements ! knowns  DWORD 
     END TYPE
     TYPE T_GET_CHANGER_PARAMETERS
     SEQUENCE
       integer(DWORD) Size ! knowns  DWORD 
       integer(WORD) NumberTransportElements ! knowns  WORD 
       integer(WORD) NumberStorageElements ! knowns  WORD 
       integer(WORD) NumberCleanerSlots ! knowns  WORD 
       integer(WORD) NumberIEElements ! knowns  WORD 
       integer(WORD) NumberDataTransferElements ! knowns  WORD 
       integer(WORD) NumberOfDoors ! knowns  WORD 
       integer(WORD) FirstSlotNumber ! knowns  WORD 
       integer(WORD) FirstDriveNumber ! knowns  WORD 
       integer(WORD) FirstTransportNumber ! knowns  WORD 
       integer(WORD) FirstIEPortNumber ! knowns  WORD 
       integer(WORD) FirstCleanerSlotAddress ! knowns  WORD 
       integer(WORD) MagazineSize ! knowns  WORD 
       integer(DWORD) DriveCleanTimeout ! knowns  DWORD 
       integer(DWORD) Features0 ! knowns  DWORD 
       integer(DWORD) Features1 ! knowns  DWORD 
       integer(BYTE) MoveFromTransport ! knowns  BYTE 
       integer(BYTE) MoveFromSlot ! knowns  BYTE 
       integer(BYTE) MoveFromIePort ! knowns  BYTE 
       integer(BYTE) MoveFromDrive ! knowns  BYTE 
       integer(BYTE) ExchangeFromTransport ! knowns  BYTE 
       integer(BYTE) ExchangeFromSlot ! knowns  BYTE 
       integer(BYTE) ExchangeFromIePort ! knowns  BYTE 
       integer(BYTE) ExchangeFromDrive ! knowns  BYTE 
       integer(BYTE) LockUnlockCapabilities ! knowns  BYTE 
       integer(BYTE) PositionCapabilities ! knowns  BYTE 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Reserved1(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) Reserved1
!DEC$ ENDIF
       integer(DWORD) Reserved2(2) ! knowns  DWORD 
     END TYPE
     TYPE T_CHANGER_PRODUCT_DATA
     SEQUENCE
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) VendorId(8) ! knowns  BYTE 
!DEC$ ELSE
       character(8) VendorId
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) ProductId(16) ! knowns  BYTE 
!DEC$ ELSE
       character(16) ProductId
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) Revision(4) ! knowns  BYTE 
!DEC$ ELSE
       character(4) Revision
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) SerialNumber(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) SerialNumber
!DEC$ ENDIF
       integer(BYTE) DeviceType ! knowns  BYTE 
     END TYPE
     TYPE T_CHANGER_SET_ACCESS
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Element ! typedefs  CHANGER_ELEMENT 
       integer(DWORD) Control ! knowns  DWORD 
     END TYPE
     TYPE T_CHANGER_READ_ELEMENT_STATUS
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT_LIST) ElementList ! typedefs  CHANGER_ELEMENT_LIST 
       character(UCHAR) VolumeTagInfo ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_CHANGER_ELEMENT_STATUS
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Element ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) SrcElementAddress ! typedefs  CHANGER_ELEMENT 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(DWORD) ExceptionCode ! knowns  DWORD 
       integer(BYTE) TargetId ! knowns  BYTE 
       integer(BYTE) Lun ! knowns  BYTE 
       integer(WORD) Reserved ! knowns  WORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) PrimaryVolumeID(36) ! knowns  BYTE 
!DEC$ ELSE
       character(36) PrimaryVolumeID
!DEC$ ENDIF
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) AlternateVolumeID(36) ! knowns  BYTE 
!DEC$ ELSE
       character(36) AlternateVolumeID
!DEC$ ENDIF
     END TYPE
     TYPE T_CHANGER_INITIALIZE_ELEMENT_STATUS
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT_LIST) ElementList ! typedefs  CHANGER_ELEMENT_LIST 
       character(UCHAR) BarCodeScan ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_CHANGER_SET_POSITION
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Transport ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Destination ! typedefs  CHANGER_ELEMENT 
       character(UCHAR) Flip ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_CHANGER_EXCHANGE_MEDIUM
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Transport ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Source ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Destination1 ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Destination2 ! typedefs  CHANGER_ELEMENT 
       character(UCHAR) Flip1 ! typedefs  BOOLEAN 
       character(UCHAR) Flip2 ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_CHANGER_MOVE_MEDIUM
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) Transport ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Source ! typedefs  CHANGER_ELEMENT 
       TYPE (T_CHANGER_ELEMENT) Destination ! typedefs  CHANGER_ELEMENT 
       character(UCHAR) Flip ! typedefs  BOOLEAN 
     END TYPE
     TYPE T_CHANGER_SEND_VOLUME_TAG_INFORMATION
     SEQUENCE
       TYPE (T_CHANGER_ELEMENT) StartingElement ! typedefs  CHANGER_ELEMENT 
       integer(DWORD) ActionCode ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       integer(BYTE) VolumeIDTemplate(40) ! knowns  BYTE 
!DEC$ ELSE
       character(40) VolumeIDTemplate
!DEC$ ENDIF
     END TYPE
     TYPE T_READ_ELEMENT_ADDRESS_INFO
     SEQUENCE
       integer(DWORD) NumberOfElements ! knowns  DWORD 
       TYPE (T_CHANGER_ELEMENT_STATUS) ElementStatus(1) ! typedefs  CHANGER_ELEMENT_STATUS 
     END TYPE
     TYPE T_PATHNAME_BUFFER
     SEQUENCE
       integer(DWORD) PathNameLength ! knowns  DWORD 
       integer(WCHAR) Name(1) ! knowns  WCHAR 
     END TYPE
     TYPE T_FSCTL_QUERY_FAT_BPB_BUFFER
     SEQUENCE
      BYTE First0x24BytesOfBootSector(#24)
     END TYPE
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_NTFS_VOLUME_DATA_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) VolumeSerialNumber ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) NumberSectors ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) TotalClusters ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) FreeClusters ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) TotalReserved ! typedefs  LARGE_INTEGER 
       integer(DWORD) BytesPerSector ! knowns  DWORD 
       integer(DWORD) BytesPerCluster ! knowns  DWORD 
       integer(DWORD) BytesPerFileRecordSegment ! knowns  DWORD 
       integer(DWORD) ClustersPerFileRecordSegment ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) MftValidDataLength ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) MftStartLcn ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) Mft2StartLcn ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) MftZoneStart ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) MftZoneEnd ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_NTFS_EXTENDED_VOLUME_DATA
     SEQUENCE
       integer(DWORD) ByteCount ! knowns  DWORD 
       integer(WORD) MajorVersion ! knowns  WORD 
       integer(WORD) MinorVersion ! knowns  WORD 
     END TYPE
     TYPE T_STARTING_LCN_INPUT_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartingLcn ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_VOLUME_BITMAP_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartingLcn ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) BitmapSize ! typedefs  LARGE_INTEGER 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) Buffer(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) Buffer
!DEC$ ENDIF
     END TYPE
     TYPE T_STARTING_VCN_INPUT_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) StartingVcn ! typedefs  LARGE_INTEGER 
     END TYPE
    !Inserted structure here:T_RETRIEVAL_POINTERS_BUFFER
     STRUCTURE /T_RETRIEVAL_POINTERS_BUFFER/
        integer(DWORD) ExtentCount ! knowns  DWORD 
        TYPE(T_LARGE_INTEGER) StartingVcn ! typedefs  LARGE_INTEGER 
        STRUCTURE /f_PSTARTING_VCN_INPUT_BUFFERLARGE_INTEGERNextVcn/ PSTARTING_VCN_INPUT_BUFFERLARGE_INTEGERNextVcn
        TYPE(T_LARGE_INTEGER) Lcn ! typedefs  LARGE_INTEGER 
        END STRUCTURE ! PSTARTING_VCN_INPUT_BUFFERExtents[1]
     END STRUCTURE
     TYPE T_NTFS_FILE_RECORD_INPUT_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) FileReferenceNumber ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_NTFS_FILE_RECORD_OUTPUT_BUFFER
     SEQUENCE
       TYPE (T_LARGE_INTEGER) FileReferenceNumber ! typedefs  LARGE_INTEGER 
       integer(DWORD) FileRecordLength ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) FileRecordBuffer(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) FileRecordBuffer
!DEC$ ENDIF
     END TYPE
     TYPE T_MOVE_FILE_DATA
     SEQUENCE
       integer(HANDLE) FileHandle ! knowns  HANDLE 
       TYPE (T_LARGE_INTEGER) StartingVcn ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) StartingLcn ! typedefs  LARGE_INTEGER 
       integer(DWORD) ClusterCount ! knowns  DWORD 
     END TYPE
     TYPE T_HFS_INFORMATION_BUFFER
     SEQUENCE
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) FinderInfo(32) ! knowns  BYTE 
!DEC$ ELSE
       character(32) FinderInfo
!DEC$ ENDIF
     END TYPE
    !DEC$ ENDIF
     TYPE T_FILESYSTEM_STATISTICS
     SEQUENCE
       integer(WORD) FileSystemType ! knowns  WORD 
       integer(WORD) Version ! knowns  WORD 
       integer(DWORD) SizeOfCompleteStructure ! knowns  DWORD 
       integer(DWORD) UserFileReads ! knowns  DWORD 
       integer(DWORD) UserFileReadBytes ! knowns  DWORD 
       integer(DWORD) UserDiskReads ! knowns  DWORD 
       integer(DWORD) UserFileWrites ! knowns  DWORD 
       integer(DWORD) UserFileWriteBytes ! knowns  DWORD 
       integer(DWORD) UserDiskWrites ! knowns  DWORD 
       integer(DWORD) MetaDataReads ! knowns  DWORD 
       integer(DWORD) MetaDataReadBytes ! knowns  DWORD 
       integer(DWORD) MetaDataDiskReads ! knowns  DWORD 
       integer(DWORD) MetaDataWrites ! knowns  DWORD 
       integer(DWORD) MetaDataWriteBytes ! knowns  DWORD 
       integer(DWORD) MetaDataDiskWrites ! knowns  DWORD 
     END TYPE
     TYPE T_FAT_STATISTICS
     SEQUENCE
       integer(DWORD) CreateHits ! knowns  DWORD 
       integer(DWORD) SuccessfulCreates ! knowns  DWORD 
       integer(DWORD) FailedCreates ! knowns  DWORD 
       integer(DWORD) NonCachedReads ! knowns  DWORD 
       integer(DWORD) NonCachedReadBytes ! knowns  DWORD 
       integer(DWORD) NonCachedWrites ! knowns  DWORD 
       integer(DWORD) NonCachedWriteBytes ! knowns  DWORD 
       integer(DWORD) NonCachedDiskReads ! knowns  DWORD 
       integer(DWORD) NonCachedDiskWrites ! knowns  DWORD 
     END TYPE
    !Inserted structure here:T_NTFS_STATISTICS
     STRUCTURE /T_NTFS_STATISTICS/
        integer(DWORD) LogFileFullExceptions ! knowns  DWORD 
        integer(DWORD) OtherExceptions ! knowns  DWORD 
        integer(DWORD) MftReads ! knowns  DWORD 
        integer(DWORD) MftReadBytes ! knowns  DWORD 
        integer(DWORD) MftWrites ! knowns  DWORD 
        integer(DWORD) MftWriteBytes ! knowns  DWORD 
        STRUCTURE /f_MftWritesUserLevel/ MftWritesUserLevel
        integer(WORD) Write ! knowns  WORD 
        integer(WORD) Create ! knowns  WORD 
        integer(WORD) SetInfo ! knowns  WORD 
        integer(WORD) Flush ! knowns  WORD 
        END STRUCTURE ! MftWritesUserLevel
        integer(WORD) MftWritesFlushForLogFileFull ! knowns  WORD 
        integer(WORD) MftWritesLazyWriter ! knowns  WORD 
        integer(WORD) MftWritesUserRequest ! knowns  WORD 
        integer(DWORD) Mft2Writes ! knowns  DWORD 
        integer(DWORD) Mft2WriteBytes ! knowns  DWORD 
        STRUCTURE /f_Mft2WritesUserLevel/ Mft2WritesUserLevel
        integer(WORD) Write ! knowns  WORD 
        integer(WORD) Create ! knowns  WORD 
        integer(WORD) SetInfo ! knowns  WORD 
        integer(WORD) Flush ! knowns  WORD 
        END STRUCTURE ! Mft2WritesUserLevel
        integer(WORD) Mft2WritesFlushForLogFileFull ! knowns  WORD 
        integer(WORD) Mft2WritesLazyWriter ! knowns  WORD 
        integer(WORD) Mft2WritesUserRequest ! knowns  WORD 
        integer(DWORD) RootIndexReads ! knowns  DWORD 
        integer(DWORD) RootIndexReadBytes ! knowns  DWORD 
        integer(DWORD) RootIndexWrites ! knowns  DWORD 
        integer(DWORD) RootIndexWriteBytes ! knowns  DWORD 
        integer(DWORD) BitmapReads ! knowns  DWORD 
        integer(DWORD) BitmapReadBytes ! knowns  DWORD 
        integer(DWORD) BitmapWrites ! knowns  DWORD 
        integer(DWORD) BitmapWriteBytes ! knowns  DWORD 
        integer(WORD) BitmapWritesFlushForLogFileFull ! knowns  WORD 
        integer(WORD) BitmapWritesLazyWriter ! knowns  WORD 
        integer(WORD) BitmapWritesUserRequest ! knowns  WORD 
        STRUCTURE /f_BitmapWritesUserLevel/ BitmapWritesUserLevel
        integer(WORD) Write ! knowns  WORD 
        integer(WORD) Create ! knowns  WORD 
        integer(WORD) SetInfo ! knowns  WORD 
        END STRUCTURE ! BitmapWritesUserLevel
        integer(DWORD) MftBitmapReads ! knowns  DWORD 
        integer(DWORD) MftBitmapReadBytes ! knowns  DWORD 
        integer(DWORD) MftBitmapWrites ! knowns  DWORD 
        integer(DWORD) MftBitmapWriteBytes ! knowns  DWORD 
        integer(WORD) MftBitmapWritesFlushForLogFileFull ! knowns  WORD 
        integer(WORD) MftBitmapWritesLazyWriter ! knowns  WORD 
        integer(WORD) MftBitmapWritesUserRequest ! knowns  WORD 
        STRUCTURE /f_MftBitmapWritesUserLevel/ MftBitmapWritesUserLevel
        integer(WORD) Write ! knowns  WORD 
        integer(WORD) Create ! knowns  WORD 
        integer(WORD) SetInfo ! knowns  WORD 
        integer(WORD) Flush ! knowns  WORD 
        END STRUCTURE ! MftBitmapWritesUserLevel
        integer(DWORD) UserIndexReads ! knowns  DWORD 
        integer(DWORD) UserIndexReadBytes ! knowns  DWORD 
        integer(DWORD) UserIndexWrites ! knowns  DWORD 
        integer(DWORD) UserIndexWriteBytes ! knowns  DWORD 
        integer(DWORD) LogFileReads ! knowns  DWORD 
        integer(DWORD) LogFileReadBytes ! knowns  DWORD 
        integer(DWORD) LogFileWrites ! knowns  DWORD 
        integer(DWORD) LogFileWriteBytes ! knowns  DWORD 
        STRUCTURE /f_Allocate/ Allocate
        integer(DWORD) Calls ! knowns  DWORD 
        integer(DWORD) Clusters ! knowns  DWORD 
        integer(DWORD) Hints ! knowns  DWORD 
        integer(DWORD) RunsReturned ! knowns  DWORD 
        integer(DWORD) HintsHonored ! knowns  DWORD 
        integer(DWORD) HintsClusters ! knowns  DWORD 
        integer(DWORD) Cache ! knowns  DWORD 
        integer(DWORD) CacheClusters ! knowns  DWORD 
        integer(DWORD) CacheMiss ! knowns  DWORD 
        integer(DWORD) CacheMissClusters ! knowns  DWORD 
        END STRUCTURE ! Allocate
     END STRUCTURE
     TYPE T_DISK_EXTENT
     SEQUENCE
       integer(DWORD) DiskNumber ! knowns  DWORD 
       TYPE (T_LARGE_INTEGER) StartingOffset ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) ExtentLength ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_VOLUME_DISK_EXTENTS
     SEQUENCE
       integer(DWORD) NumberOfDiskExtents ! knowns  DWORD 
       TYPE (T_DISK_EXTENT) Extents(1) ! typedefs  DISK_EXTENT 
     END TYPE
     TYPE T_SCARD_IO_REQUEST
     SEQUENCE
       integer(DWORD) dwProtocol ! knowns  DWORD 
       integer(DWORD) cbPciLength ! knowns  DWORD 
     END TYPE
     TYPE T_SCARD_T0_COMMAND
     SEQUENCE
    ! ???  BYTE bCla, bIns, bP1, bP2, bP3 !  BYTE bCla, bIns, bP1, bP2, 
       integer(BYTE) bCla
       integer(BYTE) bIns
       integer(BYTE) bP1
       integer(BYTE) bP2
       integer(BYTE) bP3  
     END TYPE
    !Inserted structure here:T_SCARD_T0_REQUEST
     STRUCTURE /T_SCARD_T0_REQUEST/
        TYPE(T_SCARD_IO_REQUEST) ioRequest ! typedefs  SCARD_IO_REQUEST 
    !???   BYTE bSw1, bSw2 !  BYTE bSw1, 
       UNION  ! field0
         MAP
        TYPE(T_SCARD_T0_COMMAND) CmdBytes ! typedefs  SCARD_T0_COMMAND 
         END MAP
         MAP
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
        integer(BYTE) rgbHeader(5) ! knowns  BYTE 
!DEC$ ELSE
        character(5) rgbHeader
!DEC$ ENDIF
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_SCARD_T1_REQUEST
     SEQUENCE
       TYPE (T_SCARD_IO_REQUEST) ioRequest ! typedefs  SCARD_IO_REQUEST 
     END TYPE
     TYPE T_SCARD_READERSTATE
     SEQUENCE
       integer(LPCSTR) szReader ! knowns  LPCSTR 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwCurrentState ! knowns  DWORD 
       integer(DWORD) dwEventState ! knowns  DWORD 
       integer(DWORD) cbAtr ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgbAtr(36) ! knowns  BYTE 
!DEC$ ELSE
       character(36) rgbAtr
!DEC$ ENDIF
     END TYPE
     TYPE T_SCARD_READERSTATEW
     SEQUENCE
       integer(LPCWSTR) szReader ! knowns  LPCWSTR 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwCurrentState ! knowns  DWORD 
       integer(DWORD) dwEventState ! knowns  DWORD 
       integer(DWORD) cbAtr ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) rgbAtr(36) ! knowns  BYTE 
!DEC$ ELSE
       character(36) rgbAtr
!DEC$ ENDIF
     END TYPE
     TYPE T_OPENCARD_SEARCH_CRITERIA
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
       integer(LPSTR) lpstrGroupNames ! knowns  LPSTR 
       integer(DWORD) nMaxGroupNames ! knowns  DWORD 
       integer(LPVOID) rgguidInterfaces ! pointers  LPCGUID 
       integer(DWORD) cguidInterfaces ! knowns  DWORD 
       integer(LPSTR) lpstrCardNames ! knowns  LPSTR 
       integer(DWORD) nMaxCardNames ! knowns  DWORD 
       integer(LPVOID) lpfnCheck ! pointers  LPOCNCHKPROC 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCA 
       integer(LPVOID) lpfnDisconnect ! pointers  LPOCNDSCPROC 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
     END TYPE
     TYPE T_OPENCARD_SEARCH_CRITERIAW
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
       integer(LPWSTR) lpstrGroupNames ! knowns  LPWSTR 
       integer(DWORD) nMaxGroupNames ! knowns  DWORD 
       integer(LPVOID) rgguidInterfaces ! pointers  LPCGUID 
       integer(DWORD) cguidInterfaces ! knowns  DWORD 
       integer(LPWSTR) lpstrCardNames ! knowns  LPWSTR 
       integer(DWORD) nMaxCardNames ! knowns  DWORD 
       integer(LPVOID) lpfnCheck ! pointers  LPOCNCHKPROC 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCW 
       integer(LPVOID) lpfnDisconnect ! pointers  LPOCNDSCPROC 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
     END TYPE
     TYPE T_OPENCARDNAME_EX
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPCSTR) lpstrTitle ! knowns  LPCSTR 
       integer(LPCSTR) lpstrSearchDesc ! knowns  LPCSTR 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(LPVOID) pOpenCardSearchCriteria ! pointers  POPENCARD_SEARCH_CRITERIAA 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCA 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
       integer(LPSTR) lpstrRdr ! knowns  LPSTR 
       integer(DWORD) nMaxRdr ! knowns  DWORD 
       integer(LPSTR) lpstrCard ! knowns  LPSTR 
       integer(DWORD) nMaxCard ! knowns  DWORD 
       integer(DWORD) dwActiveProtocol ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
     END TYPE
     TYPE T_OPENCARDNAME_EXW
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPCWSTR) lpstrTitle ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrSearchDesc ! knowns  LPCWSTR 
       integer(HANDLE) hIcon ! handles  HICON 
       integer(LPVOID) pOpenCardSearchCriteria ! pointers  POPENCARD_SEARCH_CRITERIAW 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCW 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
       integer(LPWSTR) lpstrRdr ! knowns  LPWSTR 
       integer(DWORD) nMaxRdr ! knowns  DWORD 
       integer(LPWSTR) lpstrCard ! knowns  LPWSTR 
       integer(DWORD) nMaxCard ! knowns  DWORD 
       integer(DWORD) dwActiveProtocol ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
     END TYPE
     TYPE T_OPENCARDNAME
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
       integer(LPSTR) lpstrGroupNames ! knowns  LPSTR 
       integer(DWORD) nMaxGroupNames ! knowns  DWORD 
       integer(LPSTR) lpstrCardNames ! knowns  LPSTR 
       integer(DWORD) nMaxCardNames ! knowns  DWORD 
       integer(LPVOID) rgguidInterfaces ! pointers  LPCGUID 
       integer(DWORD) cguidInterfaces ! knowns  DWORD 
       integer(LPSTR) lpstrRdr ! knowns  LPSTR 
       integer(DWORD) nMaxRdr ! knowns  DWORD 
       integer(LPSTR) lpstrCard ! knowns  LPSTR 
       integer(DWORD) nMaxCard ! knowns  DWORD 
       integer(LPCSTR) lpstrTitle ! knowns  LPCSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
       integer(DWORD) dwActiveProtocol ! knowns  DWORD 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCA 
       integer(LPVOID) lpfnCheck ! pointers  LPOCNCHKPROC 
       integer(LPVOID) lpfnDisconnect ! pointers  LPOCNDSCPROC 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
     END TYPE
     TYPE T_OPENCARDNAMEW
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
    !DEC$ IF DEFINED( _M_IA64)
       integer(pointer_len) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hSCardContext ! typedefs  SCARDCONTEXT 
    !DEC$ ENDIF
       integer(LPWSTR) lpstrGroupNames ! knowns  LPWSTR 
       integer(DWORD) nMaxGroupNames ! knowns  DWORD 
       integer(LPWSTR) lpstrCardNames ! knowns  LPWSTR 
       integer(DWORD) nMaxCardNames ! knowns  DWORD 
       integer(LPVOID) rgguidInterfaces ! pointers  LPCGUID 
       integer(DWORD) cguidInterfaces ! knowns  DWORD 
       integer(LPWSTR) lpstrRdr ! knowns  LPWSTR 
       integer(DWORD) nMaxRdr ! knowns  DWORD 
       integer(LPWSTR) lpstrCard ! knowns  LPWSTR 
       integer(DWORD) nMaxCard ! knowns  DWORD 
       integer(LPCWSTR) lpstrTitle ! knowns  LPCWSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPVOID) pvUserData ! knowns  LPVOID 
       integer(DWORD) dwShareMode ! knowns  DWORD 
       integer(DWORD) dwPreferredProtocols ! knowns  DWORD 
       integer(DWORD) dwActiveProtocol ! knowns  DWORD 
       integer(LPVOID) lpfnConnect ! pointers  LPOCNCONNPROCW 
       integer(LPVOID) lpfnCheck ! pointers  LPOCNCHKPROC 
       integer(LPVOID) lpfnDisconnect ! pointers  LPOCNDSCPROC 
    !DEC$ IF DEFINED( _M_IA64)
       integer(HANDLE) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(ULONG) hCardHandle ! typedefs  SCARDHANDLE 
    !DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_PROPSHEETPAGE
     STRUCTURE /T_PROPSHEETPAGE/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field1
         MAP
        integer(LPCSTR) pszTemplate ! knowns  LPCSTR 
         END MAP
         MAP
        integer(LPVOID) pResource ! typedefs  LPCDLGTEMPLATE 
         END MAP
       END UNION  ! field1
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCSTR) pszIcon ! knowns  LPCSTR 
         END MAP
       END UNION  ! field0
        integer(LPCSTR) pszTitle ! knowns  LPCSTR 
        integer(LPVOID) pfnDlgProc ! pointers  DLGPROC 
        integer(LONG_PTR) lParam ! knowns  LPARAM 
        integer(LPVOID) pfnCallback ! pointers  LPFNPSPCALLBACKA 
       integer(LPVOID)  pcRefParent ! star  UINT  *
        integer(LPCSTR) pszHeaderTitle ! knowns  LPCSTR 
        integer(LPCSTR) pszHeaderSubTitle ! knowns  LPCSTR 
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETPAGEW
     STRUCTURE /T_PROPSHEETPAGEW/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field1
         MAP
        integer(LPCWSTR) pszTemplate ! knowns  LPCWSTR 
         END MAP
         MAP
        integer(LPVOID) pResource ! typedefs  LPCDLGTEMPLATE 
         END MAP
       END UNION  ! field1
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCWSTR) pszIcon ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field0
        integer(LPCWSTR) pszTitle ! knowns  LPCWSTR 
        integer(LPVOID) pfnDlgProc ! pointers  DLGPROC 
        integer(LONG_PTR) lParam ! knowns  LPARAM 
        integer(LPVOID) pfnCallback ! pointers  LPFNPSPCALLBACKW 
       integer(LPVOID)  pcRefParent ! star  UINT  *
        integer(LPCWSTR) pszHeaderTitle ! knowns  LPCWSTR 
        integer(LPCWSTR) pszHeaderSubTitle ! knowns  LPCWSTR 
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETHEADER
     STRUCTURE /T_PROPSHEETHEADER/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hwndParent ! handles  HWND 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field4
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCSTR) pszIcon ! knowns  LPCSTR 
         END MAP
       END UNION  ! field4
        integer(LPCSTR) pszCaption ! knowns  LPCSTR 
        integer(UINT) nPages ! knowns  UINT 
       UNION  ! field3
         MAP
        integer(UINT) nStartPage ! knowns  UINT 
         END MAP
         MAP
        integer(LPCSTR) pStartPage ! knowns  LPCSTR 
         END MAP
       END UNION  ! field3
       UNION  ! field2
         MAP
        integer(LPVOID) ppsp ! pointers  LPCPROPSHEETPAGEA 
         END MAP
         MAP
       integer(LPVOID) phpage ! star  HPROPSHEETPAGE  *
         END MAP
       END UNION  ! field2
        integer(LPVOID) pfnCallback ! pointers  PFNPROPSHEETCALLBACK 
       UNION  ! field1
         MAP
        integer(HANDLE) hbmWatermark ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCSTR) pszbmWatermark ! knowns  LPCSTR 
         END MAP
       END UNION  ! field1
        integer(HANDLE) hplWatermark ! handles  HPALETTE 
       UNION  ! field0
         MAP
        integer(HANDLE) hbmHeader ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCSTR) pszbmHeader ! knowns  LPCSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETHEADERW
     STRUCTURE /T_PROPSHEETHEADERW/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hwndParent ! handles  HWND 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field4
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCWSTR) pszIcon ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field4
        integer(LPCWSTR) pszCaption ! knowns  LPCWSTR 
        integer(UINT) nPages ! knowns  UINT 
       UNION  ! field3
         MAP
        integer(UINT) nStartPage ! knowns  UINT 
         END MAP
         MAP
        integer(LPCWSTR) pStartPage ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field3
       UNION  ! field2
         MAP
        integer(LPVOID) ppsp ! pointers  LPCPROPSHEETPAGEW 
         END MAP
         MAP
       integer(LPVOID) phpage ! star  HPROPSHEETPAGE  *
         END MAP
       END UNION  ! field2
        integer(LPVOID) pfnCallback ! pointers  PFNPROPSHEETCALLBACK 
       UNION  ! field1
         MAP
        integer(HANDLE) hbmWatermark ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCWSTR) pszbmWatermark ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field1
        integer(HANDLE) hplWatermark ! handles  HPALETTE 
       UNION  ! field0
         MAP
        integer(HANDLE) hbmHeader ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCWSTR) pszbmHeader ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_PSHNOTIFY
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lParam ! typedefs  LPARAM 
    !DEC$ ENDIF
     END TYPE
     TYPE T_PRINTER_INFO_1
     SEQUENCE
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPSTR) pDescription ! knowns  LPSTR 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pComment ! knowns  LPSTR 
     END TYPE
     TYPE T_PRINTER_INFO_1W
     SEQUENCE
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPWSTR) pDescription ! knowns  LPWSTR 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pComment ! knowns  LPWSTR 
     END TYPE
     TYPE T_PRINTER_INFO_2
     SEQUENCE
       integer(LPSTR) pServerName ! knowns  LPSTR 
       integer(LPSTR) pPrinterName ! knowns  LPSTR 
       integer(LPSTR) pShareName ! knowns  LPSTR 
       integer(LPSTR) pPortName ! knowns  LPSTR 
       integer(LPSTR) pDriverName ! knowns  LPSTR 
       integer(LPSTR) pComment ! knowns  LPSTR 
       integer(LPSTR) pLocation ! knowns  LPSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEA 
       integer(LPSTR) pSepFile ! knowns  LPSTR 
       integer(LPSTR) pPrintProcessor ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(LPSTR) pParameters ! knowns  LPSTR 
       integer(PVOID) pSecurityDescriptor ! typedefs  PSECURITY_DESCRIPTOR 
       integer(DWORD) Attributes ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) DefaultPriority ! knowns  DWORD 
       integer(DWORD) StartTime ! knowns  DWORD 
       integer(DWORD) UntilTime ! knowns  DWORD 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) cJobs ! knowns  DWORD 
       integer(DWORD) AveragePPM ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_2W
     SEQUENCE
       integer(LPWSTR) pServerName ! knowns  LPWSTR 
       integer(LPWSTR) pPrinterName ! knowns  LPWSTR 
       integer(LPWSTR) pShareName ! knowns  LPWSTR 
       integer(LPWSTR) pPortName ! knowns  LPWSTR 
       integer(LPWSTR) pDriverName ! knowns  LPWSTR 
       integer(LPWSTR) pComment ! knowns  LPWSTR 
       integer(LPWSTR) pLocation ! knowns  LPWSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEW 
       integer(LPWSTR) pSepFile ! knowns  LPWSTR 
       integer(LPWSTR) pPrintProcessor ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(LPWSTR) pParameters ! knowns  LPWSTR 
       integer(PVOID) pSecurityDescriptor ! typedefs  PSECURITY_DESCRIPTOR 
       integer(DWORD) Attributes ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) DefaultPriority ! knowns  DWORD 
       integer(DWORD) StartTime ! knowns  DWORD 
       integer(DWORD) UntilTime ! knowns  DWORD 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) cJobs ! knowns  DWORD 
       integer(DWORD) AveragePPM ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_3
     SEQUENCE
       integer(PVOID) pSecurityDescriptor ! typedefs  PSECURITY_DESCRIPTOR 
     END TYPE
     TYPE T_PRINTER_INFO_4
     SEQUENCE
       integer(LPSTR) pPrinterName ! knowns  LPSTR 
       integer(LPSTR) pServerName ! knowns  LPSTR 
       integer(DWORD) Attributes ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_4W
     SEQUENCE
       integer(LPWSTR) pPrinterName ! knowns  LPWSTR 
       integer(LPWSTR) pServerName ! knowns  LPWSTR 
       integer(DWORD) Attributes ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_5
     SEQUENCE
       integer(LPSTR) pPrinterName ! knowns  LPSTR 
       integer(LPSTR) pPortName ! knowns  LPSTR 
       integer(DWORD) Attributes ! knowns  DWORD 
       integer(DWORD) DeviceNotSelectedTimeout ! knowns  DWORD 
       integer(DWORD) TransmissionRetryTimeout ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_5W
     SEQUENCE
       integer(LPWSTR) pPrinterName ! knowns  LPWSTR 
       integer(LPWSTR) pPortName ! knowns  LPWSTR 
       integer(DWORD) Attributes ! knowns  DWORD 
       integer(DWORD) DeviceNotSelectedTimeout ! knowns  DWORD 
       integer(DWORD) TransmissionRetryTimeout ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_6
     SEQUENCE
       integer(DWORD) dwStatus ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_7
     SEQUENCE
       integer(LPSTR) pszObjectGUID ! knowns  LPSTR 
       integer(DWORD) dwAction ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_7W
     SEQUENCE
       integer(LPWSTR) pszObjectGUID ! knowns  LPWSTR 
       integer(DWORD) dwAction ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_INFO_8
     SEQUENCE
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEA 
     END TYPE
     TYPE T_PRINTER_INFO_8W
     SEQUENCE
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEW 
     END TYPE
     TYPE T_PRINTER_INFO_9
     SEQUENCE
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEA 
     END TYPE
     TYPE T_PRINTER_INFO_9W
     SEQUENCE
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEW 
     END TYPE
     TYPE T_JOB_INFO_1
     SEQUENCE
       integer(DWORD) JobId ! knowns  DWORD 
       integer(LPSTR) pPrinterName ! knowns  LPSTR 
       integer(LPSTR) pMachineName ! knowns  LPSTR 
       integer(LPSTR) pUserName ! knowns  LPSTR 
       integer(LPSTR) pDocument ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(LPSTR) pStatus ! knowns  LPSTR 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) Position ! knowns  DWORD 
       integer(DWORD) TotalPages ! knowns  DWORD 
       integer(DWORD) PagesPrinted ! knowns  DWORD 
       TYPE (T_SYSTEMTIME) Submitted ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_JOB_INFO_1W
     SEQUENCE
       integer(DWORD) JobId ! knowns  DWORD 
       integer(LPWSTR) pPrinterName ! knowns  LPWSTR 
       integer(LPWSTR) pMachineName ! knowns  LPWSTR 
       integer(LPWSTR) pUserName ! knowns  LPWSTR 
       integer(LPWSTR) pDocument ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(LPWSTR) pStatus ! knowns  LPWSTR 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) Position ! knowns  DWORD 
       integer(DWORD) TotalPages ! knowns  DWORD 
       integer(DWORD) PagesPrinted ! knowns  DWORD 
       TYPE (T_SYSTEMTIME) Submitted ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_JOB_INFO_2
     SEQUENCE
       integer(DWORD) JobId ! knowns  DWORD 
       integer(LPSTR) pPrinterName ! knowns  LPSTR 
       integer(LPSTR) pMachineName ! knowns  LPSTR 
       integer(LPSTR) pUserName ! knowns  LPSTR 
       integer(LPSTR) pDocument ! knowns  LPSTR 
       integer(LPSTR) pNotifyName ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(LPSTR) pPrintProcessor ! knowns  LPSTR 
       integer(LPSTR) pParameters ! knowns  LPSTR 
       integer(LPSTR) pDriverName ! knowns  LPSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEA 
       integer(LPSTR) pStatus ! knowns  LPSTR 
       integer(PVOID) pSecurityDescriptor ! typedefs  PSECURITY_DESCRIPTOR 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) Position ! knowns  DWORD 
       integer(DWORD) StartTime ! knowns  DWORD 
       integer(DWORD) UntilTime ! knowns  DWORD 
       integer(DWORD) TotalPages ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
       TYPE (T_SYSTEMTIME) Submitted ! typedefs  SYSTEMTIME 
       integer(DWORD) Time ! knowns  DWORD 
       integer(DWORD) PagesPrinted ! knowns  DWORD 
     END TYPE
     TYPE T_JOB_INFO_2W
     SEQUENCE
       integer(DWORD) JobId ! knowns  DWORD 
       integer(LPWSTR) pPrinterName ! knowns  LPWSTR 
       integer(LPWSTR) pMachineName ! knowns  LPWSTR 
       integer(LPWSTR) pUserName ! knowns  LPWSTR 
       integer(LPWSTR) pDocument ! knowns  LPWSTR 
       integer(LPWSTR) pNotifyName ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(LPWSTR) pPrintProcessor ! knowns  LPWSTR 
       integer(LPWSTR) pParameters ! knowns  LPWSTR 
       integer(LPWSTR) pDriverName ! knowns  LPWSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEW 
       integer(LPWSTR) pStatus ! knowns  LPWSTR 
       integer(PVOID) pSecurityDescriptor ! typedefs  PSECURITY_DESCRIPTOR 
       integer(DWORD) Status ! knowns  DWORD 
       integer(DWORD) Priority ! knowns  DWORD 
       integer(DWORD) Position ! knowns  DWORD 
       integer(DWORD) StartTime ! knowns  DWORD 
       integer(DWORD) UntilTime ! knowns  DWORD 
       integer(DWORD) TotalPages ! knowns  DWORD 
       integer(DWORD) Size ! knowns  DWORD 
       TYPE (T_SYSTEMTIME) Submitted ! typedefs  SYSTEMTIME 
       integer(DWORD) Time ! knowns  DWORD 
       integer(DWORD) PagesPrinted ! knowns  DWORD 
     END TYPE
     TYPE T_JOB_INFO_3
     SEQUENCE
       integer(DWORD) JobId ! knowns  DWORD 
       integer(DWORD) NextJobId ! knowns  DWORD 
       integer(DWORD) Reserved ! knowns  DWORD 
     END TYPE
     TYPE T_ADDJOB_INFO_1
     SEQUENCE
       integer(LPSTR) Path ! knowns  LPSTR 
       integer(DWORD) JobId ! knowns  DWORD 
     END TYPE
     TYPE T_ADDJOB_INFO_1W
     SEQUENCE
       integer(LPWSTR) Path ! knowns  LPWSTR 
       integer(DWORD) JobId ! knowns  DWORD 
     END TYPE
     TYPE T_DRIVER_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
     END TYPE
     TYPE T_DRIVER_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
     END TYPE
     TYPE T_DRIVER_INFO_2
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDriverPath ! knowns  LPSTR 
       integer(LPSTR) pDataFile ! knowns  LPSTR 
       integer(LPSTR) pConfigFile ! knowns  LPSTR 
     END TYPE
     TYPE T_DRIVER_INFO_2W
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDriverPath ! knowns  LPWSTR 
       integer(LPWSTR) pDataFile ! knowns  LPWSTR 
       integer(LPWSTR) pConfigFile ! knowns  LPWSTR 
     END TYPE
     TYPE T_DRIVER_INFO_3
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDriverPath ! knowns  LPSTR 
       integer(LPSTR) pDataFile ! knowns  LPSTR 
       integer(LPSTR) pConfigFile ! knowns  LPSTR 
       integer(LPSTR) pHelpFile ! knowns  LPSTR 
       integer(LPSTR) pDependentFiles ! knowns  LPSTR 
       integer(LPSTR) pMonitorName ! knowns  LPSTR 
       integer(LPSTR) pDefaultDataType ! knowns  LPSTR 
     END TYPE
     TYPE T_DRIVER_INFO_3W
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDriverPath ! knowns  LPWSTR 
       integer(LPWSTR) pDataFile ! knowns  LPWSTR 
       integer(LPWSTR) pConfigFile ! knowns  LPWSTR 
       integer(LPWSTR) pHelpFile ! knowns  LPWSTR 
       integer(LPWSTR) pDependentFiles ! knowns  LPWSTR 
       integer(LPWSTR) pMonitorName ! knowns  LPWSTR 
       integer(LPWSTR) pDefaultDataType ! knowns  LPWSTR 
     END TYPE
     TYPE T_DRIVER_INFO_4
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDriverPath ! knowns  LPSTR 
       integer(LPSTR) pDataFile ! knowns  LPSTR 
       integer(LPSTR) pConfigFile ! knowns  LPSTR 
       integer(LPSTR) pHelpFile ! knowns  LPSTR 
       integer(LPSTR) pDependentFiles ! knowns  LPSTR 
       integer(LPSTR) pMonitorName ! knowns  LPSTR 
       integer(LPSTR) pDefaultDataType ! knowns  LPSTR 
       integer(LPSTR) pszzPreviousNames ! knowns  LPSTR 
     END TYPE
     TYPE T_DRIVER_INFO_4W
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDriverPath ! knowns  LPWSTR 
       integer(LPWSTR) pDataFile ! knowns  LPWSTR 
       integer(LPWSTR) pConfigFile ! knowns  LPWSTR 
       integer(LPWSTR) pHelpFile ! knowns  LPWSTR 
       integer(LPWSTR) pDependentFiles ! knowns  LPWSTR 
       integer(LPWSTR) pMonitorName ! knowns  LPWSTR 
       integer(LPWSTR) pDefaultDataType ! knowns  LPWSTR 
       integer(LPWSTR) pszzPreviousNames ! knowns  LPWSTR 
     END TYPE
     TYPE T_DRIVER_INFO_5
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDriverPath ! knowns  LPSTR 
       integer(LPSTR) pDataFile ! knowns  LPSTR 
       integer(LPSTR) pConfigFile ! knowns  LPSTR 
       integer(DWORD) dwDriverAttributes ! knowns  DWORD 
       integer(DWORD) dwConfigVersion ! knowns  DWORD 
       integer(DWORD) dwDriverVersion ! knowns  DWORD 
     END TYPE
     TYPE T_DRIVER_INFO_5W
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDriverPath ! knowns  LPWSTR 
       integer(LPWSTR) pDataFile ! knowns  LPWSTR 
       integer(LPWSTR) pConfigFile ! knowns  LPWSTR 
       integer(DWORD) dwDriverAttributes ! knowns  DWORD 
       integer(DWORD) dwConfigVersion ! knowns  DWORD 
       integer(DWORD) dwDriverVersion ! knowns  DWORD 
     END TYPE
     TYPE T_DRIVER_INFO_6
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDriverPath ! knowns  LPSTR 
       integer(LPSTR) pDataFile ! knowns  LPSTR 
       integer(LPSTR) pConfigFile ! knowns  LPSTR 
       integer(LPSTR) pHelpFile ! knowns  LPSTR 
       integer(LPSTR) pDependentFiles ! knowns  LPSTR 
       integer(LPSTR) pMonitorName ! knowns  LPSTR 
       integer(LPSTR) pDefaultDataType ! knowns  LPSTR 
       integer(LPSTR) pszzPreviousNames ! knowns  LPSTR 
       TYPE (T_FILETIME) ftDriverDate ! typedefs  FILETIME 
    !DEC$ IF DEFINED( _M_IA64)
       integer(DWORDLONG) dwlDriverVersion ! knowns  DWORDLONG
    !DEC$ ELSE
       TYPE (T_FILETIME) dwlDriverVersion ! knowns  DWORDLONG
    !DEC$ ENDIF 
       integer(LPSTR) pszMfgName ! knowns  LPSTR 
       integer(LPSTR) pszOEMUrl ! knowns  LPSTR 
       integer(LPSTR) pszHardwareID ! knowns  LPSTR 
       integer(LPSTR) pszProvider ! knowns  LPSTR 
     END TYPE
     TYPE T_DRIVER_INFO_6W
     SEQUENCE
       integer(DWORD) cVersion ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDriverPath ! knowns  LPWSTR 
       integer(LPWSTR) pDataFile ! knowns  LPWSTR 
       integer(LPWSTR) pConfigFile ! knowns  LPWSTR 
       integer(LPWSTR) pHelpFile ! knowns  LPWSTR 
       integer(LPWSTR) pDependentFiles ! knowns  LPWSTR 
       integer(LPWSTR) pMonitorName ! knowns  LPWSTR 
       integer(LPWSTR) pDefaultDataType ! knowns  LPWSTR 
       integer(LPWSTR) pszzPreviousNames ! knowns  LPWSTR 
       TYPE (T_FILETIME) ftDriverDate ! typedefs  FILETIME 
    !DEC$ IF DEFINED( _M_IA64)
       integer(DWORDLONG) dwlDriverVersion ! knowns  DWORDLONG
    !DEC$ ELSE
       TYPE (T_FILETIME) dwlDriverVersion ! knowns  DWORDLONG
    !DEC$ ENDIF 
       integer(LPWSTR) pszMfgName ! knowns  LPWSTR 
       integer(LPWSTR) pszOEMUrl ! knowns  LPWSTR 
       integer(LPWSTR) pszHardwareID ! knowns  LPWSTR 
       integer(LPWSTR) pszProvider ! knowns  LPWSTR 
     END TYPE
     TYPE T_DOC_INFO_1
     SEQUENCE
       integer(LPSTR) pDocName ! knowns  LPSTR 
       integer(LPSTR) pOutputFile ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
     END TYPE
     TYPE T_DOC_INFO_1W
     SEQUENCE
       integer(LPWSTR) pDocName ! knowns  LPWSTR 
       integer(LPWSTR) pOutputFile ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
     END TYPE
     TYPE T_FORM_INFO_1
     SEQUENCE
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPSTR) pName ! knowns  LPSTR 
       TYPE (T_SIZE) Size ! typedefs  SIZEL 
       TYPE (T_RECTL) ImageableArea ! typedefs  RECTL 
     END TYPE
     TYPE T_FORM_INFO_1W
     SEQUENCE
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPWSTR) pName ! knowns  LPWSTR 
       TYPE (T_SIZE) Size ! typedefs  SIZEL 
       TYPE (T_RECTL) ImageableArea ! typedefs  RECTL 
     END TYPE
     TYPE T_DOC_INFO_2
     SEQUENCE
       integer(LPSTR) pDocName ! knowns  LPSTR 
       integer(LPSTR) pOutputFile ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(DWORD) dwMode ! knowns  DWORD 
       integer(DWORD) JobId ! knowns  DWORD 
     END TYPE
     TYPE T_DOC_INFO_2W
     SEQUENCE
       integer(LPWSTR) pDocName ! knowns  LPWSTR 
       integer(LPWSTR) pOutputFile ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(DWORD) dwMode ! knowns  DWORD 
       integer(DWORD) JobId ! knowns  DWORD 
     END TYPE
     TYPE T_DOC_INFO_3
     SEQUENCE
       integer(LPSTR) pDocName ! knowns  LPSTR 
       integer(LPSTR) pOutputFile ! knowns  LPSTR 
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_DOC_INFO_3W
     SEQUENCE
       integer(LPWSTR) pDocName ! knowns  LPWSTR 
       integer(LPWSTR) pOutputFile ! knowns  LPWSTR 
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTPROCESSOR_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
     END TYPE
     TYPE T_PRINTPROCESSOR_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
     END TYPE
     TYPE T_PORT_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
     END TYPE
     TYPE T_PORT_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
     END TYPE
     TYPE T_PORT_INFO_2
     SEQUENCE
       integer(LPSTR) pPortName ! knowns  LPSTR 
       integer(LPSTR) pMonitorName ! knowns  LPSTR 
       integer(LPSTR) pDescription ! knowns  LPSTR 
       integer(DWORD) fPortType ! knowns  DWORD 
       integer(DWORD) Reserved ! knowns  DWORD 
     END TYPE
     TYPE T_PORT_INFO_2W
     SEQUENCE
       integer(LPWSTR) pPortName ! knowns  LPWSTR 
       integer(LPWSTR) pMonitorName ! knowns  LPWSTR 
       integer(LPWSTR) pDescription ! knowns  LPWSTR 
       integer(DWORD) fPortType ! knowns  DWORD 
       integer(DWORD) Reserved ! knowns  DWORD 
     END TYPE
     TYPE T_PORT_INFO_3
     SEQUENCE
       integer(DWORD) dwStatus ! knowns  DWORD 
       integer(LPSTR) pszStatus ! knowns  LPSTR 
       integer(DWORD) dwSeverity ! knowns  DWORD 
     END TYPE
     TYPE T_PORT_INFO_3W
     SEQUENCE
       integer(DWORD) dwStatus ! knowns  DWORD 
       integer(LPWSTR) pszStatus ! knowns  LPWSTR 
       integer(DWORD) dwSeverity ! knowns  DWORD 
     END TYPE
     TYPE T_MONITOR_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
     END TYPE
     TYPE T_MONITOR_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
     END TYPE
     TYPE T_MONITOR_INFO_2
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDLLName ! knowns  LPSTR 
     END TYPE
     TYPE T_MONITOR_INFO_2W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDLLName ! knowns  LPWSTR 
     END TYPE
     TYPE T_DATATYPES_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
     END TYPE
     TYPE T_DATATYPES_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
     END TYPE
     TYPE T_PRINTER_DEFAULTS
     SEQUENCE
       integer(LPSTR) pDatatype ! knowns  LPSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEA 
       integer(ULONG) DesiredAccess ! typedefs  ACCESS_MASK 
     END TYPE
     TYPE T_PRINTER_DEFAULTSW
     SEQUENCE
       integer(LPWSTR) pDatatype ! knowns  LPWSTR 
       integer(LPVOID) pDevMode ! pointers  LPDEVMODEW 
       integer(ULONG) DesiredAccess ! typedefs  ACCESS_MASK 
     END TYPE
     TYPE T_PRINTER_ENUM_VALUES
     SEQUENCE
       integer(LPSTR) pValueName ! knowns  LPSTR 
       integer(DWORD) cbValueName ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
       integer(LPBYTE) pData ! knowns  LPBYTE 
       integer(DWORD) cbData ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_ENUM_VALUESW
     SEQUENCE
       integer(LPWSTR) pValueName ! knowns  LPWSTR 
       integer(DWORD) cbValueName ! knowns  DWORD 
       integer(DWORD) dwType ! knowns  DWORD 
       integer(LPBYTE) pData ! knowns  LPBYTE 
       integer(DWORD) cbData ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTER_NOTIFY_OPTIONS_TYPE
     SEQUENCE
       integer(WORD) Type ! knowns  WORD 
       integer(WORD) Reserved0 ! knowns  WORD 
       integer(DWORD) Reserved1 ! knowns  DWORD 
       integer(DWORD) Reserved2 ! knowns  DWORD 
       integer(DWORD) Count ! knowns  DWORD 
       integer(PWORD) pFields ! knowns  PWORD 
     END TYPE
     TYPE T_PRINTER_NOTIFY_OPTIONS
     SEQUENCE
       integer(DWORD) Version ! knowns  DWORD 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(DWORD) Count ! knowns  DWORD 
       integer(LPVOID) pTypes ! pointers  PPRINTER_NOTIFY_OPTIONS_TYPE 
     END TYPE
    !Inserted structure here:T_PRINTER_NOTIFY_INFO_DATA
     STRUCTURE /T_PRINTER_NOTIFY_INFO_DATA/
        integer(WORD) Type ! knowns  WORD 
        integer(WORD) Field ! knowns  WORD 
        integer(DWORD) Reserved ! knowns  DWORD 
        integer(DWORD) Id ! knowns  DWORD 
       UNION  ! NotifyData
         MAP
        integer(DWORD) adwData(2) ! knowns  DWORD 
         END MAP
         MAP
          STRUCTURE /f_Data/ Data
        integer(DWORD) cbBuf ! knowns  DWORD 
        integer(LPVOID) pBuf ! knowns  LPVOID 
          END STRUCTURE ! Data
         END MAP
       END UNION  ! NotifyData
     END STRUCTURE
    TYPE T_PRINTER_NOTIFY_INFO
     SEQUENCE
       integer(DWORD) Version ! knowns  DWORD 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(DWORD) Count ! knowns  DWORD 
       TYPE (T_PRINTER_NOTIFY_INFO_DATA) aData(1) ! typedefs  PRINTER_NOTIFY_INFO_DATA 
     END TYPE
     TYPE T_PROVIDOR_INFO_1
     SEQUENCE
       integer(LPSTR) pName ! knowns  LPSTR 
       integer(LPSTR) pEnvironment ! knowns  LPSTR 
       integer(LPSTR) pDLLName ! knowns  LPSTR 
     END TYPE
     TYPE T_PROVIDOR_INFO_1W
     SEQUENCE
       integer(LPWSTR) pName ! knowns  LPWSTR 
       integer(LPWSTR) pEnvironment ! knowns  LPWSTR 
       integer(LPWSTR) pDLLName ! knowns  LPWSTR 
     END TYPE
     TYPE T_PROVIDOR_INFO_2
     SEQUENCE
       integer(LPSTR) pOrder ! knowns  LPSTR 
     END TYPE
     TYPE T_PROVIDOR_INFO_2W
     SEQUENCE
       integer(LPWSTR) pOrder ! knowns  LPWSTR 
     END TYPE
     TYPE T_IUnknownVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IUnknown * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IUnknown * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IUnknown * This)
     END TYPE
     TYPE T_IUnknown
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IUnknownVtbl *
     END TYPE
     TYPE T_AsyncIUnknownVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIUnknown * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIUnknown * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIUnknown * This)
     integer(LPVOID) Begin_QueryInterface ! function pointers   HRESULT ( f__stdcall *Begin_QueryInterface )( AsyncIUnknown * This,  IID * const riid)
     integer(LPVOID) Finish_QueryInterface ! function pointers   HRESULT ( f__stdcall *Finish_QueryInterface )( AsyncIUnknown * This, void * *ppvObject)
     integer(LPVOID) Begin_AddRef ! function pointers   HRESULT ( f__stdcall *Begin_AddRef )( AsyncIUnknown * This)
     integer(LPVOID) Finish_AddRef ! function pointers   ULONG ( f__stdcall *Finish_AddRef )( AsyncIUnknown * This)
     integer(LPVOID) Begin_Release ! function pointers   HRESULT ( f__stdcall *Begin_Release )( AsyncIUnknown * This)
     integer(LPVOID) Finish_Release ! function pointers   ULONG ( f__stdcall *Finish_Release )( AsyncIUnknown * This)
     END TYPE
     TYPE T_AsyncIUnknown
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIUnknownVtbl *
     END TYPE
     TYPE T_IClassFactoryVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IClassFactory * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IClassFactory * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IClassFactory * This)
     integer(LPVOID) CreateInstance ! function pointers   HRESULT ( f__stdcall *CreateInstance )( IClassFactory * This, IUnknown *pUnkOuter,  IID * const riid, void * *ppvObject)
     integer(LPVOID) LockServer ! function pointers   HRESULT ( f__stdcall *LockServer )( IClassFactory * This, BOOL fLock)
     END TYPE
     TYPE T_IClassFactory
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IClassFactoryVtbl *
     END TYPE
     TYPE T_COSERVERINFO
     SEQUENCE
       integer(DWORD) dwReserved1 ! knowns  DWORD 
       integer(LPWSTR) pwszName ! knowns  LPWSTR 
      integer(LPVOID) pAuthInfo ! star  COAUTHINFO  *
       integer(DWORD) dwReserved2 ! knowns  DWORD 
     END TYPE
     TYPE T_IMarshalVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMarshal * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMarshal * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMarshal * This)
     integer(LPVOID) GetUnmarshalClass ! function pointers   HRESULT ( f__stdcall *GetUnmarshalClass )( IMarshal * This,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, CLSID *pCid)
     integer(LPVOID) GetMarshalSizeMax ! function pointers   HRESULT ( f__stdcall *GetMarshalSizeMax )( IMarshal * This,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, DWORD *pSize)
     integer(LPVOID) MarshalInterface ! function pointers   HRESULT ( f__stdcall *MarshalInterface )( IMarshal * This, IStream *pStm,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags)
     integer(LPVOID) UnmarshalInterface ! function pointers   HRESULT ( f__stdcall *UnmarshalInterface )( IMarshal * This, IStream *pStm,  IID * const riid, void * *ppv)
     integer(LPVOID) ReleaseMarshalData ! function pointers   HRESULT ( f__stdcall *ReleaseMarshalData )( IMarshal * This, IStream *pStm)
     integer(LPVOID) DisconnectObject ! function pointers   HRESULT ( f__stdcall *DisconnectObject )( IMarshal * This, DWORD dwReserved)
     END TYPE
     TYPE T_IMarshal
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMarshalVtbl *
     END TYPE
     TYPE T_IMarshal2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMarshal2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMarshal2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMarshal2 * This)
     integer(LPVOID) GetUnmarshalClass ! function pointers   HRESULT ( f__stdcall *GetUnmarshalClass )( IMarshal2 * This,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, CLSID *pCid)
     integer(LPVOID) GetMarshalSizeMax ! function pointers   HRESULT ( f__stdcall *GetMarshalSizeMax )( IMarshal2 * This,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, DWORD *pSize)
     integer(LPVOID) MarshalInterface ! function pointers   HRESULT ( f__stdcall *MarshalInterface )( IMarshal2 * This, IStream *pStm,  IID * const riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags)
     integer(LPVOID) UnmarshalInterface ! function pointers   HRESULT ( f__stdcall *UnmarshalInterface )( IMarshal2 * This, IStream *pStm,  IID * const riid, void * *ppv)
     integer(LPVOID) ReleaseMarshalData ! function pointers   HRESULT ( f__stdcall *ReleaseMarshalData )( IMarshal2 * This, IStream *pStm)
     integer(LPVOID) DisconnectObject ! function pointers   HRESULT ( f__stdcall *DisconnectObject )( IMarshal2 * This, DWORD dwReserved)
     END TYPE
     TYPE T_IMarshal2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMarshal2Vtbl *
     END TYPE
     TYPE T_IMallocVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMalloc * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMalloc * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMalloc * This)
     integer(LPVOID) Alloc ! function pointers   void *( f__stdcall *Alloc )( IMalloc * This, SIZE_T cb)
     integer(LPVOID) Realloc ! function pointers   void *( f__stdcall *Realloc )( IMalloc * This, void *pv, SIZE_T cb)
     integer(LPVOID) Free ! function pointers   void ( f__stdcall *Free )( IMalloc * This, void *pv)
     integer(LPVOID) GetSize ! function pointers   SIZE_T ( f__stdcall *GetSize )( IMalloc * This, void *pv)
     integer(LPVOID) DidAlloc ! function pointers   int ( f__stdcall *DidAlloc )( IMalloc * This, void *pv)
     integer(LPVOID) HeapMinimize ! function pointers   void ( f__stdcall *HeapMinimize )( IMalloc * This)
     END TYPE
     TYPE T_IMalloc
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMallocVtbl *
     END TYPE
     TYPE T_IMallocSpyVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMallocSpy * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMallocSpy * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMallocSpy * This)
     integer(LPVOID) PreAlloc ! function pointers   SIZE_T ( f__stdcall *PreAlloc )( IMallocSpy * This, SIZE_T cbRequest)
     integer(LPVOID) PostAlloc ! function pointers   void *( f__stdcall *PostAlloc )( IMallocSpy * This, void *pActual)
     integer(LPVOID) PreFree ! function pointers   void *( f__stdcall *PreFree )( IMallocSpy * This, void *pRequest, BOOL fSpyed)
     integer(LPVOID) PostFree ! function pointers   void ( f__stdcall *PostFree )( IMallocSpy * This, BOOL fSpyed)
     integer(LPVOID) PreRealloc ! function pointers   SIZE_T ( f__stdcall *PreRealloc )( IMallocSpy * This, void *pRequest, SIZE_T cbRequest, void * *ppNewRequest, BOOL fSpyed)
     integer(LPVOID) PostRealloc ! function pointers   void *( f__stdcall *PostRealloc )( IMallocSpy * This, void *pActual, BOOL fSpyed)
     integer(LPVOID) PreGetSize ! function pointers   void *( f__stdcall *PreGetSize )( IMallocSpy * This, void *pRequest, BOOL fSpyed)
     integer(LPVOID) PostGetSize ! function pointers   SIZE_T ( f__stdcall *PostGetSize )( IMallocSpy * This, SIZE_T cbActual, BOOL fSpyed)
     integer(LPVOID) PreDidAlloc ! function pointers   void *( f__stdcall *PreDidAlloc )( IMallocSpy * This, void *pRequest, BOOL fSpyed)
     integer(LPVOID) PostDidAlloc ! function pointers   int ( f__stdcall *PostDidAlloc )( IMallocSpy * This, void *pRequest, BOOL fSpyed, int fActual)
     integer(LPVOID) PreHeapMinimize ! function pointers   void ( f__stdcall *PreHeapMinimize )( IMallocSpy * This)
     integer(LPVOID) PostHeapMinimize ! function pointers   void ( f__stdcall *PostHeapMinimize )( IMallocSpy * This)
     END TYPE
     TYPE T_IMallocSpy
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMallocSpyVtbl *
     END TYPE
     TYPE T_IStdMarshalInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IStdMarshalInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IStdMarshalInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IStdMarshalInfo * This)
     integer(LPVOID) GetClassForHandler ! function pointers   HRESULT ( f__stdcall *GetClassForHandler )( IStdMarshalInfo * This, DWORD dwDestContext, void *pvDestContext, CLSID *pClsid)
     END TYPE
     TYPE T_IStdMarshalInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IStdMarshalInfoVtbl *
     END TYPE
     TYPE T_IExternalConnectionVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IExternalConnection * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IExternalConnection * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IExternalConnection * This)
     integer(LPVOID) AddConnection ! function pointers   DWORD ( f__stdcall *AddConnection )( IExternalConnection * This, DWORD extconn, DWORD reserved)
     integer(LPVOID) ReleaseConnection ! function pointers   DWORD ( f__stdcall *ReleaseConnection )( IExternalConnection * This, DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses)
     END TYPE
     TYPE T_IExternalConnection
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IExternalConnectionVtbl *
     END TYPE
     TYPE T_MULTI_QI
     SEQUENCE
       integer(LPVOID) pIID ! star  IID  *
      integer(LPVOID) pItf ! star  IUnknown  *
       integer(LONG) hr ! typedefs  HRESULT 
     END TYPE
     TYPE T_IMultiQIVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMultiQI * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMultiQI * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMultiQI * This)
     integer(LPVOID) QueryMultipleInterfaces ! function pointers   HRESULT ( f__stdcall *QueryMultipleInterfaces )( IMultiQI * This, ULONG cMQIs, MULTI_QI *pMQIs)
     END TYPE
     TYPE T_IMultiQI
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMultiQIVtbl *
     END TYPE
     TYPE T_AsyncIMultiQIVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIMultiQI * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIMultiQI * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIMultiQI * This)
     integer(LPVOID) Begin_QueryMultipleInterfaces ! function pointers   HRESULT ( f__stdcall *Begin_QueryMultipleInterfaces )( AsyncIMultiQI * This, ULONG cMQIs, MULTI_QI *pMQIs)
     integer(LPVOID) Finish_QueryMultipleInterfaces ! function pointers   HRESULT ( f__stdcall *Finish_QueryMultipleInterfaces )( AsyncIMultiQI * This, MULTI_QI *pMQIs)
     END TYPE
     TYPE T_AsyncIMultiQI
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIMultiQIVtbl *
     END TYPE
     TYPE T_IInternalUnknownVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternalUnknown * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternalUnknown * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternalUnknown * This)
     integer(LPVOID) QueryInternalInterface ! function pointers   HRESULT ( f__stdcall *QueryInternalInterface )( IInternalUnknown * This,  IID * const riid, void * *ppv)
     END TYPE
     TYPE T_IInternalUnknown
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternalUnknownVtbl *
     END TYPE
     TYPE T_IEnumUnknownVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumUnknown * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumUnknown * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumUnknown * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumUnknown * This, ULONG celt, IUnknown * *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumUnknown * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumUnknown * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumUnknown * This, IEnumUnknown * *ppenum)
     END TYPE
     TYPE T_IEnumUnknown
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumUnknownVtbl *
     END TYPE
     TYPE T_BIND_OPTS
     SEQUENCE
       integer(DWORD) cbStruct ! knowns  DWORD 
       integer(DWORD) grfFlags ! knowns  DWORD 
       integer(DWORD) grfMode ! knowns  DWORD 
       integer(DWORD) dwTickCountDeadline ! knowns  DWORD 
     END TYPE
     TYPE T_BIND_OPTS2
     SEQUENCE
       integer(DWORD) cbStruct ! knowns  DWORD 
       integer(DWORD) grfFlags ! knowns  DWORD 
       integer(DWORD) grfMode ! knowns  DWORD 
       integer(DWORD) dwTickCountDeadline ! knowns  DWORD 
       integer(DWORD) dwTrackFlags ! knowns  DWORD 
       integer(DWORD) dwClassContext ! knowns  DWORD 
       integer(ULONG) locale ! typedefs  LCID 
      integer(LPVOID) pServerInfo ! star  COSERVERINFO  *
     END TYPE
     TYPE T_IBindCtxVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBindCtx * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBindCtx * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBindCtx * This)
     integer(LPVOID) RegisterObjectBound ! function pointers   HRESULT ( f__stdcall *RegisterObjectBound )( IBindCtx * This, IUnknown *punk)
     integer(LPVOID) RevokeObjectBound ! function pointers   HRESULT ( f__stdcall *RevokeObjectBound )( IBindCtx * This, IUnknown *punk)
     integer(LPVOID) ReleaseBoundObjects ! function pointers   HRESULT ( f__stdcall *ReleaseBoundObjects )( IBindCtx * This)
     integer(LPVOID) SetBindOptions ! function pointers   HRESULT ( f__stdcall *SetBindOptions )( IBindCtx * This, BIND_OPTS *pbindopts)
     integer(LPVOID) GetBindOptions ! function pointers   HRESULT ( f__stdcall *GetBindOptions )( IBindCtx * This, BIND_OPTS *pbindopts)
     integer(LPVOID) GetRunningObjectTable ! function pointers   HRESULT ( f__stdcall *GetRunningObjectTable )( IBindCtx * This, IRunningObjectTable * *pprot)
     integer(LPVOID) RegisterObjectParam ! function pointers   HRESULT ( f__stdcall *RegisterObjectParam )( IBindCtx * This, LPOLESTR pszKey, IUnknown *punk)
     integer(LPVOID) GetObjectParam ! function pointers   HRESULT ( f__stdcall *GetObjectParam )( IBindCtx * This, LPOLESTR pszKey, IUnknown * *ppunk)
     integer(LPVOID) EnumObjectParam ! function pointers   HRESULT ( f__stdcall *EnumObjectParam )( IBindCtx * This, IEnumString * *ppenum)
     integer(LPVOID) RevokeObjectParam ! function pointers   HRESULT ( f__stdcall *RevokeObjectParam )( IBindCtx * This, LPOLESTR pszKey)
     END TYPE
     TYPE T_IBindCtx
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBindCtxVtbl *
     END TYPE
     TYPE T_IEnumMonikerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumMoniker * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumMoniker * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumMoniker * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumMoniker * This, ULONG celt, IMoniker * *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumMoniker * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumMoniker * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumMoniker * This, IEnumMoniker * *ppenum)
     END TYPE
     TYPE T_IEnumMoniker
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumMonikerVtbl *
     END TYPE
     TYPE T_IRunnableObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRunnableObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRunnableObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRunnableObject * This)
     integer(LPVOID) GetRunningClass ! function pointers   HRESULT ( f__stdcall *GetRunningClass )( IRunnableObject * This, LPCLSID lpClsid)
     integer(LPVOID) Run ! function pointers   HRESULT ( f__stdcall *Run )( IRunnableObject * This, LPBINDCTX pbc)
     integer(LPVOID) IsRunning ! function pointers   BOOL ( f__stdcall *IsRunning )( IRunnableObject * This)
     integer(LPVOID) LockRunning ! function pointers   HRESULT ( f__stdcall *LockRunning )( IRunnableObject * This, BOOL fLock, BOOL fLastUnlockCloses)
     integer(LPVOID) SetContainedObject ! function pointers   HRESULT ( f__stdcall *SetContainedObject )( IRunnableObject * This, BOOL fContained)
     END TYPE
     TYPE T_IRunnableObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRunnableObjectVtbl *
     END TYPE
     TYPE T_IRunningObjectTableVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRunningObjectTable * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRunningObjectTable * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRunningObjectTable * This)
     integer(LPVOID) Register ! function pointers   HRESULT ( f__stdcall *Register )( IRunningObjectTable * This, DWORD grfFlags, IUnknown *punkObject, IMoniker *pmkObjectName, DWORD *pdwRegister)
     integer(LPVOID) Revoke ! function pointers   HRESULT ( f__stdcall *Revoke )( IRunningObjectTable * This, DWORD dwRegister)
     integer(LPVOID) IsRunning ! function pointers   HRESULT ( f__stdcall *IsRunning )( IRunningObjectTable * This, IMoniker *pmkObjectName)
     integer(LPVOID) GetObjectA ! function pointers   HRESULT ( f__stdcall *GetObjectA )( IRunningObjectTable * This, IMoniker *pmkObjectName, IUnknown * *ppunkObject)
     integer(LPVOID) NoteChangeTime ! function pointers   HRESULT ( f__stdcall *NoteChangeTime )( IRunningObjectTable * This, DWORD dwRegister, FILETIME *pfiletime)
     integer(LPVOID) GetTimeOfLastChange ! function pointers   HRESULT ( f__stdcall *GetTimeOfLastChange )( IRunningObjectTable * This, IMoniker *pmkObjectName, FILETIME *pfiletime)
     integer(LPVOID) EnumRunning ! function pointers   HRESULT ( f__stdcall *EnumRunning )( IRunningObjectTable * This, IEnumMoniker * *ppenumMoniker)
     END TYPE
     TYPE T_IRunningObjectTable
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRunningObjectTableVtbl *
     END TYPE
     TYPE T_IPersistVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPersist * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPersist * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPersist * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IPersist * This, CLSID *pClassID)
     END TYPE
     TYPE T_IPersist
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPersistVtbl *
     END TYPE
     TYPE T_IPersistStreamVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPersistStream * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPersistStream * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPersistStream * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IPersistStream * This, CLSID *pClassID)
     integer(LPVOID) IsDirty ! function pointers   HRESULT ( f__stdcall *IsDirty )( IPersistStream * This)
     integer(LPVOID) Load ! function pointers   HRESULT ( f__stdcall *Load )( IPersistStream * This, IStream *pStm)
     integer(LPVOID) Save ! function pointers   HRESULT ( f__stdcall *Save )( IPersistStream * This, IStream *pStm, BOOL fClearDirty)
     integer(LPVOID) GetSizeMax ! function pointers   HRESULT ( f__stdcall *GetSizeMax )( IPersistStream * This, ULARGE_INTEGER *pcbSize)
     END TYPE
     TYPE T_IPersistStream
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPersistStreamVtbl *
     END TYPE
     TYPE T_IMonikerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMoniker * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMoniker * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMoniker * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IMoniker * This, CLSID *pClassID)
     integer(LPVOID) IsDirty ! function pointers   HRESULT ( f__stdcall *IsDirty )( IMoniker * This)
     integer(LPVOID) Load ! function pointers   HRESULT ( f__stdcall *Load )( IMoniker * This, IStream *pStm)
     integer(LPVOID) Save ! function pointers   HRESULT ( f__stdcall *Save )( IMoniker * This, IStream *pStm, BOOL fClearDirty)
     integer(LPVOID) GetSizeMax ! function pointers   HRESULT ( f__stdcall *GetSizeMax )( IMoniker * This, ULARGE_INTEGER *pcbSize)
     integer(LPVOID) BindToObject ! function pointers   HRESULT ( f__stdcall *BindToObject )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft,  IID * const riidResult, void * *ppvResult)
     integer(LPVOID) BindToStorage ! function pointers   HRESULT ( f__stdcall *BindToStorage )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft,  IID * const riid, void * *ppvObj)
     integer(LPVOID) Reduce ! function pointers   HRESULT ( f__stdcall *Reduce )( IMoniker * This, IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker * *ppmkToLeft, IMoniker * *ppmkReduced)
     integer(LPVOID) ComposeWith ! function pointers   HRESULT ( f__stdcall *ComposeWith )( IMoniker * This, IMoniker *pmkRight, BOOL fOnlyIfNotGeneric, IMoniker * *ppmkComposite)
     integer(LPVOID) Enum ! function pointers   HRESULT ( f__stdcall *Enum )( IMoniker * This, BOOL fForward, IEnumMoniker * *ppenumMoniker)
     integer(LPVOID) IsEqual ! function pointers   HRESULT ( f__stdcall *IsEqual )( IMoniker * This, IMoniker *pmkOtherMoniker)
     integer(LPVOID) Hash ! function pointers   HRESULT ( f__stdcall *Hash )( IMoniker * This, DWORD *pdwHash)
     integer(LPVOID) IsRunning ! function pointers   HRESULT ( f__stdcall *IsRunning )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning)
     integer(LPVOID) GetTimeOfLastChange ! function pointers   HRESULT ( f__stdcall *GetTimeOfLastChange )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime)
     integer(LPVOID) Inverse ! function pointers   HRESULT ( f__stdcall *Inverse )( IMoniker * This, IMoniker * *ppmk)
     integer(LPVOID) CommonPrefixWith ! function pointers   HRESULT ( f__stdcall *CommonPrefixWith )( IMoniker * This, IMoniker *pmkOther, IMoniker * *ppmkPrefix)
     integer(LPVOID) RelativePathTo ! function pointers   HRESULT ( f__stdcall *RelativePathTo )( IMoniker * This, IMoniker *pmkOther, IMoniker * *ppmkRelPath)
     integer(LPVOID) GetDisplayName ! function pointers   HRESULT ( f__stdcall *GetDisplayName )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
     integer(LPVOID) ParseDisplayName ! function pointers   HRESULT ( f__stdcall *ParseDisplayName )( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * *ppmkOut)
     integer(LPVOID) IsSystemMoniker ! function pointers   HRESULT ( f__stdcall *IsSystemMoniker )( IMoniker * This, DWORD *pdwMksys)
     END TYPE
     TYPE T_IMoniker
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMonikerVtbl *
     END TYPE
     TYPE T_IROTDataVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IROTData * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IROTData * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IROTData * This)
     integer(LPVOID) GetComparisonData ! function pointers   HRESULT ( f__stdcall *GetComparisonData )( IROTData * This, byte *pbData, ULONG cbMax, ULONG *pcbData)
     END TYPE
     TYPE T_IROTData
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IROTDataVtbl *
     END TYPE
     TYPE T_IEnumStringVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumString * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumString * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumString * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumString * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumString * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumString * This, IEnumString * *ppenum)
     END TYPE
     TYPE T_IEnumString
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumStringVtbl *
     END TYPE
     TYPE T_ISequentialStreamVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISequentialStream * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISequentialStream * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISequentialStream * This)
     integer(LPVOID) Read ! function pointers   HRESULT ( f__stdcall *Read )( ISequentialStream * This, void *pv, ULONG cb, ULONG *pcbRead)
     integer(LPVOID) Write ! function pointers   HRESULT ( f__stdcall *Write )( ISequentialStream * This,  void *pv, ULONG cb, ULONG *pcbWritten)
     END TYPE
     TYPE T_ISequentialStream
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISequentialStreamVtbl *
     END TYPE
     TYPE T_STATSTG
     SEQUENCE
       integer(LPVOID) pwcsName ! pointers  LPOLESTR 
       integer(DWORD) type ! knowns  DWORD 
       TYPE (T_ULARGE_INTEGER) cbSize ! typedefs  ULARGE_INTEGER 
       TYPE (T_FILETIME) mtime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ctime ! typedefs  FILETIME 
       TYPE (T_FILETIME) atime ! typedefs  FILETIME 
       integer(DWORD) grfMode ! knowns  DWORD 
       integer(DWORD) grfLocksSupported ! knowns  DWORD 
       TYPE (T_GUID) clsid ! typedefs  CLSID 
       integer(DWORD) grfStateBits ! knowns  DWORD 
       integer(DWORD) reserved ! knowns  DWORD 
     END TYPE
     TYPE T_IStreamVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IStream * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IStream * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IStream * This)
     integer(LPVOID) Read ! function pointers   HRESULT ( f__stdcall *Read )( IStream * This, void *pv, ULONG cb, ULONG *pcbRead)
     integer(LPVOID) Write ! function pointers   HRESULT ( f__stdcall *Write )( IStream * This,  void *pv, ULONG cb, ULONG *pcbWritten)
     integer(LPVOID) Seek ! function pointers   HRESULT ( f__stdcall *Seek )( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
     integer(LPVOID) SetSize ! function pointers   HRESULT ( f__stdcall *SetSize )( IStream * This, ULARGE_INTEGER libNewSize)
     integer(LPVOID) CopyTo ! function pointers   HRESULT ( f__stdcall *CopyTo )( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten)
     integer(LPVOID) Commit ! function pointers   HRESULT ( f__stdcall *Commit )( IStream * This, DWORD grfCommitFlags)
     integer(LPVOID) Revert ! function pointers   HRESULT ( f__stdcall *Revert )( IStream * This)
     integer(LPVOID) LockRegion ! function pointers   HRESULT ( f__stdcall *LockRegion )( IStream * This, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
     integer(LPVOID) UnlockRegion ! function pointers   HRESULT ( f__stdcall *UnlockRegion )( IStream * This, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
     integer(LPVOID) Stat ! function pointers   HRESULT ( f__stdcall *Stat )( IStream * This, STATSTG *pstatstg, DWORD grfStatFlag)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IStream * This, IStream * *ppstm)
     END TYPE
     TYPE T_IStream
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IStreamVtbl *
     END TYPE
     TYPE T_IEnumSTATSTGVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumSTATSTG * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumSTATSTG * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumSTATSTG * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumSTATSTG * This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumSTATSTG * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumSTATSTG * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumSTATSTG * This, IEnumSTATSTG * *ppenum)
     END TYPE
     TYPE T_IEnumSTATSTG
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumSTATSTGVtbl *
     END TYPE
     TYPE T_RemSNB
     SEQUENCE
       integer(ULONG) ulCntStr ! knowns  unsigned long 
       integer(ULONG) ulCntChar ! knowns  unsigned long 
       integer(USHORT) rgString(1) ! typedefs  OLECHAR 
     END TYPE
     TYPE T_IStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IStorage * This)
     integer(LPVOID) CreateStream ! function pointers   HRESULT ( f__stdcall *CreateStream )( IStorage * This,  OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream * *ppstm)
     integer(LPVOID) OpenStream ! function pointers   HRESULT ( f__stdcall *OpenStream )( IStorage * This,  OLECHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream * *ppstm)
     integer(LPVOID) CreateStorage ! function pointers   HRESULT ( f__stdcall *CreateStorage )( IStorage * This,  OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStorage * *ppstg)
     integer(LPVOID) OpenStorage ! function pointers   HRESULT ( f__stdcall *OpenStorage )( IStorage * This,  OLECHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage * *ppstg)
     integer(LPVOID) CopyTo ! function pointers   HRESULT ( f__stdcall *CopyTo )( IStorage * This, DWORD ciidExclude,  IID *rgiidExclude, SNB snbExclude, IStorage *pstgDest)
     integer(LPVOID) MoveElementTo ! function pointers   HRESULT ( f__stdcall *MoveElementTo )( IStorage * This,  OLECHAR *pwcsName, IStorage *pstgDest, const OLECHAR *pwcsNewName, DWORD grfFlags)
     integer(LPVOID) Commit ! function pointers   HRESULT ( f__stdcall *Commit )( IStorage * This, DWORD grfCommitFlags)
     integer(LPVOID) Revert ! function pointers   HRESULT ( f__stdcall *Revert )( IStorage * This)
     integer(LPVOID) EnumElements ! function pointers   HRESULT ( f__stdcall *EnumElements )( IStorage * This, DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG * *ppenum)
     integer(LPVOID) DestroyElement ! function pointers   HRESULT ( f__stdcall *DestroyElement )( IStorage * This,  OLECHAR *pwcsName)
     integer(LPVOID) RenameElement ! function pointers   HRESULT ( f__stdcall *RenameElement )( IStorage * This,  OLECHAR *pwcsOldName, const OLECHAR *pwcsNewName)
     integer(LPVOID) SetElementTimes ! function pointers   HRESULT ( f__stdcall *SetElementTimes )( IStorage * This,  OLECHAR *pwcsName, const FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime)
     integer(LPVOID) SetClass ! function pointers   HRESULT ( f__stdcall *SetClass )( IStorage * This,  IID * const clsid)
     integer(LPVOID) SetStateBits ! function pointers   HRESULT ( f__stdcall *SetStateBits )( IStorage * This, DWORD grfStateBits, DWORD grfMask)
     integer(LPVOID) Stat ! function pointers   HRESULT ( f__stdcall *Stat )( IStorage * This, STATSTG *pstatstg, DWORD grfStatFlag)
     END TYPE
     TYPE T_IStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IStorageVtbl *
     END TYPE
     TYPE T_IPersistFileVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPersistFile * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPersistFile * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPersistFile * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IPersistFile * This, CLSID *pClassID)
     integer(LPVOID) IsDirty ! function pointers   HRESULT ( f__stdcall *IsDirty )( IPersistFile * This)
     integer(LPVOID) Load ! function pointers   HRESULT ( f__stdcall *Load )( IPersistFile * This, LPCOLESTR pszFileName, DWORD dwMode)
     integer(LPVOID) Save ! function pointers   HRESULT ( f__stdcall *Save )( IPersistFile * This, LPCOLESTR pszFileName, BOOL fRemember)
     integer(LPVOID) SaveCompleted ! function pointers   HRESULT ( f__stdcall *SaveCompleted )( IPersistFile * This, LPCOLESTR pszFileName)
     integer(LPVOID) GetCurFile ! function pointers   HRESULT ( f__stdcall *GetCurFile )( IPersistFile * This, LPOLESTR *ppszFileName)
     END TYPE
     TYPE T_IPersistFile
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPersistFileVtbl *
     END TYPE
     TYPE T_IPersistStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPersistStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPersistStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPersistStorage * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IPersistStorage * This, CLSID *pClassID)
     integer(LPVOID) IsDirty ! function pointers   HRESULT ( f__stdcall *IsDirty )( IPersistStorage * This)
     integer(LPVOID) InitNew ! function pointers   HRESULT ( f__stdcall *InitNew )( IPersistStorage * This, IStorage *pStg)
     integer(LPVOID) Load ! function pointers   HRESULT ( f__stdcall *Load )( IPersistStorage * This, IStorage *pStg)
     integer(LPVOID) Save ! function pointers   HRESULT ( f__stdcall *Save )( IPersistStorage * This, IStorage *pStgSave, BOOL fSameAsLoad)
     integer(LPVOID) SaveCompleted ! function pointers   HRESULT ( f__stdcall *SaveCompleted )( IPersistStorage * This, IStorage *pStgNew)
     integer(LPVOID) HandsOffStorage ! function pointers   HRESULT ( f__stdcall *HandsOffStorage )( IPersistStorage * This)
     END TYPE
     TYPE T_IPersistStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPersistStorageVtbl *
     END TYPE
     TYPE T_ILockBytesVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ILockBytes * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ILockBytes * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ILockBytes * This)
     integer(LPVOID) ReadAt ! function pointers   HRESULT ( f__stdcall *ReadAt )( ILockBytes * This, ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead)
     integer(LPVOID) WriteAt ! function pointers   HRESULT ( f__stdcall *WriteAt )( ILockBytes * This, ULARGE_INTEGER ulOffset,  void *pv, ULONG cb, ULONG *pcbWritten)
     integer(LPVOID) Flush ! function pointers   HRESULT ( f__stdcall *Flush )( ILockBytes * This)
     integer(LPVOID) SetSize ! function pointers   HRESULT ( f__stdcall *SetSize )( ILockBytes * This, ULARGE_INTEGER cb)
     integer(LPVOID) LockRegion ! function pointers   HRESULT ( f__stdcall *LockRegion )( ILockBytes * This, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
     integer(LPVOID) UnlockRegion ! function pointers   HRESULT ( f__stdcall *UnlockRegion )( ILockBytes * This, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
     integer(LPVOID) Stat ! function pointers   HRESULT ( f__stdcall *Stat )( ILockBytes * This, STATSTG *pstatstg, DWORD grfStatFlag)
     END TYPE
     TYPE T_ILockBytes
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ILockBytesVtbl *
     END TYPE
     TYPE T_DVTARGETDEVICE
     SEQUENCE
       integer(DWORD) tdSize ! knowns  DWORD 
       integer(WORD) tdDriverNameOffset ! knowns  WORD 
       integer(WORD) tdDeviceNameOffset ! knowns  WORD 
       integer(WORD) tdPortNameOffset ! knowns  WORD 
       integer(WORD) tdExtDevmodeOffset ! knowns  WORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) tdData(1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) tdData
!DEC$ ENDIF
     END TYPE
     TYPE T_FORMATETC
     SEQUENCE
       integer(USHORT) cfFormat ! typedefs  CLIPFORMAT 
      integer(LPVOID) ptd ! star  DVTARGETDEVICE  *
       integer(DWORD) dwAspect ! knowns  DWORD 
       integer(LONG) lindex ! knowns  LONG 
       integer(DWORD) tymed ! knowns  DWORD 
     END TYPE
     TYPE T_IEnumFORMATETCVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumFORMATETC * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumFORMATETC * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumFORMATETC * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumFORMATETC * This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumFORMATETC * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumFORMATETC * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumFORMATETC * This, IEnumFORMATETC * *ppenum)
     END TYPE
     TYPE T_IEnumFORMATETC
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumFORMATETCVtbl *
     END TYPE
     TYPE T_STATDATA
     SEQUENCE
       TYPE (T_FORMATETC) formatetc ! typedefs  FORMATETC 
       integer(DWORD) advf ! knowns  DWORD 
      integer(LPVOID) pAdvSink ! star  IAdviseSink  *
       integer(DWORD) dwConnection ! knowns  DWORD 
     END TYPE
     TYPE T_IEnumSTATDATAVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumSTATDATA * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumSTATDATA * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumSTATDATA * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumSTATDATA * This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumSTATDATA * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumSTATDATA * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumSTATDATA * This, IEnumSTATDATA * *ppenum)
     END TYPE
     TYPE T_IEnumSTATDATA
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumSTATDATAVtbl *
     END TYPE
     TYPE T_IRootStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRootStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRootStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRootStorage * This)
     integer(LPVOID) SwitchToFile ! function pointers   HRESULT ( f__stdcall *SwitchToFile )( IRootStorage * This, LPOLESTR pszFile)
     END TYPE
     TYPE T_IRootStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRootStorageVtbl *
     END TYPE
     TYPE T_RemSTGMEDIUM
     SEQUENCE
       integer(DWORD) tymed ! knowns  DWORD 
       integer(DWORD) dwHandleType ! knowns  DWORD 
       integer(ULONG) pData ! knowns  unsigned long 
       integer(ULONG) pUnkForRelease ! knowns  unsigned long 
       integer(ULONG) cbData ! knowns  unsigned long 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(UCHAR) data(1) ! typedefs  byte 
!DEC$ ELSE
       character(1) data
!DEC$ ENDIF
     END TYPE
    !Inserted structure here:T_uSTGMEDIUM
     STRUCTURE /T_uSTGMEDIUM/
        integer(DWORD) tymed ! knowns  DWORD 
       UNION  ! field0
         MAP
        integer(HANDLE) hBitmap ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPVOID) hMetaFilePict ! pointers  HMETAFILEPICT 
         END MAP
         MAP
        integer(HANDLE) hEnhMetaFile ! handles  HENHMETAFILE 
         END MAP
         MAP
        integer(HANDLE) hGlobal ! typedefs  HGLOBAL 
         END MAP
         MAP
        integer(LPVOID) lpszFileName ! pointers  LPOLESTR 
         END MAP
         MAP
       integer(LPVOID) pstm ! star  IStream  *
         END MAP
         MAP
       integer(LPVOID) pstg ! star  IStorage  *
         END MAP
       END UNION  ! field0
       integer(LPVOID) pUnkForRelease ! star  IUnknown  *
     END STRUCTURE
    !Inserted structure here:T_GDI_OBJECT
     STRUCTURE /T_GDI_OBJECT/
        integer(DWORD) ObjectType ! knowns  DWORD 
       UNION  ! u
         MAP
        integer(LPVOID) hBitmap ! pointers  wireHBITMAP 
         END MAP
         MAP
        integer(LPVOID) hPalette ! pointers  wireHPALETTE 
         END MAP
         MAP
        integer(LPVOID) hGeneric ! pointers  wireHGLOBAL 
         END MAP
       END UNION  ! u
     END STRUCTURE
    !Inserted structure here:T_userSTGMEDIUM
     STRUCTURE /T_userSTGMEDIUM/
        STRUCTURE /f_field06/ field0
        integer(DWORD) tymed ! knowns  DWORD 
         UNION  ! u
           MAP
        integer(LPVOID) hMetaFilePict ! pointers  wireHMETAFILEPICT 
           END MAP
           MAP
        integer(LPVOID) hHEnhMetaFile ! pointers  wireHENHMETAFILE 
           END MAP
           MAP
       integer(LPVOID) hGdiHandle ! star  GDI_OBJECT  *
           END MAP
           MAP
        integer(LPVOID) hGlobal ! pointers  wireHGLOBAL 
           END MAP
           MAP
        integer(LPVOID) lpszFileName ! pointers  LPOLESTR 
           END MAP
           MAP
       integer(LPVOID) pstm ! star  BYTE_BLOB  *
           END MAP
           MAP
       integer(LPVOID) pstg ! star  BYTE_BLOB  *
           END MAP
         END UNION  ! u
        END STRUCTURE ! field0
       integer(LPVOID) pUnkForRelease ! star  IUnknown  *
     END STRUCTURE
     TYPE T_userFLAG_STGMEDIUM
     SEQUENCE
       integer(LONG) ContextFlags ! knowns  long 
       integer(LONG) fPassOwnership ! knowns  long 
       TYPE (T_userSTGMEDIUM) Stgmed ! typedefs  userSTGMEDIUM 
     END TYPE
     TYPE T_FLAG_STGMEDIUM
     SEQUENCE
       integer(LONG) ContextFlags ! knowns  long 
       integer(LONG) fPassOwnership ! knowns  long 
       TYPE (T_uSTGMEDIUM) Stgmed ! typedefs  STGMEDIUM 
     END TYPE
     TYPE T_IAdviseSinkVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IAdviseSink * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IAdviseSink * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IAdviseSink * This)
     integer(LPVOID) OnDataChange ! function pointers   void ( f__stdcall *OnDataChange )( IAdviseSink * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed)
     integer(LPVOID) OnViewChange ! function pointers   void ( f__stdcall *OnViewChange )( IAdviseSink * This, DWORD dwAspect, LONG lindex)
     integer(LPVOID) OnRename ! function pointers   void ( f__stdcall *OnRename )( IAdviseSink * This, IMoniker *pmk)
     integer(LPVOID) OnSave ! function pointers   void ( f__stdcall *OnSave )( IAdviseSink * This)
     integer(LPVOID) OnClose ! function pointers   void ( f__stdcall *OnClose )( IAdviseSink * This)
     END TYPE
     TYPE T_IAdviseSink
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IAdviseSinkVtbl *
     END TYPE
     TYPE T_AsyncIAdviseSinkVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIAdviseSink * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIAdviseSink * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIAdviseSink * This)
     integer(LPVOID) Begin_OnDataChange ! function pointers   void ( f__stdcall *Begin_OnDataChange )( AsyncIAdviseSink * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed)
     integer(LPVOID) Finish_OnDataChange ! function pointers   void ( f__stdcall *Finish_OnDataChange )( AsyncIAdviseSink * This)
     integer(LPVOID) Begin_OnViewChange ! function pointers   void ( f__stdcall *Begin_OnViewChange )( AsyncIAdviseSink * This, DWORD dwAspect, LONG lindex)
     integer(LPVOID) Finish_OnViewChange ! function pointers   void ( f__stdcall *Finish_OnViewChange )( AsyncIAdviseSink * This)
     integer(LPVOID) Begin_OnRename ! function pointers   void ( f__stdcall *Begin_OnRename )( AsyncIAdviseSink * This, IMoniker *pmk)
     integer(LPVOID) Finish_OnRename ! function pointers   void ( f__stdcall *Finish_OnRename )( AsyncIAdviseSink * This)
     integer(LPVOID) Begin_OnSave ! function pointers   void ( f__stdcall *Begin_OnSave )( AsyncIAdviseSink * This)
     integer(LPVOID) Finish_OnSave ! function pointers   void ( f__stdcall *Finish_OnSave )( AsyncIAdviseSink * This)
     integer(LPVOID) Begin_OnClose ! function pointers   void ( f__stdcall *Begin_OnClose )( AsyncIAdviseSink * This)
     integer(LPVOID) Finish_OnClose ! function pointers   void ( f__stdcall *Finish_OnClose )( AsyncIAdviseSink * This)
     END TYPE
     TYPE T_AsyncIAdviseSink
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIAdviseSinkVtbl *
     END TYPE
     TYPE T_IAdviseSink2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IAdviseSink2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IAdviseSink2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IAdviseSink2 * This)
     integer(LPVOID) OnDataChange ! function pointers   void ( f__stdcall *OnDataChange )( IAdviseSink2 * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed)
     integer(LPVOID) OnViewChange ! function pointers   void ( f__stdcall *OnViewChange )( IAdviseSink2 * This, DWORD dwAspect, LONG lindex)
     integer(LPVOID) OnRename ! function pointers   void ( f__stdcall *OnRename )( IAdviseSink2 * This, IMoniker *pmk)
     integer(LPVOID) OnSave ! function pointers   void ( f__stdcall *OnSave )( IAdviseSink2 * This)
     integer(LPVOID) OnClose ! function pointers   void ( f__stdcall *OnClose )( IAdviseSink2 * This)
     integer(LPVOID) OnLinkSrcChange ! function pointers   void ( f__stdcall *OnLinkSrcChange )( IAdviseSink2 * This, IMoniker *pmk)
     END TYPE
     TYPE T_IAdviseSink2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IAdviseSink2Vtbl *
     END TYPE
     TYPE T_AsyncIAdviseSink2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIAdviseSink2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnDataChange ! function pointers   void ( f__stdcall *Begin_OnDataChange )( AsyncIAdviseSink2 * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed)
     integer(LPVOID) Finish_OnDataChange ! function pointers   void ( f__stdcall *Finish_OnDataChange )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnViewChange ! function pointers   void ( f__stdcall *Begin_OnViewChange )( AsyncIAdviseSink2 * This, DWORD dwAspect, LONG lindex)
     integer(LPVOID) Finish_OnViewChange ! function pointers   void ( f__stdcall *Finish_OnViewChange )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnRename ! function pointers   void ( f__stdcall *Begin_OnRename )( AsyncIAdviseSink2 * This, IMoniker *pmk)
     integer(LPVOID) Finish_OnRename ! function pointers   void ( f__stdcall *Finish_OnRename )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnSave ! function pointers   void ( f__stdcall *Begin_OnSave )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Finish_OnSave ! function pointers   void ( f__stdcall *Finish_OnSave )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnClose ! function pointers   void ( f__stdcall *Begin_OnClose )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Finish_OnClose ! function pointers   void ( f__stdcall *Finish_OnClose )( AsyncIAdviseSink2 * This)
     integer(LPVOID) Begin_OnLinkSrcChange ! function pointers   void ( f__stdcall *Begin_OnLinkSrcChange )( AsyncIAdviseSink2 * This, IMoniker *pmk)
     integer(LPVOID) Finish_OnLinkSrcChange ! function pointers   void ( f__stdcall *Finish_OnLinkSrcChange )( AsyncIAdviseSink2 * This)
     END TYPE
     TYPE T_AsyncIAdviseSink2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIAdviseSink2Vtbl *
     END TYPE
     TYPE T_IDataObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDataObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDataObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDataObject * This)
     integer(LPVOID) GetData ! function pointers   HRESULT ( f__stdcall *GetData )( IDataObject * This, FORMATETC *pformatetcIn, STGMEDIUM *pmedium)
     integer(LPVOID) GetDataHere ! function pointers   HRESULT ( f__stdcall *GetDataHere )( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pmedium)
     integer(LPVOID) QueryGetData ! function pointers   HRESULT ( f__stdcall *QueryGetData )( IDataObject * This, FORMATETC *pformatetc)
     integer(LPVOID) GetCanonicalFormatEtc ! function pointers   HRESULT ( f__stdcall *GetCanonicalFormatEtc )( IDataObject * This, FORMATETC *pformatectIn, FORMATETC *pformatetcOut)
     integer(LPVOID) SetData ! function pointers   HRESULT ( f__stdcall *SetData )( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
     integer(LPVOID) EnumFormatEtc ! function pointers   HRESULT ( f__stdcall *EnumFormatEtc )( IDataObject * This, DWORD dwDirection, IEnumFORMATETC * *ppenumFormatEtc)
     integer(LPVOID) DAdvise ! function pointers   HRESULT ( f__stdcall *DAdvise )( IDataObject * This, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection)
     integer(LPVOID) DUnadvise ! function pointers   HRESULT ( f__stdcall *DUnadvise )( IDataObject * This, DWORD dwConnection)
     integer(LPVOID) EnumDAdvise ! function pointers   HRESULT ( f__stdcall *EnumDAdvise )( IDataObject * This, IEnumSTATDATA * *ppenumAdvise)
     END TYPE
     TYPE T_IDataObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDataObjectVtbl *
     END TYPE
     TYPE T_IDataAdviseHolderVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDataAdviseHolder * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDataAdviseHolder * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDataAdviseHolder * This)
     integer(LPVOID) Advise ! function pointers   HRESULT ( f__stdcall *Advise )( IDataAdviseHolder * This, IDataObject *pDataObject, FORMATETC *pFetc, DWORD advf, IAdviseSink *pAdvise, DWORD *pdwConnection)
     integer(LPVOID) Unadvise ! function pointers   HRESULT ( f__stdcall *Unadvise )( IDataAdviseHolder * This, DWORD dwConnection)
     integer(LPVOID) EnumAdvise ! function pointers   HRESULT ( f__stdcall *EnumAdvise )( IDataAdviseHolder * This, IEnumSTATDATA * *ppenumAdvise)
     integer(LPVOID) SendOnDataChange ! function pointers   HRESULT ( f__stdcall *SendOnDataChange )( IDataAdviseHolder * This, IDataObject *pDataObject, DWORD dwReserved, DWORD advf)
     END TYPE
     TYPE T_IDataAdviseHolder
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDataAdviseHolderVtbl *
     END TYPE
     TYPE T_INTERFACEINFO
     SEQUENCE
      integer(LPVOID) pUnk ! star  IUnknown  *
       TYPE (T_GUID) iid ! typedefs  IID 
       integer(WORD) wMethod ! knowns  WORD 
     END TYPE
     TYPE T_IMessageFilterVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IMessageFilter * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IMessageFilter * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IMessageFilter * This)
     integer(LPVOID) HandleInComingCall ! function pointers   DWORD ( f__stdcall *HandleInComingCall )( IMessageFilter * This, DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo)
     integer(LPVOID) RetryRejectedCall ! function pointers   DWORD ( f__stdcall *RetryRejectedCall )( IMessageFilter * This, HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType)
     integer(LPVOID) MessagePending ! function pointers   DWORD ( f__stdcall *MessagePending )( IMessageFilter * This, HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType)
     END TYPE
     TYPE T_IMessageFilter
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IMessageFilterVtbl *
     END TYPE
     TYPE T_RPCOLEMESSAGE
     SEQUENCE
      integer(LPVOID) reserved1 ! star  void  *
       integer(ULONG) dataRepresentation ! typedefs  RPCOLEDATAREP 
      integer(LPVOID) Buffer ! star  void  *
       integer(ULONG) cbBuffer ! knowns  ULONG 
       integer(ULONG) iMethod ! knowns  ULONG 
      integer(LPVOID) reserved2(5) ! star  void  *
       integer(ULONG) rpcFlags ! knowns  ULONG 
     END TYPE
     TYPE T_IRpcChannelBufferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcChannelBuffer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcChannelBuffer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcChannelBuffer * This)
     integer(LPVOID) GetBuffer ! function pointers   HRESULT ( f__stdcall *GetBuffer )( IRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage,  IID * const riid)
     integer(LPVOID) SendReceive ! function pointers   HRESULT ( f__stdcall *SendReceive )( IRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage, ULONG *pStatus)
     integer(LPVOID) FreeBuffer ! function pointers   HRESULT ( f__stdcall *FreeBuffer )( IRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage)
     integer(LPVOID) GetDestCtx ! function pointers   HRESULT ( f__stdcall *GetDestCtx )( IRpcChannelBuffer * This, DWORD *pdwDestContext, void * *ppvDestContext)
     integer(LPVOID) IsConnected ! function pointers   HRESULT ( f__stdcall *IsConnected )( IRpcChannelBuffer * This)
     END TYPE
     TYPE T_IRpcChannelBuffer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcChannelBufferVtbl *
     END TYPE
     TYPE T_IRpcChannelBuffer2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcChannelBuffer2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcChannelBuffer2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcChannelBuffer2 * This)
     integer(LPVOID) GetBuffer ! function pointers   HRESULT ( f__stdcall *GetBuffer )( IRpcChannelBuffer2 * This, RPCOLEMESSAGE *pMessage,  IID * const riid)
     integer(LPVOID) SendReceive ! function pointers   HRESULT ( f__stdcall *SendReceive )( IRpcChannelBuffer2 * This, RPCOLEMESSAGE *pMessage, ULONG *pStatus)
     integer(LPVOID) FreeBuffer ! function pointers   HRESULT ( f__stdcall *FreeBuffer )( IRpcChannelBuffer2 * This, RPCOLEMESSAGE *pMessage)
     integer(LPVOID) GetDestCtx ! function pointers   HRESULT ( f__stdcall *GetDestCtx )( IRpcChannelBuffer2 * This, DWORD *pdwDestContext, void * *ppvDestContext)
     integer(LPVOID) IsConnected ! function pointers   HRESULT ( f__stdcall *IsConnected )( IRpcChannelBuffer2 * This)
     integer(LPVOID) GetProtocolVersion ! function pointers   HRESULT ( f__stdcall *GetProtocolVersion )( IRpcChannelBuffer2 * This, DWORD *pdwVersion)
     END TYPE
     TYPE T_IRpcChannelBuffer2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcChannelBuffer2Vtbl *
     END TYPE
     TYPE T_IAsyncRpcChannelBufferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IAsyncRpcChannelBuffer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IAsyncRpcChannelBuffer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IAsyncRpcChannelBuffer * This)
     integer(LPVOID) GetBuffer ! function pointers   HRESULT ( f__stdcall *GetBuffer )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage,  IID * const riid)
     integer(LPVOID) SendReceive ! function pointers   HRESULT ( f__stdcall *SendReceive )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage, ULONG *pStatus)
     integer(LPVOID) FreeBuffer ! function pointers   HRESULT ( f__stdcall *FreeBuffer )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMessage)
     integer(LPVOID) GetDestCtx ! function pointers   HRESULT ( f__stdcall *GetDestCtx )( IAsyncRpcChannelBuffer * This, DWORD *pdwDestContext, void * *ppvDestContext)
     integer(LPVOID) IsConnected ! function pointers   HRESULT ( f__stdcall *IsConnected )( IAsyncRpcChannelBuffer * This)
     integer(LPVOID) GetProtocolVersion ! function pointers   HRESULT ( f__stdcall *GetProtocolVersion )( IAsyncRpcChannelBuffer * This, DWORD *pdwVersion)
     integer(LPVOID) Send ! function pointers   HRESULT ( f__stdcall *Send )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMsg, ISynchronize *pSync, ULONG *pulStatus)
     integer(LPVOID) Receive ! function pointers   HRESULT ( f__stdcall *Receive )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMsg, ULONG *pulStatus)
     integer(LPVOID) GetDestCtxEx ! function pointers   HRESULT ( f__stdcall *GetDestCtxEx )( IAsyncRpcChannelBuffer * This, RPCOLEMESSAGE *pMsg, DWORD *pdwDestContext, void * *ppvDestContext)
     END TYPE
     TYPE T_IAsyncRpcChannelBuffer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IAsyncRpcChannelBufferVtbl *
     END TYPE
     TYPE T_IRpcChannelBuffer3Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcChannelBuffer3 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcChannelBuffer3 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcChannelBuffer3 * This)
     integer(LPVOID) GetBuffer ! function pointers   HRESULT ( f__stdcall *GetBuffer )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMessage,  IID * const riid)
     integer(LPVOID) SendReceive ! function pointers   HRESULT ( f__stdcall *SendReceive )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMessage, ULONG *pStatus)
     integer(LPVOID) FreeBuffer ! function pointers   HRESULT ( f__stdcall *FreeBuffer )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMessage)
     integer(LPVOID) GetDestCtx ! function pointers   HRESULT ( f__stdcall *GetDestCtx )( IRpcChannelBuffer3 * This, DWORD *pdwDestContext, void * *ppvDestContext)
     integer(LPVOID) IsConnected ! function pointers   HRESULT ( f__stdcall *IsConnected )( IRpcChannelBuffer3 * This)
     integer(LPVOID) GetProtocolVersion ! function pointers   HRESULT ( f__stdcall *GetProtocolVersion )( IRpcChannelBuffer3 * This, DWORD *pdwVersion)
     integer(LPVOID) Send ! function pointers   HRESULT ( f__stdcall *Send )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg, ULONG *pulStatus)
     integer(LPVOID) Receive ! function pointers   HRESULT ( f__stdcall *Receive )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg, ULONG ulSize, ULONG *pulStatus)
     integer(LPVOID) Cancel ! function pointers   HRESULT ( f__stdcall *Cancel )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg)
     integer(LPVOID) GetCallContext ! function pointers   HRESULT ( f__stdcall *GetCallContext )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg,  IID * const riid, void * *pInterface)
     integer(LPVOID) GetDestCtxEx ! function pointers   HRESULT ( f__stdcall *GetDestCtxEx )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg, DWORD *pdwDestContext, void * *ppvDestContext)
     integer(LPVOID) GetState ! function pointers   HRESULT ( f__stdcall *GetState )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg, DWORD *pState)
     integer(LPVOID) RegisterAsync ! function pointers   HRESULT ( f__stdcall *RegisterAsync )( IRpcChannelBuffer3 * This, RPCOLEMESSAGE *pMsg, IAsyncManager *pAsyncMgr)
     END TYPE
     TYPE T_IRpcChannelBuffer3
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcChannelBuffer3Vtbl *
     END TYPE
     TYPE T_IRpcProxyBufferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcProxyBuffer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcProxyBuffer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcProxyBuffer * This)
     integer(LPVOID) Connect ! function pointers   HRESULT ( f__stdcall *Connect )( IRpcProxyBuffer * This, IRpcChannelBuffer *pRpcChannelBuffer)
     integer(LPVOID) Disconnect ! function pointers   void ( f__stdcall *Disconnect )( IRpcProxyBuffer * This)
     END TYPE
     TYPE T_IRpcProxyBuffer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcProxyBufferVtbl *
     END TYPE
     TYPE T_IRpcStubBufferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcStubBuffer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcStubBuffer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcStubBuffer * This)
     integer(LPVOID) Connect ! function pointers   HRESULT ( f__stdcall *Connect )( IRpcStubBuffer * This, IUnknown *pUnkServer)
     integer(LPVOID) Disconnect ! function pointers   void ( f__stdcall *Disconnect )( IRpcStubBuffer * This)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IRpcStubBuffer * This, RPCOLEMESSAGE *_prpcmsg, IRpcChannelBuffer *_pRpcChannelBuffer)
     integer(LPVOID) IsIIDSupported ! function pointers   IRpcStubBuffer *( f__stdcall *IsIIDSupported )( IRpcStubBuffer * This,  IID * const riid)
     integer(LPVOID) CountRefs ! function pointers   ULONG ( f__stdcall *CountRefs )( IRpcStubBuffer * This)
     integer(LPVOID) DebugServerQueryInterface ! function pointers   HRESULT ( f__stdcall *DebugServerQueryInterface )( IRpcStubBuffer * This, void * *ppv)
     integer(LPVOID) DebugServerRelease ! function pointers   void ( f__stdcall *DebugServerRelease )( IRpcStubBuffer * This, void *pv)
     END TYPE
     TYPE T_IRpcStubBuffer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcStubBufferVtbl *
     END TYPE
     TYPE T_IPSFactoryBufferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPSFactoryBuffer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPSFactoryBuffer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPSFactoryBuffer * This)
     integer(LPVOID) CreateProxy ! function pointers   HRESULT ( f__stdcall *CreateProxy )( IPSFactoryBuffer * This, IUnknown *pUnkOuter,  IID * const riid, IRpcProxyBuffer * *ppProxy, void * *ppv)
     integer(LPVOID) CreateStub ! function pointers   HRESULT ( f__stdcall *CreateStub )( IPSFactoryBuffer * This,  IID * const riid, IUnknown *pUnkServer, IRpcStubBuffer * *ppStub)
     END TYPE
     TYPE T_IPSFactoryBuffer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPSFactoryBufferVtbl *
     END TYPE
    !DEC$ IF DEFINED( _M_IX86)
     TYPE T_SChannelHookCallInfo
     SEQUENCE
       TYPE (T_GUID) iid ! typedefs  IID 
       integer(DWORD) cbSize ! knowns  DWORD 
       TYPE (T_GUID) uCausality ! typedefs  GUID 
       integer(DWORD) dwServerPid ! knowns  DWORD 
       integer(DWORD) iMethod ! knowns  DWORD 
      integer(LPVOID) pObject ! star  void  *
     END TYPE
     TYPE T_IChannelHookVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IChannelHook * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IChannelHook * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IChannelHook * This)
     integer(LPVOID) ClientGetSize ! function pointers   void ( f__stdcall *ClientGetSize )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, ULONG *pDataSize)
     integer(LPVOID) ClientFillBuffer ! function pointers   void ( f__stdcall *ClientFillBuffer )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, ULONG *pDataSize, void *pDataBuffer)
     integer(LPVOID) ClientNotify ! function pointers   void ( f__stdcall *ClientNotify )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, ULONG cbDataSize, void *pDataBuffer, DWORD lDataRep, HRESULT hrFault)
     integer(LPVOID) ServerNotify ! function pointers   void ( f__stdcall *ServerNotify )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, ULONG cbDataSize, void *pDataBuffer, DWORD lDataRep)
     integer(LPVOID) ServerGetSize ! function pointers   void ( f__stdcall *ServerGetSize )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, HRESULT hrFault, ULONG *pDataSize)
     integer(LPVOID) ServerFillBuffer ! function pointers   void ( f__stdcall *ServerFillBuffer )( IChannelHook * This,  GUID * const uExtent, const IID * const riid, ULONG *pDataSize, void *pDataBuffer, HRESULT hrFault)
     END TYPE
     TYPE T_IChannelHook
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IChannelHookVtbl *
     END TYPE
     TYPE T_SOLE_AUTHENTICATION_SERVICE
     SEQUENCE
       integer(DWORD) dwAuthnSvc ! knowns  DWORD 
       integer(DWORD) dwAuthzSvc ! knowns  DWORD 
      integer(LPVOID) pPrincipalName ! star  OLECHAR  *
       integer(LONG) hr ! typedefs  HRESULT 
     END TYPE
     TYPE T_SOLE_AUTHENTICATION_INFO
     SEQUENCE
       integer(DWORD) dwAuthnSvc ! knowns  DWORD 
       integer(DWORD) dwAuthzSvc ! knowns  DWORD 
      integer(LPVOID) pAuthInfo ! star  void  *
     END TYPE
     TYPE T_SOLE_AUTHENTICATION_LIST
     SEQUENCE
       integer(DWORD) cAuthInfo ! knowns  DWORD 
      integer(LPVOID) aAuthInfo ! star  SOLE_AUTHENTICATION_INFO  *
     END TYPE
     TYPE T_IClientSecurityVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IClientSecurity * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IClientSecurity * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IClientSecurity * This)
     integer(LPVOID) QueryBlanket ! function pointers   HRESULT ( f__stdcall *QueryBlanket )( IClientSecurity * This, IUnknown *pProxy, DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR * *pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, void * *pAuthInfo, DWORD *pCapabilites)
     integer(LPVOID) SetBlanket ! function pointers   HRESULT ( f__stdcall *SetBlanket )( IClientSecurity * This, IUnknown *pProxy, DWORD dwAuthnSvc, DWORD dwAuthzSvc, OLECHAR *pServerPrincName, DWORD dwAuthnLevel, DWORD dwImpLevel, void *pAuthInfo, DWORD dwCapabilities)
     integer(LPVOID) CopyProxy ! function pointers   HRESULT ( f__stdcall *CopyProxy )( IClientSecurity * This, IUnknown *pProxy, IUnknown * *ppCopy)
     END TYPE
     TYPE T_IClientSecurity
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IClientSecurityVtbl *
     END TYPE
     TYPE T_IServerSecurityVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IServerSecurity * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IServerSecurity * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IServerSecurity * This)
     integer(LPVOID) QueryBlanket ! function pointers   HRESULT ( f__stdcall *QueryBlanket )( IServerSecurity * This, DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR * *pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, void * *pPrivs, DWORD *pCapabilities)
     integer(LPVOID) ImpersonateClient ! function pointers   HRESULT ( f__stdcall *ImpersonateClient )( IServerSecurity * This)
     integer(LPVOID) RevertToSelf ! function pointers   HRESULT ( f__stdcall *RevertToSelf )( IServerSecurity * This)
     integer(LPVOID) IsImpersonating ! function pointers   BOOL ( f__stdcall *IsImpersonating )( IServerSecurity * This)
     END TYPE
     TYPE T_IServerSecurity
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IServerSecurityVtbl *
     END TYPE
     TYPE T_IClassActivatorVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IClassActivator * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IClassActivator * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IClassActivator * This)
     integer(LPVOID) GetClassObject ! function pointers   HRESULT ( f__stdcall *GetClassObject )( IClassActivator * This,  IID * const rclsid, DWORD dwClassContext, LCID locale, const IID * const riid, void * *ppv)
     END TYPE
     TYPE T_IClassActivator
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IClassActivatorVtbl *
     END TYPE
     TYPE T_IRpcOptionsVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcOptions * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcOptions * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcOptions * This)
     integer(LPVOID) Set ! function pointers   HRESULT ( f__stdcall *Set )( IRpcOptions * This, IUnknown *pPrx, DWORD dwProperty, ULONG_PTR dwValue)
     integer(LPVOID) Query ! function pointers   HRESULT ( f__stdcall *Query )( IRpcOptions * This, IUnknown *pPrx, DWORD dwProperty, ULONG_PTR *pdwValue)
     END TYPE
     TYPE T_IRpcOptions
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcOptionsVtbl *
     END TYPE
    !DEC$ ENDIF
     TYPE T_IFillLockBytesVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IFillLockBytes * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IFillLockBytes * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IFillLockBytes * This)
     integer(LPVOID) FillAppend ! function pointers   HRESULT ( f__stdcall *FillAppend )( IFillLockBytes * This,  void *pv, ULONG cb, ULONG *pcbWritten)
     integer(LPVOID) FillAt ! function pointers   HRESULT ( f__stdcall *FillAt )( IFillLockBytes * This, ULARGE_INTEGER ulOffset,  void *pv, ULONG cb, ULONG *pcbWritten)
     integer(LPVOID) SetFillSize ! function pointers   HRESULT ( f__stdcall *SetFillSize )( IFillLockBytes * This, ULARGE_INTEGER ulSize)
     integer(LPVOID) Terminate ! function pointers   HRESULT ( f__stdcall *Terminate )( IFillLockBytes * This, BOOL bCanceled)
     END TYPE
     TYPE T_IFillLockBytes
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IFillLockBytesVtbl *
     END TYPE
     TYPE T_IProgressNotifyVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IProgressNotify * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IProgressNotify * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IProgressNotify * This)
     integer(LPVOID) OnProgress ! function pointers   HRESULT ( f__stdcall *OnProgress )( IProgressNotify * This, DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner)
     END TYPE
     TYPE T_IProgressNotify
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IProgressNotifyVtbl *
     END TYPE
     TYPE T_StorageLayout
     SEQUENCE
       integer(DWORD) LayoutType ! knowns  DWORD 
      integer(LPVOID) pwcsElementName ! star  OLECHAR  *
       TYPE (T_LARGE_INTEGER) cOffset ! typedefs  LARGE_INTEGER 
       TYPE (T_LARGE_INTEGER) cBytes ! typedefs  LARGE_INTEGER 
     END TYPE
     TYPE T_ILayoutStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ILayoutStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ILayoutStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ILayoutStorage * This)
     integer(LPVOID) LayoutScript ! function pointers   HRESULT ( f__stdcall *LayoutScript )( ILayoutStorage * This, StorageLayout *pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag)
     integer(LPVOID) BeginMonitor ! function pointers   HRESULT ( f__stdcall *BeginMonitor )( ILayoutStorage * This)
     integer(LPVOID) EndMonitor ! function pointers   HRESULT ( f__stdcall *EndMonitor )( ILayoutStorage * This)
     integer(LPVOID) ReLayoutDocfile ! function pointers   HRESULT ( f__stdcall *ReLayoutDocfile )( ILayoutStorage * This, OLECHAR *pwcsNewDfName)
     integer(LPVOID) ReLayoutDocfileOnILockBytes ! function pointers   HRESULT ( f__stdcall *ReLayoutDocfileOnILockBytes )( ILayoutStorage * This, ILockBytes *pILockBytes)
     END TYPE
     TYPE T_ILayoutStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ILayoutStorageVtbl *
     END TYPE
     TYPE T_IBlockingLockVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBlockingLock * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBlockingLock * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBlockingLock * This)
     integer(LPVOID) Lock ! function pointers   HRESULT ( f__stdcall *Lock )( IBlockingLock * This, DWORD dwTimeout)
     integer(LPVOID) Unlock ! function pointers   HRESULT ( f__stdcall *Unlock )( IBlockingLock * This)
     END TYPE
     TYPE T_IBlockingLock
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBlockingLockVtbl *
     END TYPE
     TYPE T_ITimeAndNoticeControlVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITimeAndNoticeControl * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITimeAndNoticeControl * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITimeAndNoticeControl * This)
     integer(LPVOID) SuppressChanges ! function pointers   HRESULT ( f__stdcall *SuppressChanges )( ITimeAndNoticeControl * This, DWORD res1, DWORD res2)
     END TYPE
     TYPE T_ITimeAndNoticeControl
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITimeAndNoticeControlVtbl *
     END TYPE
     TYPE T_IOplockStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOplockStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOplockStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOplockStorage * This)
     integer(LPVOID) CreateStorageEx ! function pointers   HRESULT ( f__stdcall *CreateStorageEx )( IOplockStorage * This, LPCWSTR pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs,  IID * const riid, void * *ppstgOpen)
     integer(LPVOID) OpenStorageEx ! function pointers   HRESULT ( f__stdcall *OpenStorageEx )( IOplockStorage * This, LPCWSTR pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs,  IID * const riid, void * *ppstgOpen)
     END TYPE
     TYPE T_IOplockStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOplockStorageVtbl *
     END TYPE
     TYPE T_ISurrogateVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISurrogate * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISurrogate * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISurrogate * This)
     integer(LPVOID) LoadDllServer ! function pointers   HRESULT ( f__stdcall *LoadDllServer )( ISurrogate * This,  IID * const Clsid)
     integer(LPVOID) FreeSurrogate ! function pointers   HRESULT ( f__stdcall *FreeSurrogate )( ISurrogate * This)
     END TYPE
     TYPE T_ISurrogate
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISurrogateVtbl *
     END TYPE
     TYPE T_IGlobalInterfaceTableVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IGlobalInterfaceTable * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IGlobalInterfaceTable * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IGlobalInterfaceTable * This)
     integer(LPVOID) RegisterInterfaceInGlobal ! function pointers   HRESULT ( f__stdcall *RegisterInterfaceInGlobal )( IGlobalInterfaceTable * This, IUnknown *pUnk,  IID * const riid, DWORD *pdwCookie)
     integer(LPVOID) RevokeInterfaceFromGlobal ! function pointers   HRESULT ( f__stdcall *RevokeInterfaceFromGlobal )( IGlobalInterfaceTable * This, DWORD dwCookie)
     integer(LPVOID) GetInterfaceFromGlobal ! function pointers   HRESULT ( f__stdcall *GetInterfaceFromGlobal )( IGlobalInterfaceTable * This, DWORD dwCookie,  IID * const riid, void * *ppv)
     END TYPE
     TYPE T_IGlobalInterfaceTable
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IGlobalInterfaceTableVtbl *
     END TYPE
     TYPE T_IDirectWriterLockVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDirectWriterLock * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDirectWriterLock * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDirectWriterLock * This)
     integer(LPVOID) WaitForWriteAccess ! function pointers   HRESULT ( f__stdcall *WaitForWriteAccess )( IDirectWriterLock * This, DWORD dwTimeout)
     integer(LPVOID) ReleaseWriteAccess ! function pointers   HRESULT ( f__stdcall *ReleaseWriteAccess )( IDirectWriterLock * This)
     integer(LPVOID) HaveWriteAccess ! function pointers   HRESULT ( f__stdcall *HaveWriteAccess )( IDirectWriterLock * This)
     END TYPE
     TYPE T_IDirectWriterLock
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDirectWriterLockVtbl *
     END TYPE
     TYPE T_ISynchronizeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISynchronize * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISynchronize * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISynchronize * This)
     integer(LPVOID) Wait ! function pointers   HRESULT ( f__stdcall *Wait )( ISynchronize * This, DWORD dwFlags, DWORD dwMilliseconds)
     integer(LPVOID) Signal ! function pointers   HRESULT ( f__stdcall *Signal )( ISynchronize * This)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( ISynchronize * This)
     END TYPE
     TYPE T_ISynchronize
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISynchronizeVtbl *
     END TYPE
     TYPE T_ISynchronizeHandleVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISynchronizeHandle * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISynchronizeHandle * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISynchronizeHandle * This)
     integer(LPVOID) GetHandle ! function pointers   HRESULT ( f__stdcall *GetHandle )( ISynchronizeHandle * This, HANDLE *ph)
     END TYPE
     TYPE T_ISynchronizeHandle
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISynchronizeHandleVtbl *
     END TYPE
     TYPE T_ISynchronizeEventVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISynchronizeEvent * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISynchronizeEvent * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISynchronizeEvent * This)
     integer(LPVOID) GetHandle ! function pointers   HRESULT ( f__stdcall *GetHandle )( ISynchronizeEvent * This, HANDLE *ph)
     integer(LPVOID) SetEventHandle ! function pointers   HRESULT ( f__stdcall *SetEventHandle )( ISynchronizeEvent * This, HANDLE *ph)
     END TYPE
     TYPE T_ISynchronizeEvent
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISynchronizeEventVtbl *
     END TYPE
     TYPE T_ISynchronizeContainerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISynchronizeContainer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISynchronizeContainer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISynchronizeContainer * This)
     integer(LPVOID) AddSynchronize ! function pointers   HRESULT ( f__stdcall *AddSynchronize )( ISynchronizeContainer * This, ISynchronize *pSync)
     integer(LPVOID) WaitMultiple ! function pointers   HRESULT ( f__stdcall *WaitMultiple )( ISynchronizeContainer * This, DWORD dwFlags, DWORD dwTimeOut, ISynchronize * *ppSync)
     END TYPE
     TYPE T_ISynchronizeContainer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISynchronizeContainerVtbl *
     END TYPE
     TYPE T_ISynchronizeMutexVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISynchronizeMutex * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISynchronizeMutex * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISynchronizeMutex * This)
     integer(LPVOID) Wait ! function pointers   HRESULT ( f__stdcall *Wait )( ISynchronizeMutex * This, DWORD dwFlags, DWORD dwMilliseconds)
     integer(LPVOID) Signal ! function pointers   HRESULT ( f__stdcall *Signal )( ISynchronizeMutex * This)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( ISynchronizeMutex * This)
     integer(LPVOID) ReleaseMutex ! function pointers   HRESULT ( f__stdcall *ReleaseMutex )( ISynchronizeMutex * This)
     END TYPE
     TYPE T_ISynchronizeMutex
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISynchronizeMutexVtbl *
     END TYPE
     TYPE T_ICancelMethodCallsVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICancelMethodCalls * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICancelMethodCalls * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICancelMethodCalls * This)
     integer(LPVOID) Cancel ! function pointers   HRESULT ( f__stdcall *Cancel )( ICancelMethodCalls * This, ULONG ulSeconds)
     integer(LPVOID) TestCancel ! function pointers   HRESULT ( f__stdcall *TestCancel )( ICancelMethodCalls * This)
     END TYPE
     TYPE T_ICancelMethodCalls
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICancelMethodCallsVtbl *
     END TYPE
     TYPE T_IAsyncManagerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IAsyncManager * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IAsyncManager * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IAsyncManager * This)
     integer(LPVOID) CompleteCall ! function pointers   HRESULT ( f__stdcall *CompleteCall )( IAsyncManager * This, HRESULT Result)
     integer(LPVOID) GetCallContext ! function pointers   HRESULT ( f__stdcall *GetCallContext )( IAsyncManager * This,  IID * const riid, void * *pInterface)
     integer(LPVOID) GetState ! function pointers   HRESULT ( f__stdcall *GetState )( IAsyncManager * This, ULONG *pulStateFlags)
     END TYPE
     TYPE T_IAsyncManager
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IAsyncManagerVtbl *
     END TYPE
     TYPE T_ICallFactoryVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICallFactory * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICallFactory * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICallFactory * This)
     integer(LPVOID) CreateCall ! function pointers   HRESULT ( f__stdcall *CreateCall )( ICallFactory * This,  IID * const riid, IUnknown *pCtrlUnk, const IID * const riid2, IUnknown * *ppv)
     END TYPE
     TYPE T_ICallFactory
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICallFactoryVtbl *
     END TYPE
     TYPE T_IRpcHelperVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRpcHelper * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRpcHelper * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRpcHelper * This)
     integer(LPVOID) GetDCOMProtocolVersion ! function pointers   HRESULT ( f__stdcall *GetDCOMProtocolVersion )( IRpcHelper * This, DWORD *pComVersion)
     integer(LPVOID) GetIIDFromOBJREF ! function pointers   HRESULT ( f__stdcall *GetIIDFromOBJREF )( IRpcHelper * This, void *pObjRef, IID * *piid)
     END TYPE
     TYPE T_IRpcHelper
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRpcHelperVtbl *
     END TYPE
     TYPE T_IReleaseMarshalBuffersVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IReleaseMarshalBuffers * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IReleaseMarshalBuffers * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IReleaseMarshalBuffers * This)
     integer(LPVOID) ReleaseMarshalBuffer ! function pointers   HRESULT ( f__stdcall *ReleaseMarshalBuffer )( IReleaseMarshalBuffers * This, RPCOLEMESSAGE *pMsg, DWORD dwFlags, IUnknown *pChnl)
     END TYPE
     TYPE T_IReleaseMarshalBuffers
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IReleaseMarshalBuffersVtbl *
     END TYPE
     TYPE T_IWaitMultipleVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IWaitMultiple * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IWaitMultiple * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IWaitMultiple * This)
     integer(LPVOID) WaitMultiple ! function pointers   HRESULT ( f__stdcall *WaitMultiple )( IWaitMultiple * This, DWORD timeout, ISynchronize * *pSync)
     integer(LPVOID) AddSynchronize ! function pointers   HRESULT ( f__stdcall *AddSynchronize )( IWaitMultiple * This, ISynchronize *pSync)
     END TYPE
     TYPE T_IWaitMultiple
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IWaitMultipleVtbl *
     END TYPE
     TYPE T_IUrlMonVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IUrlMon * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IUrlMon * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IUrlMon * This)
     integer(LPVOID) AsyncGetClassBits ! function pointers   HRESULT ( f__stdcall *AsyncGetClassBits )( IUrlMon * This,  IID * const rclsid, LPCWSTR pszTYPE, LPCWSTR pszExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR pszCodeBase, IBindCtx *pbc, DWORD dwClassContext, const IID * const riid, DWORD flags)
     END TYPE
     TYPE T_IUrlMon
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IUrlMonVtbl *
     END TYPE
     TYPE T_IForegroundTransferVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IForegroundTransfer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IForegroundTransfer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IForegroundTransfer * This)
     integer(LPVOID) AllowForegroundTransfer ! function pointers   HRESULT ( f__stdcall *AllowForegroundTransfer )( IForegroundTransfer * This, void *lpvReserved)
     END TYPE
     TYPE T_IForegroundTransfer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IForegroundTransferVtbl *
     END TYPE
     TYPE T_IPipeByteVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPipeByte * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPipeByte * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPipeByte * This)
     integer(LPVOID) Pull ! function pointers   HRESULT ( f__stdcall *Pull )( IPipeByte * This, BYTE *buf, ULONG cRequest, ULONG *pcReturned)
     integer(LPVOID) Push ! function pointers   HRESULT ( f__stdcall *Push )( IPipeByte * This, BYTE *buf, ULONG cSent)
     END TYPE
     TYPE T_IPipeByte
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPipeByteVtbl *
     END TYPE
     TYPE T_AsyncIPipeByteVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIPipeByte * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIPipeByte * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIPipeByte * This)
     integer(LPVOID) Begin_Pull ! function pointers   HRESULT ( f__stdcall *Begin_Pull )( AsyncIPipeByte * This, ULONG cRequest)
     integer(LPVOID) Finish_Pull ! function pointers   HRESULT ( f__stdcall *Finish_Pull )( AsyncIPipeByte * This, BYTE *buf, ULONG *pcReturned)
     integer(LPVOID) Begin_Push ! function pointers   HRESULT ( f__stdcall *Begin_Push )( AsyncIPipeByte * This, BYTE *buf, ULONG cSent)
     integer(LPVOID) Finish_Push ! function pointers   HRESULT ( f__stdcall *Finish_Push )( AsyncIPipeByte * This)
     END TYPE
     TYPE T_AsyncIPipeByte
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIPipeByteVtbl *
     END TYPE
     TYPE T_IPipeLongVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPipeLong * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPipeLong * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPipeLong * This)
     integer(LPVOID) Pull ! function pointers   HRESULT ( f__stdcall *Pull )( IPipeLong * This, LONG *buf, ULONG cRequest, ULONG *pcReturned)
     integer(LPVOID) Push ! function pointers   HRESULT ( f__stdcall *Push )( IPipeLong * This, LONG *buf, ULONG cSent)
     END TYPE
     TYPE T_IPipeLong
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPipeLongVtbl *
     END TYPE
     TYPE T_AsyncIPipeLongVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIPipeLong * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIPipeLong * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIPipeLong * This)
     integer(LPVOID) Begin_Pull ! function pointers   HRESULT ( f__stdcall *Begin_Pull )( AsyncIPipeLong * This, ULONG cRequest)
     integer(LPVOID) Finish_Pull ! function pointers   HRESULT ( f__stdcall *Finish_Pull )( AsyncIPipeLong * This, LONG *buf, ULONG *pcReturned)
     integer(LPVOID) Begin_Push ! function pointers   HRESULT ( f__stdcall *Begin_Push )( AsyncIPipeLong * This, LONG *buf, ULONG cSent)
     integer(LPVOID) Finish_Push ! function pointers   HRESULT ( f__stdcall *Finish_Push )( AsyncIPipeLong * This)
     END TYPE
     TYPE T_AsyncIPipeLong
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIPipeLongVtbl *
     END TYPE
     TYPE T_IPipeDoubleVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPipeDouble * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPipeDouble * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPipeDouble * This)
     integer(LPVOID) Pull ! function pointers   HRESULT ( f__stdcall *Pull )( IPipeDouble * This, DOUBLE *buf, ULONG cRequest, ULONG *pcReturned)
     integer(LPVOID) Push ! function pointers   HRESULT ( f__stdcall *Push )( IPipeDouble * This, DOUBLE *buf, ULONG cSent)
     END TYPE
     TYPE T_IPipeDouble
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPipeDoubleVtbl *
     END TYPE
     TYPE T_AsyncIPipeDoubleVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( AsyncIPipeDouble * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( AsyncIPipeDouble * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( AsyncIPipeDouble * This)
     integer(LPVOID) Begin_Pull ! function pointers   HRESULT ( f__stdcall *Begin_Pull )( AsyncIPipeDouble * This, ULONG cRequest)
     integer(LPVOID) Finish_Pull ! function pointers   HRESULT ( f__stdcall *Finish_Pull )( AsyncIPipeDouble * This, DOUBLE *buf, ULONG *pcReturned)
     integer(LPVOID) Begin_Push ! function pointers   HRESULT ( f__stdcall *Begin_Push )( AsyncIPipeDouble * This, DOUBLE *buf, ULONG cSent)
     integer(LPVOID) Finish_Push ! function pointers   HRESULT ( f__stdcall *Finish_Push )( AsyncIPipeDouble * This)
     END TYPE
     TYPE T_AsyncIPipeDouble
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct AsyncIPipeDoubleVtbl *
     END TYPE
     TYPE T_IThumbnailExtractorVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IThumbnailExtractor * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IThumbnailExtractor * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IThumbnailExtractor * This)
     integer(LPVOID) ExtractThumbnail ! function pointers   HRESULT ( f__stdcall *ExtractThumbnail )( IThumbnailExtractor * This, IStorage *pStg, ULONG ulLength, ULONG ulHeight, ULONG *pulOutputLength, ULONG *pulOutputHeight, HBITMAP *phOutputBitmap)
     integer(LPVOID) OnFileUpdated ! function pointers   HRESULT ( f__stdcall *OnFileUpdated )( IThumbnailExtractor * This, IStorage *pStg)
     END TYPE
     TYPE T_IThumbnailExtractor
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IThumbnailExtractorVtbl *
     END TYPE
     TYPE T_IDummyHICONIncluderVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDummyHICONIncluder * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDummyHICONIncluder * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDummyHICONIncluder * This)
     integer(LPVOID) Dummy ! function pointers   HRESULT ( f__stdcall *Dummy )( IDummyHICONIncluder * This, HICON h1, HDC h2)
     END TYPE
     TYPE T_IDummyHICONIncluder
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDummyHICONIncluderVtbl *
     END TYPE
     TYPE T_STGOPTIONS
     SEQUENCE
       integer(USHORT) usVersion ! knowns  USHORT 
       integer(USHORT) reserved ! knowns  USHORT 
       integer(ULONG) ulSectorSize ! knowns  ULONG 
     END TYPE
     TYPE T_IServiceProviderVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IServiceProvider * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IServiceProvider * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IServiceProvider * This)
     integer(LPVOID) QueryService ! function pointers   HRESULT ( f__stdcall *QueryService )( IServiceProvider * This,  GUID * const guidService, const IID * const riid, void * *ppvObject)
     END TYPE
     TYPE T_IServiceProvider
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IServiceProviderVtbl *
     END TYPE
     TYPE T_XML_ERROR
     SEQUENCE
       integer(UINT) f_nLine ! knowns  unsigned int 
       integer(LPVOID) f_pchBuf ! pointers  BSTR 
       integer(UINT) f_cchBuf ! knowns  unsigned int 
       integer(UINT) f_ich ! knowns  unsigned int 
       integer(LPVOID) f_pszFound ! pointers  BSTR 
       integer(LPVOID) f_pszExpected ! pointers  BSTR 
       integer(DWORD) f_reserved1 ! knowns  DWORD 
       integer(DWORD) f_reserved2 ! knowns  DWORD 
     END TYPE
     TYPE T_IXMLDOMImplementationVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMImplementation * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMImplementation * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMImplementation * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMImplementation * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMImplementation * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMImplementation * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMImplementation * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) hasFeature ! function pointers   HRESULT ( f__stdcall *hasFeature )( IXMLDOMImplementation * This, BSTR feature, BSTR version, VARIANT_BOOL *hasFeature)
     END TYPE
     TYPE T_IXMLDOMImplementation
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMImplementationVtbl *
     END TYPE
     TYPE T_IXMLDOMNodeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMNode * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMNode * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMNode * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMNode * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMNode * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMNode * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMNode * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMNode * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMNode * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMNode * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMNode * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMNode * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMNode * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMNode * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMNode * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMNode * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMNode * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMNode * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMNode * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMNode * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMNode * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMNode * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMNode * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMNode * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMNode * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMNode * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMNode * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMNode * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMNode * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMNode * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMNode * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMNode * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMNode * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMNode * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMNode * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMNode * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMNode * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMNode * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMNode * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMNode * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMNode * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMNode * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMNode * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     END TYPE
     TYPE T_IXMLDOMNode
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMNodeVtbl *
     END TYPE
     TYPE T_IXMLDOMDocumentFragmentVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMDocumentFragment * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMDocumentFragment * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMDocumentFragment * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMDocumentFragment * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMDocumentFragment * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMDocumentFragment * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMDocumentFragment * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMDocumentFragment * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMDocumentFragment * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMDocumentFragment * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMDocumentFragment * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMDocumentFragment * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMDocumentFragment * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMDocumentFragment * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMDocumentFragment * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMDocumentFragment * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMDocumentFragment * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMDocumentFragment * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMDocumentFragment * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMDocumentFragment * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMDocumentFragment * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMDocumentFragment * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMDocumentFragment * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMDocumentFragment * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMDocumentFragment * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMDocumentFragment * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMDocumentFragment * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMDocumentFragment * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMDocumentFragment * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMDocumentFragment * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMDocumentFragment * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMDocumentFragment * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMDocumentFragment * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMDocumentFragment * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMDocumentFragment * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMDocumentFragment * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMDocumentFragment * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMDocumentFragment * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     END TYPE
     TYPE T_IXMLDOMDocumentFragment
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMDocumentFragmentVtbl *
     END TYPE
     TYPE T_IXMLDOMDocumentVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMDocument * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMDocument * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMDocument * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMDocument * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMDocument * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMDocument * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMDocument * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMDocument * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMDocument * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMDocument * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMDocument * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMDocument * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMDocument * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMDocument * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMDocument * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMDocument * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMDocument * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMDocument * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMDocument * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMDocument * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMDocument * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMDocument * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMDocument * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMDocument * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMDocument * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMDocument * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMDocument * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMDocument * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMDocument * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMDocument * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMDocument * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMDocument * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMDocument * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMDocument * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMDocument * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMDocument * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMDocument * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMDocument * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMDocument * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMDocument * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMDocument * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMDocument * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMDocument * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_doctype ! function pointers   HRESULT ( f__stdcall *get_doctype )( IXMLDOMDocument * This, IXMLDOMDocumentType * *documentType)
     integer(LPVOID) get_implementation ! function pointers   HRESULT ( f__stdcall *get_implementation )( IXMLDOMDocument * This, IXMLDOMImplementation * *impl)
     integer(LPVOID) get_documentElement ! function pointers   HRESULT ( f__stdcall *get_documentElement )( IXMLDOMDocument * This, IXMLDOMElement * *DOMElement)
     integer(LPVOID) putref_documentElement ! function pointers   HRESULT ( f__stdcall *putref_documentElement )( IXMLDOMDocument * This, IXMLDOMElement *DOMElement)
     integer(LPVOID) createElement ! function pointers   HRESULT ( f__stdcall *createElement )( IXMLDOMDocument * This, BSTR tagName, IXMLDOMElement * *element)
     integer(LPVOID) createDocumentFragment ! function pointers   HRESULT ( f__stdcall *createDocumentFragment )( IXMLDOMDocument * This, IXMLDOMDocumentFragment * *docFrag)
     integer(LPVOID) createTextNode ! function pointers   HRESULT ( f__stdcall *createTextNode )( IXMLDOMDocument * This, BSTR data, IXMLDOMText * *text)
     integer(LPVOID) createComment ! function pointers   HRESULT ( f__stdcall *createComment )( IXMLDOMDocument * This, BSTR data, IXMLDOMComment * *comment)
     integer(LPVOID) createCDATASection ! function pointers   HRESULT ( f__stdcall *createCDATASection )( IXMLDOMDocument * This, BSTR data, IXMLDOMCDATASection * *cdata)
     integer(LPVOID) createProcessingInstruction ! function pointers   HRESULT ( f__stdcall *createProcessingInstruction )( IXMLDOMDocument * This, BSTR target, BSTR data, IXMLDOMProcessingInstruction * *pi)
     integer(LPVOID) createAttribute ! function pointers   HRESULT ( f__stdcall *createAttribute )( IXMLDOMDocument * This, BSTR name, IXMLDOMAttribute * *attribute)
     integer(LPVOID) createEntityReference ! function pointers   HRESULT ( f__stdcall *createEntityReference )( IXMLDOMDocument * This, BSTR name, IXMLDOMEntityReference * *entityRef)
     integer(LPVOID) getElementsByTagName ! function pointers   HRESULT ( f__stdcall *getElementsByTagName )( IXMLDOMDocument * This, BSTR tagName, IXMLDOMNodeList * *resultList)
     integer(LPVOID) createNode ! function pointers   HRESULT ( f__stdcall *createNode )( IXMLDOMDocument * This, VARIANT Type, BSTR name, BSTR namespaceURI, IXMLDOMNode * *node)
     integer(LPVOID) nodeFromID ! function pointers   HRESULT ( f__stdcall *nodeFromID )( IXMLDOMDocument * This, BSTR idString, IXMLDOMNode * *node)
     integer(LPVOID) load ! function pointers   HRESULT ( f__stdcall *load )( IXMLDOMDocument * This, VARIANT xmlSource, VARIANT_BOOL *isSuccessful)
     integer(LPVOID) get_readyState ! function pointers   HRESULT ( f__stdcall *get_readyState )( IXMLDOMDocument * This, long *value)
     integer(LPVOID) get_parseError ! function pointers   HRESULT ( f__stdcall *get_parseError )( IXMLDOMDocument * This, IXMLDOMParseError * *errorObj)
     integer(LPVOID) get_url ! function pointers   HRESULT ( f__stdcall *get_url )( IXMLDOMDocument * This, BSTR *urlString)
     integer(LPVOID) get_async ! function pointers   HRESULT ( f__stdcall *get_async )( IXMLDOMDocument * This, VARIANT_BOOL *isAsync)
     integer(LPVOID) put_async ! function pointers   HRESULT ( f__stdcall *put_async )( IXMLDOMDocument * This, VARIANT_BOOL isAsync)
     integer(LPVOID) abort ! function pointers   HRESULT ( f__stdcall *abort )( IXMLDOMDocument * This)
     integer(LPVOID) loadXML ! function pointers   HRESULT ( f__stdcall *loadXML )( IXMLDOMDocument * This, BSTR bstrXML, VARIANT_BOOL *isSuccessful)
     integer(LPVOID) save ! function pointers   HRESULT ( f__stdcall *save )( IXMLDOMDocument * This, VARIANT desination)
     integer(LPVOID) get_validateOnParse ! function pointers   HRESULT ( f__stdcall *get_validateOnParse )( IXMLDOMDocument * This, VARIANT_BOOL *isValidating)
     integer(LPVOID) put_validateOnParse ! function pointers   HRESULT ( f__stdcall *put_validateOnParse )( IXMLDOMDocument * This, VARIANT_BOOL isValidating)
     integer(LPVOID) get_resolveExternals ! function pointers   HRESULT ( f__stdcall *get_resolveExternals )( IXMLDOMDocument * This, VARIANT_BOOL *isResolving)
     integer(LPVOID) put_resolveExternals ! function pointers   HRESULT ( f__stdcall *put_resolveExternals )( IXMLDOMDocument * This, VARIANT_BOOL isResolving)
     integer(LPVOID) get_preserveWhiteSpace ! function pointers   HRESULT ( f__stdcall *get_preserveWhiteSpace )( IXMLDOMDocument * This, VARIANT_BOOL *isPreserving)
     integer(LPVOID) put_preserveWhiteSpace ! function pointers   HRESULT ( f__stdcall *put_preserveWhiteSpace )( IXMLDOMDocument * This, VARIANT_BOOL isPreserving)
     integer(LPVOID) put_onreadystatechange ! function pointers   HRESULT ( f__stdcall *put_onreadystatechange )( IXMLDOMDocument * This, VARIANT readystatechangeSink)
     integer(LPVOID) put_ondataavailable ! function pointers   HRESULT ( f__stdcall *put_ondataavailable )( IXMLDOMDocument * This, VARIANT ondataavailableSink)
     integer(LPVOID) put_ontransformnode ! function pointers   HRESULT ( f__stdcall *put_ontransformnode )( IXMLDOMDocument * This, VARIANT ontransformnodeSink)
     END TYPE
     TYPE T_IXMLDOMDocument
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMDocumentVtbl *
     END TYPE
     TYPE T_IXMLDOMNodeListVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMNodeList * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMNodeList * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMNodeList * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMNodeList * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMNodeList * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMNodeList * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMNodeList * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_item ! function pointers   HRESULT ( f__stdcall *get_item )( IXMLDOMNodeList * This, long index, IXMLDOMNode * *listItem)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMNodeList * This, long *listLength)
     integer(LPVOID) nextNode ! function pointers   HRESULT ( f__stdcall *nextNode )( IXMLDOMNodeList * This, IXMLDOMNode * *nextItem)
     integer(LPVOID) reset ! function pointers   HRESULT ( f__stdcall *reset )( IXMLDOMNodeList * This)
     integer(LPVOID) get__newEnum ! function pointers   HRESULT ( f__stdcall *get__newEnum )( IXMLDOMNodeList * This, IUnknown * *ppUnk)
     END TYPE
     TYPE T_IXMLDOMNodeList
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMNodeListVtbl *
     END TYPE
     TYPE T_IXMLDOMNamedNodeMapVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMNamedNodeMap * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMNamedNodeMap * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMNamedNodeMap * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMNamedNodeMap * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMNamedNodeMap * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMNamedNodeMap * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMNamedNodeMap * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) getNamedItem ! function pointers   HRESULT ( f__stdcall *getNamedItem )( IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * *namedItem)
     integer(LPVOID) setNamedItem ! function pointers   HRESULT ( f__stdcall *setNamedItem )( IXMLDOMNamedNodeMap * This, IXMLDOMNode *newItem, IXMLDOMNode * *nameItem)
     integer(LPVOID) removeNamedItem ! function pointers   HRESULT ( f__stdcall *removeNamedItem )( IXMLDOMNamedNodeMap * This, BSTR name, IXMLDOMNode * *namedItem)
     integer(LPVOID) get_item ! function pointers   HRESULT ( f__stdcall *get_item )( IXMLDOMNamedNodeMap * This, long index, IXMLDOMNode * *listItem)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMNamedNodeMap * This, long *listLength)
     integer(LPVOID) getQualifiedItem ! function pointers   HRESULT ( f__stdcall *getQualifiedItem )( IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * *qualifiedItem)
     integer(LPVOID) removeQualifiedItem ! function pointers   HRESULT ( f__stdcall *removeQualifiedItem )( IXMLDOMNamedNodeMap * This, BSTR baseName, BSTR namespaceURI, IXMLDOMNode * *qualifiedItem)
     integer(LPVOID) nextNode ! function pointers   HRESULT ( f__stdcall *nextNode )( IXMLDOMNamedNodeMap * This, IXMLDOMNode * *nextItem)
     integer(LPVOID) reset ! function pointers   HRESULT ( f__stdcall *reset )( IXMLDOMNamedNodeMap * This)
     integer(LPVOID) get__newEnum ! function pointers   HRESULT ( f__stdcall *get__newEnum )( IXMLDOMNamedNodeMap * This, IUnknown * *ppUnk)
     END TYPE
     TYPE T_IXMLDOMNamedNodeMap
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMNamedNodeMapVtbl *
     END TYPE
     TYPE T_IXMLDOMCharacterDataVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMCharacterData * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMCharacterData * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMCharacterData * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMCharacterData * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMCharacterData * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMCharacterData * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMCharacterData * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMCharacterData * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMCharacterData * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMCharacterData * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMCharacterData * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMCharacterData * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMCharacterData * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMCharacterData * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMCharacterData * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMCharacterData * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMCharacterData * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMCharacterData * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMCharacterData * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMCharacterData * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMCharacterData * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMCharacterData * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMCharacterData * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMCharacterData * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMCharacterData * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMCharacterData * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMCharacterData * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMCharacterData * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMCharacterData * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMCharacterData * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMCharacterData * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMCharacterData * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMCharacterData * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMCharacterData * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMCharacterData * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMCharacterData * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMCharacterData * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMCharacterData * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMCharacterData * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMCharacterData * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMCharacterData * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMCharacterData * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMCharacterData * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_data ! function pointers   HRESULT ( f__stdcall *get_data )( IXMLDOMCharacterData * This, BSTR *data)
     integer(LPVOID) put_data ! function pointers   HRESULT ( f__stdcall *put_data )( IXMLDOMCharacterData * This, BSTR data)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMCharacterData * This, long *dataLength)
     integer(LPVOID) substringData ! function pointers   HRESULT ( f__stdcall *substringData )( IXMLDOMCharacterData * This, long offset, long count, BSTR *data)
     integer(LPVOID) appendData ! function pointers   HRESULT ( f__stdcall *appendData )( IXMLDOMCharacterData * This, BSTR data)
     integer(LPVOID) insertData ! function pointers   HRESULT ( f__stdcall *insertData )( IXMLDOMCharacterData * This, long offset, BSTR data)
     integer(LPVOID) deleteData ! function pointers   HRESULT ( f__stdcall *deleteData )( IXMLDOMCharacterData * This, long offset, long count)
     integer(LPVOID) replaceData ! function pointers   HRESULT ( f__stdcall *replaceData )( IXMLDOMCharacterData * This, long offset, long count, BSTR data)
     END TYPE
     TYPE T_IXMLDOMCharacterData
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMCharacterDataVtbl *
     END TYPE
     TYPE T_IXMLDOMAttributeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMAttribute * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMAttribute * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMAttribute * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMAttribute * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMAttribute * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMAttribute * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMAttribute * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMAttribute * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMAttribute * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMAttribute * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMAttribute * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMAttribute * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMAttribute * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMAttribute * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMAttribute * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMAttribute * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMAttribute * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMAttribute * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMAttribute * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMAttribute * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMAttribute * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMAttribute * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMAttribute * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMAttribute * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMAttribute * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMAttribute * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMAttribute * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMAttribute * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMAttribute * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMAttribute * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMAttribute * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMAttribute * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMAttribute * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMAttribute * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMAttribute * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMAttribute * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMAttribute * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMAttribute * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMAttribute * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMAttribute * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMAttribute * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMAttribute * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMAttribute * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_name ! function pointers   HRESULT ( f__stdcall *get_name )( IXMLDOMAttribute * This, BSTR *attributeName)
     integer(LPVOID) get_value ! function pointers   HRESULT ( f__stdcall *get_value )( IXMLDOMAttribute * This, VARIANT *attributeValue)
     integer(LPVOID) put_value ! function pointers   HRESULT ( f__stdcall *put_value )( IXMLDOMAttribute * This, VARIANT attributeValue)
     END TYPE
     TYPE T_IXMLDOMAttribute
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMAttributeVtbl *
     END TYPE
     TYPE T_IXMLDOMElementVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMElement * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMElement * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMElement * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMElement * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMElement * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMElement * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMElement * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMElement * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMElement * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMElement * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMElement * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMElement * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMElement * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMElement * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMElement * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMElement * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMElement * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMElement * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMElement * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMElement * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMElement * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMElement * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMElement * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMElement * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMElement * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMElement * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMElement * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMElement * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMElement * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMElement * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMElement * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMElement * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMElement * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMElement * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMElement * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMElement * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMElement * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMElement * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMElement * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMElement * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMElement * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMElement * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMElement * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_tagName ! function pointers   HRESULT ( f__stdcall *get_tagName )( IXMLDOMElement * This, BSTR *tagName)
     integer(LPVOID) getAttribute ! function pointers   HRESULT ( f__stdcall *getAttribute )( IXMLDOMElement * This, BSTR name, VARIANT *value)
     integer(LPVOID) setAttribute ! function pointers   HRESULT ( f__stdcall *setAttribute )( IXMLDOMElement * This, BSTR name, VARIANT value)
     integer(LPVOID) removeAttribute ! function pointers   HRESULT ( f__stdcall *removeAttribute )( IXMLDOMElement * This, BSTR name)
     integer(LPVOID) getAttributeNode ! function pointers   HRESULT ( f__stdcall *getAttributeNode )( IXMLDOMElement * This, BSTR name, IXMLDOMAttribute * *attributeNode)
     integer(LPVOID) setAttributeNode ! function pointers   HRESULT ( f__stdcall *setAttributeNode )( IXMLDOMElement * This, IXMLDOMAttribute *DOMAttribute, IXMLDOMAttribute * *attributeNode)
     integer(LPVOID) removeAttributeNode ! function pointers   HRESULT ( f__stdcall *removeAttributeNode )( IXMLDOMElement * This, IXMLDOMAttribute *DOMAttribute, IXMLDOMAttribute * *attributeNode)
     integer(LPVOID) getElementsByTagName ! function pointers   HRESULT ( f__stdcall *getElementsByTagName )( IXMLDOMElement * This, BSTR tagName, IXMLDOMNodeList * *resultList)
     integer(LPVOID) normalize ! function pointers   HRESULT ( f__stdcall *normalize )( IXMLDOMElement * This)
     END TYPE
     TYPE T_IXMLDOMElement
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMElementVtbl *
     END TYPE
     TYPE T_IXMLDOMTextVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMText * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMText * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMText * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMText * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMText * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMText * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMText * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMText * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMText * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMText * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMText * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMText * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMText * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMText * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMText * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMText * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMText * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMText * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMText * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMText * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMText * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMText * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMText * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMText * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMText * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMText * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMText * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMText * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMText * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMText * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMText * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMText * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMText * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMText * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMText * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMText * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMText * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMText * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMText * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMText * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMText * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMText * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMText * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_data ! function pointers   HRESULT ( f__stdcall *get_data )( IXMLDOMText * This, BSTR *data)
     integer(LPVOID) put_data ! function pointers   HRESULT ( f__stdcall *put_data )( IXMLDOMText * This, BSTR data)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMText * This, long *dataLength)
     integer(LPVOID) substringData ! function pointers   HRESULT ( f__stdcall *substringData )( IXMLDOMText * This, long offset, long count, BSTR *data)
     integer(LPVOID) appendData ! function pointers   HRESULT ( f__stdcall *appendData )( IXMLDOMText * This, BSTR data)
     integer(LPVOID) insertData ! function pointers   HRESULT ( f__stdcall *insertData )( IXMLDOMText * This, long offset, BSTR data)
     integer(LPVOID) deleteData ! function pointers   HRESULT ( f__stdcall *deleteData )( IXMLDOMText * This, long offset, long count)
     integer(LPVOID) replaceData ! function pointers   HRESULT ( f__stdcall *replaceData )( IXMLDOMText * This, long offset, long count, BSTR data)
     integer(LPVOID) splitText ! function pointers   HRESULT ( f__stdcall *splitText )( IXMLDOMText * This, long offset, IXMLDOMText * *rightHandTextNode)
     END TYPE
     TYPE T_IXMLDOMText
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMTextVtbl *
     END TYPE
     TYPE T_IXMLDOMCommentVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMComment * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMComment * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMComment * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMComment * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMComment * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMComment * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMComment * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMComment * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMComment * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMComment * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMComment * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMComment * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMComment * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMComment * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMComment * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMComment * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMComment * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMComment * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMComment * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMComment * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMComment * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMComment * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMComment * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMComment * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMComment * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMComment * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMComment * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMComment * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMComment * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMComment * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMComment * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMComment * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMComment * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMComment * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMComment * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMComment * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMComment * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMComment * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMComment * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMComment * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMComment * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMComment * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMComment * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_data ! function pointers   HRESULT ( f__stdcall *get_data )( IXMLDOMComment * This, BSTR *data)
     integer(LPVOID) put_data ! function pointers   HRESULT ( f__stdcall *put_data )( IXMLDOMComment * This, BSTR data)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMComment * This, long *dataLength)
     integer(LPVOID) substringData ! function pointers   HRESULT ( f__stdcall *substringData )( IXMLDOMComment * This, long offset, long count, BSTR *data)
     integer(LPVOID) appendData ! function pointers   HRESULT ( f__stdcall *appendData )( IXMLDOMComment * This, BSTR data)
     integer(LPVOID) insertData ! function pointers   HRESULT ( f__stdcall *insertData )( IXMLDOMComment * This, long offset, BSTR data)
     integer(LPVOID) deleteData ! function pointers   HRESULT ( f__stdcall *deleteData )( IXMLDOMComment * This, long offset, long count)
     integer(LPVOID) replaceData ! function pointers   HRESULT ( f__stdcall *replaceData )( IXMLDOMComment * This, long offset, long count, BSTR data)
     END TYPE
     TYPE T_IXMLDOMComment
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMCommentVtbl *
     END TYPE
     TYPE T_IXMLDOMProcessingInstructionVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMProcessingInstruction * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMProcessingInstruction * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMProcessingInstruction * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMProcessingInstruction * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMProcessingInstruction * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMProcessingInstruction * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMProcessingInstruction * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMProcessingInstruction * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMProcessingInstruction * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMProcessingInstruction * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMProcessingInstruction * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMProcessingInstruction * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMProcessingInstruction * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMProcessingInstruction * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMProcessingInstruction * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMProcessingInstruction * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMProcessingInstruction * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMProcessingInstruction * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMProcessingInstruction * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMProcessingInstruction * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMProcessingInstruction * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMProcessingInstruction * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMProcessingInstruction * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMProcessingInstruction * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMProcessingInstruction * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMProcessingInstruction * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMProcessingInstruction * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMProcessingInstruction * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMProcessingInstruction * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMProcessingInstruction * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMProcessingInstruction * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMProcessingInstruction * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMProcessingInstruction * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_target ! function pointers   HRESULT ( f__stdcall *get_target )( IXMLDOMProcessingInstruction * This, BSTR *name)
     integer(LPVOID) get_data ! function pointers   HRESULT ( f__stdcall *get_data )( IXMLDOMProcessingInstruction * This, BSTR *value)
     integer(LPVOID) put_data ! function pointers   HRESULT ( f__stdcall *put_data )( IXMLDOMProcessingInstruction * This, BSTR value)
     END TYPE
     TYPE T_IXMLDOMProcessingInstruction
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMProcessingInstructionVtbl *
     END TYPE
     TYPE T_IXMLDOMCDATASectionVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMCDATASection * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMCDATASection * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMCDATASection * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMCDATASection * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMCDATASection * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMCDATASection * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMCDATASection * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMCDATASection * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMCDATASection * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMCDATASection * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMCDATASection * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMCDATASection * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMCDATASection * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMCDATASection * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMCDATASection * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMCDATASection * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMCDATASection * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMCDATASection * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMCDATASection * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMCDATASection * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMCDATASection * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMCDATASection * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMCDATASection * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMCDATASection * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMCDATASection * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMCDATASection * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMCDATASection * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMCDATASection * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMCDATASection * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMCDATASection * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMCDATASection * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMCDATASection * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMCDATASection * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMCDATASection * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMCDATASection * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMCDATASection * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMCDATASection * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMCDATASection * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMCDATASection * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMCDATASection * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMCDATASection * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMCDATASection * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMCDATASection * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_data ! function pointers   HRESULT ( f__stdcall *get_data )( IXMLDOMCDATASection * This, BSTR *data)
     integer(LPVOID) put_data ! function pointers   HRESULT ( f__stdcall *put_data )( IXMLDOMCDATASection * This, BSTR data)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLDOMCDATASection * This, long *dataLength)
     integer(LPVOID) substringData ! function pointers   HRESULT ( f__stdcall *substringData )( IXMLDOMCDATASection * This, long offset, long count, BSTR *data)
     integer(LPVOID) appendData ! function pointers   HRESULT ( f__stdcall *appendData )( IXMLDOMCDATASection * This, BSTR data)
     integer(LPVOID) insertData ! function pointers   HRESULT ( f__stdcall *insertData )( IXMLDOMCDATASection * This, long offset, BSTR data)
     integer(LPVOID) deleteData ! function pointers   HRESULT ( f__stdcall *deleteData )( IXMLDOMCDATASection * This, long offset, long count)
     integer(LPVOID) replaceData ! function pointers   HRESULT ( f__stdcall *replaceData )( IXMLDOMCDATASection * This, long offset, long count, BSTR data)
     integer(LPVOID) splitText ! function pointers   HRESULT ( f__stdcall *splitText )( IXMLDOMCDATASection * This, long offset, IXMLDOMText * *rightHandTextNode)
     END TYPE
     TYPE T_IXMLDOMCDATASection
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMCDATASectionVtbl *
     END TYPE
     TYPE T_IXMLDOMDocumentTypeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMDocumentType * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMDocumentType * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMDocumentType * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMDocumentType * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMDocumentType * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMDocumentType * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMDocumentType * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMDocumentType * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMDocumentType * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMDocumentType * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMDocumentType * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMDocumentType * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMDocumentType * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMDocumentType * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMDocumentType * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMDocumentType * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMDocumentType * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMDocumentType * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMDocumentType * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMDocumentType * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMDocumentType * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMDocumentType * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMDocumentType * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMDocumentType * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMDocumentType * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMDocumentType * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMDocumentType * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMDocumentType * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMDocumentType * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMDocumentType * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMDocumentType * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMDocumentType * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMDocumentType * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMDocumentType * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMDocumentType * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMDocumentType * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMDocumentType * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMDocumentType * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMDocumentType * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMDocumentType * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMDocumentType * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMDocumentType * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_name ! function pointers   HRESULT ( f__stdcall *get_name )( IXMLDOMDocumentType * This, BSTR *rootName)
     integer(LPVOID) get_entities ! function pointers   HRESULT ( f__stdcall *get_entities )( IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * *entityMap)
     integer(LPVOID) get_notations ! function pointers   HRESULT ( f__stdcall *get_notations )( IXMLDOMDocumentType * This, IXMLDOMNamedNodeMap * *notationMap)
     END TYPE
     TYPE T_IXMLDOMDocumentType
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMDocumentTypeVtbl *
     END TYPE
     TYPE T_IXMLDOMNotationVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMNotation * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMNotation * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMNotation * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMNotation * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMNotation * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMNotation * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMNotation * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMNotation * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMNotation * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMNotation * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMNotation * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMNotation * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMNotation * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMNotation * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMNotation * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMNotation * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMNotation * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMNotation * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMNotation * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMNotation * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMNotation * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMNotation * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMNotation * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMNotation * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMNotation * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMNotation * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMNotation * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMNotation * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMNotation * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMNotation * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMNotation * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMNotation * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMNotation * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMNotation * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMNotation * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMNotation * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMNotation * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMNotation * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMNotation * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMNotation * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMNotation * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMNotation * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMNotation * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_publicId ! function pointers   HRESULT ( f__stdcall *get_publicId )( IXMLDOMNotation * This, VARIANT *publicID)
     integer(LPVOID) get_systemId ! function pointers   HRESULT ( f__stdcall *get_systemId )( IXMLDOMNotation * This, VARIANT *systemID)
     END TYPE
     TYPE T_IXMLDOMNotation
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMNotationVtbl *
     END TYPE
     TYPE T_IXMLDOMEntityVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMEntity * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMEntity * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMEntity * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMEntity * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMEntity * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMEntity * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMEntity * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMEntity * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMEntity * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMEntity * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMEntity * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMEntity * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMEntity * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMEntity * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMEntity * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMEntity * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMEntity * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMEntity * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMEntity * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMEntity * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMEntity * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMEntity * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMEntity * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMEntity * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMEntity * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMEntity * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMEntity * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMEntity * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMEntity * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMEntity * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMEntity * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMEntity * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMEntity * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMEntity * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMEntity * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMEntity * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMEntity * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMEntity * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMEntity * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMEntity * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMEntity * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMEntity * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMEntity * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) get_publicId ! function pointers   HRESULT ( f__stdcall *get_publicId )( IXMLDOMEntity * This, VARIANT *publicID)
     integer(LPVOID) get_systemId ! function pointers   HRESULT ( f__stdcall *get_systemId )( IXMLDOMEntity * This, VARIANT *systemID)
     integer(LPVOID) get_notationName ! function pointers   HRESULT ( f__stdcall *get_notationName )( IXMLDOMEntity * This, BSTR *name)
     END TYPE
     TYPE T_IXMLDOMEntity
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMEntityVtbl *
     END TYPE
     TYPE T_IXMLDOMEntityReferenceVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMEntityReference * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMEntityReference * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMEntityReference * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMEntityReference * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMEntityReference * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMEntityReference * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMEntityReference * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXMLDOMEntityReference * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXMLDOMEntityReference * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXMLDOMEntityReference * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXMLDOMEntityReference * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXMLDOMEntityReference * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXMLDOMEntityReference * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXMLDOMEntityReference * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXMLDOMEntityReference * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXMLDOMEntityReference * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXMLDOMEntityReference * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLDOMEntityReference * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXMLDOMEntityReference * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXMLDOMEntityReference * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLDOMEntityReference * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXMLDOMEntityReference * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXMLDOMEntityReference * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXMLDOMEntityReference * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXMLDOMEntityReference * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXMLDOMEntityReference * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLDOMEntityReference * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLDOMEntityReference * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXMLDOMEntityReference * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXMLDOMEntityReference * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXMLDOMEntityReference * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXMLDOMEntityReference * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXMLDOMEntityReference * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXMLDOMEntityReference * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXMLDOMEntityReference * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXMLDOMEntityReference * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXMLDOMEntityReference * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXMLDOMEntityReference * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXMLDOMEntityReference * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXMLDOMEntityReference * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXMLDOMEntityReference * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXMLDOMEntityReference * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXMLDOMEntityReference * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     END TYPE
     TYPE T_IXMLDOMEntityReference
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMEntityReferenceVtbl *
     END TYPE
     TYPE T_IXMLDOMParseErrorVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDOMParseError * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDOMParseError * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDOMParseError * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDOMParseError * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDOMParseError * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDOMParseError * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDOMParseError * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_errorCode ! function pointers   HRESULT ( f__stdcall *get_errorCode )( IXMLDOMParseError * This, long *errorCode)
     integer(LPVOID) get_url ! function pointers   HRESULT ( f__stdcall *get_url )( IXMLDOMParseError * This, BSTR *urlString)
     integer(LPVOID) get_reason ! function pointers   HRESULT ( f__stdcall *get_reason )( IXMLDOMParseError * This, BSTR *reasonString)
     integer(LPVOID) get_srcText ! function pointers   HRESULT ( f__stdcall *get_srcText )( IXMLDOMParseError * This, BSTR *sourceString)
     integer(LPVOID) get_line ! function pointers   HRESULT ( f__stdcall *get_line )( IXMLDOMParseError * This, long *lineNumber)
     integer(LPVOID) get_linepos ! function pointers   HRESULT ( f__stdcall *get_linepos )( IXMLDOMParseError * This, long *linePosition)
     integer(LPVOID) get_filepos ! function pointers   HRESULT ( f__stdcall *get_filepos )( IXMLDOMParseError * This, long *filePosition)
     END TYPE
     TYPE T_IXMLDOMParseError
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDOMParseErrorVtbl *
     END TYPE
     TYPE T_IXTLRuntimeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXTLRuntime * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXTLRuntime * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXTLRuntime * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXTLRuntime * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXTLRuntime * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXTLRuntime * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXTLRuntime * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_nodeName ! function pointers   HRESULT ( f__stdcall *get_nodeName )( IXTLRuntime * This, BSTR *name)
     integer(LPVOID) get_nodeValue ! function pointers   HRESULT ( f__stdcall *get_nodeValue )( IXTLRuntime * This, VARIANT *value)
     integer(LPVOID) put_nodeValue ! function pointers   HRESULT ( f__stdcall *put_nodeValue )( IXTLRuntime * This, VARIANT value)
     integer(LPVOID) get_nodeType ! function pointers   HRESULT ( f__stdcall *get_nodeType )( IXTLRuntime * This, DOMNodeType *type)
     integer(LPVOID) get_parentNode ! function pointers   HRESULT ( f__stdcall *get_parentNode )( IXTLRuntime * This, IXMLDOMNode * *parent)
     integer(LPVOID) get_childNodes ! function pointers   HRESULT ( f__stdcall *get_childNodes )( IXTLRuntime * This, IXMLDOMNodeList * *childList)
     integer(LPVOID) get_firstChild ! function pointers   HRESULT ( f__stdcall *get_firstChild )( IXTLRuntime * This, IXMLDOMNode * *firstChild)
     integer(LPVOID) get_lastChild ! function pointers   HRESULT ( f__stdcall *get_lastChild )( IXTLRuntime * This, IXMLDOMNode * *lastChild)
     integer(LPVOID) get_previousSibling ! function pointers   HRESULT ( f__stdcall *get_previousSibling )( IXTLRuntime * This, IXMLDOMNode * *previousSibling)
     integer(LPVOID) get_nextSibling ! function pointers   HRESULT ( f__stdcall *get_nextSibling )( IXTLRuntime * This, IXMLDOMNode * *nextSibling)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXTLRuntime * This, IXMLDOMNamedNodeMap * *attributeMap)
     integer(LPVOID) insertBefore ! function pointers   HRESULT ( f__stdcall *insertBefore )( IXTLRuntime * This, IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) replaceChild ! function pointers   HRESULT ( f__stdcall *replaceChild )( IXTLRuntime * This, IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode * *outOldChild)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXTLRuntime * This, IXMLDOMNode *childNode, IXMLDOMNode * *oldChild)
     integer(LPVOID) appendChild ! function pointers   HRESULT ( f__stdcall *appendChild )( IXTLRuntime * This, IXMLDOMNode *newChild, IXMLDOMNode * *outNewChild)
     integer(LPVOID) hasChildNodes ! function pointers   HRESULT ( f__stdcall *hasChildNodes )( IXTLRuntime * This, VARIANT_BOOL *hasChild)
     integer(LPVOID) get_ownerDocument ! function pointers   HRESULT ( f__stdcall *get_ownerDocument )( IXTLRuntime * This, IXMLDOMDocument * *DOMDocument)
     integer(LPVOID) cloneNode ! function pointers   HRESULT ( f__stdcall *cloneNode )( IXTLRuntime * This, VARIANT_BOOL deep, IXMLDOMNode * *cloneRoot)
     integer(LPVOID) get_nodeTypeString ! function pointers   HRESULT ( f__stdcall *get_nodeTypeString )( IXTLRuntime * This, BSTR *nodeType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXTLRuntime * This, BSTR *text)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXTLRuntime * This, BSTR text)
     integer(LPVOID) get_specified ! function pointers   HRESULT ( f__stdcall *get_specified )( IXTLRuntime * This, VARIANT_BOOL *isSpecified)
     integer(LPVOID) get_definition ! function pointers   HRESULT ( f__stdcall *get_definition )( IXTLRuntime * This, IXMLDOMNode * *definitionNode)
     integer(LPVOID) get_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *get_nodeTypedValue )( IXTLRuntime * This, VARIANT *typedValue)
     integer(LPVOID) put_nodeTypedValue ! function pointers   HRESULT ( f__stdcall *put_nodeTypedValue )( IXTLRuntime * This, VARIANT typedValue)
     integer(LPVOID) get_dataType ! function pointers   HRESULT ( f__stdcall *get_dataType )( IXTLRuntime * This, VARIANT *dataTypeName)
     integer(LPVOID) put_dataType ! function pointers   HRESULT ( f__stdcall *put_dataType )( IXTLRuntime * This, BSTR dataTypeName)
     integer(LPVOID) get_xml ! function pointers   HRESULT ( f__stdcall *get_xml )( IXTLRuntime * This, BSTR *xmlString)
     integer(LPVOID) transformNode ! function pointers   HRESULT ( f__stdcall *transformNode )( IXTLRuntime * This, IXMLDOMNode *stylesheet, BSTR *xmlString)
     integer(LPVOID) selectNodes ! function pointers   HRESULT ( f__stdcall *selectNodes )( IXTLRuntime * This, BSTR queryString, IXMLDOMNodeList * *resultList)
     integer(LPVOID) selectSingleNode ! function pointers   HRESULT ( f__stdcall *selectSingleNode )( IXTLRuntime * This, BSTR queryString, IXMLDOMNode * *resultNode)
     integer(LPVOID) get_parsed ! function pointers   HRESULT ( f__stdcall *get_parsed )( IXTLRuntime * This, VARIANT_BOOL *isParsed)
     integer(LPVOID) get_namespaceURI ! function pointers   HRESULT ( f__stdcall *get_namespaceURI )( IXTLRuntime * This, BSTR *namespaceURI)
     integer(LPVOID) get_prefix ! function pointers   HRESULT ( f__stdcall *get_prefix )( IXTLRuntime * This, BSTR *prefixString)
     integer(LPVOID) get_baseName ! function pointers   HRESULT ( f__stdcall *get_baseName )( IXTLRuntime * This, BSTR *nameString)
     integer(LPVOID) transformNodeToObject ! function pointers   HRESULT ( f__stdcall *transformNodeToObject )( IXTLRuntime * This, IXMLDOMNode *stylesheet, VARIANT outputObject)
     integer(LPVOID) uniqueID ! function pointers   HRESULT ( f__stdcall *uniqueID )( IXTLRuntime * This, IXMLDOMNode *pNode, long *pID)
     integer(LPVOID) depth ! function pointers   HRESULT ( f__stdcall *depth )( IXTLRuntime * This, IXMLDOMNode *pNode, long *pDepth)
     integer(LPVOID) childNumber ! function pointers   HRESULT ( f__stdcall *childNumber )( IXTLRuntime * This, IXMLDOMNode *pNode, long *pNumber)
     integer(LPVOID) ancestorChildNumber ! function pointers   HRESULT ( f__stdcall *ancestorChildNumber )( IXTLRuntime * This, BSTR bstrNodeName, IXMLDOMNode *pNode, long *pNumber)
     integer(LPVOID) absoluteChildNumber ! function pointers   HRESULT ( f__stdcall *absoluteChildNumber )( IXTLRuntime * This, IXMLDOMNode *pNode, long *pNumber)
     integer(LPVOID) formatIndex ! function pointers   HRESULT ( f__stdcall *formatIndex )( IXTLRuntime * This, long lIndex, BSTR bstrFormat, BSTR *pbstrFormattedString)
     integer(LPVOID) formatNumber ! function pointers   HRESULT ( f__stdcall *formatNumber )( IXTLRuntime * This, double dblNumber, BSTR bstrFormat, BSTR *pbstrFormattedString)
     integer(LPVOID) formatDate ! function pointers   HRESULT ( f__stdcall *formatDate )( IXTLRuntime * This, VARIANT varDate, BSTR bstrFormat, VARIANT varDestLocale, BSTR *pbstrFormattedString)
     integer(LPVOID) formatTime ! function pointers   HRESULT ( f__stdcall *formatTime )( IXTLRuntime * This, VARIANT varTime, BSTR bstrFormat, VARIANT varDestLocale, BSTR *pbstrFormattedString)
     END TYPE
     TYPE T_IXTLRuntime
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXTLRuntimeVtbl *
     END TYPE
     TYPE T_XMLDOMDocumentEventsVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( XMLDOMDocumentEvents * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( XMLDOMDocumentEvents * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( XMLDOMDocumentEvents * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( XMLDOMDocumentEvents * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( XMLDOMDocumentEvents * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( XMLDOMDocumentEvents * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( XMLDOMDocumentEvents * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     END TYPE
     TYPE T_XMLDOMDocumentEvents
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct XMLDOMDocumentEventsVtbl *
     END TYPE
     TYPE T_IXMLHttpRequestVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLHttpRequest * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLHttpRequest * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLHttpRequest * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLHttpRequest * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLHttpRequest * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLHttpRequest * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLHttpRequest * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) open ! function pointers   HRESULT ( f__stdcall *open )( IXMLHttpRequest * This, BSTR bstrMethod, BSTR bstrUrl, VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword)
     integer(LPVOID) setRequestHeader ! function pointers   HRESULT ( f__stdcall *setRequestHeader )( IXMLHttpRequest * This, BSTR bstrHeader, BSTR bstrValue)
     integer(LPVOID) getResponseHeader ! function pointers   HRESULT ( f__stdcall *getResponseHeader )( IXMLHttpRequest * This, BSTR bstrHeader, BSTR *pbstrValue)
     integer(LPVOID) getAllResponseHeaders ! function pointers   HRESULT ( f__stdcall *getAllResponseHeaders )( IXMLHttpRequest * This, BSTR *pbstrHeaders)
     integer(LPVOID) send ! function pointers   HRESULT ( f__stdcall *send )( IXMLHttpRequest * This, VARIANT varBody)
     integer(LPVOID) abort ! function pointers   HRESULT ( f__stdcall *abort )( IXMLHttpRequest * This)
     integer(LPVOID) get_status ! function pointers   HRESULT ( f__stdcall *get_status )( IXMLHttpRequest * This, long *plStatus)
     integer(LPVOID) get_statusText ! function pointers   HRESULT ( f__stdcall *get_statusText )( IXMLHttpRequest * This, BSTR *pbstrStatus)
     integer(LPVOID) get_responseXML ! function pointers   HRESULT ( f__stdcall *get_responseXML )( IXMLHttpRequest * This, IDispatch * *ppBody)
     integer(LPVOID) get_responseText ! function pointers   HRESULT ( f__stdcall *get_responseText )( IXMLHttpRequest * This, BSTR *pbstrBody)
     integer(LPVOID) get_responseBody ! function pointers   HRESULT ( f__stdcall *get_responseBody )( IXMLHttpRequest * This, VARIANT *pvarBody)
     integer(LPVOID) get_responseStream ! function pointers   HRESULT ( f__stdcall *get_responseStream )( IXMLHttpRequest * This, VARIANT *pvarBody)
     integer(LPVOID) get_readyState ! function pointers   HRESULT ( f__stdcall *get_readyState )( IXMLHttpRequest * This, long *plState)
     integer(LPVOID) put_onreadystatechange ! function pointers   HRESULT ( f__stdcall *put_onreadystatechange )( IXMLHttpRequest * This, IDispatch *pReadyStateSink)
     END TYPE
     TYPE T_IXMLHttpRequest
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLHttpRequestVtbl *
     END TYPE
     TYPE T_IXMLDSOControlVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDSOControl * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDSOControl * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDSOControl * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDSOControl * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDSOControl * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDSOControl * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDSOControl * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_XMLDocument ! function pointers   HRESULT ( f__stdcall *get_XMLDocument )( IXMLDSOControl * This, IXMLDOMDocument * *ppDoc)
     integer(LPVOID) put_XMLDocument ! function pointers   HRESULT ( f__stdcall *put_XMLDocument )( IXMLDSOControl * This, IXMLDOMDocument *ppDoc)
     integer(LPVOID) get_JavaDSOCompatible ! function pointers   HRESULT ( f__stdcall *get_JavaDSOCompatible )( IXMLDSOControl * This, BOOL *fJavaDSOCompatible)
     integer(LPVOID) put_JavaDSOCompatible ! function pointers   HRESULT ( f__stdcall *put_JavaDSOCompatible )( IXMLDSOControl * This, BOOL fJavaDSOCompatible)
     integer(LPVOID) get_readyState ! function pointers   HRESULT ( f__stdcall *get_readyState )( IXMLDSOControl * This, long *state)
     END TYPE
     TYPE T_IXMLDSOControl
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDSOControlVtbl *
     END TYPE
     TYPE T_IXMLElementCollectionVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLElementCollection * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLElementCollection * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLElementCollection * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLElementCollection * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLElementCollection * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLElementCollection * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLElementCollection * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) put_length ! function pointers   HRESULT ( f__stdcall *put_length )( IXMLElementCollection * This, long v)
     integer(LPVOID) get_length ! function pointers   HRESULT ( f__stdcall *get_length )( IXMLElementCollection * This, long *p)
     integer(LPVOID) get__newEnum ! function pointers   HRESULT ( f__stdcall *get__newEnum )( IXMLElementCollection * This, IUnknown * *ppUnk)
     integer(LPVOID) item ! function pointers   HRESULT ( f__stdcall *item )( IXMLElementCollection * This, VARIANT var1, VARIANT var2, IDispatch * *ppDisp)
     END TYPE
     TYPE T_IXMLElementCollection
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLElementCollectionVtbl *
     END TYPE
     TYPE T_IXMLDocumentVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDocument * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDocument * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDocument * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDocument * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDocument * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDocument * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDocument * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_root ! function pointers   HRESULT ( f__stdcall *get_root )( IXMLDocument * This, IXMLElement * *p)
     integer(LPVOID) get_fileSize ! function pointers   HRESULT ( f__stdcall *get_fileSize )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_fileModifiedDate ! function pointers   HRESULT ( f__stdcall *get_fileModifiedDate )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_fileUpdatedDate ! function pointers   HRESULT ( f__stdcall *get_fileUpdatedDate )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_URL ! function pointers   HRESULT ( f__stdcall *get_URL )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) put_URL ! function pointers   HRESULT ( f__stdcall *put_URL )( IXMLDocument * This, BSTR p)
     integer(LPVOID) get_mimeType ! function pointers   HRESULT ( f__stdcall *get_mimeType )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_readyState ! function pointers   HRESULT ( f__stdcall *get_readyState )( IXMLDocument * This, long *pl)
     integer(LPVOID) get_charset ! function pointers   HRESULT ( f__stdcall *get_charset )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) put_charset ! function pointers   HRESULT ( f__stdcall *put_charset )( IXMLDocument * This, BSTR p)
     integer(LPVOID) get_version ! function pointers   HRESULT ( f__stdcall *get_version )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_doctype ! function pointers   HRESULT ( f__stdcall *get_doctype )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) get_dtdURL ! function pointers   HRESULT ( f__stdcall *get_dtdURL )( IXMLDocument * This, BSTR *p)
     integer(LPVOID) createElement ! function pointers   HRESULT ( f__stdcall *createElement )( IXMLDocument * This, VARIANT vType, VARIANT var1, IXMLElement * *ppElem)
     END TYPE
     TYPE T_IXMLDocument
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDocumentVtbl *
     END TYPE
     TYPE T_IXMLDocument2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLDocument2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLDocument2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLDocument2 * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLDocument2 * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLDocument2 * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLDocument2 * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLDocument2 * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_root ! function pointers   HRESULT ( f__stdcall *get_root )( IXMLDocument2 * This, IXMLElement2 * *p)
     integer(LPVOID) get_fileSize ! function pointers   HRESULT ( f__stdcall *get_fileSize )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_fileModifiedDate ! function pointers   HRESULT ( f__stdcall *get_fileModifiedDate )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_fileUpdatedDate ! function pointers   HRESULT ( f__stdcall *get_fileUpdatedDate )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_URL ! function pointers   HRESULT ( f__stdcall *get_URL )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) put_URL ! function pointers   HRESULT ( f__stdcall *put_URL )( IXMLDocument2 * This, BSTR p)
     integer(LPVOID) get_mimeType ! function pointers   HRESULT ( f__stdcall *get_mimeType )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_readyState ! function pointers   HRESULT ( f__stdcall *get_readyState )( IXMLDocument2 * This, long *pl)
     integer(LPVOID) get_charset ! function pointers   HRESULT ( f__stdcall *get_charset )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) put_charset ! function pointers   HRESULT ( f__stdcall *put_charset )( IXMLDocument2 * This, BSTR p)
     integer(LPVOID) get_version ! function pointers   HRESULT ( f__stdcall *get_version )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_doctype ! function pointers   HRESULT ( f__stdcall *get_doctype )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) get_dtdURL ! function pointers   HRESULT ( f__stdcall *get_dtdURL )( IXMLDocument2 * This, BSTR *p)
     integer(LPVOID) createElement ! function pointers   HRESULT ( f__stdcall *createElement )( IXMLDocument2 * This, VARIANT vType, VARIANT var1, IXMLElement2 * *ppElem)
     integer(LPVOID) get_async ! function pointers   HRESULT ( f__stdcall *get_async )( IXMLDocument2 * This, VARIANT_BOOL *pf)
     integer(LPVOID) put_async ! function pointers   HRESULT ( f__stdcall *put_async )( IXMLDocument2 * This, VARIANT_BOOL f)
     END TYPE
     TYPE T_IXMLDocument2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLDocument2Vtbl *
     END TYPE
     TYPE T_IXMLElementVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLElement * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLElement * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLElement * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLElement * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLElement * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLElement * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLElement * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_tagName ! function pointers   HRESULT ( f__stdcall *get_tagName )( IXMLElement * This, BSTR *p)
     integer(LPVOID) put_tagName ! function pointers   HRESULT ( f__stdcall *put_tagName )( IXMLElement * This, BSTR p)
     integer(LPVOID) get_parent ! function pointers   HRESULT ( f__stdcall *get_parent )( IXMLElement * This, IXMLElement * *ppParent)
     integer(LPVOID) setAttribute ! function pointers   HRESULT ( f__stdcall *setAttribute )( IXMLElement * This, BSTR strPropertyName, VARIANT PropertyValue)
     integer(LPVOID) getAttribute ! function pointers   HRESULT ( f__stdcall *getAttribute )( IXMLElement * This, BSTR strPropertyName, VARIANT *PropertyValue)
     integer(LPVOID) removeAttribute ! function pointers   HRESULT ( f__stdcall *removeAttribute )( IXMLElement * This, BSTR strPropertyName)
     integer(LPVOID) get_children ! function pointers   HRESULT ( f__stdcall *get_children )( IXMLElement * This, IXMLElementCollection * *pp)
     integer(LPVOID) get_type ! function pointers   HRESULT ( f__stdcall *get_type )( IXMLElement * This, long *plType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLElement * This, BSTR *p)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLElement * This, BSTR p)
     integer(LPVOID) addChild ! function pointers   HRESULT ( f__stdcall *addChild )( IXMLElement * This, IXMLElement *pChildElem, long lIndex, long lReserved)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLElement * This, IXMLElement *pChildElem)
     END TYPE
     TYPE T_IXMLElement
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLElementVtbl *
     END TYPE
     TYPE T_IXMLElement2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLElement2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLElement2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLElement2 * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLElement2 * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLElement2 * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLElement2 * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLElement2 * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_tagName ! function pointers   HRESULT ( f__stdcall *get_tagName )( IXMLElement2 * This, BSTR *p)
     integer(LPVOID) put_tagName ! function pointers   HRESULT ( f__stdcall *put_tagName )( IXMLElement2 * This, BSTR p)
     integer(LPVOID) get_parent ! function pointers   HRESULT ( f__stdcall *get_parent )( IXMLElement2 * This, IXMLElement2 * *ppParent)
     integer(LPVOID) setAttribute ! function pointers   HRESULT ( f__stdcall *setAttribute )( IXMLElement2 * This, BSTR strPropertyName, VARIANT PropertyValue)
     integer(LPVOID) getAttribute ! function pointers   HRESULT ( f__stdcall *getAttribute )( IXMLElement2 * This, BSTR strPropertyName, VARIANT *PropertyValue)
     integer(LPVOID) removeAttribute ! function pointers   HRESULT ( f__stdcall *removeAttribute )( IXMLElement2 * This, BSTR strPropertyName)
     integer(LPVOID) get_children ! function pointers   HRESULT ( f__stdcall *get_children )( IXMLElement2 * This, IXMLElementCollection * *pp)
     integer(LPVOID) get_type ! function pointers   HRESULT ( f__stdcall *get_type )( IXMLElement2 * This, long *plType)
     integer(LPVOID) get_text ! function pointers   HRESULT ( f__stdcall *get_text )( IXMLElement2 * This, BSTR *p)
     integer(LPVOID) put_text ! function pointers   HRESULT ( f__stdcall *put_text )( IXMLElement2 * This, BSTR p)
     integer(LPVOID) addChild ! function pointers   HRESULT ( f__stdcall *addChild )( IXMLElement2 * This, IXMLElement2 *pChildElem, long lIndex, long lReserved)
     integer(LPVOID) removeChild ! function pointers   HRESULT ( f__stdcall *removeChild )( IXMLElement2 * This, IXMLElement2 *pChildElem)
     integer(LPVOID) get_attributes ! function pointers   HRESULT ( f__stdcall *get_attributes )( IXMLElement2 * This, IXMLElementCollection * *pp)
     END TYPE
     TYPE T_IXMLElement2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLElement2Vtbl *
     END TYPE
     TYPE T_IXMLAttributeVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLAttribute * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLAttribute * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLAttribute * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IXMLAttribute * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IXMLAttribute * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IXMLAttribute * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IXMLAttribute * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) get_name ! function pointers   HRESULT ( f__stdcall *get_name )( IXMLAttribute * This, BSTR *n)
     integer(LPVOID) get_value ! function pointers   HRESULT ( f__stdcall *get_value )( IXMLAttribute * This, BSTR *v)
     END TYPE
     TYPE T_IXMLAttribute
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLAttributeVtbl *
     END TYPE
     TYPE T_IXMLErrorVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IXMLError * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IXMLError * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IXMLError * This)
     integer(LPVOID) GetErrorInfo ! function pointers   HRESULT ( f__stdcall *GetErrorInfo )( IXMLError * This, XML_ERROR *pErrorReturn)
     END TYPE
     TYPE T_IXMLError
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IXMLErrorVtbl *
     END TYPE
     TYPE T_IPersistMonikerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPersistMoniker * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPersistMoniker * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPersistMoniker * This)
     integer(LPVOID) GetClassID ! function pointers   HRESULT ( f__stdcall *GetClassID )( IPersistMoniker * This, CLSID *pClassID)
     integer(LPVOID) IsDirty ! function pointers   HRESULT ( f__stdcall *IsDirty )( IPersistMoniker * This)
     integer(LPVOID) Load ! function pointers   HRESULT ( f__stdcall *Load )( IPersistMoniker * This, BOOL fFullyAvailable, IMoniker *pimkName, LPBC pibc, DWORD grfMode)
     integer(LPVOID) Save ! function pointers   HRESULT ( f__stdcall *Save )( IPersistMoniker * This, IMoniker *pimkName, LPBC pbc, BOOL fRemember)
     integer(LPVOID) SaveCompleted ! function pointers   HRESULT ( f__stdcall *SaveCompleted )( IPersistMoniker * This, IMoniker *pimkName, LPBC pibc)
     integer(LPVOID) GetCurMoniker ! function pointers   HRESULT ( f__stdcall *GetCurMoniker )( IPersistMoniker * This, IMoniker * *ppimkName)
     END TYPE
     TYPE T_IPersistMoniker
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPersistMonikerVtbl *
     END TYPE
     TYPE T_IBindProtocolVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBindProtocol * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBindProtocol * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBindProtocol * This)
     integer(LPVOID) CreateBinding ! function pointers   HRESULT ( f__stdcall *CreateBinding )( IBindProtocol * This, LPCWSTR szUrl, IBindCtx *pbc, IBinding * *ppb)
     END TYPE
     TYPE T_IBindProtocol
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBindProtocolVtbl *
     END TYPE
     TYPE T_IBindingVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBinding * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBinding * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBinding * This)
     integer(LPVOID) Abort ! function pointers   HRESULT ( f__stdcall *Abort )( IBinding * This)
     integer(LPVOID) Suspend ! function pointers   HRESULT ( f__stdcall *Suspend )( IBinding * This)
     integer(LPVOID) Resume ! function pointers   HRESULT ( f__stdcall *Resume )( IBinding * This)
     integer(LPVOID) SetPriority ! function pointers   HRESULT ( f__stdcall *SetPriority )( IBinding * This, LONG nPriority)
     integer(LPVOID) GetPriority ! function pointers   HRESULT ( f__stdcall *GetPriority )( IBinding * This, LONG *pnPriority)
     integer(LPVOID) GetBindResult ! function pointers   HRESULT ( f__stdcall *GetBindResult )( IBinding * This, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved)
     END TYPE
     TYPE T_IBinding
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBindingVtbl *
     END TYPE
     TYPE T_BINDINFO
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(LPWSTR) szExtraInfo ! knowns  LPWSTR 
       TYPE (T_uSTGMEDIUM) stgmedData ! typedefs  STGMEDIUM 
       integer(DWORD) grfBindInfoF ! knowns  DWORD 
       integer(DWORD) dwBindVerb ! knowns  DWORD 
       integer(LPWSTR) szCustomVerb ! knowns  LPWSTR 
       integer(DWORD) cbstgmedData ! knowns  DWORD 
       integer(DWORD) dwOptions ! knowns  DWORD 
       integer(DWORD) dwOptionsFlags ! knowns  DWORD 
       integer(DWORD) dwCodePage ! knowns  DWORD 
       TYPE (T_SECURITY_ATTRIBUTES) securityAttributes ! typedefs  SECURITY_ATTRIBUTES 
       TYPE (T_GUID) iid ! typedefs  IID 
      integer(LPVOID) pUnk ! star  IUnknown  *
       integer(DWORD) dwReserved ! knowns  DWORD 
     END TYPE
     TYPE T_REMSECURITY_ATTRIBUTES
     SEQUENCE
       integer(DWORD) nLength ! knowns  DWORD 
       integer(DWORD) lpSecurityDescriptor ! knowns  DWORD 
       integer(BOOL) bInheritHandle ! knowns  BOOL 
     END TYPE
     TYPE T_RemBINDINFO
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(LPWSTR) szExtraInfo ! knowns  LPWSTR 
       integer(DWORD) grfBindInfoF ! knowns  DWORD 
       integer(DWORD) dwBindVerb ! knowns  DWORD 
       integer(LPWSTR) szCustomVerb ! knowns  LPWSTR 
       integer(DWORD) cbstgmedData ! knowns  DWORD 
       integer(DWORD) dwOptions ! knowns  DWORD 
       integer(DWORD) dwOptionsFlags ! knowns  DWORD 
       integer(DWORD) dwCodePage ! knowns  DWORD 
       TYPE (T_REMSECURITY_ATTRIBUTES) securityAttributes ! typedefs  REMSECURITY_ATTRIBUTES 
       TYPE (T_GUID) iid ! typedefs  IID 
      integer(LPVOID) pUnk ! star  IUnknown  *
       integer(DWORD) dwReserved ! knowns  DWORD 
     END TYPE
     TYPE T_RemFORMATETC
     SEQUENCE
       integer(DWORD) cfFormat ! knowns  DWORD 
       integer(DWORD) ptd ! knowns  DWORD 
       integer(DWORD) dwAspect ! knowns  DWORD 
       integer(LONG) lindex ! knowns  LONG 
       integer(DWORD) tymed ! knowns  DWORD 
     END TYPE
     TYPE T_IBindStatusCallbackVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBindStatusCallback * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBindStatusCallback * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBindStatusCallback * This)
     integer(LPVOID) OnStartBinding ! function pointers   HRESULT ( f__stdcall *OnStartBinding )( IBindStatusCallback * This, DWORD dwReserved, IBinding *pib)
     integer(LPVOID) GetPriority ! function pointers   HRESULT ( f__stdcall *GetPriority )( IBindStatusCallback * This, LONG *pnPriority)
     integer(LPVOID) OnLowResource ! function pointers   HRESULT ( f__stdcall *OnLowResource )( IBindStatusCallback * This, DWORD reserved)
     integer(LPVOID) OnProgress ! function pointers   HRESULT ( f__stdcall *OnProgress )( IBindStatusCallback * This, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
     integer(LPVOID) OnStopBinding ! function pointers   HRESULT ( f__stdcall *OnStopBinding )( IBindStatusCallback * This, HRESULT hresult, LPCWSTR szError)
     integer(LPVOID) GetBindInfo ! function pointers   HRESULT ( f__stdcall *GetBindInfo )( IBindStatusCallback * This, DWORD *grfBINDF, BINDINFO *pbindinfo)
     integer(LPVOID) OnDataAvailable ! function pointers   HRESULT ( f__stdcall *OnDataAvailable )( IBindStatusCallback * This, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
     integer(LPVOID) OnObjectAvailable ! function pointers   HRESULT ( f__stdcall *OnObjectAvailable )( IBindStatusCallback * This,  IID * const riid, IUnknown *punk)
     END TYPE
     TYPE T_IBindStatusCallback
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBindStatusCallbackVtbl *
     END TYPE
     TYPE T_IAuthenticateVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IAuthenticate * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IAuthenticate * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IAuthenticate * This)
     integer(LPVOID) Authenticate ! function pointers   HRESULT ( f__stdcall *Authenticate )( IAuthenticate * This, HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword)
     END TYPE
     TYPE T_IAuthenticate
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IAuthenticateVtbl *
     END TYPE
     TYPE T_IHttpNegotiateVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IHttpNegotiate * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IHttpNegotiate * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IHttpNegotiate * This)
     integer(LPVOID) BeginningTransaction ! function pointers   HRESULT ( f__stdcall *BeginningTransaction )( IHttpNegotiate * This, LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders)
     integer(LPVOID) OnResponse ! function pointers   HRESULT ( f__stdcall *OnResponse )( IHttpNegotiate * This, DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders)
     END TYPE
     TYPE T_IHttpNegotiate
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IHttpNegotiateVtbl *
     END TYPE
     TYPE T_IWindowForBindingUIVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IWindowForBindingUI * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IWindowForBindingUI * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IWindowForBindingUI * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IWindowForBindingUI * This,  GUID * const rguidReason, HWND *phwnd)
     END TYPE
     TYPE T_IWindowForBindingUI
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IWindowForBindingUIVtbl *
     END TYPE
     TYPE T_ICodeInstallVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICodeInstall * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICodeInstall * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICodeInstall * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( ICodeInstall * This,  GUID * const rguidReason, HWND *phwnd)
     integer(LPVOID) OnCodeInstallProblem ! function pointers   HRESULT ( f__stdcall *OnCodeInstallProblem )( ICodeInstall * This, ULONG ulStatusCode, LPCWSTR szDestination, LPCWSTR szSource, DWORD dwReserved)
     END TYPE
     TYPE T_ICodeInstall
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICodeInstallVtbl *
     END TYPE
     TYPE T_IWinInetInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IWinInetInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IWinInetInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IWinInetInfo * This)
     integer(LPVOID) QueryOption ! function pointers   HRESULT ( f__stdcall *QueryOption )( IWinInetInfo * This, DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf)
     END TYPE
     TYPE T_IWinInetInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IWinInetInfoVtbl *
     END TYPE
     TYPE T_IHttpSecurityVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IHttpSecurity * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IHttpSecurity * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IHttpSecurity * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IHttpSecurity * This,  GUID * const rguidReason, HWND *phwnd)
     integer(LPVOID) OnSecurityProblem ! function pointers   HRESULT ( f__stdcall *OnSecurityProblem )( IHttpSecurity * This, DWORD dwProblem)
     END TYPE
     TYPE T_IHttpSecurity
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IHttpSecurityVtbl *
     END TYPE
     TYPE T_IWinInetHttpInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IWinInetHttpInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IWinInetHttpInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IWinInetHttpInfo * This)
     integer(LPVOID) QueryOption ! function pointers   HRESULT ( f__stdcall *QueryOption )( IWinInetHttpInfo * This, DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf)
     integer(LPVOID) QueryInfo ! function pointers   HRESULT ( f__stdcall *QueryInfo )( IWinInetHttpInfo * This, DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved)
     END TYPE
     TYPE T_IWinInetHttpInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IWinInetHttpInfoVtbl *
     END TYPE
     TYPE T_IBindHostVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IBindHost * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IBindHost * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IBindHost * This)
     integer(LPVOID) CreateMoniker ! function pointers   HRESULT ( f__stdcall *CreateMoniker )( IBindHost * This, LPOLESTR szName, IBindCtx *pBC, IMoniker * *ppmk, DWORD dwReserved)
     integer(LPVOID) MonikerBindToStorage ! function pointers   HRESULT ( f__stdcall *MonikerBindToStorage )( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,  IID * const riid, void * *ppvObj)
     integer(LPVOID) MonikerBindToObject ! function pointers   HRESULT ( f__stdcall *MonikerBindToObject )( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC,  IID * const riid, void * *ppvObj)
     END TYPE
     TYPE T_IBindHost
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IBindHostVtbl *
     END TYPE
     TYPE T_IInternetVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternet * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternet * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternet * This)
     END TYPE
     TYPE T_IInternet
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetVtbl *
     END TYPE
     TYPE T_IInternetBindInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetBindInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetBindInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetBindInfo * This)
     integer(LPVOID) GetBindInfo ! function pointers   HRESULT ( f__stdcall *GetBindInfo )( IInternetBindInfo * This, DWORD *grfBINDF, BINDINFO *pbindinfo)
     integer(LPVOID) GetBindString ! function pointers   HRESULT ( f__stdcall *GetBindString )( IInternetBindInfo * This, ULONG ulStringType, LPOLESTR *ppwzStr, ULONG cEl, ULONG *pcElFetched)
     END TYPE
     TYPE T_IInternetBindInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetBindInfoVtbl *
     END TYPE
     TYPE T_PROTOCOLDATA
     SEQUENCE
       integer(DWORD) grfFlags ! knowns  DWORD 
       integer(DWORD) dwState ! knowns  DWORD 
       integer(LPVOID) pData ! knowns  LPVOID 
       integer(ULONG) cbData ! knowns  ULONG 
     END TYPE
     TYPE T_StartParam
     SEQUENCE
       TYPE (T_GUID) iid ! typedefs  IID 
      integer(LPVOID) pIBindCtx ! star  IBindCtx  *
      integer(LPVOID) pItf ! star  IUnknown  *
     END TYPE
     TYPE T_IInternetProtocolRootVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetProtocolRoot * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetProtocolRoot * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetProtocolRoot * This)
     integer(LPVOID) Start ! function pointers   HRESULT ( f__stdcall *Start )( IInternetProtocolRoot * This, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
     integer(LPVOID) Continue ! function pointers   HRESULT ( f__stdcall *Continue )( IInternetProtocolRoot * This, PROTOCOLDATA *pProtocolData)
     integer(LPVOID) Abort ! function pointers   HRESULT ( f__stdcall *Abort )( IInternetProtocolRoot * This, HRESULT hrReason, DWORD dwOptions)
     integer(LPVOID) Terminate ! function pointers   HRESULT ( f__stdcall *Terminate )( IInternetProtocolRoot * This, DWORD dwOptions)
     integer(LPVOID) Suspend ! function pointers   HRESULT ( f__stdcall *Suspend )( IInternetProtocolRoot * This)
     integer(LPVOID) Resume ! function pointers   HRESULT ( f__stdcall *Resume )( IInternetProtocolRoot * This)
     END TYPE
     TYPE T_IInternetProtocolRoot
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetProtocolRootVtbl *
     END TYPE
     TYPE T_IInternetProtocolVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetProtocol * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetProtocol * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetProtocol * This)
     integer(LPVOID) Start ! function pointers   HRESULT ( f__stdcall *Start )( IInternetProtocol * This, LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved)
     integer(LPVOID) Continue ! function pointers   HRESULT ( f__stdcall *Continue )( IInternetProtocol * This, PROTOCOLDATA *pProtocolData)
     integer(LPVOID) Abort ! function pointers   HRESULT ( f__stdcall *Abort )( IInternetProtocol * This, HRESULT hrReason, DWORD dwOptions)
     integer(LPVOID) Terminate ! function pointers   HRESULT ( f__stdcall *Terminate )( IInternetProtocol * This, DWORD dwOptions)
     integer(LPVOID) Suspend ! function pointers   HRESULT ( f__stdcall *Suspend )( IInternetProtocol * This)
     integer(LPVOID) Resume ! function pointers   HRESULT ( f__stdcall *Resume )( IInternetProtocol * This)
     integer(LPVOID) Read ! function pointers   HRESULT ( f__stdcall *Read )( IInternetProtocol * This, void *pv, ULONG cb, ULONG *pcbRead)
     integer(LPVOID) Seek ! function pointers   HRESULT ( f__stdcall *Seek )( IInternetProtocol * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition)
     integer(LPVOID) LockRequest ! function pointers   HRESULT ( f__stdcall *LockRequest )( IInternetProtocol * This, DWORD dwOptions)
     integer(LPVOID) UnlockRequest ! function pointers   HRESULT ( f__stdcall *UnlockRequest )( IInternetProtocol * This)
     END TYPE
     TYPE T_IInternetProtocol
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetProtocolVtbl *
     END TYPE
     TYPE T_IInternetProtocolSinkVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetProtocolSink * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetProtocolSink * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetProtocolSink * This)
     integer(LPVOID) Switch ! function pointers   HRESULT ( f__stdcall *Switch )( IInternetProtocolSink * This, PROTOCOLDATA *pProtocolData)
     integer(LPVOID) ReportProgress ! function pointers   HRESULT ( f__stdcall *ReportProgress )( IInternetProtocolSink * This, ULONG ulStatusCode, LPCWSTR szStatusText)
     integer(LPVOID) ReportData ! function pointers   HRESULT ( f__stdcall *ReportData )( IInternetProtocolSink * This, DWORD grfBSCF, ULONG ulProgress, ULONG ulProgressMax)
     integer(LPVOID) ReportResult ! function pointers   HRESULT ( f__stdcall *ReportResult )( IInternetProtocolSink * This, HRESULT hrResult, DWORD dwError, LPCWSTR szResult)
     END TYPE
     TYPE T_IInternetProtocolSink
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetProtocolSinkVtbl *
     END TYPE
     TYPE T_IInternetProtocolSinkStackableVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetProtocolSinkStackable * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetProtocolSinkStackable * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetProtocolSinkStackable * This)
     integer(LPVOID) SwitchSink ! function pointers   HRESULT ( f__stdcall *SwitchSink )( IInternetProtocolSinkStackable * This, IInternetProtocolSink *pOIProtSink)
     integer(LPVOID) CommitSwitch ! function pointers   HRESULT ( f__stdcall *CommitSwitch )( IInternetProtocolSinkStackable * This)
     integer(LPVOID) RollbackSwitch ! function pointers   HRESULT ( f__stdcall *RollbackSwitch )( IInternetProtocolSinkStackable * This)
     END TYPE
     TYPE T_IInternetProtocolSinkStackable
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetProtocolSinkStackableVtbl *
     END TYPE
     TYPE T_IInternetSessionVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetSession * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetSession * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetSession * This)
     integer(LPVOID) RegisterNameSpace ! function pointers   HRESULT ( f__stdcall *RegisterNameSpace )( IInternetSession * This, IClassFactory *pCF,  IID * const rclsid, LPCWSTR pwzProtocol, ULONG cPatterns, const LPCWSTR *ppwzPatterns, DWORD dwReserved)
     integer(LPVOID) UnregisterNameSpace ! function pointers   HRESULT ( f__stdcall *UnregisterNameSpace )( IInternetSession * This, IClassFactory *pCF, LPCWSTR pszProtocol)
     integer(LPVOID) RegisterMimeFilter ! function pointers   HRESULT ( f__stdcall *RegisterMimeFilter )( IInternetSession * This, IClassFactory *pCF,  IID * const rclsid, LPCWSTR pwzType)
     integer(LPVOID) UnregisterMimeFilter ! function pointers   HRESULT ( f__stdcall *UnregisterMimeFilter )( IInternetSession * This, IClassFactory *pCF, LPCWSTR pwzType)
     integer(LPVOID) CreateBinding ! function pointers   HRESULT ( f__stdcall *CreateBinding )( IInternetSession * This, LPBC pBC, LPCWSTR szUrl, IUnknown *pUnkOuter, IUnknown * *ppUnk, IInternetProtocol * *ppOInetProt, DWORD dwOption)
     integer(LPVOID) SetSessionOption ! function pointers   HRESULT ( f__stdcall *SetSessionOption )( IInternetSession * This, DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved)
     integer(LPVOID) GetSessionOption ! function pointers   HRESULT ( f__stdcall *GetSessionOption )( IInternetSession * This, DWORD dwOption, LPVOID pBuffer, DWORD *pdwBufferLength, DWORD dwReserved)
     END TYPE
     TYPE T_IInternetSession
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetSessionVtbl *
     END TYPE
     TYPE T_IInternetThreadSwitchVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetThreadSwitch * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetThreadSwitch * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetThreadSwitch * This)
     integer(LPVOID) Prepare ! function pointers   HRESULT ( f__stdcall *Prepare )( IInternetThreadSwitch * This)
     integer(LPVOID) Continue ! function pointers   HRESULT ( f__stdcall *Continue )( IInternetThreadSwitch * This)
     END TYPE
     TYPE T_IInternetThreadSwitch
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetThreadSwitchVtbl *
     END TYPE
     TYPE T_IInternetPriorityVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetPriority * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetPriority * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetPriority * This)
     integer(LPVOID) SetPriority ! function pointers   HRESULT ( f__stdcall *SetPriority )( IInternetPriority * This, LONG nPriority)
     integer(LPVOID) GetPriority ! function pointers   HRESULT ( f__stdcall *GetPriority )( IInternetPriority * This, LONG *pnPriority)
     END TYPE
     TYPE T_IInternetPriority
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetPriorityVtbl *
     END TYPE
     TYPE T_IInternetProtocolInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetProtocolInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetProtocolInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetProtocolInfo * This)
     integer(LPVOID) ParseUrl ! function pointers   HRESULT ( f__stdcall *ParseUrl )( IInternetProtocolInfo * This, LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwParseFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
     integer(LPVOID) CombineUrl ! function pointers   HRESULT ( f__stdcall *CombineUrl )( IInternetProtocolInfo * This, LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
     integer(LPVOID) CompareUrl ! function pointers   HRESULT ( f__stdcall *CompareUrl )( IInternetProtocolInfo * This, LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags)
     integer(LPVOID) QueryInfo ! function pointers   HRESULT ( f__stdcall *QueryInfo )( IInternetProtocolInfo * This, LPCWSTR pwzUrl, QUERYOPTION OueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD *pcbBuf, DWORD dwReserved)
     END TYPE
     TYPE T_IInternetProtocolInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetProtocolInfoVtbl *
     END TYPE
     TYPE T_IInternetSecurityMgrSiteVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetSecurityMgrSite * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetSecurityMgrSite * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetSecurityMgrSite * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IInternetSecurityMgrSite * This, HWND *phwnd)
     integer(LPVOID) EnableModeless ! function pointers   HRESULT ( f__stdcall *EnableModeless )( IInternetSecurityMgrSite * This, BOOL fEnable)
     END TYPE
     TYPE T_IInternetSecurityMgrSite
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetSecurityMgrSiteVtbl *
     END TYPE
     TYPE T_IInternetSecurityManagerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetSecurityManager * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetSecurityManager * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetSecurityManager * This)
     integer(LPVOID) SetSecuritySite ! function pointers   HRESULT ( f__stdcall *SetSecuritySite )( IInternetSecurityManager * This, IInternetSecurityMgrSite *pSite)
     integer(LPVOID) GetSecuritySite ! function pointers   HRESULT ( f__stdcall *GetSecuritySite )( IInternetSecurityManager * This, IInternetSecurityMgrSite * *ppSite)
     integer(LPVOID) MapUrlToZone ! function pointers   HRESULT ( f__stdcall *MapUrlToZone )( IInternetSecurityManager * This, LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwFlags)
     integer(LPVOID) GetSecurityId ! function pointers   HRESULT ( f__stdcall *GetSecurityId )( IInternetSecurityManager * This, LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
     integer(LPVOID) ProcessUrlAction ! function pointers   HRESULT ( f__stdcall *ProcessUrlAction )( IInternetSecurityManager * This, LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
     integer(LPVOID) QueryCustomPolicy ! function pointers   HRESULT ( f__stdcall *QueryCustomPolicy )( IInternetSecurityManager * This, LPCWSTR pwszUrl,  GUID * const guidKey, BYTE * *ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
     integer(LPVOID) SetZoneMapping ! function pointers   HRESULT ( f__stdcall *SetZoneMapping )( IInternetSecurityManager * This, DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags)
     integer(LPVOID) GetZoneMappings ! function pointers   HRESULT ( f__stdcall *GetZoneMappings )( IInternetSecurityManager * This, DWORD dwZone, IEnumString * *ppenumString, DWORD dwFlags)
     END TYPE
     TYPE T_IInternetSecurityManager
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetSecurityManagerVtbl *
     END TYPE
     TYPE T_IInternetHostSecurityManagerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetHostSecurityManager * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetHostSecurityManager * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetHostSecurityManager * This)
     integer(LPVOID) GetSecurityId ! function pointers   HRESULT ( f__stdcall *GetSecurityId )( IInternetHostSecurityManager * This, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
     integer(LPVOID) ProcessUrlAction ! function pointers   HRESULT ( f__stdcall *ProcessUrlAction )( IInternetHostSecurityManager * This, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
     integer(LPVOID) QueryCustomPolicy ! function pointers   HRESULT ( f__stdcall *QueryCustomPolicy )( IInternetHostSecurityManager * This,  GUID * const guidKey, BYTE * *ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved)
     END TYPE
     TYPE T_IInternetHostSecurityManager
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetHostSecurityManagerVtbl *
     END TYPE
     TYPE T_ZONEATTRIBUTES
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(WCHAR) szDisplayName(260) ! knowns  WCHAR 
       integer(WCHAR) szDescription(200) ! knowns  WCHAR 
       integer(WCHAR) szIconPath(260) ! knowns  WCHAR 
       integer(DWORD) dwTemplateMinLevel ! knowns  DWORD 
       integer(DWORD) dwTemplateRecommended ! knowns  DWORD 
       integer(DWORD) dwTemplateCurrentLevel ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_IInternetZoneManagerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IInternetZoneManager * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IInternetZoneManager * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IInternetZoneManager * This)
     integer(LPVOID) GetZoneAttributes ! function pointers   HRESULT ( f__stdcall *GetZoneAttributes )( IInternetZoneManager * This, DWORD dwZone, ZONEATTRIBUTES *pZoneAttributes)
     integer(LPVOID) SetZoneAttributes ! function pointers   HRESULT ( f__stdcall *SetZoneAttributes )( IInternetZoneManager * This, DWORD dwZone, ZONEATTRIBUTES *pZoneAttributes)
     integer(LPVOID) GetZoneCustomPolicy ! function pointers   HRESULT ( f__stdcall *GetZoneCustomPolicy )( IInternetZoneManager * This, DWORD dwZone,  GUID * const guidKey, BYTE * *ppPolicy, DWORD *pcbPolicy, URLZONEREG urlZoneReg)
     integer(LPVOID) SetZoneCustomPolicy ! function pointers   HRESULT ( f__stdcall *SetZoneCustomPolicy )( IInternetZoneManager * This, DWORD dwZone,  GUID * const guidKey, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg)
     integer(LPVOID) GetZoneActionPolicy ! function pointers   HRESULT ( f__stdcall *GetZoneActionPolicy )( IInternetZoneManager * This, DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg)
     integer(LPVOID) SetZoneActionPolicy ! function pointers   HRESULT ( f__stdcall *SetZoneActionPolicy )( IInternetZoneManager * This, DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg)
     integer(LPVOID) PromptAction ! function pointers   HRESULT ( f__stdcall *PromptAction )( IInternetZoneManager * This, DWORD dwAction, HWND hwndParent, LPCWSTR pwszUrl, LPCWSTR pwszText, DWORD dwPromptFlags)
     integer(LPVOID) LogAction ! function pointers   HRESULT ( f__stdcall *LogAction )( IInternetZoneManager * This, DWORD dwAction, LPCWSTR pwszUrl, LPCWSTR pwszText, DWORD dwLogFlags)
     integer(LPVOID) CreateZoneEnumerator ! function pointers   HRESULT ( f__stdcall *CreateZoneEnumerator )( IInternetZoneManager * This, DWORD *pdwEnum, DWORD *pdwCount, DWORD dwFlags)
     integer(LPVOID) GetZoneAt ! function pointers   HRESULT ( f__stdcall *GetZoneAt )( IInternetZoneManager * This, DWORD dwEnum, DWORD dwIndex, DWORD *pdwZone)
     integer(LPVOID) DestroyZoneEnumerator ! function pointers   HRESULT ( f__stdcall *DestroyZoneEnumerator )( IInternetZoneManager * This, DWORD dwEnum)
     integer(LPVOID) CopyTemplatePoliciesToZone ! function pointers   HRESULT ( f__stdcall *CopyTemplatePoliciesToZone )( IInternetZoneManager * This, DWORD dwTemplate, DWORD dwZone, DWORD dwReserved)
     END TYPE
     TYPE T_IInternetZoneManager
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IInternetZoneManagerVtbl *
     END TYPE
     TYPE T_CODEBASEHOLD
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(LPWSTR) szDistUnit ! knowns  LPWSTR 
       integer(LPWSTR) szCodeBase ! knowns  LPWSTR 
       integer(DWORD) dwVersionMS ! knowns  DWORD 
       integer(DWORD) dwVersionLS ! knowns  DWORD 
       integer(DWORD) dwStyle ! knowns  DWORD 
     END TYPE
     TYPE T_SOFTDISTINFO
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(DWORD) dwAdState ! knowns  DWORD 
       integer(LPWSTR) szTitle ! knowns  LPWSTR 
       integer(LPWSTR) szAbstract ! knowns  LPWSTR 
       integer(LPWSTR) szHREF ! knowns  LPWSTR 
       integer(DWORD) dwInstalledVersionMS ! knowns  DWORD 
       integer(DWORD) dwInstalledVersionLS ! knowns  DWORD 
       integer(DWORD) dwUpdateVersionMS ! knowns  DWORD 
       integer(DWORD) dwUpdateVersionLS ! knowns  DWORD 
       integer(DWORD) dwAdvertisedVersionMS ! knowns  DWORD 
       integer(DWORD) dwAdvertisedVersionLS ! knowns  DWORD 
       integer(DWORD) dwReserved ! knowns  DWORD 
     END TYPE
     TYPE T_ISoftDistExtVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISoftDistExt * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISoftDistExt * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISoftDistExt * This)
     integer(LPVOID) ProcessSoftDist ! function pointers   HRESULT ( f__stdcall *ProcessSoftDist )( ISoftDistExt * This, LPCWSTR szCDFURL, IXMLElement *pSoftDistElement, LPSOFTDISTINFO lpsdi)
     integer(LPVOID) GetFirstCodeBase ! function pointers   HRESULT ( f__stdcall *GetFirstCodeBase )( ISoftDistExt * This, LPWSTR *szCodeBase, LPDWORD dwMaxSize)
     integer(LPVOID) GetNextCodeBase ! function pointers   HRESULT ( f__stdcall *GetNextCodeBase )( ISoftDistExt * This, LPWSTR *szCodeBase, LPDWORD dwMaxSize)
     integer(LPVOID) AsyncInstallDistributionUnit ! function pointers   HRESULT ( f__stdcall *AsyncInstallDistributionUnit )( ISoftDistExt * This, IBindCtx *pbc, LPVOID pvReserved, DWORD flags, LPCODEBASEHOLD lpcbh)
     END TYPE
     TYPE T_ISoftDistExt
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISoftDistExtVtbl *
     END TYPE
     TYPE T_ICatalogFileInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICatalogFileInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICatalogFileInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICatalogFileInfo * This)
     integer(LPVOID) GetCatalogFile ! function pointers   HRESULT ( f__stdcall *GetCatalogFile )( ICatalogFileInfo * This, LPSTR *ppszCatalogFile)
     integer(LPVOID) GetJavaTrust ! function pointers   HRESULT ( f__stdcall *GetJavaTrust )( ICatalogFileInfo * This, void * *ppJavaTrust)
     END TYPE
     TYPE T_ICatalogFileInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICatalogFileInfoVtbl *
     END TYPE
     TYPE T_IDataFilterVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDataFilter * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDataFilter * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDataFilter * This)
     integer(LPVOID) DoEncode ! function pointers   HRESULT ( f__stdcall *DoEncode )( IDataFilter * This, DWORD dwFlags, LONG lInBufferSize, BYTE *pbInBuffer, LONG lOutBufferSize, BYTE *pbOutBuffer, LONG lInBytesAvailable, LONG *plInBytesRead, LONG *plOutBytesWritten, DWORD dwReserved)
     integer(LPVOID) DoDecode ! function pointers   HRESULT ( f__stdcall *DoDecode )( IDataFilter * This, DWORD dwFlags, LONG lInBufferSize, BYTE *pbInBuffer, LONG lOutBufferSize, BYTE *pbOutBuffer, LONG lInBytesAvailable, LONG *plInBytesRead, LONG *plOutBytesWritten, DWORD dwReserved)
     integer(LPVOID) SetEncodingLevel ! function pointers   HRESULT ( f__stdcall *SetEncodingLevel )( IDataFilter * This, DWORD dwEncLevel)
     END TYPE
     TYPE T_IDataFilter
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDataFilterVtbl *
     END TYPE
     TYPE T_PROTOCOLFILTERDATA
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
      integer(LPVOID) pProtocolSink ! star  IInternetProtocolSink  *
      integer(LPVOID) pProtocol ! star  IInternetProtocol  *
      integer(LPVOID) pUnk ! star  IUnknown  *
       integer(DWORD) dwFilterFlags ! knowns  DWORD 
     END TYPE
     TYPE T_DATAINFO
     SEQUENCE
       integer(ULONG) ulTotalSize ! knowns  ULONG 
       integer(ULONG) ulavrPacketSize ! knowns  ULONG 
       integer(ULONG) ulConnectSpeed ! knowns  ULONG 
       integer(ULONG) ulProcessorSpeed ! knowns  ULONG 
     END TYPE
     TYPE T_IEncodingFilterFactoryVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEncodingFilterFactory * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEncodingFilterFactory * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEncodingFilterFactory * This)
     integer(LPVOID) FindBestFilter ! function pointers   HRESULT ( f__stdcall *FindBestFilter )( IEncodingFilterFactory * This, LPCWSTR pwzCodeIn, LPCWSTR pwzCodeOut, DATAINFO info, IDataFilter * *ppDF)
     integer(LPVOID) GetDefaultFilter ! function pointers   HRESULT ( f__stdcall *GetDefaultFilter )( IEncodingFilterFactory * This, LPCWSTR pwzCodeIn, LPCWSTR pwzCodeOut, IDataFilter * *ppDF)
     END TYPE
     TYPE T_IEncodingFilterFactory
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEncodingFilterFactoryVtbl *
     END TYPE
     TYPE T_HIT_LOGGING_INFO
     SEQUENCE
       integer(DWORD) dwStructSize ! knowns  DWORD 
       integer(LPSTR) lpszLoggedUrlName ! knowns  LPSTR 
       TYPE (T_SYSTEMTIME) StartTime ! typedefs  SYSTEMTIME 
       TYPE (T_SYSTEMTIME) EndTime ! typedefs  SYSTEMTIME 
       integer(LPSTR) lpszExtendedInfo ! knowns  LPSTR 
     END TYPE
     TYPE T_CONFIRMSAFETY
     SEQUENCE
       TYPE (T_GUID) clsid ! typedefs  CLSID 
      integer(LPVOID) pUnk ! star  IUnknown  *
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_VERSIONEDSTREAM
     SEQUENCE
       TYPE (T_GUID) guidVersion ! typedefs  GUID 
      integer(LPVOID) pStream ! star  IStream  *
     END TYPE
     TYPE T_CAC
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  CHAR  *
     END TYPE
     TYPE T_CAUB
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  UCHAR  *
     END TYPE
     TYPE T_CAI
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  SHORT  *
     END TYPE
     TYPE T_CAUI
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  USHORT  *
     END TYPE
     TYPE T_CAL
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  LONG  *
     END TYPE
     TYPE T_CAUL
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  ULONG  *
     END TYPE
     TYPE T_CAFLT
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  FLOAT  *
     END TYPE
     TYPE T_CADBL
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  DOUBLE  *
     END TYPE
     TYPE T_CACY
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  CY  *
     END TYPE
     TYPE T_CADATE
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  DATE  *
     END TYPE
     TYPE T_CABSTR
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  BSTR  *
     END TYPE
     TYPE T_CABSTRBLOB
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  BSTRBLOB  *
     END TYPE
     TYPE T_CABOOL
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  VARIANT_BOOL  *
     END TYPE
     TYPE T_CASCODE
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  SCODE  *
     END TYPE
     TYPE T_CAPROPVARIANT
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  PROPVARIANT  *
     END TYPE
     TYPE T_CAH
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  LARGE_INTEGER  *
     END TYPE
     TYPE T_CAUH
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  ULARGE_INTEGER  *
     END TYPE
     TYPE T_CALPSTR
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  LPSTR  *
     END TYPE
     TYPE T_CALPWSTR
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  LPWSTR  *
     END TYPE
     TYPE T_CAFILETIME
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  FILETIME  *
     END TYPE
     TYPE T_CACLIPDATA
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  CLIPDATA  *
     END TYPE
     TYPE T_CACLSID
     SEQUENCE
       integer(ULONG) cElems ! knowns  ULONG 
      integer(LPVOID) pElems ! star  CLSID  *
     END TYPE
    !Inserted structure here:T_tagPROPVARIANT
     STRUCTURE /T_tagPROPVARIANT/
       UNION  ! field2
         MAP
          STRUCTURE /f_field14/ field1
        integer(USHORT) vt ! typedefs  VARTYPE 
        integer(USHORT) wReserved1 ! typedefs  PROPVAR_PAD1 
        integer(USHORT) wReserved2 ! typedefs  PROPVAR_PAD2 
        integer(USHORT) wReserved3 ! typedefs  PROPVAR_PAD3 
           UNION  ! field0
             MAP
        character(SCHAR) cVal ! knowns  CHAR 
             END MAP
             MAP
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
        integer(UCHAR) bVal ! knowns  UCHAR 
!DEC$ ELSE
        character(1) bVal ! knowns  UCHAR 
!DEC$ ENDIF
             END MAP
             MAP
        integer(SHORT) iVal ! knowns  SHORT 
             END MAP
             MAP
        integer(USHORT) uiVal ! knowns  USHORT 
             END MAP
             MAP
        integer(LONG) lVal ! knowns  LONG 
             END MAP
             MAP
        integer(ULONG) ulVal ! knowns  ULONG 
             END MAP
             MAP
        integer(SINT) intVal ! knowns  INT 
             END MAP
             MAP
        integer(UINT) uintVal ! knowns  UINT 
             END MAP
             MAP
        TYPE(T_LARGE_INTEGER) hVal ! typedefs  LARGE_INTEGER 
             END MAP
             MAP
        TYPE(T_ULARGE_INTEGER) uhVal ! typedefs  ULARGE_INTEGER 
             END MAP
             MAP
        real(SFLOAT) fltVal ! knowns  FLOAT 
             END MAP
             MAP
        real(DOUBLE) dblVal ! knowns  DOUBLE 
             END MAP
             MAP
        integer(SHORT) boolVal ! typedefs  VARIANT_BOOL 
             END MAP
             MAP
        integer(LONG) scode ! typedefs  SCODE 
             END MAP
             MAP
        TYPE(T_CY) cyVal ! typedefs  CY 
             END MAP
             MAP
        real(DOUBLE) date ! typedefs  DATE 
             END MAP
             MAP
        TYPE(T_FILETIME) filetime ! typedefs  FILETIME 
             END MAP
             MAP
       integer(LPVOID) puuid ! star  CLSID  *
             END MAP
             MAP
       integer(LPVOID) pclipdata ! star  CLIPDATA  *
             END MAP
             MAP
        integer(LPVOID) bstrVal ! pointers  BSTR 
             END MAP
             MAP
        TYPE(T_BSTRBLOB) bstrblobVal ! typedefs  BSTRBLOB 
             END MAP
             MAP
        TYPE(T_BLOB) blob ! typedefs  BLOB 
             END MAP
             MAP
        integer(LPSTR) pszVal ! knowns  LPSTR 
             END MAP
             MAP
        integer(LPWSTR) pwszVal ! knowns  LPWSTR 
             END MAP
             MAP
       integer(LPVOID) punkVal ! star  IUnknown  *
             END MAP
             MAP
       integer(LPVOID) pdispVal ! star  IDispatch  *
             END MAP
             MAP
       integer(LPVOID) pStream ! star  IStream  *
             END MAP
             MAP
       integer(LPVOID) pStorage ! star  IStorage  *
             END MAP
             MAP
        integer(LPVOID) pVersionedStream ! pointers  LPVERSIONEDSTREAM 
             END MAP
             MAP
        integer(LPVOID) parray ! pointers  LPSAFEARRAY 
             END MAP
             MAP
        TYPE(T_CAC) cac ! typedefs  CAC 
             END MAP
             MAP
        TYPE(T_CAUB) caub ! typedefs  CAUB 
             END MAP
             MAP
        TYPE(T_CAI) cai ! typedefs  CAI 
             END MAP
             MAP
        TYPE(T_CAUI) caui ! typedefs  CAUI 
             END MAP
             MAP
        TYPE(T_CAL) cal ! typedefs  CAL 
             END MAP
             MAP
        TYPE(T_CAUL) caul ! typedefs  CAUL 
             END MAP
             MAP
        TYPE(T_CAH) cah ! typedefs  CAH 
             END MAP
             MAP
        TYPE(T_CAUH) cauh ! typedefs  CAUH 
             END MAP
             MAP
        TYPE(T_CAFLT) caflt ! typedefs  CAFLT 
             END MAP
             MAP
        TYPE(T_CADBL) cadbl ! typedefs  CADBL 
             END MAP
             MAP
        TYPE(T_CABOOL) cabool ! typedefs  CABOOL 
             END MAP
             MAP
        TYPE(T_CASCODE) cascode ! typedefs  CASCODE 
             END MAP
             MAP
        TYPE(T_CACY) cacy ! typedefs  CACY 
             END MAP
             MAP
        TYPE(T_CADATE) cadate ! typedefs  CADATE 
             END MAP
             MAP
        TYPE(T_CAFILETIME) cafiletime ! typedefs  CAFILETIME 
             END MAP
             MAP
        TYPE(T_CACLSID) cauuid ! typedefs  CACLSID 
             END MAP
             MAP
        TYPE(T_CACLIPDATA) caclipdata ! typedefs  CACLIPDATA 
             END MAP
             MAP
        TYPE(T_CABSTR) cabstr ! typedefs  CABSTR 
             END MAP
             MAP
        TYPE(T_CABSTRBLOB) cabstrblob ! typedefs  CABSTRBLOB 
             END MAP
             MAP
        TYPE(T_CALPSTR) calpstr ! typedefs  CALPSTR 
             END MAP
             MAP
        TYPE(T_CALPWSTR) calpwstr ! typedefs  CALPWSTR 
             END MAP
             MAP
        TYPE(T_CAPROPVARIANT) capropvar ! typedefs  CAPROPVARIANT 
             END MAP
             MAP
       integer(LPVOID) pcVal ! star  CHAR  *
             END MAP
             MAP
       integer(LPVOID) pbVal ! star  UCHAR  *
             END MAP
             MAP
       integer(LPVOID) piVal ! star  SHORT  *
             END MAP
             MAP
       integer(LPVOID) puiVal ! star  USHORT  *
             END MAP
             MAP
       integer(LPVOID) plVal ! star  LONG  *
             END MAP
             MAP
       integer(LPVOID) pulVal ! star  ULONG  *
             END MAP
             MAP
       integer(LPVOID) pintVal ! star  INT  *
             END MAP
             MAP
       integer(LPVOID) puintVal ! star  UINT  *
             END MAP
             MAP
       integer(LPVOID) pfltVal ! star  FLOAT  *
             END MAP
             MAP
       integer(LPVOID) pdblVal ! star  DOUBLE  *
             END MAP
             MAP
       integer(LPVOID) pboolVal ! star  VARIANT_BOOL  *
             END MAP
             MAP
       integer(LPVOID) pdecVal ! star  DECIMAL  *
             END MAP
             MAP
       integer(LPVOID) pscode ! star  SCODE  *
             END MAP
             MAP
       integer(LPVOID) pcyVal ! star  CY  *
             END MAP
             MAP
       integer(LPVOID) pdate ! star  DATE  *
             END MAP
             MAP
       integer(LPVOID) pbstrVal ! star  BSTR  *
             END MAP
             MAP
       integer(LPVOID)  ppunkVal ! star  IUnknown  *
             END MAP
             MAP
       integer(LPVOID)  ppdispVal ! star  IDispatch  *
             END MAP
             MAP
       integer(LPVOID) pparray ! star  LPSAFEARRAY  *
             END MAP
             MAP
       integer(LPVOID) pvarVal ! star  PROPVARIANT  *
             END MAP
           END UNION  ! field0
          END STRUCTURE ! field1
         END MAP
         MAP
        TYPE(T_DECIMAL) decVal ! typedefs  DECIMAL 
         END MAP
       END UNION  ! field2
     END STRUCTURE
    !Inserted structure here:T_PROPSPEC
     STRUCTURE /T_PROPSPEC/
        integer(ULONG) ulKind ! knowns  ULONG 
       UNION  ! field0
         MAP
        integer(ULONG) propid ! typedefs  PROPID 
         END MAP
         MAP
        integer(LPVOID) lpwstr ! pointers  LPOLESTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_STATPROPSTG
     SEQUENCE
       integer(LPVOID) lpwstrName ! pointers  LPOLESTR 
       integer(ULONG) propid ! typedefs  PROPID 
       integer(USHORT) vt ! typedefs  VARTYPE 
     END TYPE
     TYPE T_STATPROPSETSTG
     SEQUENCE
       TYPE (T_GUID) fmtid ! typedefs  FMTID 
       TYPE (T_GUID) clsid ! typedefs  CLSID 
       integer(DWORD) grfFlags ! knowns  DWORD 
       TYPE (T_FILETIME) mtime ! typedefs  FILETIME 
       TYPE (T_FILETIME) ctime ! typedefs  FILETIME 
       TYPE (T_FILETIME) atime ! typedefs  FILETIME 
       integer(DWORD) dwOSVersion ! knowns  DWORD 
     END TYPE
     TYPE T_IPropertyStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPropertyStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPropertyStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPropertyStorage * This)
     integer(LPVOID) ReadMultiple ! function pointers   HRESULT ( f__stdcall *ReadMultiple )( IPropertyStorage * This, ULONG cpspec,  PROPSPEC rgpspec[ ], PROPVARIANT rgpropvar[ ])
     integer(LPVOID) WriteMultiple ! function pointers   HRESULT ( f__stdcall *WriteMultiple )( IPropertyStorage * This, ULONG cpspec,  PROPSPEC rgpspec[ ], const PROPVARIANT rgpropvar[ ], PROPID propidNameFirst)
     integer(LPVOID) DeleteMultiple ! function pointers   HRESULT ( f__stdcall *DeleteMultiple )( IPropertyStorage * This, ULONG cpspec,  PROPSPEC rgpspec[ ])
     integer(LPVOID) ReadPropertyNames ! function pointers   HRESULT ( f__stdcall *ReadPropertyNames )( IPropertyStorage * This, ULONG cpropid,  PROPID rgpropid[ ], LPOLESTR rglpwstrName[ ])
     integer(LPVOID) WritePropertyNames ! function pointers   HRESULT ( f__stdcall *WritePropertyNames )( IPropertyStorage * This, ULONG cpropid,  PROPID rgpropid[ ], const LPOLESTR rglpwstrName[ ])
     integer(LPVOID) DeletePropertyNames ! function pointers   HRESULT ( f__stdcall *DeletePropertyNames )( IPropertyStorage * This, ULONG cpropid,  PROPID rgpropid[ ])
     integer(LPVOID) Commit ! function pointers   HRESULT ( f__stdcall *Commit )( IPropertyStorage * This, DWORD grfCommitFlags)
     integer(LPVOID) Revert ! function pointers   HRESULT ( f__stdcall *Revert )( IPropertyStorage * This)
     integer(LPVOID) Enum ! function pointers   HRESULT ( f__stdcall *Enum )( IPropertyStorage * This, IEnumSTATPROPSTG * *ppenum)
     integer(LPVOID) SetTimes ! function pointers   HRESULT ( f__stdcall *SetTimes )( IPropertyStorage * This,  FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime)
     integer(LPVOID) SetClass ! function pointers   HRESULT ( f__stdcall *SetClass )( IPropertyStorage * This,  IID * const clsid)
     integer(LPVOID) Stat ! function pointers   HRESULT ( f__stdcall *Stat )( IPropertyStorage * This, STATPROPSETSTG *pstatpsstg)
     END TYPE
     TYPE T_IPropertyStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPropertyStorageVtbl *
     END TYPE
     TYPE T_IPropertySetStorageVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPropertySetStorage * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPropertySetStorage * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPropertySetStorage * This)
     integer(LPVOID) Create ! function pointers   HRESULT ( f__stdcall *Create )( IPropertySetStorage * This,  IID * const rfmtid, const CLSID *pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage * *ppprstg)
     integer(LPVOID) Open ! function pointers   HRESULT ( f__stdcall *Open )( IPropertySetStorage * This,  IID * const rfmtid, DWORD grfMode, IPropertyStorage * *ppprstg)
     integer(LPVOID) Delete ! function pointers   HRESULT ( f__stdcall *Delete )( IPropertySetStorage * This,  IID * const rfmtid)
     integer(LPVOID) Enum ! function pointers   HRESULT ( f__stdcall *Enum )( IPropertySetStorage * This, IEnumSTATPROPSETSTG * *ppenum)
     END TYPE
     TYPE T_IPropertySetStorage
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPropertySetStorageVtbl *
     END TYPE
     TYPE T_IEnumSTATPROPSTGVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumSTATPROPSTG * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumSTATPROPSTG * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumSTATPROPSTG * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumSTATPROPSTG * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumSTATPROPSTG * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumSTATPROPSTG * This, IEnumSTATPROPSTG * *ppenum)
     END TYPE
     TYPE T_IEnumSTATPROPSTG
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumSTATPROPSTGVtbl *
     END TYPE
     TYPE T_IEnumSTATPROPSETSTGVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumSTATPROPSETSTG * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumSTATPROPSETSTG * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumSTATPROPSETSTG * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumSTATPROPSETSTG * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumSTATPROPSETSTG * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumSTATPROPSETSTG * This, IEnumSTATPROPSETSTG * *ppenum)
     END TYPE
     TYPE T_IEnumSTATPROPSETSTG
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumSTATPROPSETSTGVtbl *
     END TYPE
     TYPE T_SAFEARRAYBOUND
     SEQUENCE
       integer(ULONG) cElements ! knowns  ULONG 
       integer(LONG) lLbound ! knowns  LONG 
     END TYPE
     TYPE T_SAFEARR_BSTR
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID) aBstr ! star  wireBSTR  *
     END TYPE
     TYPE T_SAFEARR_UNKNOWN
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID)  apUnknown ! star  IUnknown  *
     END TYPE
     TYPE T_SAFEARR_DISPATCH
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID)  apDispatch ! star  IDispatch  *
     END TYPE
     TYPE T_SAFEARR_VARIANT
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID) aVariant ! star  wireVARIANT  *
     END TYPE
     TYPE T_SAFEARR_BRECORD
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID) aRecord ! star  wireBRECORD  *
     END TYPE
     TYPE T_SAFEARR_HAVEIID
     SEQUENCE
       integer(ULONG) Size ! knowns  ULONG 
      integer(LPVOID)  apUnknown ! star  IUnknown  *
       TYPE (T_GUID) iid ! typedefs  IID 
     END TYPE
    !Inserted structure here:T_SAFEARRAYUNION
     STRUCTURE /T_SAFEARRAYUNION/
        integer(ULONG) sfType ! knowns  ULONG 
       UNION  ! u
         MAP
        TYPE(T_SAFEARR_BSTR) BstrStr ! typedefs  SAFEARR_BSTR 
         END MAP
         MAP
        TYPE(T_SAFEARR_UNKNOWN) UnknownStr ! typedefs  SAFEARR_UNKNOWN 
         END MAP
         MAP
        TYPE(T_SAFEARR_DISPATCH) DispatchStr ! typedefs  SAFEARR_DISPATCH 
         END MAP
         MAP
        TYPE(T_SAFEARR_VARIANT) VariantStr ! typedefs  SAFEARR_VARIANT 
         END MAP
         MAP
        TYPE(T_SAFEARR_BRECORD) RecordStr ! typedefs  SAFEARR_BRECORD 
         END MAP
         MAP
        TYPE(T_SAFEARR_HAVEIID) HaveIidStr ! typedefs  SAFEARR_HAVEIID 
         END MAP
         MAP
        TYPE(T_BYTE_SIZEDARR) ByteStr ! typedefs  BYTE_SIZEDARR 
         END MAP
         MAP
        TYPE(T_WORD_SIZEDARR) WordStr ! typedefs  WORD_SIZEDARR 
         END MAP
         MAP
        TYPE(T_DWORD_SIZEDARR) LongStr ! typedefs  DWORD_SIZEDARR 
         END MAP
         MAP
        TYPE(T_HYPER_SIZEDARR) HyperStr ! typedefs  HYPER_SIZEDARR 
         END MAP
       END UNION  ! u
     END STRUCTURE
     TYPE T_SAFEARRAY
     SEQUENCE
       integer(USHORT) cDims ! knowns  USHORT 
       integer(USHORT) fFeatures ! knowns  USHORT 
       integer(ULONG) cbElements ! knowns  ULONG 
       integer(ULONG) cLocks ! knowns  ULONG 
       integer(PVOID) pvData ! knowns  PVOID 
       TYPE (T_SAFEARRAYBOUND) rgsabound(1) ! typedefs  SAFEARRAYBOUND 
     END TYPE
    !Inserted structure here:T_tagVARIANT
     STRUCTURE /T_tagVARIANT/
       UNION  ! field3
         MAP
          STRUCTURE /f_field2/ field2
        integer(USHORT) vt ! typedefs  VARTYPE 
        integer(WORD) wReserved1 ! knowns  WORD 
        integer(WORD) wReserved2 ! knowns  WORD 
        integer(WORD) wReserved3 ! knowns  WORD 
           UNION  ! field1
             MAP
        TYPE(T_LARGE_INTEGERX) ullVal ! knowns  ULONGLONG 
             END MAP
             MAP
        TYPE(T_LARGE_INTEGERX) llVal ! typedefs  LONGLONG 
             END MAP
             MAP
        integer(LONG) lVal ! knowns  LONG 
             END MAP
             MAP
        integer(BYTE) bVal ! knowns  BYTE 
             END MAP
             MAP
        integer(SHORT) iVal ! knowns  SHORT 
             END MAP
             MAP
        real(SFLOAT) fltVal ! knowns  FLOAT 
             END MAP
             MAP
        real(DOUBLE) dblVal ! knowns  DOUBLE 
             END MAP
             MAP
        integer(SHORT) boolVal ! typedefs  VARIANT_BOOL 
             END MAP
             MAP
        integer(LONG) scode ! typedefs  SCODE 
             END MAP
             MAP
        TYPE(T_CY) cyVal ! typedefs  CY 
             END MAP
             MAP
        real(DOUBLE) date ! typedefs  DATE 
             END MAP
             MAP
        integer(LPVOID) bstrVal ! pointers  BSTR 
             END MAP
             MAP
       integer(LPVOID) punkVal ! star  IUnknown  *
             END MAP
             MAP
       integer(LPVOID) pdispVal ! star  IDispatch  *
             END MAP
             MAP
       integer(LPVOID) parray ! star  SAFEARRAY  *
             END MAP
             MAP
       integer(LPVOID) pbVal ! star  BYTE  *
             END MAP
             MAP
       integer(LPVOID) piVal ! star  SHORT  *
             END MAP
             MAP
       integer(LPVOID) plVal ! star  LONG  *
             END MAP
             MAP
       integer(LPVOID) pllVal ! star  LONGLONG  *
             END MAP
             MAP
       integer(LPVOID) pfltVal ! star  FLOAT  *
             END MAP
             MAP
       integer(LPVOID) pdblVal ! star  DOUBLE  *
             END MAP
             MAP
       integer(LPVOID) pboolVal ! star  VARIANT_BOOL  *
             END MAP
             MAP
       integer(LPVOID) pscode ! star  SCODE  *
             END MAP
             MAP
       integer(LPVOID) pcyVal ! star  CY  *
             END MAP
             MAP
       integer(LPVOID) pdate ! star  DATE  *
             END MAP
             MAP
       integer(LPVOID) pbstrVal ! star  BSTR  *
             END MAP
             MAP
       integer(LPVOID)  ppunkVal ! star  IUnknown  *
             END MAP
             MAP
       integer(LPVOID)  ppdispVal ! star  IDispatch  *
             END MAP
             MAP
       integer(LPVOID)  pparray ! star  SAFEARRAY  *
             END MAP
             MAP
       integer(LPVOID) pvarVal ! star  VARIANT  *
             END MAP
             MAP
        integer(PVOID) byref ! knowns  PVOID 
             END MAP
             MAP
        character(SCHAR) cVal ! knowns  CHAR 
             END MAP
             MAP
        integer(USHORT) uiVal ! knowns  USHORT 
             END MAP
             MAP
        integer(ULONG) ulVal ! knowns  ULONG 
             END MAP
             MAP
        integer(SINT) intVal ! knowns  INT 
             END MAP
             MAP
        integer(UINT) uintVal ! knowns  UINT 
             END MAP
             MAP
       integer(LPVOID) pdecVal ! star  DECIMAL  *
             END MAP
             MAP
       integer(LPVOID) pcVal ! star  CHAR  *
             END MAP
             MAP
       integer(LPVOID) puiVal ! star  USHORT  *
             END MAP
             MAP
       integer(LPVOID) pulVal ! star  ULONG  *
             END MAP
             MAP
       integer(LPVOID) pullVal ! star  ULONGLONG  *
             END MAP
             MAP
       integer(LPVOID) pintVal ! star  INT  *
             END MAP
             MAP
       integer(LPVOID) puintVal ! star  UINT  *
             END MAP
             MAP
              STRUCTURE /field05/ field0
        integer(PVOID) pvRecord ! knowns  PVOID 
       integer(LPVOID) pRecInfo ! star  IRecordInfo  *
              END STRUCTURE ! field0
             END MAP
           END UNION  ! field1
          END STRUCTURE ! field2
         END MAP
         MAP
        TYPE(T_DECIMAL) decVal ! typedefs  DECIMAL 
         END MAP
       END UNION  ! field3
     END STRUCTURE
     TYPE T__wireBRECORD
     SEQUENCE
       integer(ULONG) fFlags ! knowns  ULONG 
       integer(ULONG) clSize ! knowns  ULONG 
      integer(LPVOID) pRecInfo ! star  IRecordInfo  *
      integer(LPVOID) pRecord ! star  byte  *
     END TYPE
    !Inserted structure here:T__wireVARIANT
     STRUCTURE /T__wireVARIANT/
        integer(DWORD) clSize ! knowns  DWORD 
        integer(DWORD) rpcReserved ! knowns  DWORD 
        integer(USHORT) vt ! knowns  USHORT 
        integer(USHORT) wReserved1 ! knowns  USHORT 
        integer(USHORT) wReserved2 ! knowns  USHORT 
        integer(USHORT) wReserved3 ! knowns  USHORT 
       UNION  ! field0
         MAP
        integer(LONG) lVal ! knowns  LONG 
         END MAP
         MAP
        integer(BYTE) bVal ! knowns  BYTE 
         END MAP
         MAP
        integer(SHORT) iVal ! knowns  SHORT 
         END MAP
         MAP
        real(SFLOAT) fltVal ! knowns  FLOAT 
         END MAP
         MAP
        real(DOUBLE) dblVal ! knowns  DOUBLE 
         END MAP
         MAP
        integer(SHORT) boolVal ! typedefs  VARIANT_BOOL 
         END MAP
         MAP
        integer(LONG) scode ! typedefs  SCODE 
         END MAP
         MAP
        TYPE(T_CY) cyVal ! typedefs  CY 
         END MAP
         MAP
        real(DOUBLE) date ! typedefs  DATE 
         END MAP
         MAP
        integer(LPVOID) bstrVal ! pointers  wireBSTR 
         END MAP
         MAP
       integer(LPVOID) punkVal ! star  IUnknown  *
         END MAP
         MAP
       integer(LPVOID) pdispVal ! star  IDispatch  *
         END MAP
         MAP
        integer(LPVOID) parray ! pointers  wirePSAFEARRAY 
         END MAP
         MAP
        integer(LPVOID) brecVal ! pointers  wireBRECORD 
         END MAP
         MAP
       integer(LPVOID) pbVal ! star  BYTE  *
         END MAP
         MAP
       integer(LPVOID) piVal ! star  SHORT  *
         END MAP
         MAP
       integer(LPVOID) plVal ! star  LONG  *
         END MAP
         MAP
       integer(LPVOID) pfltVal ! star  FLOAT  *
         END MAP
         MAP
       integer(LPVOID) pdblVal ! star  DOUBLE  *
         END MAP
         MAP
       integer(LPVOID) pboolVal ! star  VARIANT_BOOL  *
         END MAP
         MAP
       integer(LPVOID) pscode ! star  SCODE  *
         END MAP
         MAP
       integer(LPVOID) pcyVal ! star  CY  *
         END MAP
         MAP
       integer(LPVOID) pdate ! star  DATE  *
         END MAP
         MAP
       integer(LPVOID) pbstrVal ! star  wireBSTR  *
         END MAP
         MAP
       integer(LPVOID)  ppunkVal ! star  IUnknown  *
         END MAP
         MAP
       integer(LPVOID)  ppdispVal ! star  IDispatch  *
         END MAP
         MAP
       integer(LPVOID) pparray ! star  wirePSAFEARRAY  *
         END MAP
         MAP
       integer(LPVOID) pvarVal ! star  wireVARIANT  *
         END MAP
         MAP
        character(SCHAR) cVal ! knowns  CHAR 
         END MAP
         MAP
        integer(USHORT) uiVal ! knowns  USHORT 
         END MAP
         MAP
        integer(ULONG) ulVal ! knowns  ULONG 
         END MAP
         MAP
        integer(SINT) intVal ! knowns  INT 
         END MAP
         MAP
        integer(UINT) uintVal ! knowns  UINT 
         END MAP
         MAP
        TYPE(T_DECIMAL) decVal ! typedefs  DECIMAL 
         END MAP
         MAP
       integer(LPVOID) pdecVal ! star  DECIMAL  *
         END MAP
         MAP
       integer(LPVOID) pcVal ! star  CHAR  *
         END MAP
         MAP
       integer(LPVOID) puiVal ! star  USHORT  *
         END MAP
         MAP
       integer(LPVOID) pulVal ! star  ULONG  *
         END MAP
         MAP
       integer(LPVOID) pintVal ! star  INT  *
         END MAP
         MAP
       integer(LPVOID) puintVal ! star  UINT  *
         END MAP
       END UNION  ! field0
     END STRUCTURE
    !Inserted structure here:T_TYPEDESC
     STRUCTURE /T_TYPEDESC/
       UNION  ! field0
         MAP
       integer(LPVOID) lptdesc ! star    struct tagTYPEDESC *
         END MAP
         MAP
       integer(LPVOID) lpadesc ! star    struct tagARRAYDESC *
         END MAP
         MAP
        integer(ULONG) hreftype ! typedefs  HREFTYPE 
         END MAP
       END UNION  ! field0
        integer(USHORT) vt ! typedefs  VARTYPE 
     END STRUCTURE
     TYPE T_ARRAYDESC
     SEQUENCE
       TYPE (T_TYPEDESC) tdescElem ! typedefs  TYPEDESC 
       integer(USHORT) cDims ! knowns  USHORT 
       TYPE (T_SAFEARRAYBOUND) rgbounds(1) ! typedefs  SAFEARRAYBOUND 
     END TYPE
     TYPE T_PARAMDESCEX
     SEQUENCE
       integer(ULONG) cBytes ! knowns  ULONG 
    ! ???   struct_tagVARIANT varDefaultValue ! typedefs  VARIANTARG 
     TYPE (T_tagVARIANT) varDefaultValue ! typedefs  VARIANTARG 
     END TYPE
     TYPE T_PARAMDESC
     SEQUENCE
       integer(LPVOID) pparamdescex ! pointers  LPPARAMDESCEX 
       integer(USHORT) wParamFlags ! knowns  USHORT 
     END TYPE
     TYPE T_IDLDESC
     SEQUENCE
       integer(ULONG_PTR) dwReserved ! typedefs  ULONG_PTR 
       integer(USHORT) wIDLFlags ! knowns  USHORT 
     END TYPE
    !Inserted structure here:T_ELEMDESC
     STRUCTURE /T_ELEMDESC/
        TYPE(T_TYPEDESC) tdesc ! typedefs  TYPEDESC 
       UNION  ! field0
         MAP
        TYPE(T_IDLDESC) idldesc ! typedefs  IDLDESC 
         END MAP
         MAP
        TYPE(T_PARAMDESC) paramdesc ! typedefs  PARAMDESC 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_TYPEATTR
     SEQUENCE
       TYPE (T_GUID) guid ! typedefs  GUID 
       integer(ULONG) lcid ! typedefs  LCID 
       integer(DWORD) dwReserved ! knowns  DWORD 
       integer(LONG) memidConstructor ! typedefs  MEMBERID 
       integer(LONG) memidDestructor ! typedefs  MEMBERID 
       integer(LPVOID) lpstrSchema ! pointers  LPOLESTR 
       integer(ULONG) cbSizeInstance ! knowns  ULONG 
    ! ???  TYPEKIND typekind !  TYPEKIND 
       integer(DWORD) typekind !  TYPEKIND actually an enum 
       integer(WORD) cFuncs ! knowns  WORD 
       integer(WORD) cVars ! knowns  WORD 
       integer(WORD) cImplTypes ! knowns  WORD 
       integer(WORD) cbSizeVft ! knowns  WORD 
       integer(WORD) cbAlignment ! knowns  WORD 
       integer(WORD) wTypeFlags ! knowns  WORD 
       integer(WORD) wMajorVerNum ! knowns  WORD 
       integer(WORD) wMinorVerNum ! knowns  WORD 
       TYPE (T_TYPEDESC) tdescAlias ! typedefs  TYPEDESC 
       TYPE (T_IDLDESC) idldescType ! typedefs  IDLDESC 
     END TYPE
     TYPE T_DISPPARAMS
     SEQUENCE
      integer(LPVOID) rgvarg ! star  VARIANTARG  *
      integer(LPVOID) rgdispidNamedArgs ! star  DISPID  *
       integer(UINT) cArgs ! knowns  UINT 
       integer(UINT) cNamedArgs ! knowns  UINT 
     END TYPE
     TYPE T_EXCEPINFO
     SEQUENCE
       integer(WORD) wCode ! knowns  WORD 
       integer(WORD) wReserved ! knowns  WORD 
       integer(LPVOID) bstrSource ! pointers  BSTR 
       integer(LPVOID) bstrDescription ! pointers  BSTR 
       integer(LPVOID) bstrHelpFile ! pointers  BSTR 
       integer(DWORD) dwHelpContext ! knowns  DWORD 
       integer(PVOID) pvReserved ! knowns  PVOID 
       integer(LPVOID) pfnDeferredFillIn ! function pointers   HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *)
       integer(LONG) scode ! typedefs  SCODE 
     END TYPE
     TYPE T_FUNCDESC
     SEQUENCE
       integer(LONG) memid ! typedefs  MEMBERID 
      integer(LPVOID) lprgscode ! star  SCODE  *
      integer(LPVOID) lprgelemdescParam ! star  ELEMDESC  *
    ! ???  FUNCKIND funckind !  FUNCKIND 
    ! ???  INVOKEKIND invkind !  INVOKEKIND 
    ! ???  CALLCONV callconv !  CALLCONV 
      integer(DWORD) funckind !  FUNCKIND an enum 
      integer(DWORD) invkind !  INVOKEKIND an enum
      integer(DWORD) callconv !  CALLCONV  an enum
       integer(SHORT) cParams ! knowns  SHORT 
       integer(SHORT) cParamsOpt ! knowns  SHORT 
       integer(SHORT) oVft ! knowns  SHORT 
       integer(SHORT) cScodes ! knowns  SHORT 
       TYPE (T_ELEMDESC) elemdescFunc ! typedefs  ELEMDESC 
       integer(WORD) wFuncFlags ! knowns  WORD 
     END TYPE
    !Inserted structure here:T_VARDESC
     STRUCTURE /T_VARDESC/
        integer(LONG) memid ! typedefs  MEMBERID 
        integer(LPVOID) lpstrSchema ! pointers  LPOLESTR 
       UNION  ! field0
         MAP
        integer(ULONG) oInst ! knowns  ULONG 
         END MAP
         MAP
       integer(LPVOID) lpvarValue ! star  VARIANT  *
         END MAP
       END UNION  ! field0
        TYPE(T_ELEMDESC) elemdescVar ! typedefs  ELEMDESC 
        integer(WORD) wVarFlags ! knowns  WORD 
        integer(ENUM) varkind !  VARKIND 
     END STRUCTURE
     TYPE T_CLEANLOCALSTORAGE
     SEQUENCE
      integer(LPVOID) pInterface ! star  IUnknown  *
       integer(PVOID) pStorage ! knowns  PVOID 
       integer(DWORD) flags ! knowns  DWORD 
     END TYPE
     TYPE T_CUSTDATAITEM
     SEQUENCE
       TYPE (T_GUID) guid ! typedefs  GUID 
       TYPE (T_tagVARIANT) varValue ! typedefs  VARIANTARG 
     END TYPE
     TYPE T_CUSTDATA
     SEQUENCE
       integer(DWORD) cCustData ! knowns  DWORD 
       integer(LPVOID) prgCustData ! pointers  LPCUSTDATAITEM 
     END TYPE
     TYPE T_ICreateTypeInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICreateTypeInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICreateTypeInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICreateTypeInfo * This)
     integer(LPVOID) SetGuid ! function pointers   HRESULT ( f__stdcall *SetGuid )( ICreateTypeInfo * This,  GUID * const guid)
     integer(LPVOID) SetTypeFlags ! function pointers   HRESULT ( f__stdcall *SetTypeFlags )( ICreateTypeInfo * This, UINT uTypeFlags)
     integer(LPVOID) SetDocString ! function pointers   HRESULT ( f__stdcall *SetDocString )( ICreateTypeInfo * This, LPOLESTR pStrDoc)
     integer(LPVOID) SetHelpContext ! function pointers   HRESULT ( f__stdcall *SetHelpContext )( ICreateTypeInfo * This, DWORD dwHelpContext)
     integer(LPVOID) SetVersion ! function pointers   HRESULT ( f__stdcall *SetVersion )( ICreateTypeInfo * This, WORD wMajorVerNum, WORD wMinorVerNum)
     integer(LPVOID) AddRefTypeInfo ! function pointers   HRESULT ( f__stdcall *AddRefTypeInfo )( ICreateTypeInfo * This, ITypeInfo *pTInfo, HREFTYPE *phRefType)
     integer(LPVOID) AddFuncDesc ! function pointers   HRESULT ( f__stdcall *AddFuncDesc )( ICreateTypeInfo * This, UINT index, FUNCDESC *pFuncDesc)
     integer(LPVOID) AddImplType ! function pointers   HRESULT ( f__stdcall *AddImplType )( ICreateTypeInfo * This, UINT index, HREFTYPE hRefType)
     integer(LPVOID) SetImplTypeFlags ! function pointers   HRESULT ( f__stdcall *SetImplTypeFlags )( ICreateTypeInfo * This, UINT index, INT implTypeFlags)
     integer(LPVOID) SetAlignment ! function pointers   HRESULT ( f__stdcall *SetAlignment )( ICreateTypeInfo * This, WORD cbAlignment)
     integer(LPVOID) SetSchema ! function pointers   HRESULT ( f__stdcall *SetSchema )( ICreateTypeInfo * This, LPOLESTR pStrSchema)
     integer(LPVOID) AddVarDesc ! function pointers   HRESULT ( f__stdcall *AddVarDesc )( ICreateTypeInfo * This, UINT index, VARDESC *pVarDesc)
     integer(LPVOID) SetFuncAndParamNames ! function pointers   HRESULT ( f__stdcall *SetFuncAndParamNames )( ICreateTypeInfo * This, UINT index, LPOLESTR *rgszNames, UINT cNames)
     integer(LPVOID) SetVarName ! function pointers   HRESULT ( f__stdcall *SetVarName )( ICreateTypeInfo * This, UINT index, LPOLESTR szName)
     integer(LPVOID) SetTypeDescAlias ! function pointers   HRESULT ( f__stdcall *SetTypeDescAlias )( ICreateTypeInfo * This, TYPEDESC *pTDescAlias)
     integer(LPVOID) DefineFuncAsDllEntry ! function pointers   HRESULT ( f__stdcall *DefineFuncAsDllEntry )( ICreateTypeInfo * This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName)
     integer(LPVOID) SetFuncDocString ! function pointers   HRESULT ( f__stdcall *SetFuncDocString )( ICreateTypeInfo * This, UINT index, LPOLESTR szDocString)
     integer(LPVOID) SetVarDocString ! function pointers   HRESULT ( f__stdcall *SetVarDocString )( ICreateTypeInfo * This, UINT index, LPOLESTR szDocString)
     integer(LPVOID) SetFuncHelpContext ! function pointers   HRESULT ( f__stdcall *SetFuncHelpContext )( ICreateTypeInfo * This, UINT index, DWORD dwHelpContext)
     integer(LPVOID) SetVarHelpContext ! function pointers   HRESULT ( f__stdcall *SetVarHelpContext )( ICreateTypeInfo * This, UINT index, DWORD dwHelpContext)
     integer(LPVOID) SetMops ! function pointers   HRESULT ( f__stdcall *SetMops )( ICreateTypeInfo * This, UINT index, BSTR bstrMops)
     integer(LPVOID) SetTypeIdldesc ! function pointers   HRESULT ( f__stdcall *SetTypeIdldesc )( ICreateTypeInfo * This, IDLDESC *pIdlDesc)
     integer(LPVOID) LayOut ! function pointers   HRESULT ( f__stdcall *LayOut )( ICreateTypeInfo * This)
     END TYPE
     TYPE T_ICreateTypeInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICreateTypeInfoVtbl *
     END TYPE
     TYPE T_ICreateTypeInfo2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICreateTypeInfo2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICreateTypeInfo2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICreateTypeInfo2 * This)
     integer(LPVOID) SetGuid ! function pointers   HRESULT ( f__stdcall *SetGuid )( ICreateTypeInfo2 * This,  GUID * const guid)
     integer(LPVOID) SetTypeFlags ! function pointers   HRESULT ( f__stdcall *SetTypeFlags )( ICreateTypeInfo2 * This, UINT uTypeFlags)
     integer(LPVOID) SetDocString ! function pointers   HRESULT ( f__stdcall *SetDocString )( ICreateTypeInfo2 * This, LPOLESTR pStrDoc)
     integer(LPVOID) SetHelpContext ! function pointers   HRESULT ( f__stdcall *SetHelpContext )( ICreateTypeInfo2 * This, DWORD dwHelpContext)
     integer(LPVOID) SetVersion ! function pointers   HRESULT ( f__stdcall *SetVersion )( ICreateTypeInfo2 * This, WORD wMajorVerNum, WORD wMinorVerNum)
     integer(LPVOID) AddRefTypeInfo ! function pointers   HRESULT ( f__stdcall *AddRefTypeInfo )( ICreateTypeInfo2 * This, ITypeInfo *pTInfo, HREFTYPE *phRefType)
     integer(LPVOID) AddFuncDesc ! function pointers   HRESULT ( f__stdcall *AddFuncDesc )( ICreateTypeInfo2 * This, UINT index, FUNCDESC *pFuncDesc)
     integer(LPVOID) AddImplType ! function pointers   HRESULT ( f__stdcall *AddImplType )( ICreateTypeInfo2 * This, UINT index, HREFTYPE hRefType)
     integer(LPVOID) SetImplTypeFlags ! function pointers   HRESULT ( f__stdcall *SetImplTypeFlags )( ICreateTypeInfo2 * This, UINT index, INT implTypeFlags)
     integer(LPVOID) SetAlignment ! function pointers   HRESULT ( f__stdcall *SetAlignment )( ICreateTypeInfo2 * This, WORD cbAlignment)
     integer(LPVOID) SetSchema ! function pointers   HRESULT ( f__stdcall *SetSchema )( ICreateTypeInfo2 * This, LPOLESTR pStrSchema)
     integer(LPVOID) AddVarDesc ! function pointers   HRESULT ( f__stdcall *AddVarDesc )( ICreateTypeInfo2 * This, UINT index, VARDESC *pVarDesc)
     integer(LPVOID) SetFuncAndParamNames ! function pointers   HRESULT ( f__stdcall *SetFuncAndParamNames )( ICreateTypeInfo2 * This, UINT index, LPOLESTR *rgszNames, UINT cNames)
     integer(LPVOID) SetVarName ! function pointers   HRESULT ( f__stdcall *SetVarName )( ICreateTypeInfo2 * This, UINT index, LPOLESTR szName)
     integer(LPVOID) SetTypeDescAlias ! function pointers   HRESULT ( f__stdcall *SetTypeDescAlias )( ICreateTypeInfo2 * This, TYPEDESC *pTDescAlias)
     integer(LPVOID) DefineFuncAsDllEntry ! function pointers   HRESULT ( f__stdcall *DefineFuncAsDllEntry )( ICreateTypeInfo2 * This, UINT index, LPOLESTR szDllName, LPOLESTR szProcName)
     integer(LPVOID) SetFuncDocString ! function pointers   HRESULT ( f__stdcall *SetFuncDocString )( ICreateTypeInfo2 * This, UINT index, LPOLESTR szDocString)
     integer(LPVOID) SetVarDocString ! function pointers   HRESULT ( f__stdcall *SetVarDocString )( ICreateTypeInfo2 * This, UINT index, LPOLESTR szDocString)
     integer(LPVOID) SetFuncHelpContext ! function pointers   HRESULT ( f__stdcall *SetFuncHelpContext )( ICreateTypeInfo2 * This, UINT index, DWORD dwHelpContext)
     integer(LPVOID) SetVarHelpContext ! function pointers   HRESULT ( f__stdcall *SetVarHelpContext )( ICreateTypeInfo2 * This, UINT index, DWORD dwHelpContext)
     integer(LPVOID) SetMops ! function pointers   HRESULT ( f__stdcall *SetMops )( ICreateTypeInfo2 * This, UINT index, BSTR bstrMops)
     integer(LPVOID) SetTypeIdldesc ! function pointers   HRESULT ( f__stdcall *SetTypeIdldesc )( ICreateTypeInfo2 * This, IDLDESC *pIdlDesc)
     integer(LPVOID) LayOut ! function pointers   HRESULT ( f__stdcall *LayOut )( ICreateTypeInfo2 * This)
     integer(LPVOID) DeleteFuncDesc ! function pointers   HRESULT ( f__stdcall *DeleteFuncDesc )( ICreateTypeInfo2 * This, UINT index)
     integer(LPVOID) DeleteFuncDescByMemId ! function pointers   HRESULT ( f__stdcall *DeleteFuncDescByMemId )( ICreateTypeInfo2 * This, MEMBERID memid, INVOKEKIND invKind)
     integer(LPVOID) DeleteVarDesc ! function pointers   HRESULT ( f__stdcall *DeleteVarDesc )( ICreateTypeInfo2 * This, UINT index)
     integer(LPVOID) DeleteVarDescByMemId ! function pointers   HRESULT ( f__stdcall *DeleteVarDescByMemId )( ICreateTypeInfo2 * This, MEMBERID memid)
     integer(LPVOID) DeleteImplType ! function pointers   HRESULT ( f__stdcall *DeleteImplType )( ICreateTypeInfo2 * This, UINT index)
     integer(LPVOID) SetCustData ! function pointers   HRESULT ( f__stdcall *SetCustData )( ICreateTypeInfo2 * This,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetFuncCustData ! function pointers   HRESULT ( f__stdcall *SetFuncCustData )( ICreateTypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetParamCustData ! function pointers   HRESULT ( f__stdcall *SetParamCustData )( ICreateTypeInfo2 * This, UINT indexFunc, UINT indexParam,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetVarCustData ! function pointers   HRESULT ( f__stdcall *SetVarCustData )( ICreateTypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetImplTypeCustData ! function pointers   HRESULT ( f__stdcall *SetImplTypeCustData )( ICreateTypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetHelpStringContext ! function pointers   HRESULT ( f__stdcall *SetHelpStringContext )( ICreateTypeInfo2 * This, ULONG dwHelpStringContext)
     integer(LPVOID) SetFuncHelpStringContext ! function pointers   HRESULT ( f__stdcall *SetFuncHelpStringContext )( ICreateTypeInfo2 * This, UINT index, ULONG dwHelpStringContext)
     integer(LPVOID) SetVarHelpStringContext ! function pointers   HRESULT ( f__stdcall *SetVarHelpStringContext )( ICreateTypeInfo2 * This, UINT index, ULONG dwHelpStringContext)
     integer(LPVOID) Invalidate ! function pointers   HRESULT ( f__stdcall *Invalidate )( ICreateTypeInfo2 * This)
     integer(LPVOID) SetName ! function pointers   HRESULT ( f__stdcall *SetName )( ICreateTypeInfo2 * This, LPOLESTR szName)
     END TYPE
     TYPE T_ICreateTypeInfo2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICreateTypeInfo2Vtbl *
     END TYPE
     TYPE T_ICreateTypeLibVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICreateTypeLib * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICreateTypeLib * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICreateTypeLib * This)
     integer(LPVOID) CreateTypeInfo ! function pointers   HRESULT ( f__stdcall *CreateTypeInfo )( ICreateTypeLib * This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo * *ppCTInfo)
     integer(LPVOID) SetName ! function pointers   HRESULT ( f__stdcall *SetName )( ICreateTypeLib * This, LPOLESTR szName)
     integer(LPVOID) SetVersion ! function pointers   HRESULT ( f__stdcall *SetVersion )( ICreateTypeLib * This, WORD wMajorVerNum, WORD wMinorVerNum)
     integer(LPVOID) SetGuid ! function pointers   HRESULT ( f__stdcall *SetGuid )( ICreateTypeLib * This,  GUID * const guid)
     integer(LPVOID) SetDocString ! function pointers   HRESULT ( f__stdcall *SetDocString )( ICreateTypeLib * This, LPOLESTR szDoc)
     integer(LPVOID) SetHelpFileName ! function pointers   HRESULT ( f__stdcall *SetHelpFileName )( ICreateTypeLib * This, LPOLESTR szHelpFileName)
     integer(LPVOID) SetHelpContext ! function pointers   HRESULT ( f__stdcall *SetHelpContext )( ICreateTypeLib * This, DWORD dwHelpContext)
     integer(LPVOID) SetLcid ! function pointers   HRESULT ( f__stdcall *SetLcid )( ICreateTypeLib * This, LCID lcid)
     integer(LPVOID) SetLibFlags ! function pointers   HRESULT ( f__stdcall *SetLibFlags )( ICreateTypeLib * This, UINT uLibFlags)
     integer(LPVOID) SaveAllChanges ! function pointers   HRESULT ( f__stdcall *SaveAllChanges )( ICreateTypeLib * This)
     END TYPE
     TYPE T_ICreateTypeLib
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICreateTypeLibVtbl *
     END TYPE
     TYPE T_ICreateTypeLib2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICreateTypeLib2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICreateTypeLib2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICreateTypeLib2 * This)
     integer(LPVOID) CreateTypeInfo ! function pointers   HRESULT ( f__stdcall *CreateTypeInfo )( ICreateTypeLib2 * This, LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo * *ppCTInfo)
     integer(LPVOID) SetName ! function pointers   HRESULT ( f__stdcall *SetName )( ICreateTypeLib2 * This, LPOLESTR szName)
     integer(LPVOID) SetVersion ! function pointers   HRESULT ( f__stdcall *SetVersion )( ICreateTypeLib2 * This, WORD wMajorVerNum, WORD wMinorVerNum)
     integer(LPVOID) SetGuid ! function pointers   HRESULT ( f__stdcall *SetGuid )( ICreateTypeLib2 * This,  GUID * const guid)
     integer(LPVOID) SetDocString ! function pointers   HRESULT ( f__stdcall *SetDocString )( ICreateTypeLib2 * This, LPOLESTR szDoc)
     integer(LPVOID) SetHelpFileName ! function pointers   HRESULT ( f__stdcall *SetHelpFileName )( ICreateTypeLib2 * This, LPOLESTR szHelpFileName)
     integer(LPVOID) SetHelpContext ! function pointers   HRESULT ( f__stdcall *SetHelpContext )( ICreateTypeLib2 * This, DWORD dwHelpContext)
     integer(LPVOID) SetLcid ! function pointers   HRESULT ( f__stdcall *SetLcid )( ICreateTypeLib2 * This, LCID lcid)
     integer(LPVOID) SetLibFlags ! function pointers   HRESULT ( f__stdcall *SetLibFlags )( ICreateTypeLib2 * This, UINT uLibFlags)
     integer(LPVOID) SaveAllChanges ! function pointers   HRESULT ( f__stdcall *SaveAllChanges )( ICreateTypeLib2 * This)
     integer(LPVOID) DeleteTypeInfo ! function pointers   HRESULT ( f__stdcall *DeleteTypeInfo )( ICreateTypeLib2 * This, LPOLESTR szName)
     integer(LPVOID) SetCustData ! function pointers   HRESULT ( f__stdcall *SetCustData )( ICreateTypeLib2 * This,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) SetHelpStringContext ! function pointers   HRESULT ( f__stdcall *SetHelpStringContext )( ICreateTypeLib2 * This, ULONG dwHelpStringContext)
     integer(LPVOID) SetHelpStringDll ! function pointers   HRESULT ( f__stdcall *SetHelpStringDll )( ICreateTypeLib2 * This, LPOLESTR szFileName)
     END TYPE
     TYPE T_ICreateTypeLib2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICreateTypeLib2Vtbl *
     END TYPE
     TYPE T_IDispatchVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDispatch * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDispatch * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDispatch * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   HRESULT ( f__stdcall *GetTypeInfoCount )( IDispatch * This, UINT *pctinfo)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IDispatch * This, UINT iTInfo, LCID lcid, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( IDispatch * This,  IID * const riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( IDispatch * This, DISPID dispIdMember,  IID * const riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     END TYPE
     TYPE T_IDispatch
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDispatchVtbl *
     END TYPE
     TYPE T_IEnumVARIANTVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumVARIANT * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumVARIANT * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumVARIANT * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumVARIANT * This, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumVARIANT * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumVARIANT * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumVARIANT * This, IEnumVARIANT * *ppEnum)
     END TYPE
     TYPE T_IEnumVARIANT
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumVARIANTVtbl *
     END TYPE
     TYPE T_BINDPTR
     SEQUENCE
     UNION
     MAP
      integer(LPVOID) lpfuncdesc ! star  FUNCDESC  *
     END MAP
     MAP
      integer(LPVOID) lpvardesc ! star  VARDESC  *
     END MAP
     MAP
      integer(LPVOID) lptcomp ! star  ITypeComp  *
     END MAP
     END UNION
     END TYPE
     TYPE T_ITypeCompVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeComp * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeComp * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeComp * This)
     integer(LPVOID) Bind ! function pointers   HRESULT ( f__stdcall *Bind )( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo * *ppTInfo, DESCKIND *pDescKind, BINDPTR *pBindPtr)
     integer(LPVOID) BindType ! function pointers   HRESULT ( f__stdcall *BindType )( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, ITypeInfo * *ppTInfo, ITypeComp * *ppTComp)
     END TYPE
     TYPE T_ITypeComp
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeCompVtbl *
     END TYPE
     TYPE T_ITypeInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeInfo * This)
     integer(LPVOID) GetTypeAttr ! function pointers   HRESULT ( f__stdcall *GetTypeAttr )( ITypeInfo * This, TYPEATTR * *ppTypeAttr)
     integer(LPVOID) GetTypeComp ! function pointers   HRESULT ( f__stdcall *GetTypeComp )( ITypeInfo * This, ITypeComp * *ppTComp)
     integer(LPVOID) GetFuncDesc ! function pointers   HRESULT ( f__stdcall *GetFuncDesc )( ITypeInfo * This, UINT index, FUNCDESC * *ppFuncDesc)
     integer(LPVOID) GetVarDesc ! function pointers   HRESULT ( f__stdcall *GetVarDesc )( ITypeInfo * This, UINT index, VARDESC * *ppVarDesc)
     integer(LPVOID) GetNames ! function pointers   HRESULT ( f__stdcall *GetNames )( ITypeInfo * This, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames)
     integer(LPVOID) GetRefTypeOfImplType ! function pointers   HRESULT ( f__stdcall *GetRefTypeOfImplType )( ITypeInfo * This, UINT index, HREFTYPE *pRefType)
     integer(LPVOID) GetImplTypeFlags ! function pointers   HRESULT ( f__stdcall *GetImplTypeFlags )( ITypeInfo * This, UINT index, INT *pImplTypeFlags)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( ITypeInfo * This, LPOLESTR *rgszNames, UINT cNames, MEMBERID *pMemId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( ITypeInfo * This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) GetDocumentation ! function pointers   HRESULT ( f__stdcall *GetDocumentation )( ITypeInfo * This, MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile)
     integer(LPVOID) GetDllEntry ! function pointers   HRESULT ( f__stdcall *GetDllEntry )( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal)
     integer(LPVOID) GetRefTypeInfo ! function pointers   HRESULT ( f__stdcall *GetRefTypeInfo )( ITypeInfo * This, HREFTYPE hRefType, ITypeInfo * *ppTInfo)
     integer(LPVOID) AddressOfMember ! function pointers   HRESULT ( f__stdcall *AddressOfMember )( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, PVOID *ppv)
     integer(LPVOID) CreateInstance ! function pointers   HRESULT ( f__stdcall *CreateInstance )( ITypeInfo * This, IUnknown *pUnkOuter,  IID * const riid, PVOID *ppvObj)
     integer(LPVOID) GetMops ! function pointers   HRESULT ( f__stdcall *GetMops )( ITypeInfo * This, MEMBERID memid, BSTR *pBstrMops)
     integer(LPVOID) GetContainingTypeLib ! function pointers   HRESULT ( f__stdcall *GetContainingTypeLib )( ITypeInfo * This, ITypeLib * *ppTLib, UINT *pIndex)
     integer(LPVOID) ReleaseTypeAttr ! function pointers   void ( f__stdcall *ReleaseTypeAttr )( ITypeInfo * This, TYPEATTR *pTypeAttr)
     integer(LPVOID) ReleaseFuncDesc ! function pointers   void ( f__stdcall *ReleaseFuncDesc )( ITypeInfo * This, FUNCDESC *pFuncDesc)
     integer(LPVOID) ReleaseVarDesc ! function pointers   void ( f__stdcall *ReleaseVarDesc )( ITypeInfo * This, VARDESC *pVarDesc)
     END TYPE
     TYPE T_ITypeInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeInfoVtbl *
     END TYPE
     TYPE T_ITypeInfo2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeInfo2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeInfo2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeInfo2 * This)
     integer(LPVOID) GetTypeAttr ! function pointers   HRESULT ( f__stdcall *GetTypeAttr )( ITypeInfo2 * This, TYPEATTR * *ppTypeAttr)
     integer(LPVOID) GetTypeComp ! function pointers   HRESULT ( f__stdcall *GetTypeComp )( ITypeInfo2 * This, ITypeComp * *ppTComp)
     integer(LPVOID) GetFuncDesc ! function pointers   HRESULT ( f__stdcall *GetFuncDesc )( ITypeInfo2 * This, UINT index, FUNCDESC * *ppFuncDesc)
     integer(LPVOID) GetVarDesc ! function pointers   HRESULT ( f__stdcall *GetVarDesc )( ITypeInfo2 * This, UINT index, VARDESC * *ppVarDesc)
     integer(LPVOID) GetNames ! function pointers   HRESULT ( f__stdcall *GetNames )( ITypeInfo2 * This, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames)
     integer(LPVOID) GetRefTypeOfImplType ! function pointers   HRESULT ( f__stdcall *GetRefTypeOfImplType )( ITypeInfo2 * This, UINT index, HREFTYPE *pRefType)
     integer(LPVOID) GetImplTypeFlags ! function pointers   HRESULT ( f__stdcall *GetImplTypeFlags )( ITypeInfo2 * This, UINT index, INT *pImplTypeFlags)
     integer(LPVOID) GetIDsOfNames ! function pointers   HRESULT ( f__stdcall *GetIDsOfNames )( ITypeInfo2 * This, LPOLESTR *rgszNames, UINT cNames, MEMBERID *pMemId)
     integer(LPVOID) Invoke ! function pointers   HRESULT ( f__stdcall *Invoke )( ITypeInfo2 * This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
     integer(LPVOID) GetDocumentation ! function pointers   HRESULT ( f__stdcall *GetDocumentation )( ITypeInfo2 * This, MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile)
     integer(LPVOID) GetDllEntry ! function pointers   HRESULT ( f__stdcall *GetDllEntry )( ITypeInfo2 * This, MEMBERID memid, INVOKEKIND invKind, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal)
     integer(LPVOID) GetRefTypeInfo ! function pointers   HRESULT ( f__stdcall *GetRefTypeInfo )( ITypeInfo2 * This, HREFTYPE hRefType, ITypeInfo * *ppTInfo)
     integer(LPVOID) AddressOfMember ! function pointers   HRESULT ( f__stdcall *AddressOfMember )( ITypeInfo2 * This, MEMBERID memid, INVOKEKIND invKind, PVOID *ppv)
     integer(LPVOID) CreateInstance ! function pointers   HRESULT ( f__stdcall *CreateInstance )( ITypeInfo2 * This, IUnknown *pUnkOuter,  IID * const riid, PVOID *ppvObj)
     integer(LPVOID) GetMops ! function pointers   HRESULT ( f__stdcall *GetMops )( ITypeInfo2 * This, MEMBERID memid, BSTR *pBstrMops)
     integer(LPVOID) GetContainingTypeLib ! function pointers   HRESULT ( f__stdcall *GetContainingTypeLib )( ITypeInfo2 * This, ITypeLib * *ppTLib, UINT *pIndex)
     integer(LPVOID) ReleaseTypeAttr ! function pointers   void ( f__stdcall *ReleaseTypeAttr )( ITypeInfo2 * This, TYPEATTR *pTypeAttr)
     integer(LPVOID) ReleaseFuncDesc ! function pointers   void ( f__stdcall *ReleaseFuncDesc )( ITypeInfo2 * This, FUNCDESC *pFuncDesc)
     integer(LPVOID) ReleaseVarDesc ! function pointers   void ( f__stdcall *ReleaseVarDesc )( ITypeInfo2 * This, VARDESC *pVarDesc)
     integer(LPVOID) GetTypeKind ! function pointers   HRESULT ( f__stdcall *GetTypeKind )( ITypeInfo2 * This, TYPEKIND *pTypeKind)
     integer(LPVOID) GetTypeFlags ! function pointers   HRESULT ( f__stdcall *GetTypeFlags )( ITypeInfo2 * This, ULONG *pTypeFlags)
     integer(LPVOID) GetFuncIndexOfMemId ! function pointers   HRESULT ( f__stdcall *GetFuncIndexOfMemId )( ITypeInfo2 * This, MEMBERID memid, INVOKEKIND invKind, UINT *pFuncIndex)
     integer(LPVOID) GetVarIndexOfMemId ! function pointers   HRESULT ( f__stdcall *GetVarIndexOfMemId )( ITypeInfo2 * This, MEMBERID memid, UINT *pVarIndex)
     integer(LPVOID) GetCustData ! function pointers   HRESULT ( f__stdcall *GetCustData )( ITypeInfo2 * This,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetFuncCustData ! function pointers   HRESULT ( f__stdcall *GetFuncCustData )( ITypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetParamCustData ! function pointers   HRESULT ( f__stdcall *GetParamCustData )( ITypeInfo2 * This, UINT indexFunc, UINT indexParam,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetVarCustData ! function pointers   HRESULT ( f__stdcall *GetVarCustData )( ITypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetImplTypeCustData ! function pointers   HRESULT ( f__stdcall *GetImplTypeCustData )( ITypeInfo2 * This, UINT index,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetDocumentation2 ! function pointers   HRESULT ( f__stdcall *GetDocumentation2 )( ITypeInfo2 * This, MEMBERID memid, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll)
     integer(LPVOID) GetAllCustData ! function pointers   HRESULT ( f__stdcall *GetAllCustData )( ITypeInfo2 * This, CUSTDATA *pCustData)
     integer(LPVOID) GetAllFuncCustData ! function pointers   HRESULT ( f__stdcall *GetAllFuncCustData )( ITypeInfo2 * This, UINT index, CUSTDATA *pCustData)
     integer(LPVOID) GetAllParamCustData ! function pointers   HRESULT ( f__stdcall *GetAllParamCustData )( ITypeInfo2 * This, UINT indexFunc, UINT indexParam, CUSTDATA *pCustData)
     integer(LPVOID) GetAllVarCustData ! function pointers   HRESULT ( f__stdcall *GetAllVarCustData )( ITypeInfo2 * This, UINT index, CUSTDATA *pCustData)
     integer(LPVOID) GetAllImplTypeCustData ! function pointers   HRESULT ( f__stdcall *GetAllImplTypeCustData )( ITypeInfo2 * This, UINT index, CUSTDATA *pCustData)
     END TYPE
     TYPE T_ITypeInfo2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeInfo2Vtbl *
     END TYPE
     TYPE T_TLIBATTR
     SEQUENCE
       TYPE (T_GUID) guid ! typedefs  GUID 
       integer(ULONG) lcid ! typedefs  LCID 
    ! ???  SYSKIND syskind !  SYSKIND 
       integer(DWORD) syskind ! an enum
       integer(WORD) wMajorVerNum ! knowns  WORD 
       integer(WORD) wMinorVerNum ! knowns  WORD 
       integer(WORD) wLibFlags ! knowns  WORD 
     END TYPE
     TYPE T_ITypeLibVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeLib * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeLib * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeLib * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   UINT ( f__stdcall *GetTypeInfoCount )( ITypeLib * This)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( ITypeLib * This, UINT index, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetTypeInfoType ! function pointers   HRESULT ( f__stdcall *GetTypeInfoType )( ITypeLib * This, UINT index, TYPEKIND *pTKind)
     integer(LPVOID) GetTypeInfoOfGuid ! function pointers   HRESULT ( f__stdcall *GetTypeInfoOfGuid )( ITypeLib * This,  GUID * const guid, ITypeInfo * *ppTinfo)
     integer(LPVOID) GetLibAttr ! function pointers   HRESULT ( f__stdcall *GetLibAttr )( ITypeLib * This, TLIBATTR * *ppTLibAttr)
     integer(LPVOID) GetTypeComp ! function pointers   HRESULT ( f__stdcall *GetTypeComp )( ITypeLib * This, ITypeComp * *ppTComp)
     integer(LPVOID) GetDocumentation ! function pointers   HRESULT ( f__stdcall *GetDocumentation )( ITypeLib * This, INT index, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile)
     integer(LPVOID) IsName ! function pointers   HRESULT ( f__stdcall *IsName )( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName)
     integer(LPVOID) FindName ! function pointers   HRESULT ( f__stdcall *FindName )( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo * *ppTInfo, MEMBERID *rgMemId, USHORT *pcFound)
     integer(LPVOID) ReleaseTLibAttr ! function pointers   void ( f__stdcall *ReleaseTLibAttr )( ITypeLib * This, TLIBATTR *pTLibAttr)
     END TYPE
     TYPE T_ITypeLib
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeLibVtbl *
     END TYPE
     TYPE T_ITypeLib2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeLib2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeLib2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeLib2 * This)
     integer(LPVOID) GetTypeInfoCount ! function pointers   UINT ( f__stdcall *GetTypeInfoCount )( ITypeLib2 * This)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( ITypeLib2 * This, UINT index, ITypeInfo * *ppTInfo)
     integer(LPVOID) GetTypeInfoType ! function pointers   HRESULT ( f__stdcall *GetTypeInfoType )( ITypeLib2 * This, UINT index, TYPEKIND *pTKind)
     integer(LPVOID) GetTypeInfoOfGuid ! function pointers   HRESULT ( f__stdcall *GetTypeInfoOfGuid )( ITypeLib2 * This,  GUID * const guid, ITypeInfo * *ppTinfo)
     integer(LPVOID) GetLibAttr ! function pointers   HRESULT ( f__stdcall *GetLibAttr )( ITypeLib2 * This, TLIBATTR * *ppTLibAttr)
     integer(LPVOID) GetTypeComp ! function pointers   HRESULT ( f__stdcall *GetTypeComp )( ITypeLib2 * This, ITypeComp * *ppTComp)
     integer(LPVOID) GetDocumentation ! function pointers   HRESULT ( f__stdcall *GetDocumentation )( ITypeLib2 * This, INT index, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile)
     integer(LPVOID) IsName ! function pointers   HRESULT ( f__stdcall *IsName )( ITypeLib2 * This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName)
     integer(LPVOID) FindName ! function pointers   HRESULT ( f__stdcall *FindName )( ITypeLib2 * This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo * *ppTInfo, MEMBERID *rgMemId, USHORT *pcFound)
     integer(LPVOID) ReleaseTLibAttr ! function pointers   void ( f__stdcall *ReleaseTLibAttr )( ITypeLib2 * This, TLIBATTR *pTLibAttr)
     integer(LPVOID) GetCustData ! function pointers   HRESULT ( f__stdcall *GetCustData )( ITypeLib2 * This,  GUID * const guid, VARIANT *pVarVal)
     integer(LPVOID) GetLibStatistics ! function pointers   HRESULT ( f__stdcall *GetLibStatistics )( ITypeLib2 * This, ULONG *pcUniqueNames, ULONG *pcchUniqueNames)
     integer(LPVOID) GetDocumentation2 ! function pointers   HRESULT ( f__stdcall *GetDocumentation2 )( ITypeLib2 * This, INT index, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll)
     integer(LPVOID) GetAllCustData ! function pointers   HRESULT ( f__stdcall *GetAllCustData )( ITypeLib2 * This, CUSTDATA *pCustData)
     END TYPE
     TYPE T_ITypeLib2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeLib2Vtbl *
     END TYPE
     TYPE T_ITypeChangeEventsVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeChangeEvents * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeChangeEvents * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeChangeEvents * This)
     integer(LPVOID) RequestTypeChange ! function pointers   HRESULT ( f__stdcall *RequestTypeChange )( ITypeChangeEvents * This, CHANGEKIND changeKind, ITypeInfo *pTInfoBefore, LPOLESTR pStrName, INT *pfCancel)
     integer(LPVOID) AfterTypeChange ! function pointers   HRESULT ( f__stdcall *AfterTypeChange )( ITypeChangeEvents * This, CHANGEKIND changeKind, ITypeInfo *pTInfoAfter, LPOLESTR pStrName)
     END TYPE
     TYPE T_ITypeChangeEvents
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeChangeEventsVtbl *
     END TYPE
     TYPE T_IErrorInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IErrorInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IErrorInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IErrorInfo * This)
     integer(LPVOID) GetGUID ! function pointers   HRESULT ( f__stdcall *GetGUID )( IErrorInfo * This, GUID *pGUID)
     integer(LPVOID) GetSource ! function pointers   HRESULT ( f__stdcall *GetSource )( IErrorInfo * This, BSTR *pBstrSource)
     integer(LPVOID) GetDescription ! function pointers   HRESULT ( f__stdcall *GetDescription )( IErrorInfo * This, BSTR *pBstrDescription)
     integer(LPVOID) GetHelpFile ! function pointers   HRESULT ( f__stdcall *GetHelpFile )( IErrorInfo * This, BSTR *pBstrHelpFile)
     integer(LPVOID) GetHelpContext ! function pointers   HRESULT ( f__stdcall *GetHelpContext )( IErrorInfo * This, DWORD *pdwHelpContext)
     END TYPE
     TYPE T_IErrorInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IErrorInfoVtbl *
     END TYPE
     TYPE T_ICreateErrorInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ICreateErrorInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ICreateErrorInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ICreateErrorInfo * This)
     integer(LPVOID) SetGUID ! function pointers   HRESULT ( f__stdcall *SetGUID )( ICreateErrorInfo * This,  GUID * const rguid)
     integer(LPVOID) SetSource ! function pointers   HRESULT ( f__stdcall *SetSource )( ICreateErrorInfo * This, LPOLESTR szSource)
     integer(LPVOID) SetDescription ! function pointers   HRESULT ( f__stdcall *SetDescription )( ICreateErrorInfo * This, LPOLESTR szDescription)
     integer(LPVOID) SetHelpFile ! function pointers   HRESULT ( f__stdcall *SetHelpFile )( ICreateErrorInfo * This, LPOLESTR szHelpFile)
     integer(LPVOID) SetHelpContext ! function pointers   HRESULT ( f__stdcall *SetHelpContext )( ICreateErrorInfo * This, DWORD dwHelpContext)
     END TYPE
     TYPE T_ICreateErrorInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ICreateErrorInfoVtbl *
     END TYPE
     TYPE T_ISupportErrorInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ISupportErrorInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ISupportErrorInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ISupportErrorInfo * This)
     integer(LPVOID) InterfaceSupportsErrorInfo ! function pointers   HRESULT ( f__stdcall *InterfaceSupportsErrorInfo )( ISupportErrorInfo * This,  IID * const riid)
     END TYPE
     TYPE T_ISupportErrorInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ISupportErrorInfoVtbl *
     END TYPE
     TYPE T_ITypeFactoryVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeFactory * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeFactory * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeFactory * This)
     integer(LPVOID) CreateFromTypeInfo ! function pointers   HRESULT ( f__stdcall *CreateFromTypeInfo )( ITypeFactory * This, ITypeInfo *pTypeInfo,  IID * const riid, IUnknown * *ppv)
     END TYPE
     TYPE T_ITypeFactory
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeFactoryVtbl *
     END TYPE
     TYPE T_ITypeMarshalVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( ITypeMarshal * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( ITypeMarshal * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( ITypeMarshal * This)
     integer(LPVOID) Size ! function pointers   HRESULT ( f__stdcall *Size )( ITypeMarshal * This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG *pSize)
     integer(LPVOID) Marshal ! function pointers   HRESULT ( f__stdcall *Marshal )( ITypeMarshal * This, PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE *pBuffer, ULONG *pcbWritten)
     integer(LPVOID) Unmarshal ! function pointers   HRESULT ( f__stdcall *Unmarshal )( ITypeMarshal * This, PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE *pBuffer, ULONG *pcbRead)
     integer(LPVOID) Free ! function pointers   HRESULT ( f__stdcall *Free )( ITypeMarshal * This, PVOID pvType)
     END TYPE
     TYPE T_ITypeMarshal
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct ITypeMarshalVtbl *
     END TYPE
     TYPE T_IRecordInfoVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IRecordInfo * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IRecordInfo * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IRecordInfo * This)
     integer(LPVOID) RecordInit ! function pointers   HRESULT ( f__stdcall *RecordInit )( IRecordInfo * This, PVOID pvNew)
     integer(LPVOID) RecordClear ! function pointers   HRESULT ( f__stdcall *RecordClear )( IRecordInfo * This, PVOID pvExisting)
     integer(LPVOID) RecordCopy ! function pointers   HRESULT ( f__stdcall *RecordCopy )( IRecordInfo * This, PVOID pvExisting, PVOID pvNew)
     integer(LPVOID) GetGuid ! function pointers   HRESULT ( f__stdcall *GetGuid )( IRecordInfo * This, GUID *pguid)
     integer(LPVOID) GetName ! function pointers   HRESULT ( f__stdcall *GetName )( IRecordInfo * This, BSTR *pbstrName)
     integer(LPVOID) GetSize ! function pointers   HRESULT ( f__stdcall *GetSize )( IRecordInfo * This, ULONG *pcbSize)
     integer(LPVOID) GetTypeInfo ! function pointers   HRESULT ( f__stdcall *GetTypeInfo )( IRecordInfo * This, ITypeInfo * *ppTypeInfo)
     integer(LPVOID) GetField ! function pointers   HRESULT ( f__stdcall *GetField )( IRecordInfo * This, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField)
     integer(LPVOID) GetFieldNoCopy ! function pointers   HRESULT ( f__stdcall *GetFieldNoCopy )( IRecordInfo * This, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField, PVOID *ppvDataCArray)
     integer(LPVOID) PutField ! function pointers   HRESULT ( f__stdcall *PutField )( IRecordInfo * This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField)
     integer(LPVOID) PutFieldNoCopy ! function pointers   HRESULT ( f__stdcall *PutFieldNoCopy )( IRecordInfo * This, ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField)
     integer(LPVOID) GetFieldNames ! function pointers   HRESULT ( f__stdcall *GetFieldNames )( IRecordInfo * This, ULONG *pcNames, BSTR *rgBstrNames)
     integer(LPVOID) IsMatchingType ! function pointers   BOOL ( f__stdcall *IsMatchingType )( IRecordInfo * This, IRecordInfo *pRecordInfo)
     integer(LPVOID) RecordCreate ! function pointers   PVOID ( f__stdcall *RecordCreate )( IRecordInfo * This)
     integer(LPVOID) RecordCreateCopy ! function pointers   HRESULT ( f__stdcall *RecordCreateCopy )( IRecordInfo * This, PVOID pvSource, PVOID *ppvDest)
     integer(LPVOID) RecordDestroy ! function pointers   HRESULT ( f__stdcall *RecordDestroy )( IRecordInfo * This, PVOID pvRecord)
     END TYPE
     TYPE T_IRecordInfo
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IRecordInfoVtbl *
     END TYPE
     TYPE T_IErrorLogVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IErrorLog * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IErrorLog * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IErrorLog * This)
     integer(LPVOID) AddError ! function pointers   HRESULT ( f__stdcall *AddError )( IErrorLog * This, LPCOLESTR pszPropName, EXCEPINFO *pExcepInfo)
     END TYPE
     TYPE T_IErrorLog
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IErrorLogVtbl *
     END TYPE
     TYPE T_IPropertyBagVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IPropertyBag * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IPropertyBag * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IPropertyBag * This)
     integer(LPVOID) Read ! function pointers   HRESULT ( f__stdcall *Read )( IPropertyBag * This, LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog)
     integer(LPVOID) Write ! function pointers   HRESULT ( f__stdcall *Write )( IPropertyBag * This, LPCOLESTR pszPropName, VARIANT *pVar)
     END TYPE
     TYPE T_IPropertyBag
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IPropertyBagVtbl *
     END TYPE
     TYPE T_NUMPARSE
     SEQUENCE
       integer(SINT) cDig ! knowns  INT 
       integer(ULONG) dwInFlags ! knowns  ULONG 
       integer(ULONG) dwOutFlags ! knowns  ULONG 
       integer(SINT) cchUsed ! knowns  INT 
       integer(SINT) nBaseShift ! knowns  INT 
       integer(SINT) nPwr10 ! knowns  INT 
     END TYPE
     TYPE T_UDATE
     SEQUENCE
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
       integer(USHORT) wDayOfYear ! knowns  USHORT 
     END TYPE
     TYPE T_PARAMDATA
     SEQUENCE
      integer(LPVOID)  szName ! star  OLECHAR  *
       integer(USHORT) vt ! typedefs  VARTYPE 
     END TYPE
     TYPE T_METHODDATA
     SEQUENCE
      integer(LPVOID)  szName ! star  OLECHAR  *
      integer(LPVOID)  ppdata ! star  PARAMDATA  *
       integer(LONG) dispid ! typedefs  DISPID 
       integer(UINT) iMeth ! knowns  UINT 
    ! ???  CALLCONV cc !  CALLCONV 
       integer(DWORD) cc ! an enum
       integer(UINT) cArgs ! knowns  UINT 
       integer(WORD) wFlags ! knowns  WORD 
       integer(USHORT) vtReturn ! typedefs  VARTYPE 
     END TYPE
     TYPE T_INTERFACEDATA
     SEQUENCE
      integer(LPVOID)  pmethdata ! star  METHODDATA  *
       integer(UINT) cMembers ! knowns  UINT 
     END TYPE
     TYPE T_IOleAdviseHolderVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleAdviseHolder * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleAdviseHolder * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleAdviseHolder * This)
     integer(LPVOID) Advise ! function pointers   HRESULT ( f__stdcall *Advise )( IOleAdviseHolder * This, IAdviseSink *pAdvise, DWORD *pdwConnection)
     integer(LPVOID) Unadvise ! function pointers   HRESULT ( f__stdcall *Unadvise )( IOleAdviseHolder * This, DWORD dwConnection)
     integer(LPVOID) EnumAdvise ! function pointers   HRESULT ( f__stdcall *EnumAdvise )( IOleAdviseHolder * This, IEnumSTATDATA * *ppenumAdvise)
     integer(LPVOID) SendOnRename ! function pointers   HRESULT ( f__stdcall *SendOnRename )( IOleAdviseHolder * This, IMoniker *pmk)
     integer(LPVOID) SendOnSave ! function pointers   HRESULT ( f__stdcall *SendOnSave )( IOleAdviseHolder * This)
     integer(LPVOID) SendOnClose ! function pointers   HRESULT ( f__stdcall *SendOnClose )( IOleAdviseHolder * This)
     END TYPE
     TYPE T_IOleAdviseHolder
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleAdviseHolderVtbl *
     END TYPE
     TYPE T_IOleCacheVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleCache * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleCache * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleCache * This)
     integer(LPVOID) Cache ! function pointers   HRESULT ( f__stdcall *Cache )( IOleCache * This, FORMATETC *pformatetc, DWORD advf, DWORD *pdwConnection)
     integer(LPVOID) Uncache ! function pointers   HRESULT ( f__stdcall *Uncache )( IOleCache * This, DWORD dwConnection)
     integer(LPVOID) EnumCache ! function pointers   HRESULT ( f__stdcall *EnumCache )( IOleCache * This, IEnumSTATDATA * *ppenumSTATDATA)
     integer(LPVOID) InitCache ! function pointers   HRESULT ( f__stdcall *InitCache )( IOleCache * This, IDataObject *pDataObject)
     integer(LPVOID) SetData ! function pointers   HRESULT ( f__stdcall *SetData )( IOleCache * This, FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
     END TYPE
     TYPE T_IOleCache
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleCacheVtbl *
     END TYPE
     TYPE T_IOleCache2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleCache2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleCache2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleCache2 * This)
     integer(LPVOID) Cache ! function pointers   HRESULT ( f__stdcall *Cache )( IOleCache2 * This, FORMATETC *pformatetc, DWORD advf, DWORD *pdwConnection)
     integer(LPVOID) Uncache ! function pointers   HRESULT ( f__stdcall *Uncache )( IOleCache2 * This, DWORD dwConnection)
     integer(LPVOID) EnumCache ! function pointers   HRESULT ( f__stdcall *EnumCache )( IOleCache2 * This, IEnumSTATDATA * *ppenumSTATDATA)
     integer(LPVOID) InitCache ! function pointers   HRESULT ( f__stdcall *InitCache )( IOleCache2 * This, IDataObject *pDataObject)
     integer(LPVOID) SetData ! function pointers   HRESULT ( f__stdcall *SetData )( IOleCache2 * This, FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
     integer(LPVOID) UpdateCache ! function pointers   HRESULT ( f__stdcall *UpdateCache )( IOleCache2 * This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved)
     integer(LPVOID) DiscardCache ! function pointers   HRESULT ( f__stdcall *DiscardCache )( IOleCache2 * This, DWORD dwDiscardOptions)
     END TYPE
     TYPE T_IOleCache2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleCache2Vtbl *
     END TYPE
     TYPE T_IOleCacheControlVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleCacheControl * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleCacheControl * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleCacheControl * This)
     integer(LPVOID) OnRun ! function pointers   HRESULT ( f__stdcall *OnRun )( IOleCacheControl * This, LPDATAOBJECT pDataObject)
     integer(LPVOID) OnStop ! function pointers   HRESULT ( f__stdcall *OnStop )( IOleCacheControl * This)
     END TYPE
     TYPE T_IOleCacheControl
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleCacheControlVtbl *
     END TYPE
     TYPE T_IParseDisplayNameVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IParseDisplayName * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IParseDisplayName * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IParseDisplayName * This)
     integer(LPVOID) ParseDisplayName ! function pointers   HRESULT ( f__stdcall *ParseDisplayName )( IParseDisplayName * This, IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * *ppmkOut)
     END TYPE
     TYPE T_IParseDisplayName
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IParseDisplayNameVtbl *
     END TYPE
     TYPE T_IOleContainerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleContainer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleContainer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleContainer * This)
     integer(LPVOID) ParseDisplayName ! function pointers   HRESULT ( f__stdcall *ParseDisplayName )( IOleContainer * This, IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * *ppmkOut)
     integer(LPVOID) EnumObjects ! function pointers   HRESULT ( f__stdcall *EnumObjects )( IOleContainer * This, DWORD grfFlags, IEnumUnknown * *ppenum)
     integer(LPVOID) LockContainer ! function pointers   HRESULT ( f__stdcall *LockContainer )( IOleContainer * This, BOOL fLock)
     END TYPE
     TYPE T_IOleContainer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleContainerVtbl *
     END TYPE
     TYPE T_IOleClientSiteVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleClientSite * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleClientSite * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleClientSite * This)
     integer(LPVOID) SaveObject ! function pointers   HRESULT ( f__stdcall *SaveObject )( IOleClientSite * This)
     integer(LPVOID) GetMoniker ! function pointers   HRESULT ( f__stdcall *GetMoniker )( IOleClientSite * This, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * *ppmk)
     integer(LPVOID) GetContainer ! function pointers   HRESULT ( f__stdcall *GetContainer )( IOleClientSite * This, IOleContainer * *ppContainer)
     integer(LPVOID) ShowObject ! function pointers   HRESULT ( f__stdcall *ShowObject )( IOleClientSite * This)
     integer(LPVOID) OnShowWindow ! function pointers   HRESULT ( f__stdcall *OnShowWindow )( IOleClientSite * This, BOOL fShow)
     integer(LPVOID) RequestNewObjectLayout ! function pointers   HRESULT ( f__stdcall *RequestNewObjectLayout )( IOleClientSite * This)
     END TYPE
     TYPE T_IOleClientSite
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleClientSiteVtbl *
     END TYPE
     TYPE T_IOleObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleObject * This)
     integer(LPVOID) SetClientSite ! function pointers   HRESULT ( f__stdcall *SetClientSite )( IOleObject * This, IOleClientSite *pClientSite)
     integer(LPVOID) GetClientSite ! function pointers   HRESULT ( f__stdcall *GetClientSite )( IOleObject * This, IOleClientSite * *ppClientSite)
     integer(LPVOID) SetHostNames ! function pointers   HRESULT ( f__stdcall *SetHostNames )( IOleObject * This, LPCOLESTR szContainerApp, LPCOLESTR szContainerObj)
     integer(LPVOID) Close ! function pointers   HRESULT ( f__stdcall *Close )( IOleObject * This, DWORD dwSaveOption)
     integer(LPVOID) SetMoniker ! function pointers   HRESULT ( f__stdcall *SetMoniker )( IOleObject * This, DWORD dwWhichMoniker, IMoniker *pmk)
     integer(LPVOID) GetMoniker ! function pointers   HRESULT ( f__stdcall *GetMoniker )( IOleObject * This, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker * *ppmk)
     integer(LPVOID) InitFromData ! function pointers   HRESULT ( f__stdcall *InitFromData )( IOleObject * This, IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved)
     integer(LPVOID) GetClipboardData ! function pointers   HRESULT ( f__stdcall *GetClipboardData )( IOleObject * This, DWORD dwReserved, IDataObject * *ppDataObject)
     integer(LPVOID) DoVerb ! function pointers   HRESULT ( f__stdcall *DoVerb )( IOleObject * This, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect)
     integer(LPVOID) EnumVerbs ! function pointers   HRESULT ( f__stdcall *EnumVerbs )( IOleObject * This, IEnumOLEVERB * *ppEnumOleVerb)
     integer(LPVOID) Update ! function pointers   HRESULT ( f__stdcall *Update )( IOleObject * This)
     integer(LPVOID) IsUpToDate ! function pointers   HRESULT ( f__stdcall *IsUpToDate )( IOleObject * This)
     integer(LPVOID) GetUserClassID ! function pointers   HRESULT ( f__stdcall *GetUserClassID )( IOleObject * This, CLSID *pClsid)
     integer(LPVOID) GetUserType ! function pointers   HRESULT ( f__stdcall *GetUserType )( IOleObject * This, DWORD dwFormOfType, LPOLESTR *pszUserType)
     integer(LPVOID) SetExtent ! function pointers   HRESULT ( f__stdcall *SetExtent )( IOleObject * This, DWORD dwDrawAspect, SIZEL *psizel)
     integer(LPVOID) GetExtent ! function pointers   HRESULT ( f__stdcall *GetExtent )( IOleObject * This, DWORD dwDrawAspect, SIZEL *psizel)
     integer(LPVOID) Advise ! function pointers   HRESULT ( f__stdcall *Advise )( IOleObject * This, IAdviseSink *pAdvSink, DWORD *pdwConnection)
     integer(LPVOID) Unadvise ! function pointers   HRESULT ( f__stdcall *Unadvise )( IOleObject * This, DWORD dwConnection)
     integer(LPVOID) EnumAdvise ! function pointers   HRESULT ( f__stdcall *EnumAdvise )( IOleObject * This, IEnumSTATDATA * *ppenumAdvise)
     integer(LPVOID) GetMiscStatus ! function pointers   HRESULT ( f__stdcall *GetMiscStatus )( IOleObject * This, DWORD dwAspect, DWORD *pdwStatus)
     integer(LPVOID) SetColorScheme ! function pointers   HRESULT ( f__stdcall *SetColorScheme )( IOleObject * This, LOGPALETTE *pLogpal)
     END TYPE
     TYPE T_IOleObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleObjectVtbl *
     END TYPE
     TYPE T_OBJECTDESCRIPTOR
     SEQUENCE
       integer(ULONG) cbSize ! knowns  ULONG 
       TYPE (T_GUID) clsid ! typedefs  CLSID 
       integer(DWORD) dwDrawAspect ! knowns  DWORD 
       TYPE (T_SIZE) sizel ! typedefs  SIZEL 
       TYPE (T_POINTL) pointl ! typedefs  POINTL 
       integer(DWORD) dwStatus ! knowns  DWORD 
       integer(DWORD) dwFullUserTypeName ! knowns  DWORD 
       integer(DWORD) dwSrcOfCopy ! knowns  DWORD 
     END TYPE
     TYPE T_IOleWindowVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleWindow * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleWindow * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleWindow * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleWindow * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleWindow * This, BOOL fEnterMode)
     END TYPE
     TYPE T_IOleWindow
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleWindowVtbl *
     END TYPE
     TYPE T_IOleLinkVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleLink * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleLink * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleLink * This)
     integer(LPVOID) SetUpdateOptions ! function pointers   HRESULT ( f__stdcall *SetUpdateOptions )( IOleLink * This, DWORD dwUpdateOpt)
     integer(LPVOID) GetUpdateOptions ! function pointers   HRESULT ( f__stdcall *GetUpdateOptions )( IOleLink * This, DWORD *pdwUpdateOpt)
     integer(LPVOID) SetSourceMoniker ! function pointers   HRESULT ( f__stdcall *SetSourceMoniker )( IOleLink * This, IMoniker *pmk,  IID * const rclsid)
     integer(LPVOID) GetSourceMoniker ! function pointers   HRESULT ( f__stdcall *GetSourceMoniker )( IOleLink * This, IMoniker * *ppmk)
     integer(LPVOID) SetSourceDisplayName ! function pointers   HRESULT ( f__stdcall *SetSourceDisplayName )( IOleLink * This, LPCOLESTR pszStatusText)
     integer(LPVOID) GetSourceDisplayName ! function pointers   HRESULT ( f__stdcall *GetSourceDisplayName )( IOleLink * This, LPOLESTR *ppszDisplayName)
     integer(LPVOID) BindToSource ! function pointers   HRESULT ( f__stdcall *BindToSource )( IOleLink * This, DWORD bindflags, IBindCtx *pbc)
     integer(LPVOID) BindIfRunning ! function pointers   HRESULT ( f__stdcall *BindIfRunning )( IOleLink * This)
     integer(LPVOID) GetBoundSource ! function pointers   HRESULT ( f__stdcall *GetBoundSource )( IOleLink * This, IUnknown * *ppunk)
     integer(LPVOID) UnbindSource ! function pointers   HRESULT ( f__stdcall *UnbindSource )( IOleLink * This)
     integer(LPVOID) Update ! function pointers   HRESULT ( f__stdcall *Update )( IOleLink * This, IBindCtx *pbc)
     END TYPE
     TYPE T_IOleLink
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleLinkVtbl *
     END TYPE
     TYPE T_IOleItemContainerVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleItemContainer * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleItemContainer * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleItemContainer * This)
     integer(LPVOID) ParseDisplayName ! function pointers   HRESULT ( f__stdcall *ParseDisplayName )( IOleItemContainer * This, IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker * *ppmkOut)
     integer(LPVOID) EnumObjects ! function pointers   HRESULT ( f__stdcall *EnumObjects )( IOleItemContainer * This, DWORD grfFlags, IEnumUnknown * *ppenum)
     integer(LPVOID) LockContainer ! function pointers   HRESULT ( f__stdcall *LockContainer )( IOleItemContainer * This, BOOL fLock)
     integer(LPVOID) GetObjectA ! function pointers   HRESULT ( f__stdcall *GetObjectA )( IOleItemContainer * This, LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx *pbc,  IID * const riid, void * *ppvObject)
     integer(LPVOID) GetObjectStorage ! function pointers   HRESULT ( f__stdcall *GetObjectStorage )( IOleItemContainer * This, LPOLESTR pszItem, IBindCtx *pbc,  IID * const riid, void * *ppvStorage)
     integer(LPVOID) IsRunning ! function pointers   HRESULT ( f__stdcall *IsRunning )( IOleItemContainer * This, LPOLESTR pszItem)
     END TYPE
     TYPE T_IOleItemContainer
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleItemContainerVtbl *
     END TYPE
     TYPE T_IOleInPlaceUIWindowVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleInPlaceUIWindow * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleInPlaceUIWindow * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleInPlaceUIWindow * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleInPlaceUIWindow * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleInPlaceUIWindow * This, BOOL fEnterMode)
     integer(LPVOID) GetBorder ! function pointers   HRESULT ( f__stdcall *GetBorder )( IOleInPlaceUIWindow * This, LPRECT lprectBorder)
     integer(LPVOID) RequestBorderSpace ! function pointers   HRESULT ( f__stdcall *RequestBorderSpace )( IOleInPlaceUIWindow * This, LPCBORDERWIDTHS pborderwidths)
     integer(LPVOID) SetBorderSpace ! function pointers   HRESULT ( f__stdcall *SetBorderSpace )( IOleInPlaceUIWindow * This, LPCBORDERWIDTHS pborderwidths)
     integer(LPVOID) SetActiveObject ! function pointers   HRESULT ( f__stdcall *SetActiveObject )( IOleInPlaceUIWindow * This, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
     END TYPE
     TYPE T_IOleInPlaceUIWindow
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleInPlaceUIWindowVtbl *
     END TYPE
     TYPE T_IOleInPlaceActiveObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleInPlaceActiveObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleInPlaceActiveObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleInPlaceActiveObject * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleInPlaceActiveObject * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleInPlaceActiveObject * This, BOOL fEnterMode)
     integer(LPVOID) TranslateAcceleratorA ! function pointers   HRESULT ( f__stdcall *TranslateAcceleratorA )( IOleInPlaceActiveObject * This, LPMSG lpmsg)
     integer(LPVOID) OnFrameWindowActivate ! function pointers   HRESULT ( f__stdcall *OnFrameWindowActivate )( IOleInPlaceActiveObject * This, BOOL fActivate)
     integer(LPVOID) OnDocWindowActivate ! function pointers   HRESULT ( f__stdcall *OnDocWindowActivate )( IOleInPlaceActiveObject * This, BOOL fActivate)
     integer(LPVOID) ResizeBorder ! function pointers   HRESULT ( f__stdcall *ResizeBorder )( IOleInPlaceActiveObject * This, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow)
     integer(LPVOID) EnableModeless ! function pointers   HRESULT ( f__stdcall *EnableModeless )( IOleInPlaceActiveObject * This, BOOL fEnable)
     END TYPE
     TYPE T_IOleInPlaceActiveObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleInPlaceActiveObjectVtbl *
     END TYPE
     TYPE T_OLEINPLACEFRAMEINFO
     SEQUENCE
       integer(UINT) cb ! knowns  UINT 
       integer(BOOL) fMDIApp ! knowns  BOOL 
       integer(HANDLE) hwndFrame ! handles  HWND 
       integer(HANDLE) haccel ! handles  HACCEL 
       integer(UINT) cAccelEntries ! knowns  UINT 
     END TYPE
     TYPE T_OLEMENUGROUPWIDTHS
     SEQUENCE
       integer(LONG) width(6) ! knowns  LONG 
     END TYPE
     TYPE T_IOleInPlaceFrameVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleInPlaceFrame * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleInPlaceFrame * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleInPlaceFrame * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleInPlaceFrame * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleInPlaceFrame * This, BOOL fEnterMode)
     integer(LPVOID) GetBorder ! function pointers   HRESULT ( f__stdcall *GetBorder )( IOleInPlaceFrame * This, LPRECT lprectBorder)
     integer(LPVOID) RequestBorderSpace ! function pointers   HRESULT ( f__stdcall *RequestBorderSpace )( IOleInPlaceFrame * This, LPCBORDERWIDTHS pborderwidths)
     integer(LPVOID) SetBorderSpace ! function pointers   HRESULT ( f__stdcall *SetBorderSpace )( IOleInPlaceFrame * This, LPCBORDERWIDTHS pborderwidths)
     integer(LPVOID) SetActiveObject ! function pointers   HRESULT ( f__stdcall *SetActiveObject )( IOleInPlaceFrame * This, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
     integer(LPVOID) InsertMenus ! function pointers   HRESULT ( f__stdcall *InsertMenus )( IOleInPlaceFrame * This, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
     integer(LPVOID) SetMenu ! function pointers   HRESULT ( f__stdcall *SetMenu )( IOleInPlaceFrame * This, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
     integer(LPVOID) RemoveMenus ! function pointers   HRESULT ( f__stdcall *RemoveMenus )( IOleInPlaceFrame * This, HMENU hmenuShared)
     integer(LPVOID) SetStatusText ! function pointers   HRESULT ( f__stdcall *SetStatusText )( IOleInPlaceFrame * This, LPCOLESTR pszStatusText)
     integer(LPVOID) EnableModeless ! function pointers   HRESULT ( f__stdcall *EnableModeless )( IOleInPlaceFrame * This, BOOL fEnable)
     integer(LPVOID) TranslateAcceleratorA ! function pointers   HRESULT ( f__stdcall *TranslateAcceleratorA )( IOleInPlaceFrame * This, LPMSG lpmsg, WORD wID)
     END TYPE
     TYPE T_IOleInPlaceFrame
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleInPlaceFrameVtbl *
     END TYPE
     TYPE T_IOleInPlaceObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleInPlaceObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleInPlaceObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleInPlaceObject * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleInPlaceObject * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleInPlaceObject * This, BOOL fEnterMode)
     integer(LPVOID) InPlaceDeactivate ! function pointers   HRESULT ( f__stdcall *InPlaceDeactivate )( IOleInPlaceObject * This)
     integer(LPVOID) UIDeactivate ! function pointers   HRESULT ( f__stdcall *UIDeactivate )( IOleInPlaceObject * This)
     integer(LPVOID) SetObjectRects ! function pointers   HRESULT ( f__stdcall *SetObjectRects )( IOleInPlaceObject * This, LPCRECT lprcPosRect, LPCRECT lprcClipRect)
     integer(LPVOID) ReactivateAndUndo ! function pointers   HRESULT ( f__stdcall *ReactivateAndUndo )( IOleInPlaceObject * This)
     END TYPE
     TYPE T_IOleInPlaceObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleInPlaceObjectVtbl *
     END TYPE
     TYPE T_IOleInPlaceSiteVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IOleInPlaceSite * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IOleInPlaceSite * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IOleInPlaceSite * This)
     integer(LPVOID) GetWindow ! function pointers   HRESULT ( f__stdcall *GetWindow )( IOleInPlaceSite * This, HWND *phwnd)
     integer(LPVOID) ContextSensitiveHelp ! function pointers   HRESULT ( f__stdcall *ContextSensitiveHelp )( IOleInPlaceSite * This, BOOL fEnterMode)
     integer(LPVOID) CanInPlaceActivate ! function pointers   HRESULT ( f__stdcall *CanInPlaceActivate )( IOleInPlaceSite * This)
     integer(LPVOID) OnInPlaceActivate ! function pointers   HRESULT ( f__stdcall *OnInPlaceActivate )( IOleInPlaceSite * This)
     integer(LPVOID) OnUIActivate ! function pointers   HRESULT ( f__stdcall *OnUIActivate )( IOleInPlaceSite * This)
     integer(LPVOID) GetWindowContext ! function pointers   HRESULT ( f__stdcall *GetWindowContext )( IOleInPlaceSite * This, IOleInPlaceFrame * *ppFrame, IOleInPlaceUIWindow * *ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo)
     integer(LPVOID) Scroll ! function pointers   HRESULT ( f__stdcall *Scroll )( IOleInPlaceSite * This, SIZE scrollExtant)
     integer(LPVOID) OnUIDeactivate ! function pointers   HRESULT ( f__stdcall *OnUIDeactivate )( IOleInPlaceSite * This, BOOL fUndoable)
     integer(LPVOID) OnInPlaceDeactivate ! function pointers   HRESULT ( f__stdcall *OnInPlaceDeactivate )( IOleInPlaceSite * This)
     integer(LPVOID) DiscardUndoState ! function pointers   HRESULT ( f__stdcall *DiscardUndoState )( IOleInPlaceSite * This)
     integer(LPVOID) DeactivateAndUndo ! function pointers   HRESULT ( f__stdcall *DeactivateAndUndo )( IOleInPlaceSite * This)
     integer(LPVOID) OnPosRectChange ! function pointers   HRESULT ( f__stdcall *OnPosRectChange )( IOleInPlaceSite * This, LPCRECT lprcPosRect)
     END TYPE
     TYPE T_IOleInPlaceSite
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IOleInPlaceSiteVtbl *
     END TYPE
     TYPE T_IContinueVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IContinue * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IContinue * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IContinue * This)
     integer(LPVOID) FContinue ! function pointers   HRESULT ( f__stdcall *FContinue )( IContinue * This)
     END TYPE
     TYPE T_IContinue
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IContinueVtbl *
     END TYPE
     TYPE T_IViewObjectVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IViewObject * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IViewObject * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IViewObject * This)
     integer(LPVOID) Draw ! function pointers   HRESULT ( f__stdcall *Draw )( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL ( __stdcall *pfnContinue )( ULONG_PTR dwContinue), ULONG_PTR dwContinue)
     integer(LPVOID) GetColorSet ! function pointers   HRESULT ( f__stdcall *GetColorSet )( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE * *ppColorSet)
     integer(LPVOID) Freeze ! function pointers   HRESULT ( f__stdcall *Freeze )( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze)
     integer(LPVOID) Unfreeze ! function pointers   HRESULT ( f__stdcall *Unfreeze )( IViewObject * This, DWORD dwFreeze)
     integer(LPVOID) SetAdvise ! function pointers   HRESULT ( f__stdcall *SetAdvise )( IViewObject * This, DWORD aspects, DWORD advf, IAdviseSink *pAdvSink)
     integer(LPVOID) GetAdvise ! function pointers   HRESULT ( f__stdcall *GetAdvise )( IViewObject * This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink * *ppAdvSink)
     END TYPE
     TYPE T_IViewObject
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IViewObjectVtbl *
     END TYPE
     TYPE T_IViewObject2Vtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IViewObject2 * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IViewObject2 * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IViewObject2 * This)
     integer(LPVOID) Draw ! function pointers   HRESULT ( f__stdcall *Draw )( IViewObject2 * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL ( __stdcall *pfnContinue )( ULONG_PTR dwContinue), ULONG_PTR dwContinue)
     integer(LPVOID) GetColorSet ! function pointers   HRESULT ( f__stdcall *GetColorSet )( IViewObject2 * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE * *ppColorSet)
     integer(LPVOID) Freeze ! function pointers   HRESULT ( f__stdcall *Freeze )( IViewObject2 * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze)
     integer(LPVOID) Unfreeze ! function pointers   HRESULT ( f__stdcall *Unfreeze )( IViewObject2 * This, DWORD dwFreeze)
     integer(LPVOID) SetAdvise ! function pointers   HRESULT ( f__stdcall *SetAdvise )( IViewObject2 * This, DWORD aspects, DWORD advf, IAdviseSink *pAdvSink)
     integer(LPVOID) GetAdvise ! function pointers   HRESULT ( f__stdcall *GetAdvise )( IViewObject2 * This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink * *ppAdvSink)
     integer(LPVOID) GetExtent ! function pointers   HRESULT ( f__stdcall *GetExtent )( IViewObject2 * This, DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE *ptd, LPSIZEL lpsizel)
     END TYPE
     TYPE T_IViewObject2
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IViewObject2Vtbl *
     END TYPE
     TYPE T_IDropSourceVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDropSource * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDropSource * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDropSource * This)
     integer(LPVOID) QueryContinueDrag ! function pointers   HRESULT ( f__stdcall *QueryContinueDrag )( IDropSource * This, BOOL fEscapePressed, DWORD grfKeyState)
     integer(LPVOID) GiveFeedback ! function pointers   HRESULT ( f__stdcall *GiveFeedback )( IDropSource * This, DWORD dwEffect)
     END TYPE
     TYPE T_IDropSource
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDropSourceVtbl *
     END TYPE
     TYPE T_IDropTargetVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IDropTarget * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IDropTarget * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IDropTarget * This)
     integer(LPVOID) DragEnter ! function pointers   HRESULT ( f__stdcall *DragEnter )( IDropTarget * This, IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect)
     integer(LPVOID) DragOver ! function pointers   HRESULT ( f__stdcall *DragOver )( IDropTarget * This, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect)
     integer(LPVOID) DragLeave ! function pointers   HRESULT ( f__stdcall *DragLeave )( IDropTarget * This)
     integer(LPVOID) Drop ! function pointers   HRESULT ( f__stdcall *Drop )( IDropTarget * This, IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect)
     END TYPE
     TYPE T_IDropTarget
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IDropTargetVtbl *
     END TYPE
     TYPE T_OLEVERB
     SEQUENCE
       integer(LONG) lVerb ! knowns  LONG 
       integer(LPVOID) lpszVerbName ! pointers  LPOLESTR 
       integer(DWORD) fuFlags ! knowns  DWORD 
       integer(DWORD) grfAttribs ! knowns  DWORD 
     END TYPE
     TYPE T_IEnumOLEVERBVtbl
     SEQUENCE
     integer(LPVOID) QueryInterface ! function pointers   HRESULT ( f__stdcall *QueryInterface )( IEnumOLEVERB * This,  IID * const riid, void * *ppvObject)
     integer(LPVOID) AddRef ! function pointers   ULONG ( f__stdcall *AddRef )( IEnumOLEVERB * This)
     integer(LPVOID) Release ! function pointers   ULONG ( f__stdcall *Release )( IEnumOLEVERB * This)
     integer(LPVOID) Next ! function pointers   HRESULT ( f__stdcall *Next )( IEnumOLEVERB * This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched)
     integer(LPVOID) Skip ! function pointers   HRESULT ( f__stdcall *Skip )( IEnumOLEVERB * This, ULONG celt)
     integer(LPVOID) Reset ! function pointers   HRESULT ( f__stdcall *Reset )( IEnumOLEVERB * This)
     integer(LPVOID) Clone ! function pointers   HRESULT ( f__stdcall *Clone )( IEnumOLEVERB * This, IEnumOLEVERB * *ppenum)
     END TYPE
     TYPE T_IEnumOLEVERB
     SEQUENCE
       integer(LPVOID) lpVtbl ! star   struct IEnumOLEVERBVtbl *
     END TYPE
     TYPE T_OLESTREAMVTBL
     SEQUENCE
     integer(LPVOID) Get ! function pointers   DWORD (__stdcall* Get)(LPOLESTREAM, void *, DWORD)
     integer(LPVOID) Put ! function pointers   DWORD (__stdcall* Put)(LPOLESTREAM,  void *, DWORD)
     END TYPE
     TYPE T_OLESTREAM
     SEQUENCE
       integer(LPVOID) lpstbl ! pointers  LPOLESTREAMVTBL 
     END TYPE
     TYPE T_OPENFILENAME
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCSTR) lpstrFilter ! knowns  LPCSTR 
       integer(LPSTR) lpstrCustomFilter ! knowns  LPSTR 
       integer(DWORD) nMaxCustFilter ! knowns  DWORD 
       integer(DWORD) nFilterIndex ! knowns  DWORD 
       integer(LPSTR) lpstrFile ! knowns  LPSTR 
       integer(DWORD) nMaxFile ! knowns  DWORD 
       integer(LPSTR) lpstrFileTitle ! knowns  LPSTR 
       integer(DWORD) nMaxFileTitle ! knowns  DWORD 
       integer(LPCSTR) lpstrInitialDir ! knowns  LPCSTR 
       integer(LPCSTR) lpstrTitle ! knowns  LPCSTR 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(WORD) nFileOffset ! knowns  WORD 
       integer(WORD) nFileExtension ! knowns  WORD 
       integer(LPCSTR) lpstrDefExt ! knowns  LPCSTR 
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
       integer(LPVOID) lpfnHook ! pointers  LPOFNHOOKPROC 
       integer(LPCSTR) lpTemplateName ! knowns  LPCSTR 
  !DEC$ IF DEFINED( _M_IA64)
       INTEGER(LPVOID) pvReserved;
       INTEGER(DWORD)  dwReserved;
       INTEGER(DWORD)  FlagsEx;
  !DEC$ ENDIF
     END TYPE
     TYPE T_OPENFILENAMEW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCWSTR) lpstrFilter ! knowns  LPCWSTR 
       integer(LPWSTR) lpstrCustomFilter ! knowns  LPWSTR 
       integer(DWORD) nMaxCustFilter ! knowns  DWORD 
       integer(DWORD) nFilterIndex ! knowns  DWORD 
       integer(LPWSTR) lpstrFile ! knowns  LPWSTR 
       integer(DWORD) nMaxFile ! knowns  DWORD 
       integer(LPWSTR) lpstrFileTitle ! knowns  LPWSTR 
       integer(DWORD) nMaxFileTitle ! knowns  DWORD 
       integer(LPCWSTR) lpstrInitialDir ! knowns  LPCWSTR 
       integer(LPCWSTR) lpstrTitle ! knowns  LPCWSTR 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(WORD) nFileOffset ! knowns  WORD 
       integer(WORD) nFileExtension ! knowns  WORD 
       integer(LPCWSTR) lpstrDefExt ! knowns  LPCWSTR 
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
       integer(LPVOID) lpfnHook ! pointers  LPOFNHOOKPROC 
       integer(LPCWSTR) lpTemplateName ! knowns  LPCWSTR 
    !DEC$ IF DEFINED( _M_IA64)
       INTEGER(LPVOID) pvReserved;
       INTEGER(DWORD)  dwReserved;
       INTEGER(DWORD)  FlagsEx;
    !DEC$ ENDIF
     END TYPE
     TYPE T_OFNOTIFY
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) lpOFN ! pointers  LPOPENFILENAMEA 
       integer(LPSTR) pszFile ! knowns  LPSTR 
     END TYPE
     TYPE T_OFNOTIFYW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) lpOFN ! pointers  LPOPENFILENAMEW 
       integer(LPWSTR) pszFile ! knowns  LPWSTR 
     END TYPE
     TYPE T_OFNOTIFYEX
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) lpOFN ! pointers  LPOPENFILENAMEA 
       integer(LPVOID) psf ! knowns  LPVOID 
       integer(LPVOID) pidl ! knowns  LPVOID 
     END TYPE
     TYPE T_OFNOTIFYEXW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) lpOFN ! pointers  LPOPENFILENAMEW 
       integer(LPVOID) psf ! knowns  LPVOID 
       integer(LPVOID) pidl ! knowns  LPVOID 
     END TYPE
     TYPE T_CHOOSECOLOR
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HWND 
       integer(ULONG) rgbResult ! typedefs  COLORREF 
       integer(LPVOID) lpCustColors ! star  COLORREF*  *
       integer(DWORD) Flags ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPCCHOOKPROC 
       integer(LPCSTR) lpTemplateName ! knowns  LPCSTR 
     END TYPE
     TYPE T_CHOOSECOLORW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HWND 
       integer(ULONG) rgbResult ! typedefs  COLORREF 
       integer(LPVOID) lpCustColors ! star  COLORREF*  *
       integer(DWORD) Flags ! knowns  DWORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPCCHOOKPROC 
       integer(LPCWSTR) lpTemplateName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_FINDREPLACE
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPSTR) lpstrFindWhat ! knowns  LPSTR 
       integer(LPSTR) lpstrReplaceWith ! knowns  LPSTR 
       integer(WORD) wFindWhatLen ! knowns  WORD 
       integer(WORD) wReplaceWithLen ! knowns  WORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPFRHOOKPROC 
       integer(LPCSTR) lpTemplateName ! knowns  LPCSTR 
     END TYPE
     TYPE T_FINDREPLACEW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(LPWSTR) lpstrFindWhat ! knowns  LPWSTR 
       integer(LPWSTR) lpstrReplaceWith ! knowns  LPWSTR 
       integer(WORD) wFindWhatLen ! knowns  WORD 
       integer(WORD) wReplaceWithLen ! knowns  WORD 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPFRHOOKPROC 
       integer(LPCWSTR) lpTemplateName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_CHOOSEFONT
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDC ! handles  HDC 
       integer(LPVOID) lpLogFont ! pointers  LPLOGFONTA 
       integer(SINT) iPointSize ! knowns  INT 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(ULONG) rgbColors ! typedefs  COLORREF 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPCFHOOKPROC 
       integer(LPCSTR) lpTemplateName ! knowns  LPCSTR 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPSTR) lpszStyle ! knowns  LPSTR 
       integer(WORD) nFontType ! knowns  WORD 
       integer(WORD) f___MISSING_ALIGNMENT__ ! knowns  WORD 
       integer(SINT) nSizeMin ! knowns  INT 
       integer(SINT) nSizeMax ! knowns  INT 
     END TYPE
     TYPE T_CHOOSEFONTW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDC ! handles  HDC 
       integer(LPVOID) lpLogFont ! pointers  LPLOGFONTW 
       integer(SINT) iPointSize ! knowns  INT 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(ULONG) rgbColors ! typedefs  COLORREF 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnHook ! pointers  LPCFHOOKPROC 
       integer(LPCWSTR) lpTemplateName ! knowns  LPCWSTR 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPWSTR) lpszStyle ! knowns  LPWSTR 
       integer(WORD) nFontType ! knowns  WORD 
       integer(WORD) f___MISSING_ALIGNMENT__ ! knowns  WORD 
       integer(SINT) nSizeMin ! knowns  INT 
       integer(SINT) nSizeMax ! knowns  INT 
     END TYPE
     TYPE T_PRINTDLG
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(HANDLE) hDC ! handles  HDC 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(WORD) nFromPage ! knowns  WORD 
       integer(WORD) nToPage ! knowns  WORD 
       integer(WORD) nMinPage ! knowns  WORD 
       integer(WORD) nMaxPage ! knowns  WORD 
       integer(WORD) nCopies ! knowns  WORD 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnPrintHook ! pointers  LPPRINTHOOKPROC 
       integer(LPVOID) lpfnSetupHook ! pointers  LPSETUPHOOKPROC 
       integer(LPCSTR) lpPrintTemplateName ! knowns  LPCSTR 
       integer(LPCSTR) lpSetupTemplateName ! knowns  LPCSTR 
       integer(HANDLE) hPrintTemplate ! typedefs  HGLOBAL 
       integer(HANDLE) hSetupTemplate ! typedefs  HGLOBAL 
     END TYPE
     TYPE T_PRINTDLGW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(HANDLE) hDC ! handles  HDC 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(WORD) nFromPage ! knowns  WORD 
       integer(WORD) nToPage ! knowns  WORD 
       integer(WORD) nMinPage ! knowns  WORD 
       integer(WORD) nMaxPage ! knowns  WORD 
       integer(WORD) nCopies ! knowns  WORD 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnPrintHook ! pointers  LPPRINTHOOKPROC 
       integer(LPVOID) lpfnSetupHook ! pointers  LPSETUPHOOKPROC 
       integer(LPCWSTR) lpPrintTemplateName ! knowns  LPCWSTR 
       integer(LPCWSTR) lpSetupTemplateName ! knowns  LPCWSTR 
       integer(HANDLE) hPrintTemplate ! typedefs  HGLOBAL 
       integer(HANDLE) hSetupTemplate ! typedefs  HGLOBAL 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_PRINTPAGERANGE
     SEQUENCE
       integer(DWORD) nFromPage ! knowns  DWORD 
       integer(DWORD) nToPage ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTDLGEX
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(HANDLE) hDC ! handles  HDC 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(DWORD) Flags2 ! knowns  DWORD 
       integer(DWORD) ExclusionFlags ! knowns  DWORD 
       integer(DWORD) nPageRanges ! knowns  DWORD 
       integer(DWORD) nMaxPageRanges ! knowns  DWORD 
       integer(LPVOID) lpPageRanges ! pointers  LPPRINTPAGERANGE 
       integer(DWORD) nMinPage ! knowns  DWORD 
       integer(DWORD) nMaxPage ! knowns  DWORD 
       integer(DWORD) nCopies ! knowns  DWORD 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCSTR) lpPrintTemplateName ! knowns  LPCSTR 
       integer(LPVOID) lpCallback ! pointers  LPUNKNOWN 
       integer(DWORD) nPropertyPages ! knowns  DWORD 
      integer(LPVOID) lphPropertyPages ! star  HPROPSHEETPAGE  *
       integer(DWORD) nStartPage ! knowns  DWORD 
       integer(DWORD) dwResultAction ! knowns  DWORD 
     END TYPE
     TYPE T_PRINTDLGEXW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(HANDLE) hDC ! handles  HDC 
       integer(DWORD) Flags ! knowns  DWORD 
       integer(DWORD) Flags2 ! knowns  DWORD 
       integer(DWORD) ExclusionFlags ! knowns  DWORD 
       integer(DWORD) nPageRanges ! knowns  DWORD 
       integer(DWORD) nMaxPageRanges ! knowns  DWORD 
       integer(LPVOID) lpPageRanges ! pointers  LPPRINTPAGERANGE 
       integer(DWORD) nMinPage ! knowns  DWORD 
       integer(DWORD) nMaxPage ! knowns  DWORD 
       integer(DWORD) nCopies ! knowns  DWORD 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
       integer(LPCWSTR) lpPrintTemplateName ! knowns  LPCWSTR 
       integer(LPVOID) lpCallback ! pointers  LPUNKNOWN 
       integer(DWORD) nPropertyPages ! knowns  DWORD 
      integer(LPVOID) lphPropertyPages ! star  HPROPSHEETPAGE  *
       integer(DWORD) nStartPage ! knowns  DWORD 
       integer(DWORD) dwResultAction ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
     TYPE T_DEVNAMES
     SEQUENCE
       integer(WORD) wDriverOffset ! knowns  WORD 
       integer(WORD) wDeviceOffset ! knowns  WORD 
       integer(WORD) wOutputOffset ! knowns  WORD 
       integer(WORD) wDefault ! knowns  WORD 
     END TYPE
!to fix add T_PAGESETUPDLGA
     TYPE T_PAGESETUPDLG
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_POINT) ptPaperSize ! typedefs  POINT 
       TYPE (T_RECT) rtMinMargin ! typedefs  RECT 
       TYPE (T_RECT) rtMargin ! typedefs  RECT 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnPageSetupHook ! pointers  LPPAGESETUPHOOK 
       integer(LPVOID) lpfnPagePaintHook ! pointers  LPPAGEPAINTHOOK 
       integer(LPCSTR) lpPageSetupTemplateName ! knowns  LPCSTR 
       integer(HANDLE) hPageSetupTemplate ! typedefs  HGLOBAL 
     END TYPE
     TYPE T_PAGESETUPDLGA ! T_PAGESETUPDLGA 
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_POINT) ptPaperSize ! typedefs  POINT 
       TYPE (T_RECT) rtMinMargin ! typedefs  RECT 
       TYPE (T_RECT) rtMargin ! typedefs  RECT 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnPageSetupHook ! pointers  LPPAGESETUPHOOK 
       integer(LPVOID) lpfnPagePaintHook ! pointers  LPPAGEPAINTHOOK 
       integer(LPCSTR) lpPageSetupTemplateName ! knowns  LPCSTR 
       integer(HANDLE) hPageSetupTemplate ! typedefs  HGLOBAL 
     END TYPE
     TYPE T_PAGESETUPDLGW
     SEQUENCE
       integer(DWORD) lStructSize ! knowns  DWORD 
       integer(HANDLE) hwndOwner ! handles  HWND 
       integer(HANDLE) hDevMode ! typedefs  HGLOBAL 
       integer(HANDLE) hDevNames ! typedefs  HGLOBAL 
       integer(DWORD) Flags ! knowns  DWORD 
       TYPE (T_POINT) ptPaperSize ! typedefs  POINT 
       TYPE (T_RECT) rtMinMargin ! typedefs  RECT 
       TYPE (T_RECT) rtMargin ! typedefs  RECT 
       integer(HANDLE) hInstance ! handles  HINSTANCE 
    !DEC$ IF DEFINED( _M_IA64)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
       integer(fLPARAM) lCustData ! typedefs  LPARAM 
    !DEC$ ENDIF
       integer(LPVOID) lpfnPageSetupHook ! pointers  LPPAGESETUPHOOK 
       integer(LPVOID) lpfnPagePaintHook ! pointers  LPPAGEPAINTHOOK 
       integer(LPCWSTR) lpPageSetupTemplateName ! knowns  LPCWSTR 
       integer(HANDLE) hPageSetupTemplate ! typedefs  HGLOBAL 
     END TYPE
  
     TYPE T_SERVICE_DESCRIPTION
     SEQUENCE
       integer(LPSTR) lpDescription ! knowns  LPSTR 
     END TYPE
     TYPE T_SERVICE_DESCRIPTIONW
     SEQUENCE
       integer(LPWSTR) lpDescription ! knowns  LPWSTR 
     END TYPE
     TYPE T_SC_ACTION
     SEQUENCE
    ! ???  SC_ACTION_TYPE Type !  SC_ACTION_TYPE
       integer(DWORD) Type ! an enum 
       integer(DWORD) Delay ! knowns  DWORD 
     END TYPE
     TYPE T_SERVICE_FAILURE_ACTIONS
     SEQUENCE
       integer(DWORD) dwResetPeriod ! knowns  DWORD 
       integer(LPSTR) lpRebootMsg ! knowns  LPSTR 
       integer(LPSTR) lpCommand ! knowns  LPSTR 
       integer(DWORD) cActions ! knowns  DWORD 
      integer(LPVOID)  lpsaActions ! star  SC_ACTION  *
     END TYPE
     TYPE T_SERVICE_FAILURE_ACTIONSW
     SEQUENCE
       integer(DWORD) dwResetPeriod ! knowns  DWORD 
       integer(LPWSTR) lpRebootMsg ! knowns  LPWSTR 
       integer(LPWSTR) lpCommand ! knowns  LPWSTR 
       integer(DWORD) cActions ! knowns  DWORD 
      integer(LPVOID)  lpsaActions ! star  SC_ACTION  *
     END TYPE
     TYPE T_SERVICE_STATUS
     SEQUENCE
       integer(DWORD) dwServiceType ! knowns  DWORD 
       integer(DWORD) dwCurrentState ! knowns  DWORD 
       integer(DWORD) dwControlsAccepted ! knowns  DWORD 
       integer(DWORD) dwWin32ExitCode ! knowns  DWORD 
       integer(DWORD) dwServiceSpecificExitCode ! knowns  DWORD 
       integer(DWORD) dwCheckPoint ! knowns  DWORD 
       integer(DWORD) dwWaitHint ! knowns  DWORD 
     END TYPE
     TYPE T_SERVICE_STATUS_PROCESS
     SEQUENCE
       integer(DWORD) dwServiceType ! knowns  DWORD 
       integer(DWORD) dwCurrentState ! knowns  DWORD 
       integer(DWORD) dwControlsAccepted ! knowns  DWORD 
       integer(DWORD) dwWin32ExitCode ! knowns  DWORD 
       integer(DWORD) dwServiceSpecificExitCode ! knowns  DWORD 
       integer(DWORD) dwCheckPoint ! knowns  DWORD 
       integer(DWORD) dwWaitHint ! knowns  DWORD 
       integer(DWORD) dwProcessId ! knowns  DWORD 
       integer(DWORD) dwServiceFlags ! knowns  DWORD 
     END TYPE
     TYPE T_ENUM_SERVICE_STATUS
     SEQUENCE
       integer(LPSTR) lpServiceName ! knowns  LPSTR 
       integer(LPSTR) lpDisplayName ! knowns  LPSTR 
       TYPE (T_SERVICE_STATUS) ServiceStatus ! typedefs  SERVICE_STATUS 
     END TYPE
     TYPE T_ENUM_SERVICE_STATUSW
     SEQUENCE
       integer(LPWSTR) lpServiceName ! knowns  LPWSTR 
       integer(LPWSTR) lpDisplayName ! knowns  LPWSTR 
       TYPE (T_SERVICE_STATUS) ServiceStatus ! typedefs  SERVICE_STATUS 
     END TYPE
     TYPE T_ENUM_SERVICE_STATUS_PROCESS
     SEQUENCE
       integer(LPSTR) lpServiceName ! knowns  LPSTR 
       integer(LPSTR) lpDisplayName ! knowns  LPSTR 
       TYPE (T_SERVICE_STATUS_PROCESS) ServiceStatusProcess ! typedefs  SERVICE_STATUS_PROCESS 
     END TYPE
     TYPE T_ENUM_SERVICE_STATUS_PROCESSW
     SEQUENCE
       integer(LPWSTR) lpServiceName ! knowns  LPWSTR 
       integer(LPWSTR) lpDisplayName ! knowns  LPWSTR 
       TYPE (T_SERVICE_STATUS_PROCESS) ServiceStatusProcess ! typedefs  SERVICE_STATUS_PROCESS 
     END TYPE
     TYPE T_QUERY_SERVICE_LOCK_STATUS
     SEQUENCE
       integer(DWORD) fIsLocked ! knowns  DWORD 
       integer(LPSTR) lpLockOwner ! knowns  LPSTR 
       integer(DWORD) dwLockDuration ! knowns  DWORD 
     END TYPE
     TYPE T_QUERY_SERVICE_LOCK_STATUSW
     SEQUENCE
       integer(DWORD) fIsLocked ! knowns  DWORD 
       integer(LPWSTR) lpLockOwner ! knowns  LPWSTR 
       integer(DWORD) dwLockDuration ! knowns  DWORD 
     END TYPE
     TYPE T_QUERY_SERVICE_CONFIG
     SEQUENCE
       integer(DWORD) dwServiceType ! knowns  DWORD 
       integer(DWORD) dwStartType ! knowns  DWORD 
       integer(DWORD) dwErrorControl ! knowns  DWORD 
       integer(LPSTR) lpBinaryPathName ! knowns  LPSTR 
       integer(LPSTR) lpLoadOrderGroup ! knowns  LPSTR 
       integer(DWORD) dwTagId ! knowns  DWORD 
       integer(LPSTR) lpDependencies ! knowns  LPSTR 
       integer(LPSTR) lpServiceStartName ! knowns  LPSTR 
       integer(LPSTR) lpDisplayName ! knowns  LPSTR 
     END TYPE
     TYPE T_QUERY_SERVICE_CONFIGW
     SEQUENCE
       integer(DWORD) dwServiceType ! knowns  DWORD 
       integer(DWORD) dwStartType ! knowns  DWORD 
       integer(DWORD) dwErrorControl ! knowns  DWORD 
       integer(LPWSTR) lpBinaryPathName ! knowns  LPWSTR 
       integer(LPWSTR) lpLoadOrderGroup ! knowns  LPWSTR 
       integer(DWORD) dwTagId ! knowns  DWORD 
       integer(LPWSTR) lpDependencies ! knowns  LPWSTR 
       integer(LPWSTR) lpServiceStartName ! knowns  LPWSTR 
       integer(LPWSTR) lpDisplayName ! knowns  LPWSTR 
     END TYPE
     TYPE T_SERVICE_TABLE_ENTRY
     SEQUENCE
       integer(LPSTR) lpServiceName ! knowns  LPSTR 
       integer(LPVOID) lpServiceProc ! pointers  LPSERVICE_MAIN_FUNCTIONA 
     END TYPE
     TYPE T_SERVICE_TABLE_ENTRYW
     SEQUENCE
       integer(LPWSTR) lpServiceName ! knowns  LPWSTR 
       integer(LPVOID) lpServiceProc ! pointers  LPSERVICE_MAIN_FUNCTIONW 
     END TYPE
     TYPE T_MODEMDEVCAPS
     SEQUENCE
       integer(DWORD) dwActualSize ! knowns  DWORD 
       integer(DWORD) dwRequiredSize ! knowns  DWORD 
       integer(DWORD) dwDevSpecificOffset ! knowns  DWORD 
       integer(DWORD) dwDevSpecificSize ! knowns  DWORD 
       integer(DWORD) dwModemProviderVersion ! knowns  DWORD 
       integer(DWORD) dwModemManufacturerOffset ! knowns  DWORD 
       integer(DWORD) dwModemManufacturerSize ! knowns  DWORD 
       integer(DWORD) dwModemModelOffset ! knowns  DWORD 
       integer(DWORD) dwModemModelSize ! knowns  DWORD 
       integer(DWORD) dwModemVersionOffset ! knowns  DWORD 
       integer(DWORD) dwModemVersionSize ! knowns  DWORD 
       integer(DWORD) dwDialOptions ! knowns  DWORD 
       integer(DWORD) dwCallSetupFailTimer ! knowns  DWORD 
       integer(DWORD) dwInactivityTimeout ! knowns  DWORD 
       integer(DWORD) dwSpeakerVolume ! knowns  DWORD 
       integer(DWORD) dwSpeakerMode ! knowns  DWORD 
       integer(DWORD) dwModemOptions ! knowns  DWORD 
       integer(DWORD) dwMaxDTERate ! knowns  DWORD 
       integer(DWORD) dwMaxDCERate ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) abVariablePortion (1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) abVariablePortion 
!DEC$ ENDIF
     END TYPE
     TYPE T_MODEMSETTINGS
     SEQUENCE
       integer(DWORD) dwActualSize ! knowns  DWORD 
       integer(DWORD) dwRequiredSize ! knowns  DWORD 
       integer(DWORD) dwDevSpecificOffset ! knowns  DWORD 
       integer(DWORD) dwDevSpecificSize ! knowns  DWORD 
       integer(DWORD) dwCallSetupFailTimer ! knowns  DWORD 
       integer(DWORD) dwInactivityTimeout ! knowns  DWORD 
       integer(DWORD) dwSpeakerVolume ! knowns  DWORD 
       integer(DWORD) dwSpeakerMode ! knowns  DWORD 
       integer(DWORD) dwPreferredModemOptions ! knowns  DWORD 
       integer(DWORD) dwNegotiatedModemOptions ! knowns  DWORD 
       integer(DWORD) dwNegotiatedDCERate ! knowns  DWORD 
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) abVariablePortion (1) ! knowns  BYTE 
!DEC$ ELSE
       character(1) abVariablePortion 
!DEC$ ENDIF
     END TYPE
     TYPE T_COMPOSITIONFORM
     SEQUENCE
       integer(DWORD) dwStyle ! knowns  DWORD 
       TYPE (T_POINT) ptCurrentPos ! typedefs  POINT 
       TYPE (T_RECT) rcArea ! typedefs  RECT 
     END TYPE
     TYPE T_CANDIDATEFORM
     SEQUENCE
       integer(DWORD) dwIndex ! knowns  DWORD 
       integer(DWORD) dwStyle ! knowns  DWORD 
       TYPE (T_POINT) ptCurrentPos ! typedefs  POINT 
       TYPE (T_RECT) rcArea ! typedefs  RECT 
     END TYPE
     TYPE T_CANDIDATELIST
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(DWORD) dwCount ! knowns  DWORD 
       integer(DWORD) dwSelection ! knowns  DWORD 
       integer(DWORD) dwPageStart ! knowns  DWORD 
       integer(DWORD) dwPageSize ! knowns  DWORD 
       integer(DWORD) dwOffset(1) ! knowns  DWORD 
     END TYPE
     TYPE T_REGISTERWORD
     SEQUENCE
       integer(LPSTR) lpReading ! knowns  LPSTR 
       integer(LPSTR) lpWord ! knowns  LPSTR 
     END TYPE
     TYPE T_REGISTERWORDW
     SEQUENCE
       integer(LPWSTR) lpReading ! knowns  LPWSTR 
       integer(LPWSTR) lpWord ! knowns  LPWSTR 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_RECONVERTSTRING
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) dwVersion ! knowns  DWORD 
       integer(DWORD) dwStrLen ! knowns  DWORD 
       integer(DWORD) dwStrOffset ! knowns  DWORD 
       integer(DWORD) dwCompStrLen ! knowns  DWORD 
       integer(DWORD) dwCompStrOffset ! knowns  DWORD 
       integer(DWORD) dwTargetStrLen ! knowns  DWORD 
       integer(DWORD) dwTargetStrOffset ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
     TYPE T_STYLEBUF
     SEQUENCE
       integer(DWORD) dwStyle ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szDescription(32) ! knowns  CHAR 
!DEC$ ELSE
       character(32) szDescription
!DEC$ ENDIF
     END TYPE
     TYPE T_STYLEBUFW
     SEQUENCE
       integer(DWORD) dwStyle ! knowns  DWORD 
       integer(WCHAR) szDescription(32) ! knowns  WCHAR 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_IMEMENUITEMINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fType ! knowns  UINT 
       integer(UINT) fState ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(HANDLE) hbmpChecked ! handles  HBITMAP 
       integer(HANDLE) hbmpUnchecked ! handles  HBITMAP 
       integer(DWORD) dwItemData ! knowns  DWORD 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szString(80) ! knowns  CHAR 
!DEC$ ELSE
       character(80) szString
!DEC$ ENDIF
       integer(HANDLE) hbmpItem ! handles  HBITMAP 
     END TYPE
     TYPE T_IMEMENUITEMINFOW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fType ! knowns  UINT 
       integer(UINT) fState ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(HANDLE) hbmpChecked ! handles  HBITMAP 
       integer(HANDLE) hbmpUnchecked ! handles  HBITMAP 
       integer(DWORD) dwItemData ! knowns  DWORD 
       integer(WCHAR) szString(80) ! knowns  WCHAR 
       integer(HANDLE) hbmpItem ! handles  HBITMAP 
     END TYPE
     TYPE T_IMECHARPOSITION
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) dwCharPos ! knowns  DWORD 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) cLineHeight ! knowns  UINT 
       TYPE (T_RECT) rcDocument ! typedefs  RECT 
     END TYPE
    !DEC$ ENDIF
    !From C runtime file stdarg.h
    TYPE T_VA_LIST
       SEQUENCE 
       integer(LPCHAR)   a0     ! pointer to first homed integer argument
    !DEC$ IF DEFINED (_ALPHA_)
       integer(DWORD) offset     ! byte offset of next parameter */
    !DEC$ ENDIF
    END TYPE
    !the following items are from commcrtl.h (lib is comctl32.lib)
    !DEC$ IF (0 .EQ. 1)
    !duplicate psrht definitions
          integer, parameter :: f__WIN32IE = #0501
          integer, parameter :: MAXPROPPAGES = 100
          integer, parameter :: PSP_DEFAULT = #00000000
          integer, parameter :: PSP_DLGINDIRECT = #00000001
          integer, parameter :: PSP_USEHICON = #00000002
          integer, parameter :: PSP_USEICONID = #00000004
          integer, parameter :: PSP_USETITLE = #00000008
          integer, parameter :: PSP_RTLREADING = #00000010
          integer, parameter :: PSP_HASHELP = #00000020
          integer, parameter :: PSP_USEREFPARENT = #00000040
          integer, parameter :: PSP_USECALLBACK = #00000080
          integer, parameter :: PSP_PREMATURE = #00000400
          integer, parameter :: PSP_HIDEHEADER = #00000800
          integer, parameter :: PSP_USEHEADERTITLE = #00001000
          integer, parameter :: PSP_USEHEADERSUBTITLE = #00002000
          integer, parameter :: PSPCB_ADDREF = 0
          integer, parameter :: PSPCB_RELEASE = 1
          integer, parameter :: PSPCB_CREATE = 2
    ! 27 FORTRAN integer, parameter :: PROPSHEETPAGEA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEA*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEA*)0)))) + sizeof(((PROPSHEETPAGEA*)0)->pcRefParent))
    ! 28 FORTRAN integer, parameter :: PROPSHEETPAGEW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETPAGEW*)0)->pcRefParent) - ((LPBYTE)((PROPSHEETPAGEW*)0)))) + sizeof(((PROPSHEETPAGEW*)0)->pcRefParent))
          integer, parameter :: PSH_DEFAULT = #00000000
          integer, parameter :: PSH_PROPTITLE = #00000001
          integer, parameter :: PSH_USEHICON = #00000002
          integer, parameter :: PSH_USEICONID = #00000004
          integer, parameter :: PSH_PROPSHEETPAGE = #00000008
          integer, parameter :: PSH_WIZARDHASFINISH = #00000010
          integer, parameter :: PSH_WIZARD = #00000020
          integer, parameter :: PSH_USEPSTARTPAGE = #00000040
          integer, parameter :: PSH_NOAPPLYNOW = #00000080
          integer, parameter :: PSH_USECALLBACK = #00000100
          integer, parameter :: PSH_HASHELP = #00000200
          integer, parameter :: PSH_MODELESS = #00000400
          integer, parameter :: PSH_RTLREADING = #00000800
          integer, parameter :: PSH_WIZARDCONTEXTHELP = #00001000
          integer, parameter :: PSH_WIZARD97 = #01000000
          integer, parameter :: PSH_WATERMARK = #00008000
          integer, parameter :: PSH_USEHBMWATERMARK = #00010000
          integer, parameter :: PSH_USEHPLWATERMARK = #00020000
          integer, parameter :: PSH_STRETCHWATERMARK = #00040000
          integer, parameter :: PSH_HEADER = #00080000
          integer, parameter :: PSH_USEHBMHEADER = #00100000
          integer, parameter :: PSH_USEPAGELANG = #00200000
          integer, parameter :: PSH_WIZARD_LITE = #00400000
          integer, parameter :: PSH_NOCONTEXTHELP = #02000000
    ! 127 FORTRAN integer, parameter :: PROPSHEETHEADERA_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERA*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERA*)0)))) + sizeof(((PROPSHEETHEADERA*)0)->pfnCallback))
    ! 128 FORTRAN integer, parameter :: PROPSHEETHEADERW_V1_SIZE = (((int)((LPBYTE)(.AND.((PROPSHEETHEADERW*)0)->pfnCallback) - ((LPBYTE)((PROPSHEETHEADERW*)0)))) + sizeof(((PROPSHEETHEADERW*)0)->pfnCallback))
          integer, parameter :: PSCB_INITIALIZED = 1
          integer, parameter :: PSCB_PRECREATE = 2
          integer, parameter :: PSN_FIRST = (0-200)
          integer, parameter :: PSN_LAST = (0-299)
          integer, parameter :: PSN_SETACTIVE = ((0-200)-0)
          integer, parameter :: PSN_KILLACTIVE = ((0-200)-1)
          integer, parameter :: PSN_APPLY = ((0-200)-2)
          integer, parameter :: PSN_RESET = ((0-200)-3)
          integer, parameter :: PSN_HELP = ((0-200)-5)
          integer, parameter :: PSN_WIZBACK = ((0-200)-6)
          integer, parameter :: PSN_WIZNEXT = ((0-200)-7)
          integer, parameter :: PSN_WIZFINISH = ((0-200)-8)
          integer, parameter :: PSN_QUERYCANCEL = ((0-200)-9)
          integer, parameter :: PSN_GETOBJECT = ((0-200)-10)
          integer, parameter :: PSN_TRANSLATEACCELERATOR = ((0-200)-12)
          integer, parameter :: PSN_QUERYINITIALFOCUS = ((0-200)-13)
          integer, parameter :: PSNRET_NOERROR = 0
          integer, parameter :: PSNRET_INVALID = 1
          integer, parameter :: PSNRET_INVALID_NOCHANGEPAGE = 2
          integer, parameter :: PSNRET_MESSAGEHANDLED = 3
          integer, parameter :: PSM_SETCURSEL = (#0400 + 101)
          integer, parameter :: PSM_REMOVEPAGE = (#0400 + 102)
          integer, parameter :: PSM_ADDPAGE = (#0400 + 103)
          integer, parameter :: PSM_CHANGED = (#0400 + 104)
          integer, parameter :: PSM_RESTARTWINDOWS = (#0400 + 105)
          integer, parameter :: PSM_REBOOTSYSTEM = (#0400 + 106)
          integer, parameter :: PSM_CANCELTOCLOSE = (#0400 + 107)
          integer, parameter :: PSM_QUERYSIBLINGS = (#0400 + 108)
          integer, parameter :: PSM_UNCHANGED = (#0400 + 109)
          integer, parameter :: PSM_APPLY = (#0400 + 110)
          integer, parameter :: PSM_SETTITLE = (#0400 + 111)
          integer, parameter :: PSM_SETTITLEA = (#0400 + 111)
          integer, parameter :: PSM_SETTITLEW = (#0400 + 120)
          integer, parameter :: PSM_SETWIZBUTTONS = (#0400 + 112)
          integer, parameter :: PSWIZB_BACK = #00000001
          integer, parameter :: PSWIZB_NEXT = #00000002
          integer, parameter :: PSWIZB_FINISH = #00000004
          integer, parameter :: PSWIZB_DISABLEDFINISH = #00000008
          integer, parameter :: PSM_PRESSBUTTON = (#0400 + 113)
          integer, parameter :: PSBTN_BACK = 0
          integer, parameter :: PSBTN_NEXT = 1
          integer, parameter :: PSBTN_FINISH = 2
          integer, parameter :: PSBTN_OK = 3
          integer, parameter :: PSBTN_APPLYNOW = 4
          integer, parameter :: PSBTN_CANCEL = 5
          integer, parameter :: PSBTN_HELP = 6
          integer, parameter :: PSBTN_MAX = 6
          integer, parameter :: PSM_SETCURSELID = (#0400 + 114)
          integer, parameter :: PSM_SETFINISHTEXT = (#0400 + 115)
          integer, parameter :: PSM_SETFINISHTEXTA = (#0400 + 115)
          integer, parameter :: PSM_SETFINISHTEXTW = (#0400 + 121)
          integer, parameter :: PSM_GETTABCONTROL = (#0400 + 116)
          integer, parameter :: PSM_ISDIALOGMESSAGE = (#0400 + 117)
          integer, parameter :: PSM_GETCURRENTPAGEHWND = (#0400 + 118)
          integer, parameter :: PSM_INSERTPAGE = (#0400 + 119)
          integer, parameter :: PSM_SETHEADERTITLE = (#0400 + 125)
          integer, parameter :: PSM_SETHEADERTITLEA = (#0400 + 125)
          integer, parameter :: PSM_SETHEADERTITLEW = (#0400 + 126)
          integer, parameter :: PSM_SETHEADERSUBTITLE = (#0400 + 127)
          integer, parameter :: PSM_SETHEADERSUBTITLEA = (#0400 + 127)
          integer, parameter :: PSM_SETHEADERSUBTITLEW = (#0400 + 128)
          integer, parameter :: PSM_HWNDTOINDEX = (#0400 + 129)
          integer, parameter :: PSM_INDEXTOHWND = (#0400 + 130)
          integer, parameter :: PSM_PAGETOINDEX = (#0400 + 131)
          integer, parameter :: PSM_INDEXTOPAGE = (#0400 + 132)
          integer, parameter :: PSM_IDTOINDEX = (#0400 + 133)
          integer, parameter :: PSM_INDEXTOID = (#0400 + 134)
          integer, parameter :: PSM_GETRESULT = (#0400 + 135)
          integer, parameter :: PSM_RECALCPAGESIZES = (#0400 + 136)
          integer, parameter :: ID_PSRESTARTWINDOWS = #2
          integer, parameter :: ID_PSREBOOTSYSTEM = (#2 .OR. #1)
          integer, parameter :: WIZ_CXDLG = 276
          integer, parameter :: WIZ_CYDLG = 140
          integer, parameter :: WIZ_CXBMP = 80
          integer, parameter :: WIZ_BODYX = 92
          integer, parameter :: WIZ_BODYCX = 184
          integer, parameter :: PROP_SM_CXDLG = 212
          integer, parameter :: PROP_SM_CYDLG = 188
          integer, parameter :: PROP_MED_CXDLG = 227
          integer, parameter :: PROP_MED_CYDLG = 215
          integer, parameter :: PROP_LG_CXDLG = 252
          integer, parameter :: PROP_LG_CYDLG = 218
    !DEC$ ENDIF
    !duplicate prsht definitions
          integer, parameter :: ICC_LISTVIEW_CLASSES = #00000001
          integer, parameter :: ICC_TREEVIEW_CLASSES = #00000002
          integer, parameter :: ICC_BAR_CLASSES = #00000004
          integer, parameter :: ICC_TAB_CLASSES = #00000008
          integer, parameter :: ICC_UPDOWN_CLASS = #00000010
          integer, parameter :: ICC_PROGRESS_CLASS = #00000020
          integer, parameter :: ICC_HOTKEY_CLASS = #00000040
          integer, parameter :: ICC_ANIMATE_CLASS = #00000080
          integer, parameter :: ICC_WIN95_CLASSES = #000000FF
          integer, parameter :: ICC_DATE_CLASSES = #00000100
          integer, parameter :: ICC_USEREX_CLASSES = #00000200
          integer, parameter :: ICC_COOL_CLASSES = #00000400
          integer, parameter :: ICC_INTERNET_CLASSES = #00000800
          integer, parameter :: ICC_PAGESCROLLER_CLASS = #00001000
          integer, parameter :: ICC_NATIVEFNTCTL_CLASS = #00002000
          integer, parameter :: ODT_HEADER = 100
          integer, parameter :: ODT_TAB = 101
          integer, parameter :: ODT_LISTVIEW = 102
          integer, parameter :: LVM_FIRST = #1000
          integer, parameter :: TV_FIRST = #1100
          integer, parameter :: HDM_FIRST = #1200
          integer, parameter :: TCM_FIRST = #1300
          integer, parameter :: PGM_FIRST = #1400
          integer, parameter :: CCM_FIRST = #2000
          integer, parameter :: CCM_LAST = (#2000 + #200)
          integer, parameter :: CCM_SETBKCOLOR = (#2000 + 1)
          integer, parameter :: CCM_SETCOLORSCHEME = (#2000 + 2)
          integer, parameter :: CCM_GETCOLORSCHEME = (#2000 + 3)
          integer, parameter :: CCM_GETDROPTARGET = (#2000 + 4)
          integer, parameter :: CCM_SETUNICODEFORMAT = (#2000 + 5)
          integer, parameter :: CCM_GETUNICODEFORMAT = (#2000 + 6)
          integer, parameter :: COMCTL32_VERSION = 5
          integer, parameter :: CCM_SETVERSION = (#2000 + #7)
          integer, parameter :: CCM_GETVERSION = (#2000 + #8)
          integer, parameter :: CCM_SETNOTIFYWINDOW = (#2000 + #9)
          integer, parameter :: INFOTIPSIZE = 1024
          integer, parameter :: NM_FIRST = (0- 0)
          integer, parameter :: NM_LAST = (0- 99)
          integer, parameter :: NM_OUTOFMEMORY = (NM_FIRST-1)
          integer, parameter :: NM_CLICK = (NM_FIRST-2)
          integer, parameter :: NM_DBLCLK = (NM_FIRST-3)
          integer, parameter :: NM_RETURN = (NM_FIRST-4)
          integer, parameter :: NM_RCLICK = (NM_FIRST-5)
          integer, parameter :: NM_RDBLCLK = (NM_FIRST-6)
          integer, parameter :: NM_SETFOCUS = (NM_FIRST-7)
          integer, parameter :: NM_KILLFOCUS = (NM_FIRST-8)
          integer, parameter :: NM_CUSTOMDRAW = (NM_FIRST-12)
          integer, parameter :: NM_HOVER = (NM_FIRST-13)
          integer, parameter :: NM_NCHITTEST = (NM_FIRST-14)
          integer, parameter :: NM_KEYDOWN = (NM_FIRST-15)
          integer, parameter :: NM_RELEASEDCAPTURE = (NM_FIRST-16)
          integer, parameter :: NM_SETCURSOR = (NM_FIRST-17)
          integer, parameter :: NM_CHAR = (NM_FIRST-18)
          integer, parameter :: NM_TOOLTIPSCREATED = (NM_FIRST-19)
          integer, parameter :: NM_LDOWN = (NM_FIRST-20)
          integer, parameter :: NM_RDOWN = (NM_FIRST-21)
    !      integer, parameter :: NM_FIRST = (0- 0)
    !      integer, parameter :: NM_LAST = (0- 99)
          integer, parameter :: LVN_FIRST = (0-100)
          integer, parameter :: LVN_LAST = (0-199)
          integer, parameter :: HDN_FIRST = (0-300)
          integer, parameter :: HDN_LAST = (0-399)
          integer, parameter :: TVN_FIRST = (0-400)
          integer, parameter :: TVN_LAST = (0-499)
          integer, parameter :: TTN_FIRST = (0-520)
          integer, parameter :: TTN_LAST = (0-549)
          integer, parameter :: TTN_GETDISPINFO = (TTN_FIRST - 0)
          integer, parameter :: TTN_SHOW = (TTN_FIRST - 1)
          integer, parameter :: TTN_POP = (TTN_FIRST - 2)
          integer, parameter :: TTN_NEEDTEXT = TTN_GETDISPINFO
          integer, parameter :: TCN_FIRST = (0-550)
          integer, parameter :: TCN_LAST = (0-580)
     ! duplicate
     !     integer, parameter :: CDN_FIRST = (0-601)
     !     integer, parameter :: CDN_LAST = (0-699)
          integer, parameter :: TBN_FIRST = (0-700)
          integer, parameter :: TBN_LAST = (0-720)
          integer, parameter :: UDN_FIRST = (0-721)
          integer, parameter :: UDN_LAST = (0-740)
          integer, parameter :: MCN_FIRST = (0-750)
          integer, parameter :: MCN_LAST = (0-759)
          integer, parameter :: DTN_FIRST = (0-760)
          integer, parameter :: DTN_LAST = (0-799)
          integer, parameter :: CBEN_FIRST = (0-800)
          integer, parameter :: CBEN_LAST = (0-830)
          integer, parameter :: RBN_FIRST = (0-831)
          integer, parameter :: RBN_LAST = (0-859)
          integer, parameter :: IPN_FIRST = (0-860)
          integer, parameter :: IPN_LAST = (0-879)
          integer, parameter :: SBN_FIRST = (0-880)
          integer, parameter :: SBN_LAST = (0-899)
          integer, parameter :: PGN_FIRST = (0-900)
          integer, parameter :: PGN_LAST = (0-950)
          integer, parameter :: WMN_FIRST = (0-1000)
          integer, parameter :: WMN_LAST = (0-1200)
          integer, parameter :: MSGF_COMMCTRL_BEGINDRAG = #4200
          integer, parameter :: MSGF_COMMCTRL_SIZEHEADER = #4201
          integer, parameter :: MSGF_COMMCTRL_DRAGSELECT = #4202
          integer, parameter :: MSGF_COMMCTRL_TOOLBARCUST = #4203
          integer, parameter :: CDRF_DODEFAULT = #00000000
          integer, parameter :: CDRF_NEWFONT = #00000002
          integer, parameter :: CDRF_SKIPDEFAULT = #00000004
          integer, parameter :: CDRF_NOTIFYPOSTPAINT = #00000010
          integer, parameter :: CDRF_NOTIFYITEMDRAW = #00000020
          integer, parameter :: CDRF_NOTIFYSUBITEMDRAW = #00000020
          integer, parameter :: CDRF_NOTIFYPOSTERASE = #00000040
          integer, parameter :: CDDS_PREPAINT = #00000001
          integer, parameter :: CDDS_POSTPAINT = #00000002
          integer, parameter :: CDDS_PREERASE = #00000003
          integer, parameter :: CDDS_POSTERASE = #00000004
          integer, parameter :: CDDS_ITEM = #00010000
          integer, parameter :: CDDS_ITEMPREPAINT = (#00010000 .OR. #00000001)
          integer, parameter :: CDDS_ITEMPOSTPAINT = (#00010000 .OR. #00000002)
          integer, parameter :: CDDS_ITEMPREERASE = (#00010000 .OR. #00000003)
          integer, parameter :: CDDS_ITEMPOSTERASE = (#00010000 .OR. #00000004)
          integer, parameter :: CDDS_SUBITEM = #00020000
          integer, parameter :: CDIS_SELECTED = #0001
          integer, parameter :: CDIS_GRAYED = #0002
          integer, parameter :: CDIS_DISABLED = #0004
          integer, parameter :: CDIS_CHECKED = #0008
          integer, parameter :: CDIS_FOCUS = #0010
          integer, parameter :: CDIS_DEFAULT = #0020
          integer, parameter :: CDIS_HOT = #0040
          integer, parameter :: CDIS_MARKED = #0080
          integer, parameter :: CDIS_INDETERMINATE = #0100
          integer, parameter :: CLR_NONE = #FFFFFFFF
          integer, parameter :: CLR_DEFAULT = #FF000000
          integer, parameter :: ILC_MASK = #0001
          integer, parameter :: ILC_COLOR = #0000
          integer, parameter :: ILC_COLORDDB = #00FE
          integer, parameter :: ILC_COLOR4 = #0004
          integer, parameter :: ILC_COLOR8 = #0008
          integer, parameter :: ILC_COLOR16 = #0010
          integer, parameter :: ILC_COLOR24 = #0018
          integer, parameter :: ILC_COLOR32 = #0020
          integer, parameter :: ILC_PALETTE = #0800
          integer, parameter :: ILD_NORMAL = #0000
          integer, parameter :: ILD_TRANSPARENT = #0001
          integer, parameter :: ILD_MASK = #0010
          integer, parameter :: ILD_IMAGE = #0020
          integer, parameter :: ILD_ROP = #0040
          integer, parameter :: ILD_BLEND25 = #0002
          integer, parameter :: ILD_BLEND50 = #0004
          integer, parameter :: ILD_OVERLAYMASK = #0F00
          integer, parameter :: ILCF_MOVE = (#00000000)
          integer, parameter :: ILCF_SWAP = (#00000001)
          character*11, parameter :: WC_HEADER = "SysHeader32"
          character*11, parameter :: WC_HEADERA = "SysHeader32"
    ! 1333 FORTRAN character*11, parameter :: WC_HEADERW = L"SysHeader32"
          integer, parameter :: HDS_HORZ = #0000
          integer, parameter :: HDS_BUTTONS = #0002
          integer, parameter :: HDS_HOTTRACK = #0004
          integer, parameter :: HDS_HIDDEN = #0008
          integer, parameter :: HDS_DRAGDROP = #0040
          integer, parameter :: HDS_FULLDRAG = #0080
          integer, parameter :: HDS_FILTERBAR = #0100
          integer, parameter :: HDFT_ISSTRING = #0000
          integer, parameter :: HDFT_ISNUMBER = #0001
          integer, parameter :: HDFT_HASNOVALUE = #8000
    ! 1368 FORTRAN integer, parameter :: HDITEMA_V1_SIZE = (((int)((LPBYTE)(.AND.((HDITEMA*)0)->lParam) - ((LPBYTE)((HDITEMA*)0)))) + sizeof(((HDITEMA*)0)->lParam))
    ! 1369 FORTRAN integer, parameter :: HDITEMW_V1_SIZE = (((int)((LPBYTE)(.AND.((HDITEMW*)0)->lParam) - ((LPBYTE)((HDITEMW*)0)))) + sizeof(((HDITEMW*)0)->lParam))
          integer, parameter :: HDI_WIDTH = #0001
          integer, parameter :: HDI_TEXT = #0002
          integer, parameter :: HDI_FORMAT = #0004
          integer, parameter :: HDI_LPARAM = #0008
          integer, parameter :: HDI_BITMAP = #0010
          integer, parameter :: HDI_IMAGE = #0020
          integer, parameter :: HDI_DI_SETITEM = #0040
          integer, parameter :: HDI_ORDER = #0080
          integer, parameter :: HDI_FILTER = #0100
          integer, parameter :: HDF_LEFT = 0
          integer, parameter :: HDF_RIGHT = 1
          integer, parameter :: HDF_CENTER = 2
          integer, parameter :: HDF_JUSTIFYMASK = #0003
          integer, parameter :: HDF_RTLREADING = 4
          integer, parameter :: HDF_OWNERDRAW = #8000
          integer, parameter :: HDF_STRING = #4000
          integer, parameter :: HDF_BITMAP = #2000
          integer, parameter :: HDF_BITMAP_ON_RIGHT = #1000
          integer, parameter :: HDF_IMAGE = #0800
          integer, parameter :: HDM_GETITEMCOUNT = (#1200 + 0)
          integer, parameter :: HDM_INSERTITEM = (#1200 + 1)
          integer, parameter :: HDM_INSERTITEMA = (#1200 + 1)
          integer, parameter :: HDM_INSERTITEMW = (#1200 + 10)
          integer, parameter :: HDM_DELETEITEM = (#1200 + 2)
          integer, parameter :: HDM_GETITEM = (#1200 + 3)
          integer, parameter :: HDM_GETITEMA = (#1200 + 3)
          integer, parameter :: HDM_GETITEMW = (#1200 + 11)
          integer, parameter :: HDM_SETITEM = (#1200 + 4)
          integer, parameter :: HDM_SETITEMA = (#1200 + 4)
          integer, parameter :: HDM_SETITEMW = (#1200 + 12)
          integer, parameter :: HDM_LAYOUT = (#1200 + 5)
          integer, parameter :: HHT_NOWHERE = #0001
          integer, parameter :: HHT_ONHEADER = #0002
          integer, parameter :: HHT_ONDIVIDER = #0004
          integer, parameter :: HHT_ONDIVOPEN = #0008
          integer, parameter :: HHT_ONFILTER = #0010
          integer, parameter :: HHT_ONFILTERBUTTON = #0020
          integer, parameter :: HHT_ABOVE = #0100
          integer, parameter :: HHT_BELOW = #0200
          integer, parameter :: HHT_TORIGHT = #0400
          integer, parameter :: HHT_TOLEFT = #0800
          integer, parameter :: HDM_HITTEST = (#1200 + 6)
          integer, parameter :: HDM_GETITEMRECT = (#1200 + 7)
          integer, parameter :: HDM_SETIMAGELIST = (#1200 + 8)
          integer, parameter :: HDM_GETIMAGELIST = (#1200 + 9)
          integer, parameter :: HDM_ORDERTOINDEX = (#1200 + 15)
          integer, parameter :: HDM_CREATEDRAGIMAGE = (#1200 + 16)
          integer, parameter :: HDM_GETORDERARRAY = (#1200 + 17)
          integer, parameter :: HDM_SETORDERARRAY = (#1200 + 18)
          integer, parameter :: HDM_SETHOTDIVIDER = (#1200 + 19)
          integer, parameter :: HDM_SETBITMAPMARGIN = (#1200 + 20)
          integer, parameter :: HDM_GETBITMAPMARGIN = (#1200 + 21)
          integer, parameter :: HDM_SETFILTERCHANGETIMEOUT = (#1200+22)
          integer, parameter :: HDM_EDITFILTER = (#1200+23)
          integer, parameter :: HDM_CLEARFILTER = (#1200+24)
          integer, parameter :: HDN_ITEMCHANGING = ((0-300)-0)
          integer, parameter :: HDN_ITEMCHANGINGA = ((0-300)-0)
          integer, parameter :: HDN_ITEMCHANGINGW = ((0-300)-20)
          integer, parameter :: HDN_ITEMCHANGED = ((0-300)-1)
          integer, parameter :: HDN_ITEMCHANGEDA = ((0-300)-1)
          integer, parameter :: HDN_ITEMCHANGEDW = ((0-300)-21)
          integer, parameter :: HDN_ITEMCLICK = ((0-300)-2)
          integer, parameter :: HDN_ITEMCLICKA = ((0-300)-2)
          integer, parameter :: HDN_ITEMCLICKW = ((0-300)-22)
          integer, parameter :: HDN_ITEMDBLCLICK = ((0-300)-3)
          integer, parameter :: HDN_ITEMDBLCLICKA = ((0-300)-3)
          integer, parameter :: HDN_ITEMDBLCLICKW = ((0-300)-23)
          integer, parameter :: HDN_DIVIDERDBLCLICK = ((0-300)-5)
          integer, parameter :: HDN_DIVIDERDBLCLICKA = ((0-300)-5)
          integer, parameter :: HDN_DIVIDERDBLCLICKW = ((0-300)-25)
          integer, parameter :: HDN_BEGINTRACK = ((0-300)-6)
          integer, parameter :: HDN_BEGINTRACKA = ((0-300)-6)
          integer, parameter :: HDN_BEGINTRACKW = ((0-300)-26)
          integer, parameter :: HDN_ENDTRACK = ((0-300)-7)
          integer, parameter :: HDN_ENDTRACKA = ((0-300)-7)
          integer, parameter :: HDN_ENDTRACKW = ((0-300)-27)
          integer, parameter :: HDN_TRACK = ((0-300)-8)
          integer, parameter :: HDN_TRACKA = ((0-300)-8)
          integer, parameter :: HDN_TRACKW = ((0-300)-28)
          integer, parameter :: HDN_GETDISPINFO = ((0-300)-9)
          integer, parameter :: HDN_GETDISPINFOA = ((0-300)-9)
          integer, parameter :: HDN_GETDISPINFOW = ((0-300)-29)
          integer, parameter :: HDN_BEGINDRAG = ((0-300)-10)
          integer, parameter :: HDN_ENDDRAG = ((0-300)-11)
          integer, parameter :: HDN_FILTERCHANGE = ((0-300)-12)
          integer, parameter :: HDN_FILTERBTNCLICK = ((0-300)-13)
          character*15, parameter :: TOOLBARCLASSNAME  = "ToolbarWindow32"
          character*15, parameter :: TOOLBARCLASSNAMEA = "ToolbarWindow32"
    ! 1531 FORTRAN character*15, parameter :: TOOLBARCLASSNAMEW = L"ToolbarWindow32"
          integer, parameter :: CMB_MASKED = #02
          integer, parameter :: TBSTATE_CHECKED = #01
          integer, parameter :: TBSTATE_PRESSED = #02
          integer, parameter :: TBSTATE_ENABLED = #04
          integer, parameter :: TBSTATE_HIDDEN = #08
          integer, parameter :: TBSTATE_INDETERMINATE = #10
          integer, parameter :: TBSTATE_WRAP = #20
          integer, parameter :: TBSTATE_ELLIPSES = #40
          integer, parameter :: TBSTATE_MARKED = #80
          integer, parameter :: TBSTYLE_BUTTON = #0000
          integer, parameter :: TBSTYLE_SEP = #0001
          integer, parameter :: TBSTYLE_CHECK = #0002
          integer, parameter :: TBSTYLE_GROUP = #0004
          integer, parameter :: TBSTYLE_CHECKGROUP = (#0004 .OR. #0002)
          integer, parameter :: TBSTYLE_DROPDOWN = #0008
          integer, parameter :: TBSTYLE_AUTOSIZE = #0010
          integer, parameter :: TBSTYLE_NOPREFIX = #0020
          integer, parameter :: TBSTYLE_TOOLTIPS = #0100
          integer, parameter :: TBSTYLE_WRAPABLE = #0200
          integer, parameter :: TBSTYLE_ALTDRAG = #0400
          integer, parameter :: TBSTYLE_FLAT = #0800
          integer, parameter :: TBSTYLE_LIST = #1000
          integer, parameter :: TBSTYLE_CUSTOMERASE = #2000
          integer, parameter :: TBSTYLE_REGISTERDROP = #4000
          integer, parameter :: TBSTYLE_TRANSPARENT = #8000
          integer, parameter :: TBSTYLE_EX_DRAWDDARROWS = #00000001
          integer, parameter :: BTNS_SHOWTEXT = #0040
          integer, parameter :: BTNS_WHOLEDROPDOWN = #0080
          integer, parameter :: TBSTYLE_EX_MIXEDBUTTONS = #00000008
          integer, parameter :: TBSTYLE_EX_HIDECLIPPEDBUTTONS = #00000010
          integer, parameter :: TBCDRF_NOEDGES = #00010000
          integer, parameter :: TBCDRF_HILITEHOTTRACK = #00020000
          integer, parameter :: TBCDRF_NOOFFSET = #00040000
          integer, parameter :: TBCDRF_NOMARK = #00080000
          integer, parameter :: TBCDRF_NOETCHEDEFFECT = #00100000
          integer, parameter :: TBCDRF_BLENDICON = #00200000
          integer, parameter :: TB_ENABLEBUTTON = (#0400 + 1)
          integer, parameter :: TB_CHECKBUTTON = (#0400 + 2)
          integer, parameter :: TB_PRESSBUTTON = (#0400 + 3)
          integer, parameter :: TB_HIDEBUTTON = (#0400 + 4)
          integer, parameter :: TB_INDETERMINATE = (#0400 + 5)
          integer, parameter :: TB_MARKBUTTON = (#0400 + 6)
          integer, parameter :: TB_ISBUTTONENABLED = (#0400 + 9)
          integer, parameter :: TB_ISBUTTONCHECKED = (#0400 + 10)
          integer, parameter :: TB_ISBUTTONPRESSED = (#0400 + 11)
          integer, parameter :: TB_ISBUTTONHIDDEN = (#0400 + 12)
          integer, parameter :: TB_ISBUTTONINDETERMINATE = (#0400 + 13)
          integer, parameter :: TB_ISBUTTONHIGHLIGHTED = (#0400 + 14)
          integer, parameter :: TB_SETSTATE = (#0400 + 17)
          integer, parameter :: TB_GETSTATE = (#0400 + 18)
          integer, parameter :: TB_ADDBITMAP = (#0400 + 19)
          integer, parameter :: HINST_COMMCTRL = ( -1)
          integer, parameter :: IDB_STD_SMALL_COLOR = 0
          integer, parameter :: IDB_STD_LARGE_COLOR = 1
          integer, parameter :: IDB_VIEW_SMALL_COLOR = 4
          integer, parameter :: IDB_VIEW_LARGE_COLOR = 5
          integer, parameter :: IDB_HIST_SMALL_COLOR = 8
          integer, parameter :: IDB_HIST_LARGE_COLOR = 9
          integer, parameter :: STD_CUT = 0
          integer, parameter :: STD_COPY = 1
          integer, parameter :: STD_PASTE = 2
          integer, parameter :: STD_UNDO = 3
          integer, parameter :: STD_REDOW = 4
          integer, parameter :: STD_DELETE = 5
          integer, parameter :: STD_FILENEW = 6
          integer, parameter :: STD_FILEOPEN = 7
          integer, parameter :: STD_FILESAVE = 8
          integer, parameter :: STD_PRINTPRE = 9
          integer, parameter :: STD_PROPERTIES = 10
          integer, parameter :: STD_HELP = 11
          integer, parameter :: STD_FIND = 12
          integer, parameter :: STD_REPLACE = 13
          integer, parameter :: STD_PRINT = 14
          integer, parameter :: VIEW_LARGEICONS = 0
          integer, parameter :: VIEW_SMALLICONS = 1
          integer, parameter :: VIEW_LIST = 2
          integer, parameter :: VIEW_DETAILS = 3
          integer, parameter :: VIEW_SORTNAME = 4
          integer, parameter :: VIEW_SORTSIZE = 5
          integer, parameter :: VIEW_SORTDATE = 6
          integer, parameter :: VIEW_SORTTYPE = 7
          integer, parameter :: VIEW_PARENTFOLDER = 8
          integer, parameter :: VIEW_NETCONNECT = 9
          integer, parameter :: VIEW_NETDISCONNECT = 10
          integer, parameter :: VIEW_NEWFOLDER = 11
          integer, parameter :: VIEW_VIEWMENU = 12
          integer, parameter :: HIST_BACK = 0
          integer, parameter :: HIST_FORWARD = 1
          integer, parameter :: HIST_FAVORITES = 2
          integer, parameter :: HIST_ADDTOFAVORITES = 3
          integer, parameter :: HIST_VIEWTREE = 4
!to fix
          integer, parameter :: TB_ADDBUTTONS  = (#0400 + 20)
          integer, parameter :: TB_ADDBUTTONSA = (#0400 + 20)
          integer, parameter :: TB_INSERTBUTTON  = (#0400 + 21)
          integer, parameter :: TB_INSERTBUTTONA = (#0400 + 21)
          integer, parameter :: TB_DELETEBUTTON = (#0400 + 22)
          integer, parameter :: TB_GETBUTTON = (#0400 + 23)
          integer, parameter :: TB_BUTTONCOUNT = (#0400 + 24)
          integer, parameter :: TB_COMMANDTOINDEX = (#0400 + 25)
          integer, parameter :: TB_SAVERESTORE = (#0400 + 26)
          integer, parameter :: TB_SAVERESTOREA = (#0400 + 26)
          integer, parameter :: TB_SAVERESTOREW = (#0400 + 76)
          integer, parameter :: TB_CUSTOMIZE = (#0400 + 27)
          integer, parameter :: TB_ADDSTRING = (#0400 + 28)
          integer, parameter :: TB_ADDSTRINGA = (#0400 + 28)
          integer, parameter :: TB_ADDSTRINGW = (#0400 + 77)
          integer, parameter :: TB_GETITEMRECT = (#0400 + 29)
          integer, parameter :: TB_BUTTONSTRUCTSIZE = (#0400 + 30)
          integer, parameter :: TB_SETBUTTONSIZE = (#0400 + 31)
          integer, parameter :: TB_SETBITMAPSIZE = (#0400 + 32)
          integer, parameter :: TB_AUTOSIZE = (#0400 + 33)
          integer, parameter :: TB_GETTOOLTIPS = (#0400 + 35)
          integer, parameter :: TB_SETTOOLTIPS = (#0400 + 36)
          integer, parameter :: TB_SETPARENT = (#0400 + 37)
          integer, parameter :: TB_SETROWS = (#0400 + 39)
          integer, parameter :: TB_GETROWS = (#0400 + 40)
          integer, parameter :: TB_SETCMDID = (#0400 + 42)
          integer, parameter :: TB_CHANGEBITMAP = (#0400 + 43)
          integer, parameter :: TB_GETBITMAP = (#0400 + 44)
          integer, parameter :: TB_GETBUTTONTEXT = (#0400 + 45)
          integer, parameter :: TB_GETBUTTONTEXTA = (#0400 + 45)
          integer, parameter :: TB_GETBUTTONTEXTW = (#0400 + 75)
          integer, parameter :: TB_REPLACEBITMAP = (#0400 + 46)
          integer, parameter :: TB_SETINDENT = (#0400 + 47)
          integer, parameter :: TB_SETIMAGELIST = (#0400 + 48)
          integer, parameter :: TB_GETIMAGELIST = (#0400 + 49)
          integer, parameter :: TB_LOADIMAGES = (#0400 + 50)
          integer, parameter :: TB_GETRECT = (#0400 + 51)
          integer, parameter :: TB_SETHOTIMAGELIST = (#0400 + 52)
          integer, parameter :: TB_GETHOTIMAGELIST = (#0400 + 53)
          integer, parameter :: TB_SETDISABLEDIMAGELIST = (#0400 + 54)
          integer, parameter :: TB_GETDISABLEDIMAGELIST = (#0400 + 55)
          integer, parameter :: TB_SETSTYLE = (#0400 + 56)
          integer, parameter :: TB_GETSTYLE = (#0400 + 57)
          integer, parameter :: TB_GETBUTTONSIZE = (#0400 + 58)
          integer, parameter :: TB_SETBUTTONWIDTH = (#0400 + 59)
          integer, parameter :: TB_SETMAXTEXTROWS = (#0400 + 60)
          integer, parameter :: TB_GETTEXTROWS = (#0400 + 61)
          integer, parameter :: TB_GETOBJECT = (#0400 + 62)
          integer, parameter :: TB_GETHOTITEM = (#0400 + 71)
          integer, parameter :: TB_SETHOTITEM = (#0400 + 72)
          integer, parameter :: TB_SETANCHORHIGHLIGHT = (#0400 + 73)
          integer, parameter :: TB_GETANCHORHIGHLIGHT = (#0400 + 74)
          integer, parameter :: TB_MAPACCELERATORA = (#0400 + 78)
          integer, parameter :: TBIMHT_AFTER = #00000001
          integer, parameter :: TBIMHT_BACKGROUND = #00000002
          integer, parameter :: TB_GETINSERTMARK = (#0400 + 79)
          integer, parameter :: TB_SETINSERTMARK = (#0400 + 80)
          integer, parameter :: TB_INSERTMARKHITTEST = (#0400 + 81)
          integer, parameter :: TB_MOVEBUTTON = (#0400 + 82)
          integer, parameter :: TB_GETMAXSIZE = (#0400 + 83)
          integer, parameter :: TB_SETEXTENDEDSTYLE = (#0400 + 84)
          integer, parameter :: TB_GETEXTENDEDSTYLE = (#0400 + 85)
          integer, parameter :: TB_GETPADDING = (#0400 + 86)
          integer, parameter :: TB_SETPADDING = (#0400 + 87)
          integer, parameter :: TB_SETINSERTMARKCOLOR = (#0400 + 88)
          integer, parameter :: TB_GETINSERTMARKCOLOR = (#0400 + 89)
          integer, parameter :: TB_MAPACCELERATORW = (#0400 + 90)
          integer, parameter :: TBBF_LARGE = #0001
          integer, parameter :: TB_GETBITMAPFLAGS = (#0400 + 41)
          integer, parameter :: TBIF_IMAGE = #00000001
          integer, parameter :: TBIF_TEXT = #00000002
          integer, parameter :: TBIF_STATE = #00000004
          integer, parameter :: TBIF_STYLE = #00000008
          integer, parameter :: TBIF_LPARAM = #00000010
          integer, parameter :: TBIF_COMMAND = #00000020
          integer, parameter :: TBIF_SIZE = #00000040
          integer, parameter :: TBIF_BYINDEX = #80000000
          integer, parameter :: TB_GETBUTTONINFOW = (#0400 + 63)
          integer, parameter :: TB_SETBUTTONINFOW = (#0400 + 64)
          integer, parameter :: TB_GETBUTTONINFOA = (#0400 + 65)
          integer, parameter :: TB_SETBUTTONINFO = (#0400 + 66)
          integer, parameter :: TB_SETBUTTONINFOA = (#0400 + 66)
          integer, parameter :: TB_INSERTBUTTONW = (#0400 + 67)
          integer, parameter :: TB_ADDBUTTONSW = (#0400 + 68)
          integer, parameter :: TB_HITTEST = (#0400 + 69)
          integer, parameter :: TB_SETDRAWTEXTFLAGS = (#0400 + 70)
          integer, parameter :: TB_GETSTRINGW = (#0400 + 91)
          integer, parameter :: TB_GETSTRINGA = (#0400 + 92)
          integer, parameter :: TBN_GETBUTTONINFOA = ((0-700)-0)
          integer, parameter :: TBN_BEGINDRAG = ((0-700)-1)
          integer, parameter :: TBN_ENDDRAG = ((0-700)-2)
          integer, parameter :: TBN_BEGINADJUST = ((0-700)-3)
          integer, parameter :: TBN_ENDADJUST = ((0-700)-4)
          integer, parameter :: TBN_RESET = ((0-700)-5)
          integer, parameter :: TBN_QUERYINSERT = ((0-700)-6)
          integer, parameter :: TBN_QUERYDELETE = ((0-700)-7)
          integer, parameter :: TBN_TOOLBARCHANGE = ((0-700)-8)
          integer, parameter :: TBN_CUSTHELP = ((0-700)-9)
          integer, parameter :: TBN_DROPDOWN = ((0-700) - 10)
          integer, parameter :: TBN_GETOBJECT = ((0-700) - 12)
          integer, parameter :: HICF_OTHER = #00000000
          integer, parameter :: HICF_MOUSE = #00000001
          integer, parameter :: HICF_ARROWKEYS = #00000002
          integer, parameter :: HICF_ACCELERATOR = #00000004
          integer, parameter :: HICF_DUPACCEL = #00000008
          integer, parameter :: HICF_ENTERING = #00000010
          integer, parameter :: HICF_LEAVING = #00000020
          integer, parameter :: HICF_RESELECT = #00000040
          integer, parameter :: HICF_LMOUSE = #00000080
          integer, parameter :: HICF_TOGGLEDROPDOWN = #00000100
          integer, parameter :: TBN_HOTITEMCHANGE = ((0-700) - 13)
          integer, parameter :: TBN_DRAGOUT = ((0-700) - 14)
          integer, parameter :: TBN_DELETINGBUTTON = ((0-700) - 15)
          integer, parameter :: TBN_GETDISPINFO = ((0-700) - 16)
          integer, parameter :: TBN_GETDISPINFOA = ((0-700) - 16)
          integer, parameter :: TBN_GETDISPINFOW = ((0-700) - 17)
          integer, parameter :: TBN_GETINFOTIP = ((0-700) - 18)
          integer, parameter :: TBN_GETINFOTIPA = ((0-700) - 18)
          integer, parameter :: TBN_GETINFOTIPW = ((0-700) - 19)
          integer, parameter :: TBN_GETBUTTONINFOW = ((0-700) - 20)
          integer, parameter :: TBN_RESTORE = ((0-700) - 21)
          integer, parameter :: TBN_SAVE = ((0-700) - 22)
          integer, parameter :: TBN_INITCUSTOMIZE = ((0-700) - 23)
          integer, parameter :: TBNRF_HIDEHELP = #00000001
          integer, parameter :: TBNRF_ENDCUSTOMIZE = #00000002
          integer, parameter :: TBNF_IMAGE = #00000001
          integer, parameter :: TBNF_TEXT = #00000002
          integer, parameter :: TBNF_DI_SETITEM = #10000000
          integer, parameter :: TBDDRET_DEFAULT = 0
          integer, parameter :: TBDDRET_NODEFAULT = 1
          integer, parameter :: TBDDRET_TREATPRESSED = 2
    ! 1976 FORTRAN character*13, parameter :: REBARCLASSNAMEW = L"ReBarWindow32"
          character*13, parameter :: REBARCLASSNAMEA = "ReBarWindow32"
          integer, parameter :: RBIM_IMAGELIST = #00000001
          integer, parameter :: RBS_TOOLTIPS = #0100
          integer, parameter :: RBS_VARHEIGHT = #0200
          integer, parameter :: RBS_BANDBORDERS = #0400
          integer, parameter :: RBS_FIXEDORDER = #0800
          integer, parameter :: RBS_REGISTERDROP = #1000
          integer, parameter :: RBS_AUTOSIZE = #2000
          integer, parameter :: RBS_VERTICALGRIPPER = #4000
          integer, parameter :: RBS_DBLCLKTOGGLE = #8000
          integer, parameter :: RBBS_BREAK = #00000001
          integer, parameter :: RBBS_FIXEDSIZE = #00000002
          integer, parameter :: RBBS_CHILDEDGE = #00000004
          integer, parameter :: RBBS_HIDDEN = #00000008
          integer, parameter :: RBBS_NOVERT = #00000010
          integer, parameter :: RBBS_FIXEDBMP = #00000020
          integer, parameter :: RBBS_VARIABLEHEIGHT = #00000040
          integer, parameter :: RBBS_GRIPPERALWAYS = #00000080
          integer, parameter :: RBBS_NOGRIPPER = #00000100
          integer, parameter :: RBBS_USECHEVRON = #00000200
          integer, parameter :: RBBS_HIDETITLE = #00000400
          integer, parameter :: RBBIM_STYLE = #00000001
          integer, parameter :: RBBIM_COLORS = #00000002
          integer, parameter :: RBBIM_TEXT = #00000004
          integer, parameter :: RBBIM_IMAGE = #00000008
          integer, parameter :: RBBIM_CHILD = #00000010
          integer, parameter :: RBBIM_CHILDSIZE = #00000020
          integer, parameter :: RBBIM_SIZE = #00000040
          integer, parameter :: RBBIM_BACKGROUND = #00000080
          integer, parameter :: RBBIM_ID = #00000100
          integer, parameter :: RBBIM_IDEALSIZE = #00000200
          integer, parameter :: RBBIM_LPARAM = #00000400
          integer, parameter :: RBBIM_HEADERSIZE = #00000800
    ! 2039 FORTRAN integer, parameter :: REBARBANDINFOA_V3_SIZE = (((int)((LPBYTE)(.AND.((REBARBANDINFOA*)0)->wID) - ((LPBYTE)((REBARBANDINFOA*)0)))) + sizeof(((REBARBANDINFOA*)0)->wID))
    ! 2040 FORTRAN integer, parameter :: REBARBANDINFOW_V3_SIZE = (((int)((LPBYTE)(.AND.((REBARBANDINFOW*)0)->wID) - ((LPBYTE)((REBARBANDINFOW*)0)))) + sizeof(((REBARBANDINFOW*)0)->wID))
          integer, parameter :: RB_INSERTBANDA = (#0400 + 1)
          integer, parameter :: RB_DELETEBAND = (#0400 + 2)
          integer, parameter :: RB_GETBARINFO = (#0400 + 3)
          integer, parameter :: RB_SETBARINFO = (#0400 + 4)
          integer, parameter :: RB_SETBANDINFOA = (#0400 + 6)
          integer, parameter :: RB_SETPARENT = (#0400 + 7)
          integer, parameter :: RB_HITTEST = (#0400 + 8)
          integer, parameter :: RB_GETRECT = (#0400 + 9)
          integer, parameter :: RB_INSERTBANDW = (#0400 + 10)
          integer, parameter :: RB_SETBANDINFOW = (#0400 + 11)
          integer, parameter :: RB_GETBANDCOUNT = (#0400 + 12)
          integer, parameter :: RB_GETROWCOUNT = (#0400 + 13)
          integer, parameter :: RB_GETROWHEIGHT = (#0400 + 14)
          integer, parameter :: RB_IDTOINDEX = (#0400 + 16)
          integer, parameter :: RB_GETTOOLTIPS = (#0400 + 17)
          integer, parameter :: RB_SETTOOLTIPS = (#0400 + 18)
          integer, parameter :: RB_SETBKCOLOR = (#0400 + 19)
          integer, parameter :: RB_GETBKCOLOR = (#0400 + 20)
          integer, parameter :: RB_SETTEXTCOLOR = (#0400 + 21)
          integer, parameter :: RB_GETTEXTCOLOR = (#0400 + 22)
          integer, parameter :: RB_SIZETORECT = (#0400 + 23)
          integer, parameter :: RB_BEGINDRAG = (#0400 + 24)
          integer, parameter :: RB_ENDDRAG = (#0400 + 25)
          integer, parameter :: RB_DRAGMOVE = (#0400 + 26)
          integer, parameter :: RB_GETBARHEIGHT = (#0400 + 27)
          integer, parameter :: RB_GETBANDINFOW = (#0400 + 28)
          integer, parameter :: RB_GETBANDINFOA = (#0400 + 29)
          integer, parameter :: RB_MINIMIZEBAND = (#0400 + 30)
          integer, parameter :: RB_MAXIMIZEBAND = (#0400 + 31)
          integer, parameter :: RB_GETDROPTARGET = ((#2000 + 4))
          integer, parameter :: RB_GETBANDBORDERS = (#0400 + 34)
          integer, parameter :: RB_SHOWBAND = (#0400 + 35)
          integer, parameter :: RB_SETPALETTE = (#0400 + 37)
          integer, parameter :: RB_GETPALETTE = (#0400 + 38)
          integer, parameter :: RB_MOVEBAND = (#0400 + 39)
          integer, parameter :: RB_PUSHCHEVRON = (#0400 + 43)
          integer, parameter :: RBN_HEIGHTCHANGE = ((0-831) - 0)
          integer, parameter :: RBN_GETOBJECT = ((0-831) - 1)
          integer, parameter :: RBN_LAYOUTCHANGED = ((0-831) - 2)
          integer, parameter :: RBN_AUTOSIZE = ((0-831) - 3)
          integer, parameter :: RBN_BEGINDRAG = ((0-831) - 4)
          integer, parameter :: RBN_ENDDRAG = ((0-831) - 5)
          integer, parameter :: RBN_DELETINGBAND = ((0-831) - 6)
          integer, parameter :: RBN_DELETEDBAND = ((0-831) - 7)
          integer, parameter :: RBN_CHILDSIZE = ((0-831) - 8)
          integer, parameter :: RBN_CHEVRONPUSHED = ((0-831) - 10)
          integer, parameter :: RBN_MINMAX = ((0-831) - 21)
          integer, parameter :: RBNM_ID = #00000001
          integer, parameter :: RBNM_STYLE = #00000002
          integer, parameter :: RBNM_LPARAM = #00000004
          integer, parameter :: RBHT_NOWHERE = #0001
          integer, parameter :: RBHT_CAPTION = #0002
          integer, parameter :: RBHT_CLIENT = #0003
          integer, parameter :: RBHT_GRABBER = #0004
          integer, parameter :: RBHT_CHEVRON = #0008
    ! 2158 FORTRAN character*16, parameter :: TOOLTIPS_CLASSW = L"tooltips_class32"
          character*16, parameter :: TOOLTIPS_CLASSA = "tooltips_class32"
    ! 2160 FORTRAN integer, parameter :: TTTOOLINFOA_V1_SIZE = (((int)((LPBYTE)(.AND.((TTTOOLINFOA*)0)->lpszText) - ((LPBYTE)((TTTOOLINFOA*)0)))) + sizeof(((TTTOOLINFOA*)0)->lpszText))
    ! 2161 FORTRAN integer, parameter :: TTTOOLINFOW_V1_SIZE = (((int)((LPBYTE)(.AND.((TTTOOLINFOW*)0)->lpszText) - ((LPBYTE)((TTTOOLINFOW*)0)))) + sizeof(((TTTOOLINFOW*)0)->lpszText))
          integer, parameter :: TTS_ALWAYSTIP = #01
          integer, parameter :: TTS_NOPREFIX = #02
          integer, parameter :: TTS_NOANIMATE = #10
          integer, parameter :: TTS_NOFADE = #20
          integer, parameter :: TTS_BALLOON = #40
          integer, parameter :: TTF_IDISHWND = #0001
          integer, parameter :: TTF_CENTERTIP = #0002
          integer, parameter :: TTF_RTLREADING = #0004
          integer, parameter :: TTF_SUBCLASS = #0010
          integer, parameter :: TTF_TRACK = #0020
          integer, parameter :: TTF_ABSOLUTE = #0080
          integer, parameter :: TTF_TRANSPARENT = #0100
          integer, parameter :: TTF_DI_SETITEM = #8000
          integer, parameter :: TTDT_AUTOMATIC = 0
          integer, parameter :: TTDT_RESHOW = 1
          integer, parameter :: TTDT_AUTOPOP = 2
          integer, parameter :: TTDT_INITIAL = 3
          integer, parameter :: TTI_NONE = 0
          integer, parameter :: TTI_INFO = 1
          integer, parameter :: TTI_WARNING = 2
          integer, parameter :: TTI_ERROR = 3
          integer, parameter :: TTM_ACTIVATE = (#0400 + 1)
          integer, parameter :: TTM_SETDELAYTIME = (#0400 + 3)
!to fix
          integer, parameter :: TTM_ADDTOOL = (#0400 + 4)
          integer, parameter :: TTM_ADDTOOLA = (#0400 + 4)
          integer, parameter :: TTM_ADDTOOLW = (#0400 + 50)
          integer, parameter :: TTM_DELTOOL = (#0400 + 5)
          integer, parameter :: TTM_DELTOOLA = (#0400 + 5)
          integer, parameter :: TTM_DELTOOLW = (#0400 + 51)
          integer, parameter :: TTM_NEWTOOLRECT = (#0400 + 6)
          integer, parameter :: TTM_NEWTOOLRECTA = (#0400 + 6)
          integer, parameter :: TTM_NEWTOOLRECTW = (#0400 + 52)
          integer, parameter :: TTM_RELAYEVENT = (#0400 + 7)
          integer, parameter :: TTM_GETTOOLINFO = (#0400 + 8)
          integer, parameter :: TTM_GETTOOLINFOA = (#0400 + 8)
          integer, parameter :: TTM_GETTOOLINFOW = (#0400 + 53)
          integer, parameter :: TTM_SETTOOLINFO = (#0400 + 9)
          integer, parameter :: TTM_SETTOOLINFOA = (#0400 + 9)
          integer, parameter :: TTM_SETTOOLINFOW = (#0400 + 54)
          integer, parameter :: TTM_HITTEST = (#0400 +10)
          integer, parameter :: TTM_HITTESTA = (#0400 +10)
          integer, parameter :: TTM_HITTESTW = (#0400 +55)
          integer, parameter :: TTM_GETTEXT = (#0400 +11)
          integer, parameter :: TTM_GETTEXTA = (#0400 +11)
          integer, parameter :: TTM_GETTEXTW = (#0400 +56)
          integer, parameter :: TTM_UPDATETIPTEXT = (#0400 +12)
          integer, parameter :: TTM_UPDATETIPTEXTA = (#0400 +12)
          integer, parameter :: TTM_UPDATETIPTEXTW = (#0400 +57)
!end to fix
          integer, parameter :: TTM_GETTOOLCOUNT = (#0400 +13)
          integer, parameter :: TTM_ENUMTOOLS = (#0400 +14)
          integer, parameter :: TTM_ENUMTOOLSA = (#0400 +14)
          integer, parameter :: TTM_ENUMTOOLSW = (#0400 +58)
          integer, parameter :: TTM_GETCURRENTTOOL = (#0400 + 15)
          integer, parameter :: TTM_GETCURRENTTOOLA = (#0400 + 15)
          integer, parameter :: TTM_GETCURRENTTOOLW = (#0400 + 59)
          integer, parameter :: TTM_WINDOWFROMPOINT = (#0400 + 16)
          integer, parameter :: TTM_TRACKACTIVATE = (#0400 + 17)
          integer, parameter :: TTM_TRACKPOSITION = (#0400 + 18)
          integer, parameter :: TTM_SETTIPBKCOLOR = (#0400 + 19)
          integer, parameter :: TTM_SETTIPTEXTCOLOR = (#0400 + 20)
          integer, parameter :: TTM_GETDELAYTIME = (#0400 + 21)
          integer, parameter :: TTM_GETTIPBKCOLOR = (#0400 + 22)
          integer, parameter :: TTM_GETTIPTEXTCOLOR = (#0400 + 23)
          integer, parameter :: TTM_SETMAXTIPWIDTH = (#0400 + 24)
          integer, parameter :: TTM_GETMAXTIPWIDTH = (#0400 + 25)
          integer, parameter :: TTM_SETMARGIN = (#0400 + 26)
          integer, parameter :: TTM_GETMARGIN = (#0400 + 27)
          integer, parameter :: TTM_POP = (#0400 + 28)
          integer, parameter :: TTM_UPDATE = (#0400 + 29)
          integer, parameter :: TTM_GETBUBBLESIZE = (#0400 + 30)
          integer, parameter :: TTM_ADJUSTRECT = (#0400 + 31)
          integer, parameter :: TTM_SETTITLE = (#0400 + 32)
          integer, parameter :: TTM_SETTITLEA = (#0400 + 32)
          integer, parameter :: TTM_SETTITLEW = (#0400 + 33)
!to fix
!          integer, parameter :: TTN_GETDISPINFO = ((0-520) - 0)
          integer, parameter :: TTN_GETDISPINFOA = ((0-520) - 0)
          integer, parameter :: TTN_GETDISPINFOW = ((0-520) - 10)
!          integer, parameter :: TTN_SHOW = ((0-520) - 1)
!          integer, parameter :: TTN_POP = ((0-520) - 2)
    ! 2263 FORTRAN integer, parameter :: NMTTDISPINFOA_V1_SIZE = (((int)((LPBYTE)(.AND.((NMTTDISPINFOA*)0)->uFlags) - ((LPBYTE)((NMTTDISPINFOA*)0)))) + sizeof(((NMTTDISPINFOA*)0)->uFlags))
    ! 2264 FORTRAN integer, parameter :: NMTTDISPINFOW_V1_SIZE = (((int)((LPBYTE)(.AND.((NMTTDISPINFOW*)0)->uFlags) - ((LPBYTE)((NMTTDISPINFOW*)0)))) + sizeof(((NMTTDISPINFOW*)0)->uFlags))
          integer, parameter :: SBARS_SIZEGRIP = #0100
          integer, parameter :: SBARS_TOOLTIPS = #0800
          integer, parameter :: SBT_TOOLTIPS = #0800
!to fix
          character*18, parameter :: STATUSCLASSNAME = "msctls_statusbar32"
          character*18, parameter :: STATUSCLASSNAMEA = "msctls_statusbar32"
    ! 2364 FORTRAN character*18, parameter :: STATUSCLASSNAMEW = L"msctls_statusbar32"
          integer, parameter :: SB_SETTEXT = (#0400+1)
          integer, parameter :: SB_SETTEXTA = (#0400+1)
          integer, parameter :: SB_SETTEXTW = (#0400+11)
          integer, parameter :: SB_GETTEXT = (#0400+2)
          integer, parameter :: SB_GETTEXTA = (#0400+2)
          integer, parameter :: SB_GETTEXTW = (#0400+13)
          integer, parameter :: SB_GETTEXTLENGTH = (#0400+3)
          integer, parameter :: SB_GETTEXTLENGTHA = (#0400+3)
          integer, parameter :: SB_GETTEXTLENGTHW = (#0400+12)
!end to fix
          integer, parameter :: SB_SETPARTS = (#0400+4)
          integer, parameter :: SB_GETPARTS = (#0400+6)
          integer, parameter :: SB_GETBORDERS = (#0400+7)
          integer, parameter :: SB_SETMINHEIGHT = (#0400+8)
          integer, parameter :: SB_SIMPLE = (#0400+9)
          integer, parameter :: SB_GETRECT = (#0400+10)
          integer, parameter :: SB_ISSIMPLE = (#0400+14)
          integer, parameter :: SB_SETICON = (#0400+15)
!to fix
          integer, parameter :: SB_SETTIPTEXT = (#0400+16)
          integer, parameter :: SB_SETTIPTEXTA = (#0400+16)
          integer, parameter :: SB_SETTIPTEXTW = (#0400+17)
          integer, parameter :: SB_GETTIPTEXT = (#0400+18)
          integer, parameter :: SB_GETTIPTEXTA = (#0400+18)
          integer, parameter :: SB_GETTIPTEXTW = (#0400+19)
!end to fix
          integer, parameter :: SB_GETICON = (#0400+20)
          integer, parameter :: SBT_OWNERDRAW = #1000
          integer, parameter :: SBT_NOBORDERS = #0100
          integer, parameter :: SBT_POPOUT = #0200
          integer, parameter :: SBT_RTLREADING = #0400
          integer, parameter :: SBT_NOTABPARSING = #0800
          integer, parameter :: SBN_SIMPLEMODECHANGE = ((0-880) - 0)
          integer, parameter :: SB_SIMPLEID = #00ff
          character*17, parameter :: TRACKBAR_CLASS = "msctls_trackbar32"
          character*17, parameter :: TRACKBAR_CLASSA = "msctls_trackbar32"
    ! 2453 FORTRAN character*17, parameter :: TRACKBAR_CLASSW = L"msctls_trackbar32"
          integer, parameter :: TBS_AUTOTICKS = #0001
          integer, parameter :: TBS_VERT = #0002
          integer, parameter :: TBS_HORZ = #0000
          integer, parameter :: TBS_TOP = #0004
          integer, parameter :: TBS_BOTTOM = #0000
          integer, parameter :: TBS_LEFT = #0004
          integer, parameter :: TBS_RIGHT = #0000
          integer, parameter :: TBS_BOTH = #0008
          integer, parameter :: TBS_NOTICKS = #0010
          integer, parameter :: TBS_ENABLESELRANGE = #0020
          integer, parameter :: TBS_FIXEDLENGTH = #0040
          integer, parameter :: TBS_NOTHUMB = #0080
          integer, parameter :: TBS_TOOLTIPS = #0100
          integer, parameter :: TBS_REVERSED = #0200
          integer, parameter :: TBM_GETPOS = (#0400)
          integer, parameter :: TBM_GETRANGEMIN = (#0400+1)
          integer, parameter :: TBM_GETRANGEMAX = (#0400+2)
          integer, parameter :: TBM_GETTIC = (#0400+3)
          integer, parameter :: TBM_SETTIC = (#0400+4)
          integer, parameter :: TBM_SETPOS = (#0400+5)
          integer, parameter :: TBM_SETRANGE = (#0400+6)
          integer, parameter :: TBM_SETRANGEMIN = (#0400+7)
          integer, parameter :: TBM_SETRANGEMAX = (#0400+8)
          integer, parameter :: TBM_CLEARTICS = (#0400+9)
          integer, parameter :: TBM_SETSEL = (#0400+10)
          integer, parameter :: TBM_SETSELSTART = (#0400+11)
          integer, parameter :: TBM_SETSELEND = (#0400+12)
          integer, parameter :: TBM_GETPTICS = (#0400+14)
          integer, parameter :: TBM_GETTICPOS = (#0400+15)
          integer, parameter :: TBM_GETNUMTICS = (#0400+16)
          integer, parameter :: TBM_GETSELSTART = (#0400+17)
          integer, parameter :: TBM_GETSELEND = (#0400+18)
          integer, parameter :: TBM_CLEARSEL = (#0400+19)
          integer, parameter :: TBM_SETTICFREQ = (#0400+20)
          integer, parameter :: TBM_SETPAGESIZE = (#0400+21)
          integer, parameter :: TBM_GETPAGESIZE = (#0400+22)
          integer, parameter :: TBM_SETLINESIZE = (#0400+23)
          integer, parameter :: TBM_GETLINESIZE = (#0400+24)
          integer, parameter :: TBM_GETTHUMBRECT = (#0400+25)
          integer, parameter :: TBM_GETCHANNELRECT = (#0400+26)
          integer, parameter :: TBM_SETTHUMBLENGTH = (#0400+27)
          integer, parameter :: TBM_GETTHUMBLENGTH = (#0400+28)
          integer, parameter :: TBM_SETTOOLTIPS = (#0400+29)
          integer, parameter :: TBM_GETTOOLTIPS = (#0400+30)
          integer, parameter :: TBM_SETTIPSIDE = (#0400+31)
          integer, parameter :: TBTS_TOP = 0
          integer, parameter :: TBTS_LEFT = 1
          integer, parameter :: TBTS_BOTTOM = 2
          integer, parameter :: TBTS_RIGHT = 3
          integer, parameter :: TBM_SETBUDDY = (#0400+32)
          integer, parameter :: TBM_GETBUDDY = (#0400+33)
          integer, parameter :: TB_LINEUP = 0
          integer, parameter :: TB_LINEDOWN = 1
          integer, parameter :: TB_PAGEUP = 2
          integer, parameter :: TB_PAGEDOWN = 3
          integer, parameter :: TB_THUMBPOSITION = 4
          integer, parameter :: TB_THUMBTRACK = 5
          integer, parameter :: TB_TOP = 6
          integer, parameter :: TB_BOTTOM = 7
          integer, parameter :: TB_ENDTRACK = 8
          integer, parameter :: TBCD_TICS = #0001
          integer, parameter :: TBCD_THUMB = #0002
          integer, parameter :: TBCD_CHANNEL = #0003
          integer, parameter :: DL_BEGINDRAG = (#0400+133)
          integer, parameter :: DL_DRAGGING = (#0400+134)
          integer, parameter :: DL_DROPPED = (#0400+135)
          integer, parameter :: DL_CANCELDRAG = (#0400+136)
          integer, parameter :: DL_CURSORSET = 0
          integer, parameter :: DL_STOPCURSOR = 1
          integer, parameter :: DL_COPYCURSOR = 2
          integer, parameter :: DL_MOVECURSOR = 3
          character*20, parameter :: DRAGLISTMSGSTRING = "commctrl_DragListMsg"
          character*15, parameter :: UPDOWN_CLASS = "msctls_updown32"
          character*15, parameter :: UPDOWN_CLASSA = "msctls_updown32"
    ! 2582 FORTRAN character*15, parameter :: UPDOWN_CLASSW = L"msctls_updown32"
          integer, parameter :: UD_MAXVAL = #7fff
          integer, parameter :: UD_MINVAL = (-#7fff)
          integer, parameter :: UDS_WRAP = #0001
          integer, parameter :: UDS_SETBUDDYINT = #0002
          integer, parameter :: UDS_ALIGNRIGHT = #0004
          integer, parameter :: UDS_ALIGNLEFT = #0008
          integer, parameter :: UDS_AUTOBUDDY = #0010
          integer, parameter :: UDS_ARROWKEYS = #0020
          integer, parameter :: UDS_HORZ = #0040
          integer, parameter :: UDS_NOTHOUSANDS = #0080
          integer, parameter :: UDS_HOTTRACK = #0100
          integer, parameter :: UDM_SETRANGE = (#0400+101)
          integer, parameter :: UDM_GETRANGE = (#0400+102)
          integer, parameter :: UDM_SETPOS = (#0400+103)
          integer, parameter :: UDM_GETPOS = (#0400+104)
          integer, parameter :: UDM_SETBUDDY = (#0400+105)
          integer, parameter :: UDM_GETBUDDY = (#0400+106)
          integer, parameter :: UDM_SETACCEL = (#0400+107)
          integer, parameter :: UDM_GETACCEL = (#0400+108)
          integer, parameter :: UDM_SETBASE = (#0400+109)
          integer, parameter :: UDM_GETBASE = (#0400+110)
          integer, parameter :: UDM_SETRANGE32 = (#0400+111)
          integer, parameter :: UDM_GETRANGE32 = (#0400+112)
          integer, parameter :: UDM_SETPOS32 = (#0400+113)
          integer, parameter :: UDM_GETPOS32 = (#0400+114)
          integer, parameter :: UDN_DELTAPOS = ((0-721) - 1)
          character*17, parameter :: PROGRESS_CLASS = "msctls_progress32"
          character*17, parameter :: PROGRESS_CLASSA = "msctls_progress32"
    ! 2657 FORTRAN character*17, parameter :: PROGRESS_CLASSW = L"msctls_progress32"
          integer, parameter :: PBS_SMOOTH = #01
          integer, parameter :: PBS_VERTICAL = #04
          integer, parameter :: PBM_SETRANGE = (#0400+1)
          integer, parameter :: PBM_SETPOS = (#0400+2)
          integer, parameter :: PBM_DELTAPOS = (#0400+3)
          integer, parameter :: PBM_SETSTEP = (#0400+4)
          integer, parameter :: PBM_STEPIT = (#0400+5)
          integer, parameter :: PBM_SETRANGE32 = (#0400+6)
          integer, parameter :: PBM_GETRANGE = (#0400+7)
          integer, parameter :: PBM_GETPOS = (#0400+8)
          integer, parameter :: PBM_SETBARCOLOR = (#0400+9)
          integer, parameter :: HOTKEYF_SHIFT = #01
          integer, parameter :: HOTKEYF_CONTROL = #02
          integer, parameter :: HOTKEYF_ALT = #04
          integer, parameter :: HOTKEYF_EXT = #08
          integer, parameter :: HKCOMB_NONE = #0001
          integer, parameter :: HKCOMB_S = #0002
          integer, parameter :: HKCOMB_C = #0004
          integer, parameter :: HKCOMB_A = #0008
          integer, parameter :: HKCOMB_SC = #0010
          integer, parameter :: HKCOMB_SA = #0020
          integer, parameter :: HKCOMB_CA = #0040
          integer, parameter :: HKCOMB_SCA = #0080
          integer, parameter :: HKM_SETHOTKEY = (#0400+1)
          integer, parameter :: HKM_GETHOTKEY = (#0400+2)
          integer, parameter :: HKM_SETRULES = (#0400+3)
          character*15, parameter :: HOTKEY_CLASS = "msctls_hotkey32"
          character*15, parameter :: HOTKEY_CLASSA = "msctls_hotkey32"
    ! 2690 FORTRAN character*15, parameter :: HOTKEY_CLASSW = L"msctls_hotkey32"
          integer, parameter :: CCS_TOP = #00000001
          integer, parameter :: CCS_NOMOVEY = #00000002
          integer, parameter :: CCS_BOTTOM = #00000003
          integer, parameter :: CCS_NORESIZE = #00000004
          integer, parameter :: CCS_NOPARENTALIGN = #00000008
          integer, parameter :: CCS_ADJUSTABLE = #00000020
          integer, parameter :: CCS_NODIVIDER = #00000040
          integer, parameter :: CCS_VERT = #00000080
          integer, parameter :: CCS_LEFT = (#00000080 .OR. #00000001)
          integer, parameter :: CCS_RIGHT = (#00000080 .OR. #00000003)
          integer, parameter :: CCS_NOMOVEX = (#00000080 .OR. #00000002)
          character*13, parameter :: WC_LISTVIEW = "SysListView32"
          character*13, parameter :: WC_LISTVIEWA = "SysListView32"
    ! 2703 FORTRAN character*13, parameter :: WC_LISTVIEWW = L"SysListView32"
          integer, parameter :: LVS_ICON = #0000
          integer, parameter :: LVS_REPORT = #0001
          integer, parameter :: LVS_SMALLICON = #0002
          integer, parameter :: LVS_LIST = #0003
          integer, parameter :: LVS_TYPEMASK = #0003
          integer, parameter :: LVS_SINGLESEL = #0004
          integer, parameter :: LVS_SHOWSELALWAYS = #0008
          integer, parameter :: LVS_SORTASCENDING = #0010
          integer, parameter :: LVS_SORTDESCENDING = #0020
          integer, parameter :: LVS_SHAREIMAGELISTS = #0040
          integer, parameter :: LVS_NOLABELWRAP = #0080
          integer, parameter :: LVS_AUTOARRANGE = #0100
          integer, parameter :: LVS_EDITLABELS = #0200
          integer, parameter :: LVS_OWNERDATA = #1000
          integer, parameter :: LVS_NOSCROLL = #2000
          integer, parameter :: LVS_TYPESTYLEMASK = #fc00
          integer, parameter :: LVS_ALIGNTOP = #0000
          integer, parameter :: LVS_ALIGNLEFT = #0800
          integer, parameter :: LVS_ALIGNMASK = #0c00
          integer, parameter :: LVS_OWNERDRAWFIXED = #0400
          integer, parameter :: LVS_NOCOLUMNHEADER = #4000
          integer, parameter :: LVS_NOSORTHEADER = #8000
          integer, parameter :: LVM_GETBKCOLOR = (#1000 + 0)
          integer, parameter :: LVM_SETBKCOLOR = (#1000 + 1)
          integer, parameter :: LVM_GETIMAGELIST = (#1000 + 2)
          integer, parameter :: LVSIL_NORMAL = 0
          integer, parameter :: LVSIL_SMALL = 1
          integer, parameter :: LVSIL_STATE = 2
          integer, parameter :: LVM_SETIMAGELIST = (#1000 + 3)
          integer, parameter :: LVM_GETITEMCOUNT = (#1000 + 4)
          integer, parameter :: LVIF_TEXT = #0001
          integer, parameter :: LVIF_IMAGE = #0002
          integer, parameter :: LVIF_PARAM = #0004
          integer, parameter :: LVIF_STATE = #0008
          integer, parameter :: LVIF_INDENT = #0010
          integer, parameter :: LVIF_NORECOMPUTE = #0800
          integer, parameter :: LVIS_FOCUSED = #0001
          integer, parameter :: LVIS_SELECTED = #0002
          integer, parameter :: LVIS_CUT = #0004
          integer, parameter :: LVIS_DROPHILITED = #0008
          integer, parameter :: LVIS_ACTIVATING = #0020
          integer, parameter :: LVIS_OVERLAYMASK = #0F00
          integer, parameter :: LVIS_STATEIMAGEMASK = #F000
          integer, parameter :: I_INDENTCALLBACK = (-1)
    ! 2756 FORTRAN integer, parameter :: LVITEMA_V1_SIZE = (((int)((LPBYTE)(.AND.((LVITEMA*)0)->lParam) - ((LPBYTE)((LVITEMA*)0)))) + sizeof(((LVITEMA*)0)->lParam))
    ! 2757 FORTRAN integer, parameter :: LVITEMW_V1_SIZE = (((int)((LPBYTE)(.AND.((LVITEMW*)0)->lParam) - ((LPBYTE)((LVITEMW*)0)))) + sizeof(((LVITEMW*)0)->lParam))
          integer, parameter :: LPSTR_TEXTCALLBACKW = ( -1)
          integer, parameter :: LPSTR_TEXTCALLBACKA = ( -1)
          integer, parameter :: I_IMAGECALLBACK = (-1)
          integer, parameter :: I_IMAGENONE = (-2)
          integer, parameter :: LVM_GETITEM = (#1000 + 5)
          integer, parameter :: LVM_GETITEMA = (#1000 + 5)
          integer, parameter :: LVM_GETITEMW = (#1000 + 75)
          integer, parameter :: LVM_SETITEM = (#1000 + 6)
          integer, parameter :: LVM_SETITEMA = (#1000 + 6)
          integer, parameter :: LVM_SETITEMW = (#1000 + 76)
          integer, parameter :: LVM_INSERTITEM = (#1000 + 7)
          integer, parameter :: LVM_INSERTITEMA = (#1000 + 7)
          integer, parameter :: LVM_INSERTITEMW = (#1000 + 77)
          integer, parameter :: LVM_DELETEITEM = (#1000 + 8)
          integer, parameter :: LVM_DELETEALLITEMS = (#1000 + 9)
          integer, parameter :: LVM_GETCALLBACKMASK = (#1000 + 10)
          integer, parameter :: LVM_SETCALLBACKMASK = (#1000 + 11)
          integer, parameter :: LVNI_ALL = #0000
          integer, parameter :: LVNI_FOCUSED = #0001
          integer, parameter :: LVNI_SELECTED = #0002
          integer, parameter :: LVNI_CUT = #0004
          integer, parameter :: LVNI_DROPHILITED = #0008
          integer, parameter :: LVNI_ABOVE = #0100
          integer, parameter :: LVNI_BELOW = #0200
          integer, parameter :: LVNI_TOLEFT = #0400
          integer, parameter :: LVNI_TORIGHT = #0800
          integer, parameter :: LVM_GETNEXTITEM = (#1000 + 12)
          integer, parameter :: LVFI_PARAM = #0001
          integer, parameter :: LVFI_STRING = #0002
          integer, parameter :: LVFI_PARTIAL = #0008
          integer, parameter :: LVFI_WRAP = #0020
          integer, parameter :: LVFI_NEARESTXY = #0040
          integer, parameter :: LVM_FINDITEM = (#1000 + 13)
          integer, parameter :: LVM_FINDITEMA = (#1000 + 13)
          integer, parameter :: LVM_FINDITEMW = (#1000 + 83)
          integer, parameter :: LVIR_BOUNDS = 0
          integer, parameter :: LVIR_ICON = 1
          integer, parameter :: LVIR_LABEL = 2
          integer, parameter :: LVIR_SELECTBOUNDS = 3
          integer, parameter :: LVM_GETITEMRECT = (#1000 + 14)
          integer, parameter :: LVM_SETITEMPOSITION = (#1000 + 15)
          integer, parameter :: LVM_GETITEMPOSITION = (#1000 + 16)
          integer, parameter :: LVM_GETSTRINGWIDTH = (#1000 + 17)
          integer, parameter :: LVM_GETSTRINGWIDTHA = (#1000 + 17)
          integer, parameter :: LVM_GETSTRINGWIDTHW = (#1000 + 87)
          integer, parameter :: LVHT_NOWHERE = #0001
          integer, parameter :: LVHT_ONITEMICON = #0002
          integer, parameter :: LVHT_ONITEMLABEL = #0004
          integer, parameter :: LVHT_ONITEMSTATEICON = #0008
          integer, parameter :: LVHT_ONITEM = (#0002 .OR. #0004 .OR. #0008)
          integer, parameter :: LVHT_ABOVE = #0008
          integer, parameter :: LVHT_BELOW = #0010
          integer, parameter :: LVHT_TORIGHT = #0020
          integer, parameter :: LVHT_TOLEFT = #0040
    ! 2862 FORTRAN integer, parameter :: LVHITTESTINFO_V1_SIZE = (((int)((LPBYTE)(.AND.((LVHITTESTINFO*)0)->iItem) - ((LPBYTE)((LVHITTESTINFO*)0)))) + sizeof(((LVHITTESTINFO*)0)->iItem))
          integer, parameter :: LVM_HITTEST = (#1000 + 18)
          integer, parameter :: LVM_ENSUREVISIBLE = (#1000 + 19)
          integer, parameter :: LVM_SCROLL = (#1000 + 20)
          integer, parameter :: LVM_REDRAWITEMS = (#1000 + 21)
          integer, parameter :: LVA_DEFAULT = #0000
          integer, parameter :: LVA_ALIGNLEFT = #0001
          integer, parameter :: LVA_ALIGNTOP = #0002
          integer, parameter :: LVA_SNAPTOGRID = #0005
          integer, parameter :: LVM_ARRANGE = (#1000 + 22)
          integer, parameter :: LVM_EDITLABEL = (#1000 + 23)
          integer, parameter :: LVM_EDITLABELA = (#1000 + 23)
          integer, parameter :: LVM_EDITLABELW = (#1000 + 118)
          integer, parameter :: LVM_GETEDITCONTROL = (#1000 + 24)
    ! 2889 FORTRAN integer, parameter :: LVCOLUMNA_V1_SIZE = (((int)((LPBYTE)(.AND.((LVCOLUMNA*)0)->iSubItem) - ((LPBYTE)((LVCOLUMNA*)0)))) + sizeof(((LVCOLUMNA*)0)->iSubItem))
    ! 2890 FORTRAN integer, parameter :: LVCOLUMNW_V1_SIZE = (((int)((LPBYTE)(.AND.((LVCOLUMNW*)0)->iSubItem) - ((LPBYTE)((LVCOLUMNW*)0)))) + sizeof(((LVCOLUMNW*)0)->iSubItem))
          integer, parameter :: LVCF_FMT = #0001
          integer, parameter :: LVCF_WIDTH = #0002
          integer, parameter :: LVCF_TEXT = #0004
          integer, parameter :: LVCF_SUBITEM = #0008
          integer, parameter :: LVCF_IMAGE = #0010
          integer, parameter :: LVCF_ORDER = #0020
          integer, parameter :: LVCFMT_LEFT = #0000
          integer, parameter :: LVCFMT_RIGHT = #0001
          integer, parameter :: LVCFMT_CENTER = #0002
          integer, parameter :: LVCFMT_JUSTIFYMASK = #0003
          integer, parameter :: LVCFMT_IMAGE = #0800
          integer, parameter :: LVCFMT_BITMAP_ON_RIGHT = #1000
          integer, parameter :: LVCFMT_COL_HAS_IMAGES = #8000
          integer, parameter :: LVM_GETCOLUMN = (#1000 + 25)
          integer, parameter :: LVM_GETCOLUMNA = (#1000 + 25)
          integer, parameter :: LVM_GETCOLUMNW = (#1000 + 95)
          integer, parameter :: LVM_SETCOLUMN = (#1000 + 26)
          integer, parameter :: LVM_SETCOLUMNA = (#1000 + 26)
          integer, parameter :: LVM_SETCOLUMNW = (#1000 + 96)
          integer, parameter :: LVM_INSERTCOLUMN = (#1000 + 27)
          integer, parameter :: LVM_INSERTCOLUMNA = (#1000 + 27)
          integer, parameter :: LVM_INSERTCOLUMNW = (#1000 + 97)
          integer, parameter :: LVM_DELETECOLUMN = (#1000 + 28)
          integer, parameter :: LVM_GETCOLUMNWIDTH = (#1000 + 29)
          integer, parameter :: LVSCW_AUTOSIZE = -1
          integer, parameter :: LVSCW_AUTOSIZE_USEHEADER = -2
          integer, parameter :: LVM_SETCOLUMNWIDTH = (#1000 + 30)
          integer, parameter :: LVM_GETHEADER = (#1000 + 31)
          integer, parameter :: LVM_CREATEDRAGIMAGE = (#1000 + 33)
          integer, parameter :: LVM_GETVIEWRECT = (#1000 + 34)
          integer, parameter :: LVM_GETTEXTCOLOR = (#1000 + 35)
          integer, parameter :: LVM_SETTEXTCOLOR = (#1000 + 36)
          integer, parameter :: LVM_GETTEXTBKCOLOR = (#1000 + 37)
          integer, parameter :: LVM_SETTEXTBKCOLOR = (#1000 + 38)
          integer, parameter :: LVM_GETTOPINDEX = (#1000 + 39)
          integer, parameter :: LVM_GETCOUNTPERPAGE = (#1000 + 40)
          integer, parameter :: LVM_GETORIGIN = (#1000 + 41)
          integer, parameter :: LVM_UPDATE = (#1000 + 42)
          integer, parameter :: LVM_SETITEMSTATE = (#1000 + 43)
          integer, parameter :: LVM_GETITEMSTATE = (#1000 + 44)
          integer, parameter :: LVM_GETITEMTEXT = (#1000 + 45)
          integer, parameter :: LVM_GETITEMTEXTA = (#1000 + 45)
          integer, parameter :: LVM_GETITEMTEXTW = (#1000 + 115)
          integer, parameter :: LVM_SETITEMTEXT = (#1000 + 46)
          integer, parameter :: LVM_SETITEMTEXTA = (#1000 + 46)
          integer, parameter :: LVM_SETITEMTEXTW = (#1000 + 116)
          integer, parameter :: LVSICF_NOINVALIDATEALL = #00000001
          integer, parameter :: LVSICF_NOSCROLL = #00000002
          integer, parameter :: LVM_SETITEMCOUNT = (#1000 + 47)
          integer, parameter :: LVM_SORTITEMS = (#1000 + 48)
          integer, parameter :: LVM_SETITEMPOSITION32 = (#1000 + 49)
          integer, parameter :: LVM_GETSELECTEDCOUNT = (#1000 + 50)
          integer, parameter :: LVM_GETITEMSPACING = (#1000 + 51)
          integer, parameter :: LVM_GETISEARCHSTRING = (#1000 + 52)
          integer, parameter :: LVM_GETISEARCHSTRINGA = (#1000 + 52)
          integer, parameter :: LVM_GETISEARCHSTRINGW = (#1000 + 117)
          integer, parameter :: LVM_SETICONSPACING = (#1000 + 53)
          integer, parameter :: LVM_SETEXTENDEDLISTVIEWSTYLE = (#1000 + 54)
          integer, parameter :: LVM_GETEXTENDEDLISTVIEWSTYLE = (#1000 + 55)
          integer, parameter :: LVS_EX_GRIDLINES = #00000001
          integer, parameter :: LVS_EX_SUBITEMIMAGES = #00000002
          integer, parameter :: LVS_EX_CHECKBOXES = #00000004
          integer, parameter :: LVS_EX_TRACKSELECT = #00000008
          integer, parameter :: LVS_EX_HEADERDRAGDROP = #00000010
          integer, parameter :: LVS_EX_FULLROWSELECT = #00000020
          integer, parameter :: LVS_EX_ONECLICKACTIVATE = #00000040
          integer, parameter :: LVS_EX_TWOCLICKACTIVATE = #00000080
          integer, parameter :: LVS_EX_FLATSB = #00000100
          integer, parameter :: LVS_EX_REGIONAL = #00000200
          integer, parameter :: LVS_EX_INFOTIP = #00000400
          integer, parameter :: LVS_EX_UNDERLINEHOT = #00000800
          integer, parameter :: LVS_EX_UNDERLINECOLD = #00001000
          integer, parameter :: LVS_EX_MULTIWORKAREAS = #00002000
          integer, parameter :: LVS_EX_LABELTIP = #00004000
          integer, parameter :: LVM_GETSUBITEMRECT = (#1000 + 56)
          integer, parameter :: LVM_SUBITEMHITTEST = (#1000 + 57)
          integer, parameter :: LVM_SETCOLUMNORDERARRAY = (#1000 + 58)
          integer, parameter :: LVM_GETCOLUMNORDERARRAY = (#1000 + 59)
          integer, parameter :: LVM_SETHOTITEM = (#1000 + 60)
          integer, parameter :: LVM_GETHOTITEM = (#1000 + 61)
          integer, parameter :: LVM_SETHOTCURSOR = (#1000 + 62)
          integer, parameter :: LVM_GETHOTCURSOR = (#1000 + 63)
          integer, parameter :: LVM_APPROXIMATEVIEWRECT = (#1000 + 64)
          integer, parameter :: LV_MAX_WORKAREAS = 16
          integer, parameter :: LVM_SETWORKAREAS = (#1000 + 65)
          integer, parameter :: LVM_GETWORKAREAS = (#1000 + 70)
          integer, parameter :: LVM_GETNUMBEROFWORKAREAS = (#1000 + 73)
          integer, parameter :: LVM_GETSELECTIONMARK = (#1000 + 66)
          integer, parameter :: LVM_SETSELECTIONMARK = (#1000 + 67)
          integer, parameter :: LVM_SETHOVERTIME = (#1000 + 71)
          integer, parameter :: LVM_GETHOVERTIME = (#1000 + 72)
          integer, parameter :: LVM_SETTOOLTIPS = (#1000 + 74)
          integer, parameter :: LVM_GETTOOLTIPS = (#1000 + 78)
          integer, parameter :: LVM_SORTITEMSEX = (#1000 + 81)
          integer, parameter :: LVBKIF_SOURCE_NONE = #00000000
          integer, parameter :: LVBKIF_SOURCE_HBITMAP = #00000001
          integer, parameter :: LVBKIF_SOURCE_URL = #00000002
          integer, parameter :: LVBKIF_SOURCE_MASK = #00000003
          integer, parameter :: LVBKIF_STYLE_NORMAL = #00000000
          integer, parameter :: LVBKIF_STYLE_TILE = #00000010
          integer, parameter :: LVBKIF_STYLE_MASK = #00000010
          integer, parameter :: LVM_SETBKIMAGE = (#1000 + 68)
          integer, parameter :: LVM_SETBKIMAGEA = (#1000 + 68)
          integer, parameter :: LVM_SETBKIMAGEW = (#1000 + 138)
          integer, parameter :: LVM_GETBKIMAGE = (#1000 + 69)
          integer, parameter :: LVM_GETBKIMAGEA = (#1000 + 69)
          integer, parameter :: LVM_GETBKIMAGEW = (#1000 + 139)
          integer, parameter :: LVKF_ALT = #0001
          integer, parameter :: LVKF_CONTROL = #0002
          integer, parameter :: LVKF_SHIFT = #0004
    ! 3111 FORTRAN integer, parameter :: NMLVCUSTOMDRAW_V3_SIZE = (((int)((LPBYTE)(.AND.((NMLVCUSTOMDRW*)0)->clrTextBk) - ((LPBYTE)((NMLVCUSTOMDRW*)0)))) + sizeof(((NMLVCUSTOMDRW*)0)->clrTextBk))
          integer, parameter :: LVN_ITEMCHANGING = ((0-100)-0)
          integer, parameter :: LVN_ITEMCHANGED = ((0-100)-1)
          integer, parameter :: LVN_INSERTITEM = ((0-100)-2)
          integer, parameter :: LVN_DELETEITEM = ((0-100)-3)
          integer, parameter :: LVN_DELETEALLITEMS = ((0-100)-4)
          integer, parameter :: LVN_BEGINLABELEDIT = ((0-100)-5)
          integer, parameter :: LVN_BEGINLABELEDITA = ((0-100)-5)
          integer, parameter :: LVN_BEGINLABELEDITW = ((0-100)-75)
          integer, parameter :: LVN_ENDLABELEDIT = ((0-100)-6)
          integer, parameter :: LVN_ENDLABELEDITA = ((0-100)-6)
          integer, parameter :: LVN_ENDLABELEDITW = ((0-100)-76)
          integer, parameter :: LVN_COLUMNCLICK = ((0-100)-8)
          integer, parameter :: LVN_BEGINDRAG = ((0-100)-9)
          integer, parameter :: LVN_BEGINRDRAG = ((0-100)-11)
          integer, parameter :: LVN_ODCACHEHINT = ((0-100)-13)
          integer, parameter :: LVN_ODFINDITEM = ((0-100)-52)
          integer, parameter :: LVN_ODFINDITEMA = ((0-100)-52)
          integer, parameter :: LVN_ODFINDITEMW = ((0-100)-79)
          integer, parameter :: LVN_ITEMACTIVATE = ((0-100)-14)
          integer, parameter :: LVN_ODSTATECHANGED = ((0-100)-15)
          integer, parameter :: LVN_HOTTRACK = ((0-100)-21)
          integer, parameter :: LVN_GETDISPINFO = ((0-100)-50)
          integer, parameter :: LVN_GETDISPINFOA = ((0-100)-50)
          integer, parameter :: LVN_GETDISPINFOW = ((0-100)-77)
          integer, parameter :: LVN_SETDISPINFO = ((0-100)-51)
          integer, parameter :: LVN_SETDISPINFOA = ((0-100)-51)
          integer, parameter :: LVN_SETDISPINFOW = ((0-100)-78)
          integer, parameter :: LVIF_DI_SETITEM = #1000
          integer, parameter :: LVN_KEYDOWN = ((0-100)-55)
          integer, parameter :: LVN_MARQUEEBEGIN = ((0-100)-56)
          integer, parameter :: LVGIT_UNFOLDED = #0001
          integer, parameter :: LVN_GETINFOTIP = ((0-100)-57)
          integer, parameter :: LVN_GETINFOTIPA = ((0-100)-57)
          integer, parameter :: LVN_GETINFOTIPW = ((0-100)-58)
          character*13, parameter :: WC_TREEVIEW = "SysTreeView32"
          character*13, parameter :: WC_TREEVIEWA = "SysTreeView32"
    ! 3218 FORTRAN character*13, parameter :: WC_TREEVIEWW = L"SysTreeView32"
          integer, parameter :: TVS_HASBUTTONS = #0001
          integer, parameter :: TVS_HASLINES = #0002
          integer, parameter :: TVS_LINESATROOT = #0004
          integer, parameter :: TVS_EDITLABELS = #0008
          integer, parameter :: TVS_DISABLEDRAGDROP = #0010
          integer, parameter :: TVS_SHOWSELALWAYS = #0020
          integer, parameter :: TVS_RTLREADING = #0040
          integer, parameter :: TVS_NOTOOLTIPS = #0080
          integer, parameter :: TVS_CHECKBOXES = #0100
          integer, parameter :: TVS_TRACKSELECT = #0200
          integer, parameter :: TVS_SINGLEEXPAND = #0400
          integer, parameter :: TVS_INFOTIP = #0800
          integer, parameter :: TVS_FULLROWSELECT = #1000
          integer, parameter :: TVS_NOSCROLL = #2000
          integer, parameter :: TVS_NONEVENHEIGHT = #4000
          integer, parameter :: TVS_NOHSCROLL = #8000
          integer, parameter :: TVIF_TEXT = #0001
          integer, parameter :: TVIF_IMAGE = #0002
          integer, parameter :: TVIF_PARAM = #0004
          integer, parameter :: TVIF_STATE = #0008
          integer, parameter :: TVIF_HANDLE = #0010
          integer, parameter :: TVIF_SELECTEDIMAGE = #0020
          integer, parameter :: TVIF_CHILDREN = #0040
          integer, parameter :: TVIF_INTEGRAL = #0080
          integer, parameter :: TVIS_SELECTED = #0002
          integer, parameter :: TVIS_CUT = #0004
          integer, parameter :: TVIS_DROPHILITED = #0008
          integer, parameter :: TVIS_BOLD = #0010
          integer, parameter :: TVIS_EXPANDED = #0020
          integer, parameter :: TVIS_EXPANDEDONCE = #0040
          integer, parameter :: TVIS_EXPANDPARTIAL = #0080
          integer, parameter :: TVIS_OVERLAYMASK = #0F00
          integer, parameter :: TVIS_STATEIMAGEMASK = #F000
          integer, parameter :: TVIS_USERMASK = #F000
          integer, parameter :: I_CHILDRENCALLBACK = (-1)
          integer, parameter :: TVI_ROOT = (  -#10000)
          integer, parameter :: TVI_FIRST = (  -#0FFFF)
          integer, parameter :: TVI_LAST = (  -#0FFFE)
          integer, parameter :: TVI_SORT = (  -#0FFFD)
    ! 3312 FORTRAN integer, parameter :: TVINSERTSTRUCTA_V1_SIZE = (((int)((LPBYTE)(.AND.((TVINSERTSTRUCTA*)0)->item) - ((LPBYTE)((TVINSERTSTRUCTA*)0)))) + sizeof(((TVINSERTSTRUCTA*)0)->item))
    ! 3313 FORTRAN integer, parameter :: TVINSERTSTRUCTW_V1_SIZE = (((int)((LPBYTE)(.AND.((TVINSERTSTRUCTW*)0)->item) - ((LPBYTE)((TVINSERTSTRUCTW*)0)))) + sizeof(((TVINSERTSTRUCTW*)0)->item))
          integer, parameter :: TVM_INSERTITEM = (#1100 + 0)
          integer, parameter :: TVM_INSERTITEMA = (#1100 + 0)
          integer, parameter :: TVM_INSERTITEMW = (#1100 + 50)
          integer, parameter :: TVM_DELETEITEM = (#1100 + 1)
          integer, parameter :: TVM_EXPAND = (#1100 + 2)
          integer, parameter :: TVE_COLLAPSE = #0001
          integer, parameter :: TVE_EXPAND = #0002
          integer, parameter :: TVE_TOGGLE = #0003
          integer, parameter :: TVE_EXPANDPARTIAL = #4000
          integer, parameter :: TVE_COLLAPSERESET = #8000
          integer, parameter :: TVM_GETITEMRECT = (#1100 + 4)
          integer, parameter :: TVM_GETCOUNT = (#1100 + 5)
          integer, parameter :: TVM_GETINDENT = (#1100 + 6)
          integer, parameter :: TVM_SETINDENT = (#1100 + 7)
          integer, parameter :: TVM_GETIMAGELIST = (#1100 + 8)
          integer, parameter :: TVSIL_NORMAL = 0
          integer, parameter :: TVSIL_STATE = 2
          integer, parameter :: TVM_SETIMAGELIST = (#1100 + 9)
          integer, parameter :: TVM_GETNEXTITEM = (#1100 + 10)
          integer, parameter :: TVGN_ROOT = #0000
          integer, parameter :: TVGN_NEXT = #0001
          integer, parameter :: TVGN_PREVIOUS = #0002
          integer, parameter :: TVGN_PARENT = #0003
          integer, parameter :: TVGN_CHILD = #0004
          integer, parameter :: TVGN_FIRSTVISIBLE = #0005
          integer, parameter :: TVGN_NEXTVISIBLE = #0006
          integer, parameter :: TVGN_PREVIOUSVISIBLE = #0007
          integer, parameter :: TVGN_DROPHILITE = #0008
          integer, parameter :: TVGN_CARET = #0009
          integer, parameter :: TVGN_LASTVISIBLE = #000A
          integer, parameter :: TVM_SELECTITEM = (#1100 + 11)
          integer, parameter :: TVM_GETITEM = (#1100 + 12)
          integer, parameter :: TVM_GETITEMA = (#1100 + 12)
          integer, parameter :: TVM_GETITEMW = (#1100 + 62)
          integer, parameter :: TVM_SETITEM = (#1100 + 13)
          integer, parameter :: TVM_SETITEMA = (#1100 + 13)
          integer, parameter :: TVM_SETITEMW = (#1100 + 63)
          integer, parameter :: TVM_EDITLABEL = (#1100 + 14)
          integer, parameter :: TVM_EDITLABELA = (#1100 + 14)
          integer, parameter :: TVM_EDITLABELW = (#1100 + 65)
          integer, parameter :: TVM_GETEDITCONTROL = (#1100 + 15)
          integer, parameter :: TVM_GETVISIBLECOUNT = (#1100 + 16)
          integer, parameter :: TVM_HITTEST = (#1100 + 17)
          integer, parameter :: TVHT_NOWHERE = #0001
          integer, parameter :: TVHT_ONITEMICON = #0002
          integer, parameter :: TVHT_ONITEMLABEL = #0004
    ! reordered      
          integer, parameter :: TVHT_ONITEMSTATEICON = #0040
          
          integer, parameter :: TVHT_ONITEM = (#0002 .OR. #0004 .OR. TVHT_ONITEMSTATEICON)
          integer, parameter :: TVHT_ONITEMINDENT = #0008
          integer, parameter :: TVHT_ONITEMBUTTON = #0010
          integer, parameter :: TVHT_ONITEMRIGHT = #0020
    !      integer, parameter :: TVHT_ONITEMSTATEICON = #0040
          integer, parameter :: TVHT_ABOVE = #0100
          integer, parameter :: TVHT_BELOW = #0200
          integer, parameter :: TVHT_TORIGHT = #0400
          integer, parameter :: TVHT_TOLEFT = #0800
          integer, parameter :: TVM_CREATEDRAGIMAGE = (#1100 + 18)
          integer, parameter :: TVM_SORTCHILDREN = (#1100 + 19)
          integer, parameter :: TVM_ENSUREVISIBLE = (#1100 + 20)
          integer, parameter :: TVM_SORTCHILDRENCB = (#1100 + 21)
          integer, parameter :: TVM_ENDEDITLABELNOW = (#1100 + 22)
          integer, parameter :: TVM_GETISEARCHSTRING = (#1100 + 23)
          integer, parameter :: TVM_GETISEARCHSTRINGA = (#1100 + 23)
          integer, parameter :: TVM_GETISEARCHSTRINGW = (#1100 + 64)
          integer, parameter :: TVM_SETTOOLTIPS = (#1100 + 24)
          integer, parameter :: TVM_GETTOOLTIPS = (#1100 + 25)
          integer, parameter :: TVM_SETINSERTMARK = (#1100 + 26)
          integer, parameter :: TVM_SETITEMHEIGHT = (#1100 + 27)
          integer, parameter :: TVM_GETITEMHEIGHT = (#1100 + 28)
          integer, parameter :: TVM_SETBKCOLOR = (#1100 + 29)
          integer, parameter :: TVM_SETTEXTCOLOR = (#1100 + 30)
          integer, parameter :: TVM_GETBKCOLOR = (#1100 + 31)
          integer, parameter :: TVM_GETTEXTCOLOR = (#1100 + 32)
          integer, parameter :: TVM_SETSCROLLTIME = (#1100 + 33)
          integer, parameter :: TVM_GETSCROLLTIME = (#1100 + 34)
          integer, parameter :: TVM_SETINSERTMARKCOLOR = (#1100 + 37)
          integer, parameter :: TVM_GETINSERTMARKCOLOR = (#1100 + 38)
          integer, parameter :: TVM_GETITEMSTATE = (#1100 + 39)
          integer, parameter :: TVM_SETLINECOLOR = (#1100 + 40)
          integer, parameter :: TVM_GETLINECOLOR = (#1100 + 41)
          integer, parameter :: TVN_SELCHANGING = ((0-400)-1)
          integer, parameter :: TVN_SELCHANGINGA = ((0-400)-1)
          integer, parameter :: TVN_SELCHANGINGW = ((0-400)-50)
          integer, parameter :: TVN_SELCHANGED = ((0-400)-2)
          integer, parameter :: TVN_SELCHANGEDA = ((0-400)-2)
          integer, parameter :: TVN_SELCHANGEDW = ((0-400)-51)
          integer, parameter :: TVC_UNKNOWN = #0000
          integer, parameter :: TVC_BYMOUSE = #0001
          integer, parameter :: TVC_BYKEYBOARD = #0002
          integer, parameter :: TVN_GETDISPINFO = ((0-400)-3)
          integer, parameter :: TVN_GETDISPINFOA = ((0-400)-3)
          integer, parameter :: TVN_GETDISPINFOW = ((0-400)-52)
          integer, parameter :: TVN_SETDISPINFO = ((0-400)-4)
          integer, parameter :: TVN_SETDISPINFOA = ((0-400)-4)
          integer, parameter :: TVN_SETDISPINFOW = ((0-400)-53)
          integer, parameter :: TVIF_DI_SETITEM = #1000
          integer, parameter :: TVN_ITEMEXPANDING = ((0-400)-5)
          integer, parameter :: TVN_ITEMEXPANDINGA = ((0-400)-5)
          integer, parameter :: TVN_ITEMEXPANDINGW = ((0-400)-54)
          integer, parameter :: TVN_ITEMEXPANDED = ((0-400)-6)
          integer, parameter :: TVN_ITEMEXPANDEDA = ((0-400)-6)
          integer, parameter :: TVN_ITEMEXPANDEDW = ((0-400)-55)
          integer, parameter :: TVN_BEGINDRAG = ((0-400)-7)
          integer, parameter :: TVN_BEGINDRAGA = ((0-400)-7)
          integer, parameter :: TVN_BEGINDRAGW = ((0-400)-56)
          integer, parameter :: TVN_BEGINRDRAG = ((0-400)-8)
          integer, parameter :: TVN_BEGINRDRAGA = ((0-400)-8)
          integer, parameter :: TVN_BEGINRDRAGW = ((0-400)-57)
          integer, parameter :: TVN_DELETEITEM = ((0-400)-9)
          integer, parameter :: TVN_DELETEITEMA = ((0-400)-9)
          integer, parameter :: TVN_DELETEITEMW = ((0-400)-58)
          integer, parameter :: TVN_BEGINLABELEDIT = ((0-400)-10)
          integer, parameter :: TVN_BEGINLABELEDITA = ((0-400)-10)
          integer, parameter :: TVN_BEGINLABELEDITW = ((0-400)-59)
          integer, parameter :: TVN_ENDLABELEDIT = ((0-400)-11)
          integer, parameter :: TVN_ENDLABELEDITA = ((0-400)-11)
          integer, parameter :: TVN_ENDLABELEDITW = ((0-400)-60)
          integer, parameter :: TVN_KEYDOWN = ((0-400)-12)
          integer, parameter :: TVN_GETINFOTIP = ((0-400)-13)
          integer, parameter :: TVN_GETINFOTIPA = ((0-400)-13)
          integer, parameter :: TVN_GETINFOTIPW = ((0-400)-14)
          integer, parameter :: TVN_SINGLEEXPAND = ((0-400)-15)
          integer, parameter :: TVNRET_DEFAULT = 0
          integer, parameter :: TVNRET_SKIPOLD = 1
          integer, parameter :: TVNRET_SKIPNEW = 2
    ! 3560 FORTRAN integer, parameter :: NMTVCUSTOMDRAW_V3_SIZE = (((int)((LPBYTE)(.AND.((NMTVCUSTOMDRAW*)0)->clrTextBk) - ((LPBYTE)((NMTVCUSTOMDRAW*)0)))) + sizeof(((NMTVCUSTOMDRAW*)0)->clrTextBk))
          integer, parameter :: TVCDRF_NOIMAGES = #00010000
    ! 3585 FORTRAN character*12, parameter :: WC_COMBOBOXEXW = L"ComboBoxEx32"
          character*12, parameter :: WC_COMBOBOXEXA = "ComboBoxEx32"
          integer, parameter :: CBEIF_TEXT = #00000001
          integer, parameter :: CBEIF_IMAGE = #00000002
          integer, parameter :: CBEIF_SELECTEDIMAGE = #00000004
          integer, parameter :: CBEIF_OVERLAY = #00000008
          integer, parameter :: CBEIF_INDENT = #00000010
          integer, parameter :: CBEIF_LPARAM = #00000020
          integer, parameter :: CBEIF_DI_SETITEM = #10000000
          integer, parameter :: CBEM_INSERTITEMA = (#0400 + 1)
          integer, parameter :: CBEM_SETIMAGELIST = (#0400 + 2)
          integer, parameter :: CBEM_GETIMAGELIST = (#0400 + 3)
          integer, parameter :: CBEM_GETITEMA = (#0400 + 4)
          integer, parameter :: CBEM_SETITEMA = (#0400 + 5)
          integer, parameter :: CBEM_GETCOMBOCONTROL = (#0400 + 6)
          integer, parameter :: CBEM_GETEDITCONTROL = (#0400 + 7)
          integer, parameter :: CBEM_SETEXSTYLE = (#0400 + 8)
          integer, parameter :: CBEM_SETEXTENDEDSTYLE = (#0400 + 14)
          integer, parameter :: CBEM_GETEXSTYLE = (#0400 + 9)
          integer, parameter :: CBEM_GETEXTENDEDSTYLE = (#0400 + 9)
          integer, parameter :: CBEM_HASEDITCHANGED = (#0400 + 10)
          integer, parameter :: CBEM_INSERTITEMW = (#0400 + 11)
          integer, parameter :: CBEM_SETITEMW = (#0400 + 12)
          integer, parameter :: CBEM_GETITEMW = (#0400 + 13)
          integer, parameter :: CBES_EX_NOEDITIMAGE = #00000001
          integer, parameter :: CBES_EX_NOEDITIMAGEINDENT = #00000002
          integer, parameter :: CBES_EX_PATHWORDBREAKPROC = #00000004
          integer, parameter :: CBES_EX_NOSIZELIMIT = #00000008
          integer, parameter :: CBES_EX_CASESENSITIVE = #00000010
          integer, parameter :: CBEN_GETDISPINFOA = ((0-800) - 0)
          integer, parameter :: CBEN_INSERTITEM = ((0-800) - 1)
          integer, parameter :: CBEN_DELETEITEM = ((0-800) - 2)
          integer, parameter :: CBEN_BEGINEDIT = ((0-800) - 4)
          integer, parameter :: CBEN_ENDEDIT = ((0-800) - 5)
          integer, parameter :: CBEN_ENDEDITA = ((0-800) - 5)
          integer, parameter :: CBEN_ENDEDITW = ((0-800) - 6)
          integer, parameter :: CBEN_GETDISPINFOW = ((0-800) - 7)
          integer, parameter :: CBEN_DRAGBEGIN = ((0-800) - 8)
          integer, parameter :: CBEN_DRAGBEGINA = ((0-800) - 8)
          integer, parameter :: CBEN_DRAGBEGINW = ((0-800) - 9)
          integer, parameter :: CBENF_KILLFOCUS = 1
          integer, parameter :: CBENF_RETURN = 2
          integer, parameter :: CBENF_ESCAPE = 3
          integer, parameter :: CBENF_DROPDOWN = 4
          integer, parameter :: CBEMAXSTRLEN = 260
          character*15, parameter :: WC_TABCONTROL = "SysTabControl32"
          character*15, parameter :: WC_TABCONTROLA = "SysTabControl32"
    ! 3691 FORTRAN character*15, parameter :: WC_TABCONTROLW = L"SysTabControl32"
          integer, parameter :: TCS_SCROLLOPPOSITE = #0001
          integer, parameter :: TCS_BOTTOM = #0002
          integer, parameter :: TCS_RIGHT = #0002
          integer, parameter :: TCS_MULTISELECT = #0004
          integer, parameter :: TCS_FLATBUTTONS = #0008
          integer, parameter :: TCS_FORCEICONLEFT = #0010
          integer, parameter :: TCS_FORCELABELLEFT = #0020
          integer, parameter :: TCS_HOTTRACK = #0040
          integer, parameter :: TCS_VERTICAL = #0080
          integer, parameter :: TCS_TABS = #0000
          integer, parameter :: TCS_BUTTONS = #0100
          integer, parameter :: TCS_SINGLELINE = #0000
          integer, parameter :: TCS_MULTILINE = #0200
          integer, parameter :: TCS_RIGHTJUSTIFY = #0000
          integer, parameter :: TCS_FIXEDWIDTH = #0400
          integer, parameter :: TCS_RAGGEDRIGHT = #0800
          integer, parameter :: TCS_FOCUSONBUTTONDOWN = #1000
          integer, parameter :: TCS_OWNERDRAWFIXED = #2000
          integer, parameter :: TCS_TOOLTIPS = #4000
          integer, parameter :: TCS_FOCUSNEVER = #8000
          integer, parameter :: TCS_EX_FLATSEPARATORS = #00000001
          integer, parameter :: TCS_EX_REGISTERDROP = #00000002
          integer, parameter :: TCM_GETIMAGELIST = (#1300 + 2)
          integer, parameter :: TCM_SETIMAGELIST = (#1300 + 3)
          integer, parameter :: TCM_GETITEMCOUNT = (#1300 + 4)
          integer, parameter :: TCIF_TEXT = #0001
          integer, parameter :: TCIF_IMAGE = #0002
          integer, parameter :: TCIF_RTLREADING = #0004
          integer, parameter :: TCIF_PARAM = #0008
          integer, parameter :: TCIF_STATE = #0010
          integer, parameter :: TCIS_BUTTONPRESSED = #0001
          integer, parameter :: TCIS_HIGHLIGHTED = #0002
          integer, parameter :: TCM_GETITEM = (#1300 + 5)
          integer, parameter :: TCM_GETITEMA = (#1300 + 5)
          integer, parameter :: TCM_GETITEMW = (#1300 + 60)
          integer, parameter :: TCM_SETITEM = (#1300 + 6)
          integer, parameter :: TCM_SETITEMA = (#1300 + 6)
          integer, parameter :: TCM_SETITEMW = (#1300 + 61)
          integer, parameter :: TCM_INSERTITEM = (#1300 + 7)
          integer, parameter :: TCM_INSERTITEMA = (#1300 + 7)
          integer, parameter :: TCM_INSERTITEMW = (#1300 + 62)
          integer, parameter :: TCM_DELETEITEM = (#1300 + 8)
          integer, parameter :: TCM_DELETEALLITEMS = (#1300 + 9)
          integer, parameter :: TCM_GETITEMRECT = (#1300 + 10)
          integer, parameter :: TCM_GETCURSEL = (#1300 + 11)
          integer, parameter :: TCM_SETCURSEL = (#1300 + 12)
          integer, parameter :: TCHT_NOWHERE = #0001
          integer, parameter :: TCHT_ONITEMICON = #0002
          integer, parameter :: TCHT_ONITEMLABEL = #0004
          integer, parameter :: TCHT_ONITEM = (#0002 .OR. #0004)
          integer, parameter :: TCM_HITTEST = (#1300 + 13)
          integer, parameter :: TCM_SETITEMEXTRA = (#1300 + 14)
          integer, parameter :: TCM_ADJUSTRECT = (#1300 + 40)
          integer, parameter :: TCM_SETITEMSIZE = (#1300 + 41)
          integer, parameter :: TCM_REMOVEIMAGE = (#1300 + 42)
          integer, parameter :: TCM_SETPADDING = (#1300 + 43)
          integer, parameter :: TCM_GETROWCOUNT = (#1300 + 44)
          integer, parameter :: TCM_GETTOOLTIPS = (#1300 + 45)
          integer, parameter :: TCM_SETTOOLTIPS = (#1300 + 46)
          integer, parameter :: TCM_GETCURFOCUS = (#1300 + 47)
          integer, parameter :: TCM_SETCURFOCUS = (#1300 + 48)
          integer, parameter :: TCM_SETMINTABWIDTH = (#1300 + 49)
          integer, parameter :: TCM_DESELECTALL = (#1300 + 50)
          integer, parameter :: TCM_HIGHLIGHTITEM = (#1300 + 51)
          integer, parameter :: TCM_SETEXTENDEDSTYLE = (#1300 + 52)
          integer, parameter :: TCM_GETEXTENDEDSTYLE = (#1300 + 53)
          integer, parameter :: TCN_KEYDOWN = ((0-550) - 0)
          integer, parameter :: TCN_SELCHANGE = ((0-550) - 1)
          integer, parameter :: TCN_SELCHANGING = ((0-550) - 2)
          integer, parameter :: TCN_GETOBJECT = ((0-550) - 3)
          integer, parameter :: TCN_FOCUSCHANGE = ((0-550) - 4)
    ! 3840 FORTRAN character*12, parameter :: ANIMATE_CLASSW = L"SysAnimate32"
          character*12, parameter :: ANIMATE_CLASSA = "SysAnimate32"
          integer, parameter :: ACS_CENTER = #0001
          integer, parameter :: ACS_TRANSPARENT = #0002
          integer, parameter :: ACS_AUTOPLAY = #0004
          integer, parameter :: ACS_TIMER = #0008
          integer, parameter :: ACM_OPEN = (#0400+100)
          integer, parameter :: ACM_OPENA = (#0400+100)
          integer, parameter :: ACM_OPENW = (#0400+103)
          integer, parameter :: ACM_PLAY = (#0400+101)
          integer, parameter :: ACM_STOP = (#0400+102)
          integer, parameter :: ACN_START = 1
          integer, parameter :: ACN_STOP = 2
    ! 3859 FORTRAN character*13, parameter :: MONTHCAL_CLASSW = L"SysMonthCal32"
          character*13, parameter :: MONTHCAL_CLASSA = "SysMonthCal32"
          integer, parameter :: MCM_FIRST = #1000
          integer, parameter :: MCM_GETCURSEL = (#1000 + 1)
          integer, parameter :: MCM_SETCURSEL = (#1000 + 2)
          integer, parameter :: MCM_GETMAXSELCOUNT = (#1000 + 3)
          integer, parameter :: MCM_SETMAXSELCOUNT = (#1000 + 4)
          integer, parameter :: MCM_GETSELRANGE = (#1000 + 5)
          integer, parameter :: MCM_SETSELRANGE = (#1000 + 6)
          integer, parameter :: MCM_GETMONTHRANGE = (#1000 + 7)
          integer, parameter :: MCM_SETDAYSTATE = (#1000 + 8)
          integer, parameter :: MCM_GETMINREQRECT = (#1000 + 9)
          integer, parameter :: MCM_SETCOLOR = (#1000 + 10)
          integer, parameter :: MCM_GETCOLOR = (#1000 + 11)
          integer, parameter :: MCSC_BACKGROUND = 0
          integer, parameter :: MCSC_TEXT = 1
          integer, parameter :: MCSC_TITLEBK = 2
          integer, parameter :: MCSC_TITLETEXT = 3
          integer, parameter :: MCSC_MONTHBK = 4
          integer, parameter :: MCSC_TRAILINGTEXT = 5
          integer, parameter :: MCM_SETTODAY = (#1000 + 12)
          integer, parameter :: MCM_GETTODAY = (#1000 + 13)
          integer, parameter :: MCM_HITTEST = (#1000 + 14)
          integer, parameter :: MCHT_TITLE = #00010000
          integer, parameter :: MCHT_CALENDAR = #00020000
          integer, parameter :: MCHT_TODAYLINK = #00030000
          integer, parameter :: MCHT_NEXT = #01000000
          integer, parameter :: MCHT_PREV = #02000000
          integer, parameter :: MCHT_NOWHERE = #00000000
          integer, parameter :: MCHT_TITLEBK = (#00010000)
          integer, parameter :: MCHT_TITLEMONTH = (#00010000 .OR. #0001)
          integer, parameter :: MCHT_TITLEYEAR = (#00010000 .OR. #0002)
          integer, parameter :: MCHT_TITLEBTNNEXT = (#00010000 .OR. #01000000 .OR. #0003)
          integer, parameter :: MCHT_TITLEBTNPREV = (#00010000 .OR. #02000000 .OR. #0003)
          integer, parameter :: MCHT_CALENDARBK = (#00020000)
          integer, parameter :: MCHT_CALENDARDATE = (#00020000 .OR. #0001)
          integer, parameter :: MCHT_CALENDARDATENEXT = ((#00020000 .OR. #0001) .OR. #01000000)
          integer, parameter :: MCHT_CALENDARDATEPREV = ((#00020000 .OR. #0001) .OR. #02000000)
          integer, parameter :: MCHT_CALENDARDAY = (#00020000 .OR. #0002)
          integer, parameter :: MCHT_CALENDARWEEKNUM = (#00020000 .OR. #0003)
          integer, parameter :: MCM_SETFIRSTDAYOFWEEK = (#1000 + 15)
          integer, parameter :: MCM_GETFIRSTDAYOFWEEK = (#1000 + 16)
          integer, parameter :: MCM_GETRANGE = (#1000 + 17)
          integer, parameter :: MCM_SETRANGE = (#1000 + 18)
          integer, parameter :: MCM_GETMONTHDELTA = (#1000 + 19)
          integer, parameter :: MCM_SETMONTHDELTA = (#1000 + 20)
          integer, parameter :: MCM_GETMAXTODAYWIDTH = (#1000 + 21)
          integer, parameter :: MCN_SELCHANGE = ((0-750) + 1)
          integer, parameter :: MCN_GETDAYSTATE = ((0-750) + 3)
          integer, parameter :: MCN_SELECT = ((0-750) + 4)
          integer, parameter :: MCS_DAYSTATE = #0001
          integer, parameter :: MCS_MULTISELECT = #0002
          integer, parameter :: MCS_WEEKNUMBERS = #0004
          integer, parameter :: MCS_NOTODAYCIRCLE = #0008
          integer, parameter :: MCS_NOTODAY = #0010
          integer, parameter :: GMR_VISIBLE = 0
          integer, parameter :: GMR_DAYSTATE = 1
    ! 3959 FORTRAN character*17, parameter :: DATETIMEPICK_CLASSW = L"SysDateTimePick32"
          character*17, parameter :: DATETIMEPICK_CLASSA = "SysDateTimePick32"
          integer, parameter :: DTM_FIRST = #1000
          integer, parameter :: DTM_GETSYSTEMTIME = (#1000 + 1)
          integer, parameter :: DTM_SETSYSTEMTIME = (#1000 + 2)
          integer, parameter :: DTM_GETRANGE = (#1000 + 3)
          integer, parameter :: DTM_SETRANGE = (#1000 + 4)
          integer, parameter :: DTM_SETFORMAT = (#1000 + 5)
          integer, parameter :: DTM_SETFORMATA = (#1000 + 5)
          integer, parameter :: DTM_SETFORMATW = (#1000 + 50)
          integer, parameter :: DTM_SETMCCOLOR = (#1000 + 6)
          integer, parameter :: DTM_GETMCCOLOR = (#1000 + 7)
          integer, parameter :: DTM_GETMONTHCAL = (#1000 + 8)
          integer, parameter :: DTM_SETMCFONT = (#1000 + 9)
          integer, parameter :: DTM_GETMCFONT = (#1000 + 10)
          integer, parameter :: DTS_UPDOWN = #0001
          integer, parameter :: DTS_SHOWNONE = #0002
          integer, parameter :: DTS_SHORTDATEFORMAT = #0000
          integer, parameter :: DTS_LONGDATEFORMAT = #0004
          integer, parameter :: DTS_SHORTDATECENTURYFORMAT = #000C
          integer, parameter :: DTS_TIMEFORMAT = #0009
          integer, parameter :: DTS_APPCANPARSE = #0010
          integer, parameter :: DTS_RIGHTALIGN = #0020
          integer, parameter :: DTN_DATETIMECHANGE = ((0-760) + 1)
          integer, parameter :: DTN_USERSTRING = ((0-760) + 2)
          integer, parameter :: DTN_USERSTRINGA = ((0-760) + 2)
          integer, parameter :: DTN_USERSTRINGW = ((0-760) + 15)
          integer, parameter :: DTN_WMKEYDOWN = ((0-760) + 3)
          integer, parameter :: DTN_WMKEYDOWNA = ((0-760) + 3)
          integer, parameter :: DTN_WMKEYDOWNW = ((0-760) + 16)
          integer, parameter :: DTN_FORMAT = ((0-760) + 4)
          integer, parameter :: DTN_FORMATA = ((0-760) + 4)
          integer, parameter :: DTN_FORMATW = ((0-760) + 17)
          integer, parameter :: DTN_FORMATQUERY = ((0-760) + 5)
          integer, parameter :: DTN_FORMATQUERYA = ((0-760) + 5)
          integer, parameter :: DTN_FORMATQUERYW = ((0-760) + 18)
          integer, parameter :: DTN_DROPDOWN = ((0-760) + 6)
          integer, parameter :: DTN_CLOSEUP = ((0-760) + 7)
          integer, parameter :: GDTR_MIN = #0001
          integer, parameter :: GDTR_MAX = #0002
          integer, parameter :: GDT_ERROR = -1
          integer, parameter :: GDT_VALID = 0
          integer, parameter :: GDT_NONE = 1
          integer, parameter :: IPM_CLEARADDRESS = (#0400+100)
          integer, parameter :: IPM_SETADDRESS = (#0400+101)
          integer, parameter :: IPM_GETADDRESS = (#0400+102)
          integer, parameter :: IPM_SETRANGE = (#0400+103)
          integer, parameter :: IPM_SETFOCUS = (#0400+104)
          integer, parameter :: IPM_ISBLANK = (#0400+105)
    ! 4075 FORTRAN character*14, parameter :: WC_IPADDRESSW = L"SysIPAddress32"
          character*14, parameter :: WC_IPADDRESSA = "SysIPAddress32"
          integer, parameter :: IPN_FIELDCHANGED = ((0-860) - 0)
    ! 4090 FORTRAN character*8, parameter :: WC_PAGESCROLLERW = L"SysPager"
          character*8, parameter :: WC_PAGESCROLLERA = "SysPager"
          integer, parameter :: PGS_VERT = #00000000
          integer, parameter :: PGS_HORZ = #00000001
          integer, parameter :: PGS_AUTOSCROLL = #00000002
          integer, parameter :: PGS_DRAGNDROP = #00000004
          integer, parameter :: PGF_INVISIBLE = 0
          integer, parameter :: PGF_NORMAL = 1
          integer, parameter :: PGF_GRAYED = 2
          integer, parameter :: PGF_DEPRESSED = 4
          integer, parameter :: PGF_HOT = 8
          integer, parameter :: PGB_TOPORLEFT = 0
          integer, parameter :: PGB_BOTTOMORRIGHT = 1
          integer, parameter :: PGM_SETCHILD = (#1400 + 1)
          integer, parameter :: PGM_RECALCSIZE = (#1400 + 2)
          integer, parameter :: PGM_FORWARDMOUSE = (#1400 + 3)
          integer, parameter :: PGM_SETBKCOLOR = (#1400 + 4)
          integer, parameter :: PGM_GETBKCOLOR = (#1400 + 5)
          integer, parameter :: PGM_SETBORDER = (#1400 + 6)
          integer, parameter :: PGM_GETBORDER = (#1400 + 7)
          integer, parameter :: PGM_SETPOS = (#1400 + 8)
          integer, parameter :: PGM_GETPOS = (#1400 + 9)
          integer, parameter :: PGM_SETBUTTONSIZE = (#1400 + 10)
          integer, parameter :: PGM_GETBUTTONSIZE = (#1400 + 11)
          integer, parameter :: PGM_GETBUTTONSTATE = (#1400 + 12)
          integer, parameter :: PGN_SCROLL = ((0-900)-1)
          integer, parameter :: PGF_SCROLLUP = 1
          integer, parameter :: PGF_SCROLLDOWN = 2
          integer, parameter :: PGF_SCROLLLEFT = 4
          integer, parameter :: PGF_SCROLLRIGHT = 8
          integer, parameter :: PGK_SHIFT = 1
          integer, parameter :: PGK_CONTROL = 2
          integer, parameter :: PGK_MENU = 4
          integer, parameter :: PGN_CALCSIZE = ((0-900)-2)
          integer, parameter :: PGF_CALCWIDTH = 1
          integer, parameter :: PGF_CALCHEIGHT = 2
    ! 4158 FORTRAN character*13, parameter :: WC_NATIVEFONTCTLW = L"NativeFontCtl"
          character*13, parameter :: WC_NATIVEFONTCTLA = "NativeFontCtl"
          integer, parameter :: NFS_EDIT = #0001
          integer, parameter :: NFS_STATIC = #0002
          integer, parameter :: NFS_LISTCOMBO = #0004
          integer, parameter :: NFS_BUTTON = #0008
          integer, parameter :: NFS_ALL = #0010
          integer, parameter :: NFS_USEFONTASSOC = #0020
          integer, parameter :: TME_HOVER = #00000001
          integer, parameter :: TME_LEAVE = #00000002
          integer, parameter :: TME_NONCLIENT = #00000010
          integer, parameter :: TME_QUERY = #40000000
          integer, parameter :: TME_CANCEL = #80000000
          integer, parameter :: HOVER_DEFAULT = #FFFFFFFF
          integer, parameter :: WSB_PROP_CYVSCROLL = #00000001
          integer, parameter :: WSB_PROP_CXHSCROLL = #00000002
          integer, parameter :: WSB_PROP_CYHSCROLL = #00000004
          integer, parameter :: WSB_PROP_CXVSCROLL = #00000008
          integer, parameter :: WSB_PROP_CXHTHUMB = #00000010
          integer, parameter :: WSB_PROP_CYVTHUMB = #00000020
          integer, parameter :: WSB_PROP_VBKGCOLOR = #00000040
          integer, parameter :: WSB_PROP_HBKGCOLOR = #00000080
          integer, parameter :: WSB_PROP_VSTYLE = #00000100
          integer, parameter :: WSB_PROP_HSTYLE = #00000200
          integer, parameter :: WSB_PROP_WINSTYLE = #00000400
          integer, parameter :: WSB_PROP_PALETTE = #00000800
          integer, parameter :: WSB_PROP_MASK = #00000FFF
          integer, parameter :: FSB_FLAT_MODE = 2
          integer, parameter :: FSB_ENCARTA_MODE = 1
          integer, parameter :: FSB_REGULAR_MODE = 0
    !DEC$ IF (0 .EQ. 1)
    !duplicate psrht definitons
    !Inserted structure here:T_PROPSHEETPAGE
     STRUCTURE /T_PROPSHEETPAGE/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field1
         MAP
        integer(LPCSTR) pszTemplate ! knowns  LPCSTR 
         END MAP
         MAP
        integer(LPVOID) pResource ! typedefs  LPCDLGTEMPLATE 
         END MAP
       END UNION  ! field1
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCSTR) pszIcon ! knowns  LPCSTR 
         END MAP
       END UNION  ! field0
        integer(LPCSTR) pszTitle ! knowns  LPCSTR 
        integer(LPVOID) pfnDlgProc ! pointers  DLGPROC 
        integer(LONG_PTR) lParam ! knowns  LPARAM 
        integer(LPVOID) pfnCallback ! pointers  LPFNPSPCALLBACKA 
       integer(LPVOID)  pcRefParent ! star  UINT  *
        integer(LPCSTR) pszHeaderTitle ! knowns  LPCSTR 
        integer(LPCSTR) pszHeaderSubTitle ! knowns  LPCSTR 
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETPAGEW
     STRUCTURE /T_PROPSHEETPAGEW/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field1
         MAP
        integer(LPCWSTR) pszTemplate ! knowns  LPCWSTR 
         END MAP
         MAP
        integer(LPVOID) pResource ! typedefs  LPCDLGTEMPLATE 
         END MAP
       END UNION  ! field1
       UNION  ! field0
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCWSTR) pszIcon ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field0
        integer(LPCWSTR) pszTitle ! knowns  LPCWSTR 
        integer(LPVOID) pfnDlgProc ! pointers  DLGPROC 
        integer(LONG_PTR) lParam ! knowns  LPARAM 
        integer(LPVOID) pfnCallback ! pointers  LPFNPSPCALLBACKW 
       integer(LPVOID)  pcRefParent ! star  UINT  *
        integer(LPCWSTR) pszHeaderTitle ! knowns  LPCWSTR 
        integer(LPCWSTR) pszHeaderSubTitle ! knowns  LPCWSTR 
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETHEADER
     STRUCTURE /T_PROPSHEETHEADER/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hwndParent ! handles  HWND 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field4
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCSTR) pszIcon ! knowns  LPCSTR 
         END MAP
       END UNION  ! field4
        integer(LPCSTR) pszCaption ! knowns  LPCSTR 
        integer(UINT) nPages ! knowns  UINT 
       UNION  ! field3
         MAP
        integer(UINT) nStartPage ! knowns  UINT 
         END MAP
         MAP
        integer(LPCSTR) pStartPage ! knowns  LPCSTR 
         END MAP
       END UNION  ! field3
       UNION  ! field2
         MAP
        integer(LPVOID) ppsp ! pointers  LPCPROPSHEETPAGEA 
         END MAP
         MAP
       integer(LPVOID) phpage ! star  HPROPSHEETPAGE  *
         END MAP
       END UNION  ! field2
        integer(LPVOID) pfnCallback ! pointers  PFNPROPSHEETCALLBACK 
       UNION  ! field1
         MAP
        integer(HANDLE) hbmWatermark ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCSTR) pszbmWatermark ! knowns  LPCSTR 
         END MAP
       END UNION  ! field1
        integer(HANDLE) hplWatermark ! handles  HPALETTE 
       UNION  ! field0
         MAP
        integer(HANDLE) hbmHeader ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCSTR) pszbmHeader ! knowns  LPCSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
    !Inserted structure here:T_PROPSHEETHEADERW
     STRUCTURE /T_PROPSHEETHEADERW/
        integer(DWORD) dwSize ! knowns  DWORD 
        integer(DWORD) dwFlags ! knowns  DWORD 
        integer(HANDLE) hwndParent ! handles  HWND 
        integer(HANDLE) hInstance ! handles  HINSTANCE 
       UNION  ! field4
         MAP
        integer(HANDLE) hIcon ! handles  HICON 
         END MAP
         MAP
        integer(LPCWSTR) pszIcon ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field4
        integer(LPCWSTR) pszCaption ! knowns  LPCWSTR 
        integer(UINT) nPages ! knowns  UINT 
       UNION  ! field3
         MAP
        integer(UINT) nStartPage ! knowns  UINT 
         END MAP
         MAP
        integer(LPCWSTR) pStartPage ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field3
       UNION  ! field2
         MAP
        integer(LPVOID) ppsp ! pointers  LPCPROPSHEETPAGEW 
         END MAP
         MAP
       integer(LPVOID) phpage ! star  HPROPSHEETPAGE  *
         END MAP
       END UNION  ! field2
        integer(LPVOID) pfnCallback ! pointers  PFNPROPSHEETCALLBACK 
       UNION  ! field1
         MAP
        integer(HANDLE) hbmWatermark ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCWSTR) pszbmWatermark ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field1
        integer(HANDLE) hplWatermark ! handles  HPALETTE 
       UNION  ! field0
         MAP
        integer(HANDLE) hbmHeader ! handles  HBITMAP 
         END MAP
         MAP
        integer(LPCWSTR) pszbmHeader ! knowns  LPCWSTR 
         END MAP
       END UNION  ! field0
     END STRUCTURE
     TYPE T_PSHNOTIFY
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
    !DEC$ ENDIF
    !duplication psrht definitions
     TYPE T_INITCOMMONCONTROLSEX
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(DWORD) dwICC ! knowns  DWORD 
     END TYPE
     TYPE T_COLORSCHEME
     SEQUENCE
       integer(DWORD) dwSize ! knowns  DWORD 
       integer(ULONG) clrBtnHighlight ! typedefs  COLORREF 
       integer(ULONG) clrBtnShadow ! typedefs  COLORREF 
     END TYPE
     TYPE T_NMTOOLTIPSCREATED
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(HANDLE) hwndToolTips ! handles  HWND 
     END TYPE
     TYPE T_NMMOUSE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD_PTR) dwItemSpec ! knowns  DWORD_PTR 
       integer(DWORD_PTR) dwItemData ! knowns  DWORD_PTR 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(LONG_PTR) dwHitInfo ! knowns  LPARAM 
     END TYPE
     TYPE T_NMOBJECTNOTIFY
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(LPVOID) piid ! star  IID  *
      integer(LPVOID) pObject ! star  void  *
       integer(LONG) hResult ! typedefs  HRESULT 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_NMKEY
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) nVKey ! knowns  UINT 
       integer(UINT) uFlags ! knowns  UINT 
     END TYPE
     TYPE T_NMCHAR
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) ch ! knowns  UINT 
       integer(DWORD) dwItemPrev ! knowns  DWORD 
       integer(DWORD) dwItemNext ! knowns  DWORD 
     END TYPE
     TYPE T_NMCUSTOMDRAW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwDrawStage ! knowns  DWORD 
       integer(HANDLE) hdc ! handles  HDC 
       TYPE (T_RECT) rc ! typedefs  RECT 
       integer(DWORD_PTR) dwItemSpec ! knowns  DWORD_PTR 
       integer(UINT) uItemState ! knowns  UINT 
       integer(LONG_PTR) lItemlParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTTCUSTOMDRAW
     SEQUENCE
       TYPE (T_NMCUSTOMDRAW) nmcd ! typedefs  NMCUSTOMDRAW 
       integer(UINT) uDrawFlags ! knowns  UINT 
     END TYPE
     TYPE T_IMAGELISTDRAWPARAMS
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(LPVOID) himl ! pointers  HIMAGELIST 
       integer(SINT) i ! knowns  int 
       integer(HANDLE) hdcDst ! handles  HDC 
       integer(SINT) x ! knowns  int 
       integer(SINT) y ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(SINT) cy ! knowns  int 
       integer(SINT) xBitmap ! knowns  int 
       integer(SINT) yBitmap ! knowns  int 
       integer(ULONG) rgbBk ! typedefs  COLORREF 
       integer(ULONG) rgbFg ! typedefs  COLORREF 
       integer(UINT) fStyle ! knowns  UINT 
       integer(DWORD) dwRop ! knowns  DWORD 
     END TYPE
     TYPE T_IMAGEINFO
     SEQUENCE
       integer(HANDLE) hbmImage ! handles  HBITMAP 
       integer(HANDLE) hbmMask ! handles  HBITMAP 
       integer(SINT) Unused1 ! knowns  int 
       integer(SINT) Unused2 ! knowns  int 
       TYPE (T_RECT) rcImage ! typedefs  RECT 
     END TYPE
     TYPE T_HD_TEXTFILTER
     SEQUENCE
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  INT 
     END TYPE
     TYPE T_HD_TEXTFILTERW
     SEQUENCE
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  INT 
     END TYPE
     TYPE T_HDITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) cxy ! knowns  int 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(HANDLE) hbm ! handles  HBITMAP 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) fmt ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iOrder ! knowns  int 
       integer(UINT) type ! knowns  UINT 
       integer(LPVOID) pvFilter ! knowns  LPVOID 
     END TYPE
     TYPE T_HDITEMW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) cxy ! knowns  int 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(HANDLE) hbm ! handles  HBITMAP 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) fmt ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iOrder ! knowns  int 
       integer(UINT) type ! knowns  UINT 
       integer(LPVOID) pvFilter ! knowns  LPVOID 
     END TYPE
     TYPE T_HDLAYOUT
     SEQUENCE
      integer(LPVOID)  prc ! star  RECT  *
      integer(LPVOID)  pwpos ! star  WINDOWPOS  *
     END TYPE
     TYPE T_HDHITTESTINFO
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) flags ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
     END TYPE
     TYPE T_NMHEADER
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iButton ! knowns  int 
      integer(LPVOID)  pitem ! star  HDITEMA  *
     END TYPE
     TYPE T_NMHEADERW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iButton ! knowns  int 
      integer(LPVOID)  pitem ! star  HDITEMW  *
     END TYPE
     TYPE T_NMHDDISPINFOW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(UINT) mask ! knowns  UINT 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMHDDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(UINT) mask ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMHDFILTERBTNCLICK
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  INT 
       TYPE (T_RECT) rc ! typedefs  RECT 
     END TYPE
     TYPE T_TBBUTTON
     SEQUENCE
       integer(SINT) iBitmap ! knowns  int 
       integer(SINT) idCommand ! knowns  int 
       integer(BYTE) fsState ! knowns  BYTE 
       integer(BYTE) fsStyle ! knowns  BYTE 
    !DEC$ IF DEFINED( _M_IA64)
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) bReserved(6) ! knowns  BYTE 
!DEC$ ELSE
       character(6) bReserved
!DEC$ ENDIF
    !DEC$ ENDIF
    !DEC$ IF DEFINED( _M_IX86)
!DEC$ IF DEFINED(__SELECT_CHARACTER_ARRAYS)
       integer(BYTE) bReserved(2) ! knowns  BYTE 
!DEC$ ELSE
       character(2) bReserved
!DEC$ ENDIF
    !DEC$ ENDIF
       integer(DWORD_PTR) dwData ! knowns  DWORD_PTR 
       integer(INT_PTR) iString ! knowns  INT_PTR 
     END TYPE
     TYPE T_COLORMAP
     SEQUENCE
       integer(ULONG) from ! typedefs  COLORREF 
       integer(ULONG) to ! typedefs  COLORREF 
     END TYPE
     TYPE T_NMTBCUSTOMDRAW
     SEQUENCE
       TYPE (T_NMCUSTOMDRAW) nmcd ! typedefs  NMCUSTOMDRAW 
       integer(HANDLE) hbrMonoDither ! handles  HBRUSH 
       integer(HANDLE) hbrLines ! handles  HBRUSH 
       integer(HANDLE) hpenLines ! handles  HPEN 
       integer(ULONG) clrText ! typedefs  COLORREF 
       integer(ULONG) clrMark ! typedefs  COLORREF 
       integer(ULONG) clrTextHighlight ! typedefs  COLORREF 
       integer(ULONG) clrBtnFace ! typedefs  COLORREF 
       integer(ULONG) clrBtnHighlight ! typedefs  COLORREF 
       integer(ULONG) clrHighlightHotTrack ! typedefs  COLORREF 
       TYPE (T_RECT) rcText ! typedefs  RECT 
       integer(SINT) nStringBkMode ! knowns  int 
       integer(SINT) nHLStringBkMode ! knowns  int 
     END TYPE
     TYPE T_TBADDBITMAP
     SEQUENCE
       integer(HANDLE) hInst ! handles  HINSTANCE 
       integer(UINT_PTR) nID ! knowns  UINT_PTR 
     END TYPE
     TYPE T_TBSAVEPARAMS
     SEQUENCE
       integer(HANDLE) hkr ! handles  HKEY 
       integer(LPCSTR) pszSubKey ! knowns  LPCSTR 
       integer(LPCSTR) pszValueName ! knowns  LPCSTR 
     END TYPE
     TYPE T_TBSAVEPARAMSW
     SEQUENCE
       integer(HANDLE) hkr ! handles  HKEY 
       integer(LPCWSTR) pszSubKey ! knowns  LPCWSTR 
       integer(LPCWSTR) pszValueName ! knowns  LPCWSTR 
     END TYPE
     TYPE T_TBINSERTMARK
     SEQUENCE
       integer(SINT) iButton ! knowns  int 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_TBREPLACEBITMAP
     SEQUENCE
       integer(HANDLE) hInstOld ! handles  HINSTANCE 
       integer(UINT_PTR) nIDOld ! knowns  UINT_PTR 
       integer(HANDLE) hInstNew ! handles  HINSTANCE 
       integer(UINT_PTR) nIDNew ! knowns  UINT_PTR 
       integer(SINT) nButtons ! knowns  int 
     END TYPE
     TYPE T_TBBUTTONINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwMask ! knowns  DWORD 
       integer(SINT) idCommand ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(BYTE) fsState ! knowns  BYTE 
       integer(BYTE) fsStyle ! knowns  BYTE 
       integer(WORD) cx ! knowns  WORD 
       integer(DWORD_PTR) lParam ! knowns  DWORD_PTR 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchText ! knowns  int 
     END TYPE
     TYPE T_TBBUTTONINFOW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(DWORD) dwMask ! knowns  DWORD 
       integer(SINT) idCommand ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(BYTE) fsState ! knowns  BYTE 
       integer(BYTE) fsStyle ! knowns  BYTE 
       integer(WORD) cx ! knowns  WORD 
       integer(DWORD_PTR) lParam ! knowns  DWORD_PTR 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchText ! knowns  int 
     END TYPE
     TYPE T_NMTBHOTITEM
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) idOld ! knowns  int 
       integer(SINT) idNew ! knowns  int 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_NMTBSAVE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) pData ! star  DWORD*  *
       integer(LPVOID) pCurrent ! star  DWORD*  *
       integer(UINT) cbData ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) cButtons ! knowns  int 
       TYPE (T_TBBUTTON) tbButton ! typedefs  TBBUTTON 
     END TYPE
     TYPE T_NMTBRESTORE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPVOID) pData ! star  DWORD*  *
       integer(LPVOID) pCurrent ! star  DWORD*  *
       integer(UINT) cbData ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) cButtons ! knowns  int 
       integer(SINT) cbBytesPerRecord ! knowns  int 
       TYPE (T_TBBUTTON) tbButton ! typedefs  TBBUTTON 
     END TYPE
     TYPE T_NMTBGETINFOTIP
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iItem ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTBGETINFOTIPW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iItem ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTBDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwMask ! knowns  DWORD 
       integer(SINT) idCommand ! knowns  int 
       integer(DWORD_PTR) lParam ! knowns  DWORD_PTR 
       integer(SINT) iImage ! knowns  int 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchText ! knowns  int 
     END TYPE
     TYPE T_NMTBDISPINFOW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwMask ! knowns  DWORD 
       integer(SINT) idCommand ! knowns  int 
       integer(DWORD_PTR) lParam ! knowns  DWORD_PTR 
       integer(SINT) iImage ! knowns  int 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchText ! knowns  int 
     END TYPE
     TYPE T_NMTOOLBAR
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       TYPE (T_TBBUTTON) tbButton ! typedefs  TBBUTTON 
       integer(SINT) cchText ! knowns  int 
       integer(LPSTR) pszText ! knowns  LPSTR 
       TYPE (T_RECT) rcButton ! typedefs  RECT 
     END TYPE
     TYPE T_NMTOOLBARW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       TYPE (T_TBBUTTON) tbButton ! typedefs  TBBUTTON 
       integer(SINT) cchText ! knowns  int 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       TYPE (T_RECT) rcButton ! typedefs  RECT 
     END TYPE
     TYPE T_REBARINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask ! knowns  UINT 
       integer(LPVOID) himl ! pointers  HIMAGELIST 
     END TYPE
     TYPE T_REBARBANDINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask ! knowns  UINT 
       integer(UINT) fStyle ! knowns  UINT 
       integer(ULONG) clrFore ! typedefs  COLORREF 
       integer(ULONG) clrBack ! typedefs  COLORREF 
       integer(LPSTR) lpText ! knowns  LPSTR 
       integer(UINT) cch ! knowns  UINT 
       integer(SINT) iImage ! knowns  int 
       integer(HANDLE) hwndChild ! handles  HWND 
       integer(UINT) cxMinChild ! knowns  UINT 
       integer(UINT) cyMinChild ! knowns  UINT 
       integer(UINT) cx ! knowns  UINT 
       integer(HANDLE) hbmBack ! handles  HBITMAP 
       integer(UINT) wID ! knowns  UINT 
       integer(UINT) cyChild ! knowns  UINT 
       integer(UINT) cyMaxChild ! knowns  UINT 
       integer(UINT) cyIntegral ! knowns  UINT 
       integer(UINT) cxIdeal ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(UINT) cxHeader ! knowns  UINT 
     END TYPE
     TYPE T_REBARBANDINFOW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) fMask ! knowns  UINT 
       integer(UINT) fStyle ! knowns  UINT 
       integer(ULONG) clrFore ! typedefs  COLORREF 
       integer(ULONG) clrBack ! typedefs  COLORREF 
       integer(LPWSTR) lpText ! knowns  LPWSTR 
       integer(UINT) cch ! knowns  UINT 
       integer(SINT) iImage ! knowns  int 
       integer(HANDLE) hwndChild ! handles  HWND 
       integer(UINT) cxMinChild ! knowns  UINT 
       integer(UINT) cyMinChild ! knowns  UINT 
       integer(UINT) cx ! knowns  UINT 
       integer(HANDLE) hbmBack ! handles  HBITMAP 
       integer(UINT) wID ! knowns  UINT 
       integer(UINT) cyChild ! knowns  UINT 
       integer(UINT) cyMaxChild ! knowns  UINT 
       integer(UINT) cyIntegral ! knowns  UINT 
       integer(UINT) cxIdeal ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(UINT) cxHeader ! knowns  UINT 
     END TYPE
     TYPE T_NMREBARCHILDSIZE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) uBand ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       TYPE (T_RECT) rcChild ! typedefs  RECT 
       TYPE (T_RECT) rcBand ! typedefs  RECT 
     END TYPE
     TYPE T_NMREBAR
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwMask ! knowns  DWORD 
       integer(UINT) uBand ! knowns  UINT 
       integer(UINT) fStyle ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMRBAUTOSIZE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(BOOL) fChanged ! knowns  BOOL 
       TYPE (T_RECT) rcTarget ! typedefs  RECT 
       TYPE (T_RECT) rcActual ! typedefs  RECT 
     END TYPE
     TYPE T_NMREBARCHEVRON
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) uBand ! knowns  UINT 
       integer(UINT) wID ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       TYPE (T_RECT) rc ! typedefs  RECT 
       integer(LONG_PTR) lParamNM ! knowns  LPARAM 
     END TYPE
     TYPE T_RBHITTESTINFO
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) flags ! knowns  UINT 
       integer(SINT) iBand ! knowns  int 
     END TYPE
     TYPE T_TTTOOLINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) uFlags ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT_PTR) uId ! knowns  UINT_PTR 
       TYPE (T_RECT) rect ! typedefs  RECT 
       integer(HANDLE) hinst ! handles  HINSTANCE 
       integer(LPSTR) lpszText ! knowns  LPSTR 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TTTOOLINFOW
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       integer(UINT) uFlags ! knowns  UINT 
       integer(HANDLE) hwnd ! handles  HWND 
       integer(UINT_PTR) uId ! knowns  UINT_PTR 
       TYPE (T_RECT) rect ! typedefs  RECT 
       integer(HANDLE) hinst ! handles  HINSTANCE 
       integer(LPWSTR) lpszText ! knowns  LPWSTR 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TTHITTESTINFO
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       TYPE (T_POINT) pt ! typedefs  POINT 
       TYPE (T_TTTOOLINFO) ti ! typedefs  TTTOOLINFOA 
     END TYPE
     TYPE T_TTHITTESTINFOW
     SEQUENCE
       integer(HANDLE) hwnd ! handles  HWND 
       TYPE (T_POINT) pt ! typedefs  POINT 
       TYPE (T_TTTOOLINFOW) ti ! typedefs  TTTOOLINFOW 
     END TYPE
! to fix this is T_TOOLTIPTEXT
     TYPE T_NMTTDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPSTR) lpszText ! knowns  LPSTR 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szText(80) ! knowns  char 
!DEC$ ELSE
       character(80) szText
!DEC$ ENDIF
       integer(HANDLE) hinst ! handles  HINSTANCE 
       integer(UINT) uFlags ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TOOLTIPTEXT ! NMTTDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPSTR) lpszText ! knowns  LPSTR 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szText(80) ! knowns  char 
!DEC$ ELSE
       character(80) szText
!DEC$ ENDIF
       integer(HANDLE) hinst ! handles  HINSTANCE 
       integer(UINT) uFlags ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTTDISPINFOW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPWSTR) lpszText ! knowns  LPWSTR 
       integer(WCHAR) szText(80) ! knowns  WCHAR 
       integer(HANDLE) hinst ! handles  HINSTANCE 
       integer(UINT) uFlags ! knowns  UINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_DRAGLISTINFO
     SEQUENCE
       integer(UINT) uNotification ! knowns  UINT 
       integer(HANDLE) hWnd ! handles  HWND 
       TYPE (T_POINT) ptCursor ! typedefs  POINT 
     END TYPE
     TYPE T_UDACCEL
     SEQUENCE
       integer(UINT) nSec ! knowns  UINT 
       integer(UINT) nInc ! knowns  UINT 
     END TYPE
     TYPE T_NMUPDOWN
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iPos ! knowns  int 
       integer(SINT) iDelta ! knowns  int 
     END TYPE
     TYPE T_PBRANGE
     SEQUENCE
       integer(SINT) iLow ! knowns  int 
       integer(SINT) iHigh ! knowns  int 
     END TYPE
!to fix this is T_LV_ITEM
     TYPE T_LVITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iIndent ! knowns  int 
     END TYPE
     TYPE T_LV_ITEM   ! T_LVITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iIndent ! knowns  int 
     END TYPE
     TYPE T_LVITEMW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iIndent ! knowns  int 
     END TYPE
     TYPE T_LVFINDINFO
     SEQUENCE
       integer(UINT) flags ! knowns  UINT 
       integer(LPCSTR) psz ! knowns  LPCSTR 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) vkDirection ! knowns  UINT 
     END TYPE
     TYPE T_LVFINDINFOW
     SEQUENCE
       integer(UINT) flags ! knowns  UINT 
       integer(LPCWSTR) psz ! knowns  LPCWSTR 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) vkDirection ! knowns  UINT 
     END TYPE
     TYPE T_LVHITTESTINFO
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) flags ! knowns  UINT 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
     END TYPE
!to fix this  T_LV_COLUMN
     TYPE T_LVCOLUMN
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) fmt ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iOrder ! knowns  int 
     END TYPE
     TYPE T_LV_COLUMN ! T_LVCOLUMN
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) fmt ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iOrder ! knowns  int 
     END TYPE
     TYPE T_LVCOLUMNW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(SINT) fmt ! knowns  int 
       integer(SINT) cx ! knowns  int 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iOrder ! knowns  int 
     END TYPE
     TYPE T_LVBKIMAGE
     SEQUENCE
       integer(ULONG) ulFlags ! knowns  ULONG 
       integer(HANDLE) hbm ! handles  HBITMAP 
       integer(LPSTR) pszImage ! knowns  LPSTR 
       integer(UINT) cchImageMax ! knowns  UINT 
       integer(SINT) xOffsetPercent ! knowns  int 
       integer(SINT) yOffsetPercent ! knowns  int 
     END TYPE
     TYPE T_LVBKIMAGEW
     SEQUENCE
       integer(ULONG) ulFlags ! knowns  ULONG 
       integer(HANDLE) hbm ! handles  HBITMAP 
       integer(LPWSTR) pszImage ! knowns  LPWSTR 
       integer(UINT) cchImageMax ! knowns  UINT 
       integer(SINT) xOffsetPercent ! knowns  int 
       integer(SINT) yOffsetPercent ! knowns  int 
     END TYPE
!to fix  this is T_NM_LISTVIEW
     TYPE T_NMLISTVIEW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) uNewState ! knowns  UINT 
       integer(UINT) uOldState ! knowns  UINT 
       integer(UINT) uChanged ! knowns  UINT 
       TYPE (T_POINT) ptAction ! typedefs  POINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NM_LISTVIEW  ! T_NMLISTVIEW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) uNewState ! knowns  UINT 
       integer(UINT) uOldState ! knowns  UINT 
       integer(UINT) uChanged ! knowns  UINT 
       TYPE (T_POINT) ptAction ! typedefs  POINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMITEMACTIVATE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(UINT) uNewState ! knowns  UINT 
       integer(UINT) uOldState ! knowns  UINT 
       integer(UINT) uChanged ! knowns  UINT 
       TYPE (T_POINT) ptAction ! typedefs  POINT 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(UINT) uKeyFlags ! knowns  UINT 
     END TYPE
     TYPE T_NMLVCUSTOMDRAW
     SEQUENCE
       TYPE (T_NMCUSTOMDRAW) nmcd ! typedefs  NMCUSTOMDRAW 
       integer(ULONG) clrText ! typedefs  COLORREF 
       integer(ULONG) clrTextBk ! typedefs  COLORREF 
       integer(SINT) iSubItem ! knowns  int 
     END TYPE
     TYPE T_NMLVCACHEHINT
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iFrom ! knowns  int 
       integer(SINT) iTo ! knowns  int 
     END TYPE
     TYPE T_NMLVFINDITEM
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iStart ! knowns  int 
       TYPE (T_LVFINDINFO) lvfi ! typedefs  LVFINDINFOA 
     END TYPE
     TYPE T_NMLVFINDITEMW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iStart ! knowns  int 
       TYPE (T_LVFINDINFOW) lvfi ! typedefs  LVFINDINFOW 
     END TYPE
     TYPE T_NMLVODSTATECHANGE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iFrom ! knowns  int 
       integer(SINT) iTo ! knowns  int 
       integer(UINT) uNewState ! knowns  UINT 
       integer(UINT) uOldState ! knowns  UINT 
     END TYPE
     TYPE T_NMLVDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_LVITEM) item ! typedefs  LVITEMA 
     END TYPE
     TYPE T_NMLVDISPINFOW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_LVITEMW) item ! typedefs  LVITEMW 
     END TYPE
     TYPE T_NMLVKEYDOWN
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(WORD) wVKey ! knowns  WORD 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_NMLVGETINFOTIP
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMLVGETINFOTIPW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iItem ! knowns  int 
       integer(SINT) iSubItem ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TVITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) cChildren ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TVITEMW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) cChildren ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TVITEMEX
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) cChildren ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iIntegral ! knowns  int 
     END TYPE
     TYPE T_TVITEMEXW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(UINT) state ! knowns  UINT 
       integer(UINT) stateMask ! knowns  UINT 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) cChildren ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
       integer(SINT) iIntegral ! knowns  int 
     END TYPE
!to fix items not inserted
    !Inserted structure here:T_TVINSERTSTRUCT
    !Inserted structure here:T_TVINSERTSTRUCTW
     TYPE T_TVINSERTSTRUCT
     SEQUENCE
       integer(HANDLE) hParent !HTREEITEM
       integer(HANDLE) hInsertAfter !HTREEITEM
       TYPE (T_TVITEM) item
     END TYPE
     TYPE T_TVINSERTSTRUCTW
     SEQUENCE
       integer(HANDLE) hParent !HTREEITEM
       integer(HANDLE) hInsertAfter !HTREEITEM
       TYPE (T_TVITEMW) item
     END TYPE
     TYPE T_TVHITTESTINFO
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) flags ! knowns  UINT 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
     END TYPE
     TYPE T_TVSORTCB
     SEQUENCE
       integer(LPVOID) hParent ! pointers  HTREEITEM 
       integer(LPVOID) lpfnCompare ! pointers  PFNTVCOMPARE 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTREEVIEW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) action ! knowns  UINT 
       TYPE (T_TVITEM) itemOld ! typedefs  TVITEMA 
       TYPE (T_TVITEM) itemNew ! typedefs  TVITEMA 
       TYPE (T_POINT) ptDrag ! typedefs  POINT 
     END TYPE
     TYPE T_NMTREEVIEWW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(UINT) action ! knowns  UINT 
       TYPE (T_TVITEMW) itemOld ! typedefs  TVITEMW 
       TYPE (T_TVITEMW) itemNew ! typedefs  TVITEMW 
       TYPE (T_POINT) ptDrag ! typedefs  POINT 
     END TYPE
     TYPE T_NMTVDISPINFO
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_TVITEM) item ! typedefs  TVITEMA 
     END TYPE
     TYPE T_NMTVDISPINFOW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_TVITEMW) item ! typedefs  TVITEMW 
     END TYPE
     TYPE T_NMTVKEYDOWN
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(WORD) wVKey ! knowns  WORD 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_NMTVCUSTOMDRAW
     SEQUENCE
       TYPE (T_NMCUSTOMDRAW) nmcd ! typedefs  NMCUSTOMDRAW 
       integer(ULONG) clrText ! typedefs  COLORREF 
       integer(ULONG) clrTextBk ! typedefs  COLORREF 
       integer(SINT) iLevel ! knowns  int 
     END TYPE
     TYPE T_NMTVGETINFOTIP
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMTVGETINFOTIPW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(LPVOID) hItem ! pointers  HTREEITEM 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_COMBOBOXEXITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(INT_PTR) iItem ! knowns  INT_PTR 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) iOverlay ! knowns  int 
       integer(SINT) iIndent ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_COMBOBOXEXITEMW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(INT_PTR) iItem ! knowns  INT_PTR 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(SINT) iSelectedImage ! knowns  int 
       integer(SINT) iOverlay ! knowns  int 
       integer(SINT) iIndent ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_NMCOMBOBOXEX
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_COMBOBOXEXITEM) ceItem ! typedefs  COMBOBOXEXITEMA 
     END TYPE
     TYPE T_NMCOMBOBOXEXW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       TYPE (T_COMBOBOXEXITEMW) ceItem ! typedefs  COMBOBOXEXITEMW 
     END TYPE
     TYPE T_NMCBEDRAGBEGINW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItemid ! knowns  int 
       integer(WCHAR) szText(260) ! knowns  WCHAR 
     END TYPE
     TYPE T_NMCBEDRAGBEGIN
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iItemid ! knowns  int 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szText(260) ! knowns  char 
!DEC$ ELSE
       character(260) szText
!DEC$ ENDIF
     END TYPE
     TYPE T_NMCBEENDEDITW
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(BOOL) fChanged ! knowns  BOOL 
       integer(SINT) iNewSelection ! knowns  int 
       integer(WCHAR) szText(260) ! knowns  WCHAR 
       integer(SINT) iWhy ! knowns  int 
     END TYPE
     TYPE T_NMCBEENDEDIT
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(BOOL) fChanged ! knowns  BOOL 
       integer(SINT) iNewSelection ! knowns  int 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szText(260) ! knowns  char 
!DEC$ ELSE
       character(260) szText
!DEC$ ENDIF
       integer(SINT) iWhy ! knowns  int 
     END TYPE
!to fix this is T_TC_ITEMHEADER
     TYPE T_TCITEMHEADER
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(UINT) lpReserved1 ! knowns  UINT 
       integer(UINT) lpReserved2 ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
     END TYPE
     TYPE T_TC_ITEMHEADER  ! T_TCITEMHEADER
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(UINT) lpReserved1 ! knowns  UINT 
       integer(UINT) lpReserved2 ! knowns  UINT 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
     END TYPE
     TYPE T_TCITEMHEADERW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(UINT) lpReserved1 ! knowns  UINT 
       integer(UINT) lpReserved2 ! knowns  UINT 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
     END TYPE
     TYPE T_TCITEM
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(DWORD) dwState ! knowns  DWORD 
       integer(DWORD) dwStateMask ! knowns  DWORD 
       integer(LPSTR) pszText ! knowns  LPSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TCITEMW
     SEQUENCE
       integer(UINT) mask ! knowns  UINT 
       integer(DWORD) dwState ! knowns  DWORD 
       integer(DWORD) dwStateMask ! knowns  DWORD 
       integer(LPWSTR) pszText ! knowns  LPWSTR 
       integer(SINT) cchTextMax ! knowns  int 
       integer(SINT) iImage ! knowns  int 
       integer(LONG_PTR) lParam ! knowns  LPARAM 
     END TYPE
     TYPE T_TCHITTESTINFO
     SEQUENCE
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_NMTCKEYDOWN
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(WORD) wVKey ! knowns  WORD 
       integer(UINT) flags ! knowns  UINT 
     END TYPE
     TYPE T_MCHITTESTINFO
     SEQUENCE
       integer(UINT) cbSize ! knowns  UINT 
       TYPE (T_POINT) pt ! typedefs  POINT 
       integer(UINT) uHit ! knowns  UINT 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_NMSELCHANGE
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       TYPE (T_SYSTEMTIME) stSelStart ! typedefs  SYSTEMTIME 
       TYPE (T_SYSTEMTIME) stSelEnd ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_NMDAYSTATE
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       TYPE (T_SYSTEMTIME) stStart ! typedefs  SYSTEMTIME 
       integer(SINT) cDayState ! knowns  int 
       integer(LPVOID) prgDayState ! pointers  LPMONTHDAYSTATE 
     END TYPE
     TYPE T_NMDATETIMECHANGE
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(DWORD) dwFlags ! knowns  DWORD 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_NMDATETIMESTRING
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCSTR) pszUserString ! knowns  LPCSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_NMDATETIMESTRINGW
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCWSTR) pszUserString ! knowns  LPCWSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
       integer(DWORD) dwFlags ! knowns  DWORD 
     END TYPE
     TYPE T_NMDATETIMEWMKEYDOWN
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(SINT) nVirtKey ! knowns  int 
       integer(LPCSTR) pszFormat ! knowns  LPCSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_NMDATETIMEWMKEYDOWNW
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(SINT) nVirtKey ! knowns  int 
       integer(LPCWSTR) pszFormat ! knowns  LPCWSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
     END TYPE
     TYPE T_NMDATETIMEFORMAT
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCSTR) pszFormat ! knowns  LPCSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
       integer(LPCSTR) pszDisplay ! knowns  LPCSTR 
!DEC$ IF DEFINED(__KEEP_OLD_CHARACTER_ARRAYS)
       character(SCHAR) szDisplay(64) ! knowns  CHAR 
!DEC$ ELSE
       character(64) szDisplay
!DEC$ ENDIF
     END TYPE
     TYPE T_NMDATETIMEFORMATW
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCWSTR) pszFormat ! knowns  LPCWSTR 
       TYPE (T_SYSTEMTIME) st ! typedefs  SYSTEMTIME 
       integer(LPCWSTR) pszDisplay ! knowns  LPCWSTR 
       integer(WCHAR) szDisplay(64) ! knowns  WCHAR 
     END TYPE
     TYPE T_NMDATETIMEFORMATQUERY
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCSTR) pszFormat ! knowns  LPCSTR 
       TYPE (T_SIZE) szMax ! typedefs  SIZE 
     END TYPE
     TYPE T_NMDATETIMEFORMATQUERYW
     SEQUENCE
       TYPE (T_NMHDR) nmhdr ! typedefs  NMHDR 
       integer(LPCWSTR) pszFormat ! knowns  LPCWSTR 
       TYPE (T_SIZE) szMax ! typedefs  SIZE 
     END TYPE
     TYPE T_NMIPADDRESS
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(SINT) iField ! knowns  int 
       integer(SINT) iValue ! knowns  int 
     END TYPE
     TYPE T_NMPGSCROLL
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(WORD) fwKeys ! knowns  WORD 
       TYPE (T_RECT) rcParent ! typedefs  RECT 
       integer(SINT) iDir ! knowns  int 
       integer(SINT) iXpos ! knowns  int 
       integer(SINT) iYpos ! knowns  int 
       integer(SINT) iScroll ! knowns  int 
     END TYPE
     TYPE T_NMPGCALCSIZE
     SEQUENCE
       TYPE (T_NMHDR) hdr ! typedefs  NMHDR 
       integer(DWORD) dwFlag ! knowns  DWORD 
       integer(SINT) iWidth ! knowns  int 
       integer(SINT) iHeight ! knowns  int 
     END TYPE
    !DEC$ IF DEFINED( _M_IA64)
     TYPE T_TRACKMOUSEEVENT
     SEQUENCE
       integer(DWORD) cbSize ! knowns  DWORD 
       integer(DWORD) dwFlags ! knowns  DWORD 
       integer(HANDLE) hwndTrack ! handles  HWND 
       integer(DWORD) dwHoverTime ! knowns  DWORD 
     END TYPE
    !DEC$ ENDIF
    
    
    ! NULL pointers for various data types.  Taken from
    ! the old version of dfwinty.f90
        character, pointer :: NULL_CHARACTER
        type(T_ACL), pointer :: null_acl
        type(T_TOKEN_PRIVILEGES), pointer :: null_token_privileges
        type(T_RECT), pointer :: null_rect
        type(T_POINT), pointer :: null_point
        type(T_OVERLAPPED), pointer :: null_overlapped
        type(T_SECURITY_ATTRIBUTES), pointer :: null_security_attributes
        type(T_PROCESS_INFORMATION), pointer :: null_process_information
        type(T_FILETIME), pointer :: null_filetime
        type(T_STARTUPINFO), pointer :: null_startupinfo
        type(T_PALETTEENTRY), pointer :: null_paletteentry
    
    !*************************************************************************
    !Special additions for WS2_32, OLEAUT32,
    !     and Fortran descriptor.
    
    !additions for ws2_32.f90
    
      
    
!Many of these items exist without the _struc_ in their name.
     TYPE T_struct_sockaddr
     SEQUENCE
       integer(USHORT) sa_family ! knowns  u_short 
         character(14) sa_data ! by hand  char 
     END TYPE
     TYPE T_struct_timeval
     SEQUENCE
       integer(LONG) tv_sec ! knowns  long 
       integer(LONG) tv_usec ! knowns  long 
     END TYPE
     TYPE T_struct_hostent
     SEQUENCE
       integer(LPVOID)  h_name ! star  char  *
       integer(LPVOID)   h_aliases ! star  char  *
       integer(SHORT) h_addrtype ! knowns  short 
       integer(SHORT) h_length ! knowns  short 
       integer(LPVOID)   h_addr_list ! star  char  *
     END TYPE
     TYPE T_struct_netent
     SEQUENCE
       integer(LPVOID)  n_name ! star  char  *
       integer(LPVOID)   n_aliases ! star  char  *
       integer(SHORT) n_addrtype ! knowns  short 
       integer(ULONG) n_net ! typedefs  u_long 
     END TYPE
     TYPE T_struct_servent
     SEQUENCE
       integer(LPVOID)  s_name ! star  char  *
       integer(LPVOID)   s_aliases ! star  char  *
       integer(SHORT) s_port ! knowns  short 
       integer(LPVOID)  s_proto ! star  char  *
     END TYPE
     TYPE T_struct_protoent
     SEQUENCE
       integer(LPVOID)  p_name ! star  char  *
       integer(LPVOID)   p_aliases ! star  char  *
       integer(SHORT) p_proto ! knowns  short 
     END TYPE
    
     TYPE T_WSAPROTOCOLCHAIN
     SEQUENCE
       integer(SINT) ChainLen ! knowns  int 
       integer(DWORD) ChainEntries(7) ! knowns  DWORD 
     END TYPE
     TYPE T_WSAPROTOCOL_INFOA
     SEQUENCE
       integer(DWORD) dwServiceFlags1 ! knowns  DWORD 
       integer(DWORD) dwServiceFlags2 ! knowns  DWORD 
       integer(DWORD) dwServiceFlags3 ! knowns  DWORD 
       integer(DWORD) dwServiceFlags4 ! knowns  DWORD 
       integer(DWORD) dwProviderFlags ! knowns  DWORD 
       TYPE (T_GUID) ProviderId ! typedefs  GUID 
       integer(DWORD) dwCatalogEntryId ! knowns  DWORD 
       TYPE (T_WSAPROTOCOLCHAIN) ProtocolChain ! typedefs  WSAPROTOCOLCHAIN 
       integer(SINT) iVersion ! knowns  int 
       integer(SINT) iAddressFamily ! knowns  int 
       integer(SINT) iMaxSockAddr ! knowns  int 
       integer(SINT) iMinSockAddr ! knowns  int 
       integer(SINT) iSocketType ! knowns  int 
       integer(SINT) iProtocol ! knowns  int 
       integer(SINT) iProtocolMaxOffset ! knowns  int 
       integer(SINT) iNetworkByteOrder ! knowns  int 
       integer(SINT) iSecurityScheme ! knowns  int 
       integer(DWORD) dwMessageSize ! knowns  DWORD 
       integer(DWORD) dwProviderReserved ! knowns  DWORD 
       character(255+1) szProtocol
     END TYPE
    
     TYPE T_WSABUF
     SEQUENCE
       integer(ULONG) len ! typedefs  u_long 
      integer(LPVOID)  buf ! star  char  *
     END TYPE
    
     TYPE T_WSANETWORKEVENTS
     SEQUENCE
       integer(LONG) lNetworkEvents ! knowns  long 
      integer(SINT) iErrorCode(10) ! knowns  int 
     END TYPE
    
     TYPE T_FLOWSPEC
     SEQUENCE
       integer(ULONG) TokenRate ! knowns  ULONG 
       integer(ULONG) TokenBucketSize ! knowns  ULONG 
       integer(ULONG) PeakBandwidth ! knowns  ULONG 
       integer(ULONG) Latency ! knowns  ULONG 
       integer(ULONG) DelayVariation ! knowns  ULONG 
       integer(ULONG) ServiceType ! typedefs  SERVICETYPE 
       integer(ULONG) MaxSduSize ! knowns  ULONG 
       integer(ULONG) MinimumPolicedSize ! knowns  ULONG 
     END TYPE
    
    
     TYPE T_QOS
     SEQUENCE
       TYPE (T_FLOWSPEC) SendingFlowspec ! typedefs  FLOWSPEC 
       TYPE (T_FLOWSPEC) ReceivingFlowspec ! typedefs  FLOWSPEC 
       TYPE (T_WSABUF) ProviderSpecific ! typedefs  WSABUF 
     END TYPE
    
        !Start additions removed from DFCOM.F90
        ! GUID - moved from DFCOM.F90 in version 6.1
    	  TYPE GUID
    	    SEQUENCE
    		INTEGER*4	DATA1
    		INTEGER*2	DATA2
    		INTEGER*2	DATA3
    		CHARACTER*8	DATA4
    	  END TYPE GUID
    
    !use the previously defined versions
    !DEC$ IF(0 .EQ. 1)
          integer, parameter :: CLSCTX_INPROC_SERVER = #1
          integer, parameter :: CLSCTX_INPROC_HANDLER = #2
          integer, parameter :: CLSCTX_LOCAL_SERVER = #4
          integer, parameter :: CLSCTX_INPROC_SERVER16 = #8
          integer, parameter :: CLSCTX_REMOTE_SERVER = #10
          integer, parameter :: CLSCTX_INPROC_HANDLER16 = #20
          integer, parameter :: CLSCTX_INPROC_SERVERX86 = #40
          integer, parameter :: CLSCTX_INPROC_HANDLERX86 = #80
          integer, parameter :: CLSCTX_ESERVER_HANDLER = #100  
          integer, parameter :: CLSCTX_INPROC = (CLSCTX_INPROC_SERVER.OR.CLSCTX_INPROC_HANDLER)
          integer, parameter :: CLSCTX_ALL = (CLSCTX_INPROC_SERVER.OR.  CLSCTX_INPROC_HANDLER.OR.  CLSCTX_LOCAL_SERVER )
          integer, parameter :: CLSCTX_SERVER = (CLSCTX_INPROC_SERVER.OR.CLSCTX_LOCAL_SERVER)
    
          integer(2), parameter ::  VT_EMPTY = 0
          integer(2), parameter ::   VT_NULL = 1
          integer(2), parameter ::   VT_I2 = 2
          integer(2), parameter ::   VT_I4 = 3
          integer(2), parameter ::   VT_R4 = 4
          integer(2), parameter ::   VT_R8 = 5
          integer(2), parameter ::   VT_CY = 6
          integer(2), parameter ::   VT_DATE = 7
          integer(2), parameter ::   VT_BSTR = 8
          integer(2), parameter ::   VT_DISPATCH = 9
          integer(2), parameter ::   VT_ERROR = 10
          integer(2), parameter ::   VT_BOOL = 11
          integer(2), parameter ::   VT_VARIANT = 12
          integer(2), parameter ::   VT_UNKNOWN = 13
          integer(2), parameter ::   VT_DECIMAL = 14
          integer(2), parameter ::   VT_I1 = 16
          integer(2), parameter ::   VT_UI1 = 17
          integer(2), parameter ::   VT_UI2 = 18
          integer(2), parameter ::   VT_UI4 = 19
          integer(2), parameter ::   VT_I8 = 20
          integer(2), parameter ::   VT_UI8 = 21
          integer(2), parameter ::   VT_INT = 22
          integer(2), parameter ::   VT_UINT = 23
          integer(2), parameter ::   VT_VOID = 24
          integer(2), parameter ::   VT_HRESULT = 25
          integer(2), parameter ::   VT_PTR = 26
          integer(2), parameter ::   VT_SAFEARRAY = 27
          integer(2), parameter ::   VT_CARRAY = 28
          integer(2), parameter ::   VT_USERDEFINED = 29
          integer(2), parameter ::   VT_LPSTR = 30
          integer(2), parameter ::   VT_LPWSTR = 31
          integer(2), parameter ::   VT_RECORD = 36
          integer(2), parameter ::   VT_FILETIME = 64
          integer(2), parameter ::   VT_BLOB = 65
          integer(2), parameter ::   VT_STREAM = 66
          integer(2), parameter ::   VT_STORAGE = 67
          integer(2), parameter ::   VT_STREAMED_OBJECT = 68
          integer(2), parameter ::   VT_STORED_OBJECT = 69
          integer(2), parameter ::   VT_BLOB_OBJECT = 70
          integer(2), parameter ::   VT_CF = 71
          integer(2), parameter ::   VT_CLSID = 72
          integer(2), parameter ::   VT_BSTR_BLOB = #fff
          integer(2), parameter ::   VT_VECTOR = #1000
          integer(2), parameter ::   VT_ARRAY = #2000
          integer(2), parameter ::   VT_BYREF = #4000
          integer(2), parameter ::   VT_RESERVED = #8000
          integer(2), parameter ::   VT_ILLEGAL = #ffff
          integer(2), parameter ::   VT_ILLEGALMASKED = #fff
          integer(2), parameter ::   VT_TYPEMASK = #fff  
    
    !DEC$ ENDIF
    
        ! Moved from DFCOM.F90 in version 6.1
    	  STRUCTURE /VARIANT_UNION/
    		UNION
    			MAP	
    				INTEGER*4	LONG_VAL	
    			END MAP
    			MAP	
    				CHARACTER	CHAR_VAL	
    			END MAP
    			MAP	
    				INTEGER*2	SHORT_VAL	
    			END MAP
    			MAP	
    				REAL*4		FLOAT_VAL	
    			END MAP
    			MAP	
    				REAL*8		DOUBLE_VAL	
    			END MAP
    			MAP	
    				INTEGER*2	BOOL_VAL	
    			END MAP
    			MAP	
    				INTEGER*4	SCODE_VAL	
    			END MAP
    			!MAP	
    			!	INTEGER*8	CY_VAL	
    			!END MAP
    			MAP	
    				REAL*8		DATE_VAL	
    			END MAP
    			! The remaining possible entries are all pointers
    			MAP	
    				INTEGER(LPVOID)	PTR_VAL		
    			END MAP
    		END UNION
    	  END STRUCTURE
    	  TYPE VARIANT
    	    SEQUENCE
    		INTEGER*2	VT
    		INTEGER*2	RESERVED1
    		INTEGER*2	RESERVED2
    		INTEGER*2	RESERVED3
    		RECORD /VARIANT_UNION/ VU
    	  END TYPE VARIANT
    	  INTEGER*2, PARAMETER :: VARIANT_BOOL_TRUE = -1
    	  INTEGER*2, PARAMETER :: VARIANT_BOOL_FALSE = 0
    	  TYPE (VARIANT) :: OPTIONAL_VARIANT
    	  DATA OPTIONAL_VARIANT%VT, OPTIONAL_VARIANT%VU%SCODE_VAL /VT_ERROR, #80020004/
    
        ! Moved from DFCOM.F90 in version 6.1
        ! Safe array types
    	  TYPE SA_BOUNDS
    	    SEQUENCE
    		INTEGER*4	extent
    		INTEGER*4   lbound
    	  END TYPE SA_BOUNDS
    
    ! use previous definitions from above
         ! Variant routine flags
         ! integer, parameter :: VARIANT_NOVALUEPROP = #1
         ! integer, parameter :: VARIANT_ALPHABOOL = #2
         ! integer, parameter :: VARIANT_NOUSEROVERRIDE = #4
         ! integer, parameter :: VARIANT_LOCALBOOL = #8
    	
    	!End additions removed from DFCOM.F90
        !********************************************************************************************
    
        !********************************************************************************************
        !Start additions required for FOR_DESCRIPTOR_ASSIGN in dflib
        !
        INTEGER, PARAMETER :: FOR_DESCRIPTOR_MAX_RANK = 7
    
        INTEGER, PARAMETER :: FOR_DESCRIPTOR_ARRAY_DEFINED = 1
        INTEGER, PARAMETER :: FOR_DESCRIPTOR_ARRAY_NODEALLOC = 2
        INTEGER, PARAMETER :: FOR_DESCRIPTOR_ARRAY_CONTIGUOUS = 4
    
        TYPE FOR_DIMS_INFO
            INTEGER(4) LOWERBOUND
            INTEGER(4) UPPERBOUND
            INTEGER(4) STRIDE
        END TYPE FOR_DIMS_INFO
    
        ! End additions for FOR_DESCRIPTOR_ASSIGN
    
        !********************************************************************************************
        !Start additions for DFLOG.F90
        
        !See also TCM_GETITEMA, TCM_SETITEMA & TCM_INSERTITEMA
!to fix
        !  integer, parameter :: TCM_GETITEM = (#1300 + 5)
        !  integer, parameter :: TCM_SETITEM = (#1300 + 6)
        !  integer, parameter :: TCM_INSERTITEM = (#1300 + 7)
    
        !See also UPDOWN_CLASSA, TRACKBAR_CLASSA, etc.
        character*15, parameter :: UD_CLASS_NAME = "msctls_updown32"
        character*17, parameter :: TB_CLASS_NAME = "msctls_trackbar32"
        character*17, parameter :: PB_CLASS_NAME = "msctls_progress32"
        character*15, parameter :: TAB_CLASS_NAME = "SysTabControl32"
    
        !See also earlier T_SCROLLINFO and T_SCROLLINFOX types.
        !They are the same except for the component names.
!        type  T_SCROLLINFO
!            sequence
!            integer Size 
!            integer Mask 
!            integer Min 
!            integer Max 
!            integer Page 
!            integer Pos 
!            integer TrackPos
!        end type  T_SCROLLINFO
    
        !end additions for DFLOG.F90
    
        !Start additions for constants without A (for ascii) at end.
          character*2,  parameter :: ACCESS_DS_SOURCE = "DS"
          character*24, parameter :: ACCESS_DS_OBJECT_TYPE_NAME = "Directory Service Object"
          character*42, parameter :: MS_DEF_PROV = "Microsoft Base Cryptographic Provider v1.0"
          character*46, parameter :: MS_ENHANCED_PROV = "Microsoft Enhanced Cryptographic Provider v1.0"
          character*39, parameter :: MS_STRONG_PROV = "Microsoft Strong Cryptographic Provider"
          character*46, parameter :: MS_DEF_RSA_SIG_PROV = "Microsoft RSA Signature Cryptographic Provider"
          character*45, parameter :: MS_DEF_RSA_SCHANNEL_PROV = "Microsoft RSA SChannel Cryptographic Provider"
          character*41, parameter :: MS_DEF_DSS_PROV = "Microsoft Base DSS Cryptographic Provider"
          character*60, parameter :: MS_DEF_DSS_DH_PROV = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
          character*64, parameter :: MS_ENH_DSS_DH_PROV = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
          character*44, parameter :: MS_DEF_DH_SCHANNEL_PROV = "Microsoft DH SChannel Cryptographic Provider"
          character*41, parameter :: MS_SCARD_PROV = "Microsoft Base Smart Card Crypto Provider"
          character*8,  parameter :: CRYPT_OID_REG_FUNC_NAME_VALUE_NAME = "FuncName"
!          character*26, parameter :: LBSELCHSTRING = "commdlg_LBSelChangedNotify"
!          character*22, parameter :: SHAREVISTRING = "commdlg_ShareViolation"
!          character*18, parameter :: FILEOKSTRING = "commdlg_FileNameOK"
!          character*15, parameter :: COLOROKSTRING = "commdlg_ColorOK"
!          character*19, parameter :: SETRGBSTRING = "commdlg_SetRGBColor"
!          character*12, parameter :: HELPMSGSTRING = "commdlg_help"
!          character*19, parameter :: FINDMSGSTRING = "commdlg_FindReplace"
          character*14, parameter :: SERVICES_ACTIVE_DATABASE = "ServicesActive"
          character*14, parameter :: SERVICES_FAILED_DATABASE = "ServicesFailed"
!          character*11, parameter :: WC_HEADER = "SysHeader32"
!          character*15, parameter :: TOOLBARCLASSNAME = "ToolbarWindow32"
          character*13, parameter :: REBARCLASSNAME = "ReBarWindow32"
          character*16, parameter :: TOOLTIPS_CLASS = "tooltips_class32"
!          character*18, parameter :: STATUSCLASSNAME = "msctls_statusbar32"
!          character*17, parameter :: TRACKBAR_CLASS = "msctls_trackbar32"
!          character*15, parameter :: UPDOWN_CLASS = "msctls_updown32"
!          character*17, parameter :: PROGRESS_CLASS = "msctls_progress32"
!          character*15, parameter :: HOTKEY_CLASS = "msctls_hotkey32"
!          character*13, parameter :: WC_LISTVIEW = "SysListView32"
!          character*13, parameter :: WC_TREEVIEW = "SysTreeView32"
          character*12, parameter :: WC_COMBOBOXEX = "ComboBoxEx32"
!          character*15, parameter :: WC_TABCONTROL = "SysTabControl32"
          character*12, parameter :: ANIMATE_CLASS = "SysAnimate32"
          character*13, parameter :: MONTHCAL_CLASS = "SysMonthCal32"
          character*17, parameter :: DATETIMEPICK_CLASS = "SysDateTimePick32"
          character*14, parameter :: WC_IPADDRESS = "SysIPAddress32"
          character*8,  parameter :: WC_PAGESCROLLER = "SysPager"
          character*13, parameter :: WC_NATIVEFONTCTL = "NativeFontCtl"
        !end additions for constants without A (for ascii) at end.
  
   !start additions for Winsock2.h parameters
      integer, parameter :: INCL_WINSOCK_API_PROTOTYPES = 1
      integer, parameter :: INCL_WINSOCK_API_TYPEDEFS = 0
!      integer, parameter :: WINSOCK_VERSION = ( (( (2)) .OR. ( ( (2))) * 2** 8))
!      integer, parameter :: FD_SETSIZE = 64
!      integer, parameter :: IOCPARM_MASK = #7f
!      integer, parameter :: IOC_VOID = #20000000
!      integer, parameter :: IOC_OUT = #40000000
!      integer, parameter :: IOC_IN = #80000000
!      integer, parameter :: IOC_INOUT = (#80000000.OR.#40000000)
! 43 FORTRAN integer, parameter :: FIONREAD = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(127))
! 44 FORTRAN integer, parameter :: FIONBIO = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(126))
! 45 FORTRAN integer, parameter :: FIOASYNC = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('f')* 2**8).OR.(125))
! 46 FORTRAN integer, parameter :: SIOCSHIWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(0))
! 47 FORTRAN integer, parameter :: SIOCGHIWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(1))
! 48 FORTRAN integer, parameter :: SIOCSLOWAT = (#80000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(2))
! 49 FORTRAN integer, parameter :: SIOCGLOWAT = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(3))
! 50 FORTRAN integer, parameter :: SIOCATMARK = (#40000000.OR.(((long)sizeof(u_long).AND.#7f)* 2**16).OR.(('s')* 2**8).OR.(7))
!DEC$ IF(0.eq.1)
      integer, parameter :: IPPROTO_IP = 0
      integer, parameter :: IPPROTO_ICMP = 1
      integer, parameter :: IPPROTO_IGMP = 2
      integer, parameter :: IPPROTO_GGP = 3
      integer, parameter :: IPPROTO_TCP = 6
      integer, parameter :: IPPROTO_PUP = 12
      integer, parameter :: IPPROTO_UDP = 17
      integer, parameter :: IPPROTO_IDP = 22
      integer, parameter :: IPPROTO_IPV6 = 41
      integer, parameter :: IPPROTO_ND = 77
      integer, parameter :: IPPROTO_ICLFXBM = 78
      integer, parameter :: IPPROTO_RAW = 255
      integer, parameter :: IPPROTO_MAX = 256
      integer, parameter :: IPPORT_ECHO = 7
      integer, parameter :: IPPORT_DISCARD = 9
      integer, parameter :: IPPORT_SYSTAT = 11
      integer, parameter :: IPPORT_DAYTIME = 13
      integer, parameter :: IPPORT_NETSTAT = 15
      integer, parameter :: IPPORT_FTP = 21
      integer, parameter :: IPPORT_TELNET = 23
      integer, parameter :: IPPORT_SMTP = 25
      integer, parameter :: IPPORT_TIMESERVER = 37
      integer, parameter :: IPPORT_NAMESERVER = 42
      integer, parameter :: IPPORT_WHOIS = 43
      integer, parameter :: IPPORT_MTP = 57
      integer, parameter :: IPPORT_TFTP = 69
      integer, parameter :: IPPORT_RJE = 77
      integer, parameter :: IPPORT_FINGER = 79
      integer, parameter :: IPPORT_TTYLINK = 87
      integer, parameter :: IPPORT_SUPDUP = 95
      integer, parameter :: IPPORT_EXECSERVER = 512
      integer, parameter :: IPPORT_LOGINSERVER = 513
      integer, parameter :: IPPORT_CMDSERVER = 514
      integer, parameter :: IPPORT_EFSSERVER = 520
      integer, parameter :: IPPORT_BIFFUDP = 512
      integer, parameter :: IPPORT_WHOSERVER = 513
      integer, parameter :: IPPORT_ROUTESERVER = 520
      integer, parameter :: IPPORT_RESERVED = 1024
      integer, parameter :: IMPLINK_IP = 155
      integer, parameter :: IMPLINK_LOWEXPER = 156
      integer, parameter :: IMPLINK_HIGHEXPER = 158
      integer, parameter :: IN_CLASSA_NET = #ff000000
      integer, parameter :: IN_CLASSA_NSHIFT = 24
      integer, parameter :: IN_CLASSA_HOST = #00ffffff
      integer, parameter :: IN_CLASSA_MAX = 128
      integer, parameter :: IN_CLASSB_NET = #ffff0000
      integer, parameter :: IN_CLASSB_NSHIFT = 16
      integer, parameter :: IN_CLASSB_HOST = #0000ffff
      integer, parameter :: IN_CLASSB_MAX = 65536
      integer, parameter :: IN_CLASSC_NET = #ffffff00
      integer, parameter :: IN_CLASSC_NSHIFT = 8
      integer, parameter :: IN_CLASSC_HOST = #000000ff
      integer, parameter :: IN_CLASSD_NET = #f0000000
      integer, parameter :: IN_CLASSD_NSHIFT = 28
      integer, parameter :: IN_CLASSD_HOST = #0fffffff
      integer, parameter :: INADDR_ANY =  #00000000
      integer, parameter :: INADDR_LOOPBACK = #7f000001
      integer, parameter :: INADDR_BROADCAST =  #ffffffff
      integer, parameter :: INADDR_NONE = #ffffffff
      integer, parameter :: WSADESCRIPTION_LEN = 256
      integer, parameter :: WSASYS_STATUS_LEN = 128
      integer, parameter :: INVALID_SOCKET =  (.NOT.0)
      integer, parameter :: SOCKET_ERROR = (-1)
      integer, parameter :: FROM_PROTOCOL_INFO = (-1)
      integer, parameter :: SOCK_STREAM = 1
      integer, parameter :: SOCK_DGRAM = 2
      integer, parameter :: SOCK_RAW = 3
      integer, parameter :: SOCK_RDM = 4
      integer, parameter :: SOCK_SEQPACKET = 5
      integer, parameter :: SO_DEBUG = #0001
      integer, parameter :: SO_ACCEPTCONN = #0002
      integer, parameter :: SO_REUSEADDR = #0004
      integer, parameter :: SO_KEEPALIVE = #0008
      integer, parameter :: SO_DONTROUTE = #0010
      integer, parameter :: SO_BROADCAST = #0020
      integer, parameter :: SO_USELOOPBACK = #0040
      integer, parameter :: SO_LINGER = #0080
      integer, parameter :: SO_OOBINLINE = #0100
      integer, parameter :: SO_DONTLINGER =  (.NOT.#0080)
      integer, parameter :: SO_EXCLUSIVEADDRUSE = ( (.NOT.#0004))
      integer, parameter :: SO_SNDBUF = #1001
      integer, parameter :: SO_RCVBUF = #1002
      integer, parameter :: SO_SNDLOWAT = #1003
      integer, parameter :: SO_RCVLOWAT = #1004
      integer, parameter :: SO_SNDTIMEO = #1005
      integer, parameter :: SO_RCVTIMEO = #1006
      integer, parameter :: SO_ERROR = #1007
      integer, parameter :: SO_TYPE = #1008
      integer, parameter :: SO_GROUP_ID = #2001
      integer, parameter :: SO_GROUP_PRIORITY = #2002
      integer, parameter :: SO_MAX_MSG_SIZE = #2003
      integer, parameter :: SO_PROTOCOL_INFOA = #2004
      integer, parameter :: SO_PROTOCOL_INFOW = #2005
      integer, parameter :: PVD_CONFIG = #3001
      integer, parameter :: SO_CONDITIONAL_ACCEPT = #3002
      integer, parameter :: TCP_NODELAY = #0001
      integer, parameter :: AF_UNSPEC = 0
      integer, parameter :: AF_UNIX = 1
      integer, parameter :: AF_INET = 2
      integer, parameter :: AF_IMPLINK = 3
      integer, parameter :: AF_PUP = 4
      integer, parameter :: AF_CHAOS = 5
      integer, parameter :: AF_NS = 6
      integer, parameter :: AF_ISO = 7
      integer, parameter :: AF_ECMA = 8
      integer, parameter :: AF_DATAKIT = 9
      integer, parameter :: AF_CCITT = 10
      integer, parameter :: AF_SNA = 11
      integer, parameter :: AF_DECnet = 12
      integer, parameter :: AF_DLI = 13
      integer, parameter :: AF_LAT = 14
      integer, parameter :: AF_HYLINK = 15
      integer, parameter :: AF_APPLETALK = 16
      integer, parameter :: AF_NETBIOS = 17
      integer, parameter :: AF_VOICEVIEW = 18
      integer, parameter :: AF_FIREFOX = 19
      integer, parameter :: AF_UNKNOWN1 = 20
      integer, parameter :: AF_BAN = 21
      integer, parameter :: AF_ATM = 22
      integer, parameter :: AF_INET6 = 23
      integer, parameter :: AF_CLUSTER = 24
      integer, parameter :: AF_12844 = 25
      integer, parameter :: AF_IRDA = 26
      integer, parameter :: AF_NETDES = 28
      integer, parameter :: AF_TCNPROCESS = 29
      integer, parameter :: AF_TCNMESSAGE = 30
      integer, parameter :: AF_ICLFXBM = 31
      integer, parameter :: AF_MAX = 32
! 251 FORTRAN integer, parameter :: _SS_MAXSIZE = 128
! 252 FORTRAN integer, parameter :: _SS_ALIGNSIZE = (sizeof(__int64))
! 253 FORTRAN integer, parameter :: _SS_PAD1SIZE = ((sizeof(__int64)) - sizeof (short))
! 254 FORTRAN integer, parameter :: _SS_PAD2SIZE = (128 - (sizeof (short) + ((sizeof(__int64)) - sizeof (short))  + (sizeof(__int64))))
      integer, parameter :: SOL_SOCKET = #ffff
      integer, parameter :: SOMAXCONN = #7fffffff
      integer, parameter :: MSG_OOB = #1
      integer, parameter :: MSG_PEEK = #2
      integer, parameter :: MSG_DONTROUTE = #4
      integer, parameter :: MSG_PARTIAL = #8000
      integer, parameter :: MSG_INTERRUPT = #10
      integer, parameter :: MSG_MAXIOVLEN = 16
      integer, parameter :: MAXGETHOSTSTRUCT = 1024
!DEC$ ENDIF
      integer, parameter :: FD_READ_BIT = 0
!      integer, parameter :: FD_READ = (1 * 2** 0)
      integer, parameter :: FD_WRITE_BIT = 1
!      integer, parameter :: FD_WRITE = (1 * 2** 1)
      integer, parameter :: FD_OOB_BIT = 2
!      integer, parameter :: FD_OOB = (1 * 2** 2)
      integer, parameter :: FD_ACCEPT_BIT = 3
!      integer, parameter :: FD_ACCEPT = (1 * 2** 3)
      integer, parameter :: FD_CONNECT_BIT = 4
!      integer, parameter :: FD_CONNECT = (1 * 2** 4)
      integer, parameter :: FD_CLOSE_BIT = 5
!      integer, parameter :: FD_CLOSE = (1 * 2** 5)
      integer, parameter :: FD_QOS_BIT = 6
      integer, parameter :: FD_QOS = (1 * 2** 6)
      integer, parameter :: FD_GROUP_QOS_BIT = 7
      integer, parameter :: FD_GROUP_QOS = (1 * 2** 7)
      integer, parameter :: FD_ROUTING_INTERFACE_CHANGE_BIT = 8
      integer, parameter :: FD_ROUTING_INTERFACE_CHANGE = (1 * 2** 8)
      integer, parameter :: FD_ADDRESS_LIST_CHANGE_BIT = 9
      integer, parameter :: FD_ADDRESS_LIST_CHANGE = (1 * 2** 9)
      integer, parameter :: FD_MAX_EVENTS = 10
      integer, parameter :: FD_ALL_EVENTS = ((1 * 2** 10) - 1)
!DEC$ IF(0.eq.1)
      integer, parameter :: WSABASEERR = 10000
      integer, parameter :: WSAEINTR = (10000+4)
      integer, parameter :: WSAEBADF = (10000+9)
      integer, parameter :: WSAEACCES = (10000+13)
      integer, parameter :: WSAEFAULT = (10000+14)
      integer, parameter :: WSAEINVAL = (10000+22)
      integer, parameter :: WSAEMFILE = (10000+24)
      integer, parameter :: WSAEWOULDBLOCK = (10000+35)
      integer, parameter :: WSAEINPROGRESS = (10000+36)
      integer, parameter :: WSAEALREADY = (10000+37)
      integer, parameter :: WSAENOTSOCK = (10000+38)
      integer, parameter :: WSAEDESTADDRREQ = (10000+39)
      integer, parameter :: WSAEMSGSIZE = (10000+40)
      integer, parameter :: WSAEPROTOTYPE = (10000+41)
      integer, parameter :: WSAENOPROTOOPT = (10000+42)
      integer, parameter :: WSAEPROTONOSUPPORT = (10000+43)
      integer, parameter :: WSAESOCKTNOSUPPORT = (10000+44)
      integer, parameter :: WSAEOPNOTSUPP = (10000+45)
      integer, parameter :: WSAEPFNOSUPPORT = (10000+46)
      integer, parameter :: WSAEAFNOSUPPORT = (10000+47)
      integer, parameter :: WSAEADDRINUSE = (10000+48)
      integer, parameter :: WSAEADDRNOTAVAIL = (10000+49)
      integer, parameter :: WSAENETDOWN = (10000+50)
      integer, parameter :: WSAENETUNREACH = (10000+51)
      integer, parameter :: WSAENETRESET = (10000+52)
      integer, parameter :: WSAECONNABORTED = (10000+53)
      integer, parameter :: WSAECONNRESET = (10000+54)
      integer, parameter :: WSAENOBUFS = (10000+55)
      integer, parameter :: WSAEISCONN = (10000+56)
      integer, parameter :: WSAENOTCONN = (10000+57)
      integer, parameter :: WSAESHUTDOWN = (10000+58)
      integer, parameter :: WSAETOOMANYREFS = (10000+59)
      integer, parameter :: WSAETIMEDOUT = (10000+60)
      integer, parameter :: WSAECONNREFUSED = (10000+61)
      integer, parameter :: WSAELOOP = (10000+62)
      integer, parameter :: WSAENAMETOOLONG = (10000+63)
      integer, parameter :: WSAEHOSTDOWN = (10000+64)
      integer, parameter :: WSAEHOSTUNREACH = (10000+65)
      integer, parameter :: WSAENOTEMPTY = (10000+66)
      integer, parameter :: WSAEPROCLIM = (10000+67)
      integer, parameter :: WSAEUSERS = (10000+68)
      integer, parameter :: WSAEDQUOT = (10000+69)
      integer, parameter :: WSAESTALE = (10000+70)
      integer, parameter :: WSAEREMOTE = (10000+71)
      integer, parameter :: WSASYSNOTREADY = (10000+91)
      integer, parameter :: WSAVERNOTSUPPORTED = (10000+92)
      integer, parameter :: WSANOTINITIALISED = (10000+93)
      integer, parameter :: WSAEDISCON = (10000+101)
      integer, parameter :: WSAENOMORE = (10000+102)
      integer, parameter :: WSAECANCELLED = (10000+103)
      integer, parameter :: WSAEINVALIDPROCTABLE = (10000+104)
      integer, parameter :: WSAEINVALIDPROVIDER = (10000+105)
      integer, parameter :: WSAEPROVIDERFAILEDINIT = (10000+106)
      integer, parameter :: WSASYSCALLFAILURE = (10000+107)
      integer, parameter :: WSASERVICE_NOT_FOUND = (10000+108)
      integer, parameter :: WSATYPE_NOT_FOUND = (10000+109)
      integer, parameter :: WSA_E_NO_MORE = (10000+110)
      integer, parameter :: WSA_E_CANCELLED = (10000+111)
      integer, parameter :: WSAEREFUSED = (10000+112)
      integer, parameter :: WSAHOST_NOT_FOUND = (10000+1001)
      integer, parameter :: WSATRY_AGAIN = (10000+1002)
      integer, parameter :: WSANO_RECOVERY = (10000+1003)
      integer, parameter :: WSANO_DATA = (10000+1004)
      integer, parameter :: WSA_QOS_RECEIVERS = (10000 + 1005)
      integer, parameter :: WSA_QOS_SENDERS = (10000 + 1006)
      integer, parameter :: WSA_QOS_NO_SENDERS = (10000 + 1007)
      integer, parameter :: WSA_QOS_NO_RECEIVERS = (10000 + 1008)
      integer, parameter :: WSA_QOS_REQUEST_CONFIRMED = (10000 + 1009)
      integer, parameter :: WSA_QOS_ADMISSION_FAILURE = (10000 + 1010)
      integer, parameter :: WSA_QOS_POLICY_FAILURE = (10000 + 1011)
      integer, parameter :: WSA_QOS_BAD_STYLE = (10000 + 1012)
      integer, parameter :: WSA_QOS_BAD_OBJECT = (10000 + 1013)
      integer, parameter :: WSA_QOS_TRAFFIC_CTRL_ERROR = (10000 + 1014)
      integer, parameter :: WSA_QOS_GENERIC_ERROR = (10000 + 1015)
      integer, parameter :: WSA_QOS_ESERVICETYPE = (10000 + 1016)
      integer, parameter :: WSA_QOS_EFLOWSPEC = (10000 + 1017)
      integer, parameter :: WSA_QOS_EPROVSPECBUF = (10000 + 1018)
      integer, parameter :: WSA_QOS_EFILTERSTYLE = (10000 + 1019)
      integer, parameter :: WSA_QOS_EFILTERTYPE = (10000 + 1020)
      integer, parameter :: WSA_QOS_EFILTERCOUNT = (10000 + 1021)
      integer, parameter :: WSA_QOS_EOBJLENGTH = (10000 + 1022)
      integer, parameter :: WSA_QOS_EFLOWCOUNT = (10000 + 1023)
      integer, parameter :: WSA_QOS_EUNKOWNPSOBJ = (10000 + 1024)
      integer, parameter :: WSA_QOS_EPOLICYOBJ = (10000 + 1025)
      integer, parameter :: WSA_QOS_EFLOWDESC = (10000 + 1026)
      integer, parameter :: WSA_QOS_EPSFLOWSPEC = (10000 + 1027)
      integer, parameter :: WSA_QOS_EPSFILTERSPEC = (10000 + 1028)
      integer, parameter :: WSA_QOS_ESDMODEOBJ = (10000 + 1029)
      integer, parameter :: WSA_QOS_ESHAPERATEOBJ = (10000 + 1030)
      integer, parameter :: WSA_QOS_RESERVED_PETYPE = (10000 + 1031)
!DEC$ ENDIF
!      integer, parameter :: h_errno = WSAGetLastError()
      integer, parameter :: WSA_IO_PENDING = (ERROR_IO_PENDING)  
      integer, parameter :: WSA_IO_INCOMPLETE = (ERROR_IO_INCOMPLETE)  
      integer, parameter :: WSA_INVALID_HANDLE = (ERROR_INVALID_HANDLE)
      integer, parameter :: WSA_INVALID_PARAMETER = (ERROR_INVALID_PARAMETER)
      integer, parameter :: WSA_NOT_ENOUGH_MEMORY = (ERROR_NOT_ENOUGH_MEMORY) 
      integer, parameter :: WSA_OPERATION_ABORTED = (ERROR_OPERATION_ABORTED) 
      integer, parameter :: WSA_INVALID_EVENT = ( NULL)
      integer, parameter :: WSA_MAXIMUM_WAIT_EVENTS = (MAXIMUM_WAIT_OBJECTS) 
      integer, parameter :: WSA_WAIT_FAILED = (WAIT_FAILED)
      integer, parameter :: WSA_WAIT_EVENT_0 = (WAIT_OBJECT_0)
      integer, parameter :: WSA_WAIT_IO_COMPLETION = (WAIT_IO_COMPLETION) 
      integer, parameter :: WSA_WAIT_TIMEOUT = (WAIT_TIMEOUT) 
      integer, parameter :: WSA_INFINITE = (INFINITE)
      integer, parameter :: CF_ACCEPT = #0000
      integer, parameter :: CF_REJECT = #0001
      integer, parameter :: CF_DEFER = #0002
      integer, parameter :: SD_RECEIVE = #00
      integer, parameter :: SD_SEND = #01
      integer, parameter :: SD_BOTH = #02
      integer, parameter :: SG_UNCONSTRAINED_GROUP = #01
      integer, parameter :: SG_CONSTRAINED_GROUP = #02
      integer, parameter :: MAX_PROTOCOL_CHAIN = 7
      integer, parameter :: BASE_PROTOCOL = 1
      integer, parameter :: LAYERED_PROTOCOL = 0
      integer, parameter :: WSAPROTOCOL_LEN = 255
      integer, parameter :: PFL_MULTIPLE_PROTO_ENTRIES = #00000001
      integer, parameter :: PFL_RECOMMENDED_PROTO_ENTRY = #00000002
      integer, parameter :: PFL_HIDDEN = #00000004
      integer, parameter :: PFL_MATCHES_PROTOCOL_ZERO = #00000008
      integer, parameter :: XP1_CONNECTIONLESS = #00000001
      integer, parameter :: XP1_GUARANTEED_DELIVERY = #00000002
      integer, parameter :: XP1_GUARANTEED_ORDER = #00000004
      integer, parameter :: XP1_MESSAGE_ORIENTED = #00000008
      integer, parameter :: XP1_PSEUDO_STREAM = #00000010
      integer, parameter :: XP1_GRACEFUL_CLOSE = #00000020
      integer, parameter :: XP1_EXPEDITED_DATA = #00000040
      integer, parameter :: XP1_CONNECT_DATA = #00000080
      integer, parameter :: XP1_DISCONNECT_DATA = #00000100
      integer, parameter :: XP1_SUPPORT_BROADCAST = #00000200
      integer, parameter :: XP1_SUPPORT_MULTIPOINT = #00000400
      integer, parameter :: XP1_MULTIPOINT_CONTROL_PLANE = #00000800
      integer, parameter :: XP1_MULTIPOINT_DATA_PLANE = #00001000
      integer, parameter :: XP1_QOS_SUPPORTED = #00002000
      integer, parameter :: XP1_INTERRUPT = #00004000
      integer, parameter :: XP1_UNI_SEND = #00008000
      integer, parameter :: XP1_UNI_RECV = #00010000
      integer, parameter :: XP1_IFS_HANDLES = #00020000
      integer, parameter :: XP1_PARTIAL_MESSAGE = #00040000
      integer, parameter :: BIGENDIAN = #0000
      integer, parameter :: LITTLEENDIAN = #0001
      integer, parameter :: SECURITY_PROTOCOL_NONE = #0000
      integer, parameter :: JL_SENDER_ONLY = #01
      integer, parameter :: JL_RECEIVER_ONLY = #02
      integer, parameter :: JL_BOTH = #04
      integer, parameter :: WSA_FLAG_OVERLAPPED = #01
      integer, parameter :: WSA_FLAG_MULTIPOINT_C_ROOT = #02
      integer, parameter :: WSA_FLAG_MULTIPOINT_C_LEAF = #04
      integer, parameter :: WSA_FLAG_MULTIPOINT_D_ROOT = #08
      integer, parameter :: WSA_FLAG_MULTIPOINT_D_LEAF = #10
      integer, parameter :: IOC_UNIX = #00000000
      integer, parameter :: IOC_WS2 = #08000000
      integer, parameter :: IOC_PROTOCOL = #10000000
      integer, parameter :: IOC_VENDOR = #18000000
      integer, parameter :: SIO_ASSOCIATE_HANDLE = (#80000000.OR.(#08000000).OR.(1))
      integer, parameter :: SIO_ENABLE_CIRCULAR_QUEUEING = (#20000000.OR.(#08000000).OR.(2))
      integer, parameter :: SIO_FIND_ROUTE = (#40000000.OR.(#08000000).OR.(3))
      integer, parameter :: SIO_FLUSH = (#20000000.OR.(#08000000).OR.(4))
      integer, parameter :: SIO_GET_BROADCAST_ADDRESS = (#40000000.OR.(#08000000).OR.(5))
      integer, parameter :: SIO_GET_EXTENSION_FUNCTION_POINTER = ((#80000000.OR.#40000000).OR.(#08000000).OR.(6))
      integer, parameter :: SIO_GET_QOS = ((#80000000.OR.#40000000).OR.(#08000000).OR.(7))
      integer, parameter :: SIO_GET_GROUP_QOS = ((#80000000.OR.#40000000).OR.(#08000000).OR.(8))
      integer, parameter :: SIO_MULTIPOINT_LOOPBACK = (#80000000.OR.(#08000000).OR.(9))
      integer, parameter :: SIO_MULTICAST_SCOPE = (#80000000.OR.(#08000000).OR.(10))
      integer, parameter :: SIO_SET_QOS = (#80000000.OR.(#08000000).OR.(11))
      integer, parameter :: SIO_SET_GROUP_QOS = (#80000000.OR.(#08000000).OR.(12))
      integer, parameter :: SIO_TRANSLATE_HANDLE = ((#80000000.OR.#40000000).OR.(#08000000).OR.(13))
      integer, parameter :: SIO_ROUTING_INTERFACE_QUERY = ((#80000000.OR.#40000000).OR.(#08000000).OR.(20))
      integer, parameter :: SIO_ROUTING_INTERFACE_CHANGE = (#80000000.OR.(#08000000).OR.(21))
      integer, parameter :: SIO_ADDRESS_LIST_QUERY = (#40000000.OR.(#08000000).OR.(22))
      integer, parameter :: SIO_ADDRESS_LIST_CHANGE = (#20000000.OR.(#08000000).OR.(23))
      integer, parameter :: SIO_QUERY_TARGET_PNP_HANDLE = (#40000000.OR.(#08000000).OR.(24))
      integer, parameter :: SIO_ADDRESS_LIST_SORT = ((#80000000.OR.#40000000).OR.(#08000000).OR.(25))
      integer, parameter :: SIO_NSP_NOTIFY_CHANGE = (#80000000.OR.(#08000000).OR.(25))
      integer, parameter ::   NSP_NOTIFY_IMMEDIATELY = 0
      integer, parameter ::   NSP_NOTIFY_HWND = 1
      integer, parameter ::   NSP_NOTIFY_EVENT = 2
      integer, parameter ::   NSP_NOTIFY_PORT = 3
      integer, parameter ::   NSP_NOTIFY_APC = 4
      integer, parameter :: TH_NETDEV = #00000001
      integer, parameter :: TH_TAPI = #00000002
      integer, parameter :: SERVICE_MULTIPLE = (#00000001)
      integer, parameter :: NS_ALL = (0)
      integer, parameter :: NS_SAP = (1)
      integer, parameter :: NS_NDS = (2)
      integer, parameter :: NS_PEER_BROWSE = (3)
      integer, parameter :: NS_SLP = (5)
      integer, parameter :: NS_DHCP = (6)
      integer, parameter :: NS_TCPIP_LOCAL = (10)
      integer, parameter :: NS_TCPIP_HOSTS = (11)
      integer, parameter :: NS_DNS = (12)
      integer, parameter :: NS_NETBT = (13)
      integer, parameter :: NS_WINS = (14)
      integer, parameter :: NS_NLA = (15)
      integer, parameter :: NS_NBP = (20)
      integer, parameter :: NS_MS = (30)
      integer, parameter :: NS_STDA = (31)
      integer, parameter :: NS_NTDS = (32)
      integer, parameter :: NS_X500 = (40)
      integer, parameter :: NS_NIS = (41)
      integer, parameter :: NS_NISPLUS = (42)
      integer, parameter :: NS_WRQ = (50)
      integer, parameter :: NS_NETDES = (60)
      integer, parameter :: RES_UNUSED_1 = (#00000001)
      integer, parameter :: RES_FLUSH_CACHE = (#00000002)
      integer, parameter :: RES_SERVICE = (#00000004)
      character*9, parameter :: SERVICE_TYPE_VALUE_IPXPORTA = "IpxSocket"
! 613 FORTRAN character*9, parameter :: SERVICE_TYPE_VALUE_IPXPORTW = L"IpxSocket"
      character*5, parameter :: SERVICE_TYPE_VALUE_SAPIDA = "SapId"
! 615 FORTRAN character*5, parameter :: SERVICE_TYPE_VALUE_SAPIDW = L"SapId"
      character*7, parameter :: SERVICE_TYPE_VALUE_TCPPORTA = "TcpPort"
! 617 FORTRAN character*7, parameter :: SERVICE_TYPE_VALUE_TCPPORTW = L"TcpPort"
      character*7, parameter :: SERVICE_TYPE_VALUE_UDPPORTA = "UdpPort"
! 619 FORTRAN character*7, parameter :: SERVICE_TYPE_VALUE_UDPPORTW = L"UdpPort"
      character*8, parameter :: SERVICE_TYPE_VALUE_OBJECTIDA = "ObjectId"
! 621 FORTRAN character*8, parameter :: SERVICE_TYPE_VALUE_OBJECTIDW = L"ObjectId"
      integer, parameter ::   COMP_EQUAL = 0
      integer, parameter ::   COMP_NOTLESS  = 1
      integer, parameter :: LUP_DEEP = #0001
      integer, parameter :: LUP_CONTAINERS = #0002
      integer, parameter :: LUP_NOCONTAINERS = #0004
      integer, parameter :: LUP_NEAREST = #0008
      integer, parameter :: LUP_RETURN_NAME = #0010
      integer, parameter :: LUP_RETURN_TYPE = #0020
      integer, parameter :: LUP_RETURN_VERSION = #0040
      integer, parameter :: LUP_RETURN_COMMENT = #0080
      integer, parameter :: LUP_RETURN_ADDR = #0100
      integer, parameter :: LUP_RETURN_BLOB = #0200
      integer, parameter :: LUP_RETURN_ALIASES = #0400
      integer, parameter :: LUP_RETURN_QUERY_STRING = #0800
      integer, parameter :: LUP_RETURN_ALL = #0FF0
      integer, parameter :: LUP_RES_SERVICE = #8000
      integer, parameter :: LUP_FLUSHCACHE = #1000
      integer, parameter :: LUP_FLUSHPREVIOUS = #2000
      integer, parameter :: RESULT_IS_ALIAS = #0001
      integer, parameter :: RESULT_IS_ADDED = #0010
      integer, parameter :: RESULT_IS_CHANGED = #0020
      integer, parameter :: RESULT_IS_DELETED = #0040
      integer, parameter ::   RNRSERVICE_REGISTER=0
      integer, parameter ::   RNRSERVICE_DEREGISTER = 1
      integer, parameter ::   RNRSERVICE_DELETE  = 2
    !end additions for Winsock2.h parameters
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !insert new items just in front of this line  !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! end additions
    
    
    !DEC$ IF DEFINED(_M_IX86)
    !DEC$ END OPTIONS
    !DEC$ ELSEIF DEFINED(_M_IA64)
    !DEC$ END OPTIONS
    !DEC$ ENDIF
    
    !DEC$ IF .NOT. DEFINED(__DFWINTY_INCLUDE)
    END MODULE DFWINTY
    !DEC$ ENDIF
        
    !DEC$ ENDIF ! /* MSFWINTY_ */
