This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Read Data from ActiveDirectory

Hello,

i try to read user information from the ActiveDirectory with OleDB. Most work already. But currently i have problems to get the Data when the User Password will expire.

The Data is saved in an integer8 field but i don't get the expected value in my code.

       identification division.
       program-id.      test-ad.
      *************************************************************
      *                                                           *
      *                                                           *
      *                                                           *
      *************************************************************
       author.          David Neidinger.
       date-written.
       environment division.
       configuration section.
       special-names.
           decimal-point is comma
           copy "adodb.def".
                .
       input-output section.
      ***********************************************************
       file-control.

       data division.
       file section.

      ***********************************************************
       working-storage section.
      ***  Ado Handling
       77  adoConnection          handle of @Connection of @ADODB.
       77  adoRecordset           handle of @Recordset  of @ADODB.
       77  adoFields              handle of @Fields     of @ADODB.
       77  adoCommand             handle of @Command    of @ADODB.
       77  adoConnStr             pic x(256).
       77  adoSyntax              pic x(5048).
       77  adoConnState           pic s9(9).

       77  hlp-test1              pic x(255).
       77  hlp-test2              pic x(255).
       77  hlp-test3              pic x(10).
       77  hlp-test4              pic s9(18) comp-5.

       77  i-userAccountControl   pic 9(10).
       77  c-userAccountControl   pic x(32).
       01  uf-userAccountControl.
           03  uf-account-disable       pic x(5) value "false".
           03  uf-homedir-required      pic x(5) value "false".
           03  uf-lockout               pic x(5) value "false".
           03  uf-pwd-notreqd           pic x(5) value "false".
           03  uf-pwd-cant-change       pic x(5) value "false".
           03  uf-pwd-text-allowed      pic x(5) value "false".
           03  uf-normal-account        pic x(5) value "false".
           03  uf-intdom-trust-account  pic x(5) value "false".
           03  uf-wks-trust-account     pic x(5) value "false".
           03  uf-srv-trust-account     pic x(5) value "false".
           03  uf-dont-expire-pwd       pic x(5) value "false".
           03  uf-mns-logon-account     pic x(5) value "false".
           03  uf-smartcard-required    pic x(5) value "false".
           03  uf-trusted-for-deleg     pic x(5) value "false".
           03  uf-not-delegated         pic x(5) value "false".
           03  uf-use-des-key-only      pic x(5) value "false".
           03  uf-dont-require-preauth  pic x(5) value "false".
           03  uf-password-exired       pic x(5) value "false".
           03  uf-trusted-to-auth-del   pic x(5) value "false".
           03  uf-no-auth-data-required pic x(5) value "false".
           03  uf-partial-secrets-acc   pic x(5) value "false".

       77  counter                pic 9(5)       value zeroes.
       77  idx                    pic 9(2)       value zeroes.
       77  hlp-digit              pic 9          value zeroes.

       01 Windows-Dateizeitstempel     PIC S9(18) COMP-5.
       01 Windows-Datei-Epoche         PIC S9(18) COMP-5
                                       VALUE 116444736000000000.
       01 NumericalValue               PIC 9(18)  COMP-5.
       01 Jahr                         PIC 9(4).
       01 Tag                          PIC 9(3).
       01 Stunde                       PIC 9(2).
       01 Minute                       PIC 9(2).
       01 Sekunde                      PIC 9(2).
       01 COBOL-Datum-Uhrzeit-Str      PIC X(20).

       77 oEnabled                pic x(5)   value spaces.
       copy "resultat.cpy".
      ***********************************************************
       procedure division.
       declaratives.
       copy "dec-all.cpy".
       end declaratives.
      ***********************************************************
       main section.
      ***  Connection String definieren
           string "Provider=ADsDSOObject"
                  delimited by size into adoConnStr.

      ***  Instanz für AdoDB erzeugen
           create @Connection of @ADODB
                  handle      in adoConnection.

      ***  Verbindung aufbauen
           modify  adoConnection @Open(adoConnStr).

      ***  Verbindungs-Status abfragen
       main-connect.
           inquire adoConnection @State in adoConnState.

           evaluate adoConnState
              when adStateOpen
                   continue
              when adStateClosed
                   destroy adoConnection
                   go to   main-disconnected
              when adStateConnecting
                   go to   main-connect
              when adStateExecuting
                   destroy adoConnection
                   go to   main-disconnected
              when adStateFetching
                   destroy adoConnection
                   go to   main-disconnected
           end-evaluate.

      ***  Create Command
           create @Command of @ADODB
                  handle   in adoCommand.

           modify  adoCommand @ActiveConnection = adoConnection.
           modify  adoCommand
                   @Properties::@item("Page Size")::@value = 500.
           modify  adoCommand
                   @Properties::@item("Cache Results")::@value = 1.

      ***  Create Recordset
           create  @Recordset of @ADODB
                   handle     in adoRecordset.
      ***  Read AD
           initialize adoSyntax.
           string "<LDAP://B00DCFRIBM12/"
                  "OU=B00-SGTS-USS,DC=zb,DC=if,DC=atcsg,DC=net>"

                  ";(&(objectCategory=person)(objectClass=user))"

                  ";samAccountName"      | SGI
                  ",givenName"           | Vorname
                  ",sn"                  | Nachname
                  ",displayName"         | DisplayName
                  ",description"         | Beschreibung
                  ",mail"                | Mail
                  ",extensionAttribute8" | Attribute8
                  ",distinguishedName"   | OU
                  ",manager"             | ManagerOU
                  ",whenCreated"         | WhenCreated
                  ",whenChanged"         | WhenChanged
                  ",lastLogon"           | LastLogon
                  ",lastLogonTimestamp"  | LastLogonTimestamp
                  ",userWorkstations"    | Anmeldearbeitsstationen
                  ",userAccountControl"  | zum Enabled/Disabled
                  ",pwdLastSet"          | Passwort zuletzt gesetzt
                  ",msDS-UserPasswordExpiryTimeComputed" | PassWordExpire (Integer)

                  ",physicalDeliveryOfficeName" | Büro
                  ",title"                      | Dienststellung
                  ",department"                 | Abteilung
                  ",company"                    | Firma
                  ",c"                          | Ländercode
                  ",co"                         | Land
                  ",l"                          | Stadt
                  ",postalCode"                 | Postleitzahl
                  ",streetAddress"              | Straße
                  ",personalTitle"              | Anrede
                  ",division"                   | Division
                  ",telephoneNumber"            | Telefonnummer
                  ",mobile"                     | Mobiltelefonnummer


                  ";subtree"
                 delimited by size into adoSyntax.

           modify adoCommand @CommandText = adoSyntax.

           modify adoCommand @Execute()
                  returning adoRecordset.

      ***  go to first record
           modify  adoRecordset @MoveFirst().
           inquire adoRecordset @EOF in adoConnState.

      ***  loop data
           perform until adoConnState  = -1

            inquire    adoRecordset
             @fields::@item("samAccountName")::@value in hlp-test1
             @fields::@item("pwdLastSet ")::@value    in hlp-test2
             @fields::@item("userAccountControl")::@value in hlp-test3
             @fields::@item
                      ("msDS-UserPasswordExpiryTimeComputed")::value
                      in hlp-test4

             display hlp-test1 at 0105
             display hlp-test2 at 0205
             display hlp-test3 at 0305
             display hlp-test4 at 0405

             perform enabled-check
             perform get-userAccountControl
             perform get-pwdExpireDate

             display oEnabled  at 0505

            modify  adoRecordset @MoveNext()
            inquire adoRecordset @EOF in adoConnState

            compute counter = counter + 1
            display counter at 2510
           end-perform.

      ***  Close connection
           modify  adoRecordset @Close().
           destroy adoRecordset.

           destroy adoCommand.

           modify  adoConnection @Close().
           destroy adoConnection.

       main-disconnected.
           accept omitted tab.
           stop run.

       main-ende.
           exit.
       main-e.
      ***********************************************************

in  @fields::@item
("msDS-UserPasswordExpiryTimeComputed")::value
in hlp-test4

I should receive for my user for example the value: 133494369554492556
But i get only 7624

I tried several things.
Cause it is an integer8 value it should be declared as s9(18) comp-5 but here is also the value 7624.

Has anyone an idea how to get here the correct value? Or what 7624 is, that i can work with this value?

Regards David Neidinger

Tags:

  • 0

    This would be tough to help, without your adodb.def copybook. When I use NetDefGen on the ADODB.dll, I get both a copybook and the events copybook. What happens when you just use s9(18) or even a pic x(50)?

    SW Engineering(QA)  

    Although I am an OpenText employee, I am speaking for myself and not for OpenText.
    If you found this post useful, give it a “Like” or click on "Verify Answer" under the "More" button

  • 0 in reply to 

    i tried also just s9(18) and pic x(250). Always same result.

    my def-file:

          >>IMP(ACU-CBLFLAGS=-Sa)
          * C:\NEtools\COPY\adodb.def - OLE object definitions for ADODB
          * This is a 32-bit object
          * Generated by axdefgen version 10.1.0
          * Generated: Monday, March 12, 2018
          * Typelib..: C:\Program Files (x86)\Common Files\System\ado\msado15.dll
               
               OBJECT @ADODB
               
          * CursorTypeEnum
               CLASS @CursorTypeEnum
                   CLSID 0000051B-0000-0010-8000-00AA006D2EA4
                   NAME "CursorTypeEnum"
          * "long adOpenUnspecified"
                   ENUMERATOR, @adOpenUnspecified, -1
          * "long adOpenForwardOnly"
                   ENUMERATOR, @adOpenForwardOnly, 0
          * "long adOpenKeyset"
                   ENUMERATOR, @adOpenKeyset, 1
          * "long adOpenDynamic"
                   ENUMERATOR, @adOpenDynamic, 2
          * "long adOpenStatic"
                   ENUMERATOR, @adOpenStatic, 3
               
          * CursorOptionEnum
               CLASS @CursorOptionEnum
                   CLSID 0000051C-0000-0010-8000-00AA006D2EA4
                   NAME "CursorOptionEnum"
          * "long adHoldRecords"
                   ENUMERATOR, @adHoldRecords, 256
          * "long adMovePrevious"
                   ENUMERATOR, @adMovePrevious, 512
          * "long adAddNew"
                   ENUMERATOR, @adAddNew, 16778240
          * "long adDelete"
                   ENUMERATOR, @adDelete, 16779264
          * "long adUpdate"
                   ENUMERATOR, @adUpdate, 16809984
          * "long adBookmark"
                   ENUMERATOR, @adBookmark, 8192
          * "long adApproxPosition"
                   ENUMERATOR, @adApproxPosition, 16384
          * "long adUpdateBatch"
                   ENUMERATOR, @adUpdateBatch, 65536
          * "long adResync"
                   ENUMERATOR, @adResync, 131072
          * "long adNotify"
                   ENUMERATOR, @adNotify, 262144
          * "long adFind"
                   ENUMERATOR, @adFind, 524288
          * "long adSeek"
                   ENUMERATOR, @adSeek, 4194304
          * "long adIndex"
                   ENUMERATOR, @adIndex, 8388608
               
          * LockTypeEnum
               CLASS @LockTypeEnum
                   CLSID 0000051D-0000-0010-8000-00AA006D2EA4
                   NAME "LockTypeEnum"
          * "long adLockUnspecified"
                   ENUMERATOR, @adLockUnspecified, -1
          * "long adLockReadOnly"
                   ENUMERATOR, @adLockReadOnly, 1
          * "long adLockPessimistic"
                   ENUMERATOR, @adLockPessimistic, 2
          * "long adLockOptimistic"
                   ENUMERATOR, @adLockOptimistic, 3
          * "long adLockBatchOptimistic"
                   ENUMERATOR, @adLockBatchOptimistic, 4
               
          * ExecuteOptionEnum
               CLASS @ExecuteOptionEnum
                   CLSID 0000051E-0000-0010-8000-00AA006D2EA4
                   NAME "ExecuteOptionEnum"
          * "long adOptionUnspecified"
                   ENUMERATOR, @adOptionUnspecified, -1
          * "long adAsyncExecute"
                   ENUMERATOR, @adAsyncExecute, 16
          * "long adAsyncFetch"
                   ENUMERATOR, @adAsyncFetch, 32
          * "long adAsyncFetchNonBlocking"
                   ENUMERATOR, @adAsyncFetchNonBlocking, 64
          * "long adExecuteNoRecords"
                   ENUMERATOR, @adExecuteNoRecords, 128
          * "long adExecuteStream"
                   ENUMERATOR, @adExecuteStream, 1024
          * "long adExecuteRecord"
                   ENUMERATOR, @adExecuteRecord, 2048
               
          * ConnectOptionEnum
               CLASS @ConnectOptionEnum
                   CLSID 00000541-0000-0010-8000-00AA006D2EA4
                   NAME "ConnectOptionEnum"
          * "long adConnectUnspecified"
                   ENUMERATOR, @adConnectUnspecified, -1
          * "long adAsyncConnect"
                   ENUMERATOR, @adAsyncConnect, 16
               
          * ObjectStateEnum
               CLASS @ObjectStateEnum
                   CLSID 00000532-0000-0010-8000-00AA006D2EA4
                   NAME "ObjectStateEnum"
          * "long adStateClosed"
                   ENUMERATOR, @adStateClosed, 0
          * "long adStateOpen"
                   ENUMERATOR, @adStateOpen, 1
          * "long adStateConnecting"
                   ENUMERATOR, @adStateConnecting, 2
          * "long adStateExecuting"
                   ENUMERATOR, @adStateExecuting, 4
          * "long adStateFetching"
                   ENUMERATOR, @adStateFetching, 8
               
          * CursorLocationEnum
               CLASS @CursorLocationEnum
                   CLSID 0000052F-0000-0010-8000-00AA006D2EA4
                   NAME "CursorLocationEnum"
          * "long adUseNone"
                   ENUMERATOR, @adUseNone, 1
          * "long adUseServer"
                   ENUMERATOR, @adUseServer, 2
          * "long adUseClient"
                   ENUMERATOR, @adUseClient, 3
          * "long adUseClientBatch"
                   ENUMERATOR, @adUseClientBatch, 3
               
          * DataTypeEnum
               CLASS @DataTypeEnum
                   CLSID 0000051F-0000-0010-8000-00AA006D2EA4
                   NAME "DataTypeEnum"
          * "long adEmpty"
                   ENUMERATOR, @adEmpty, 0
          * "long adTinyInt"
                   ENUMERATOR, @adTinyInt, 16
          * "long adSmallInt"
                   ENUMERATOR, @adSmallInt, 2
          * "long adInteger"
                   ENUMERATOR, @adInteger, 3
          * "long adBigInt"
                   ENUMERATOR, @adBigInt, 20
          * "long adUnsignedTinyInt"
                   ENUMERATOR, @adUnsignedTinyInt, 17
          * "long adUnsignedSmallInt"
                   ENUMERATOR, @adUnsignedSmallInt, 18
          * "long adUnsignedInt"
                   ENUMERATOR, @adUnsignedInt, 19
          * "long adUnsignedBigInt"
                   ENUMERATOR, @adUnsignedBigInt, 21
          * "long adSingle"
                   ENUMERATOR, @adSingle, 4
          * "long adDouble"
                   ENUMERATOR, @adDouble, 5
          * "long adCurrency"
                   ENUMERATOR, @adCurrency, 6
          * "long adDecimal"
                   ENUMERATOR, @adDecimal, 14
          * "long adNumeric"
                   ENUMERATOR, @adNumeric, 131
          * "long adBoolean"
                   ENUMERATOR, @adBoolean, 11
          * "long adError"
                   ENUMERATOR, @adError, 10
          * "long adUserDefined"
                   ENUMERATOR, @adUserDefined, 132
          * "long adVariant"
                   ENUMERATOR, @adVariant, 12
          * "long adIDispatch"
                   ENUMERATOR, @adIDispatch, 9
          * "long adIUnknown"
                   ENUMERATOR, @adIUnknown, 13
          * "long adGUID"
                   ENUMERATOR, @adGUID, 72
          * "long adDate"
                   ENUMERATOR, @adDate, 7
          * "long adDBDate"
                   ENUMERATOR, @adDBDate, 133
          * "long adDBTime"
                   ENUMERATOR, @adDBTime, 134
          * "long adDBTimeStamp"
                   ENUMERATOR, @adDBTimeStamp, 135
          * "long adBSTR"
                   ENUMERATOR, @adBSTR, 8
          * "long adChar"
                   ENUMERATOR, @adChar, 129
          * "long adVarChar"
                   ENUMERATOR, @adVarChar, 200
          * "long adLongVarChar"
                   ENUMERATOR, @adLongVarChar, 201
          * "long adWChar"
                   ENUMERATOR, @adWChar, 130
          * "long adVarWChar"
                   ENUMERATOR, @adVarWChar, 202
          * "long adLongVarWChar"
                   ENUMERATOR, @adLongVarWChar, 203
          * "long adBinary"
                   ENUMERATOR, @adBinary, 128
          * "long adVarBinary"
                   ENUMERATOR, @adVarBinary, 204
          * "long adLongVarBinary"
                   ENUMERATOR, @adLongVarBinary, 205
          * "long adChapter"
                   ENUMERATOR, @adChapter, 136
          * "long adFileTime"
                   ENUMERATOR, @adFileTime, 64
          * "long adPropVariant"
                   ENUMERATOR, @adPropVariant, 138
          * "long adVarNumeric"
                   ENUMERATOR, @adVarNumeric, 139
          * "long adArray"
                   ENUMERATOR, @adArray, 8192
               
          * FieldAttributeEnum
               CLASS @FieldAttributeEnum
                   CLSID 00000525-0000-0010-8000-00AA006D2EA4
                   NAME "FieldAttributeEnum"
          * "long adFldUnspecified"
                   ENUMERATOR, @adFldUnspecified, -1
          * "long adFldMayDefer"
                   ENUMERATOR, @adFldMayDefer, 2
          * "long adFldUpdatable"
                   ENUMERATOR, @adFldUpdatable, 4
          * "long adFldUnknownUpdatable"
                   ENUMERATOR, @adFldUnknownUpdatable, 8
          * "long adFldFixed"
                   ENUMERATOR, @adFldFixed, 16
          * "long adFldIsNullable"
                   ENUMERATOR, @adFldIsNullable, 32
          * "long adFldMayBeNull"
                   ENUMERATOR, @adFldMayBeNull, 64
          * "long adFldLong"
                   ENUMERATOR, @adFldLong, 128
          * "long adFldRowID"
                   ENUMERATOR, @adFldRowID, 256
          * "long adFldRowVersion"
                   ENUMERATOR, @adFldRowVersion, 512
          * "long adFldCacheDeferred"
                   ENUMERATOR, @adFldCacheDeferred, 4096
          * "long adFldIsChapter"
                   ENUMERATOR, @adFldIsChapter, 8192
          * "long adFldNegativeScale"
                   ENUMERATOR, @adFldNegativeScale, 16384
          * "long adFldKeyColumn"
                   ENUMERATOR, @adFldKeyColumn, 32768
          * "long adFldIsRowURL"
                   ENUMERATOR, @adFldIsRowURL, 65536
          * "long adFldIsDefaultStream"
                   ENUMERATOR, @adFldIsDefaultStream, 131072
          * "long adFldIsCollection"
                   ENUMERATOR, @adFldIsCollection, 262144
               
          * EditModeEnum
               CLASS @EditModeEnum
                   CLSID 00000526-0000-0010-8000-00AA006D2EA4
                   NAME "EditModeEnum"
          * "long adEditNone"
                   ENUMERATOR, @adEditNone, 0
          * "long adEditInProgress"
                   ENUMERATOR, @adEditInProgress, 1
          * "long adEditAdd"
                   ENUMERATOR, @adEditAdd, 2
          * "long adEditDelete"
                   ENUMERATOR, @adEditDelete, 4
               
          * RecordStatusEnum
               CLASS @RecordStatusEnum
                   CLSID 00000527-0000-0010-8000-00AA006D2EA4
                   NAME "RecordStatusEnum"
          * "long adRecOK"
                   ENUMERATOR, @adRecOK, 0
          * "long adRecNew"
                   ENUMERATOR, @adRecNew, 1
          * "long adRecModified"
                   ENUMERATOR, @adRecModified, 2
          * "long adRecDeleted"
                   ENUMERATOR, @adRecDeleted, 4
          * "long adRecUnmodified"
                   ENUMERATOR, @adRecUnmodified, 8
          * "long adRecInvalid"
                   ENUMERATOR, @adRecInvalid, 16
          * "long adRecMultipleChanges"
                   ENUMERATOR, @adRecMultipleChanges, 64
          * "long adRecPendingChanges"
                   ENUMERATOR, @adRecPendingChanges, 128
          * "long adRecCanceled"
                   ENUMERATOR, @adRecCanceled, 256
          * "long adRecCantRelease"
                   ENUMERATOR, @adRecCantRelease, 1024
          * "long adRecConcurrencyViolation"
                   ENUMERATOR, @adRecConcurrencyViolation, 2048
          * "long adRecIntegrityViolation"
                   ENUMERATOR, @adRecIntegrityViolation, 4096
          * "long adRecMaxChangesExceeded"
                   ENUMERATOR, @adRecMaxChangesExceeded, 8192
          * "long adRecObjectOpen"
                   ENUMERATOR, @adRecObjectOpen, 16384
          * "long adRecOutOfMemory"
                   ENUMERATOR, @adRecOutOfMemory, 32768
          * "long adRecPermissionDenied"
                   ENUMERATOR, @adRecPermissionDenied, 65536
          * "long adRecSchemaViolation"
                   ENUMERATOR, @adRecSchemaViolation, 131072
          * "long adRecDBDeleted"
                   ENUMERATOR, @adRecDBDeleted, 262144
               
          * GetRowsOptionEnum
               CLASS @GetRowsOptionEnum
                   CLSID 00000542-0000-0010-8000-00AA006D2EA4
                   NAME "GetRowsOptionEnum"
          * "long adGetRowsRest"
                   ENUMERATOR, @adGetRowsRest, -1
               
          * PositionEnum
               CLASS @PositionEnum
                   CLSID 00000528-0000-0010-8000-00AA006D2EA4
                   NAME "PositionEnum"
          * "long adPosUnknown"
                   ENUMERATOR, @adPosUnknown, -1
          * "long adPosBOF"
                   ENUMERATOR, @adPosBOF, -2
          * "long adPosEOF"
                   ENUMERATOR, @adPosEOF, -3
               
          * BookmarkEnum
               CLASS @BookmarkEnum
                   CLSID 00000000-0000-0000-0000-000000000000
                   NAME "BookmarkEnum"
          * "long adBookmarkCurrent"
                   ENUMERATOR, @adBookmarkCurrent, 0
          * "long adBookmarkFirst"
                   ENUMERATOR, @adBookmarkFirst, 1
          * "long adBookmarkLast"
                   ENUMERATOR, @adBookmarkLast, 2
               
          * MarshalOptionsEnum
               CLASS @MarshalOptionsEnum
                   CLSID 00000540-0000-0010-8000-00AA006D2EA4
                   NAME "MarshalOptionsEnum"
          * "long adMarshalAll"
                   ENUMERATOR, @adMarshalAll, 0
          * "long adMarshalModifiedOnly"
                   ENUMERATOR, @adMarshalModifiedOnly, 1
               
          * AffectEnum
               CLASS @AffectEnum
                   CLSID 00000543-0000-0010-8000-00AA006D2EA4
                   NAME "AffectEnum"
          * "long adAffectCurrent"
                   ENUMERATOR, @adAffectCurrent, 1
          * "long adAffectGroup"
                   ENUMERATOR, @adAffectGroup, 2
          * "long adAffectAll"
                   ENUMERATOR, @adAffectAll, 3
          * "long adAffectAllChapters"
                   ENUMERATOR, @adAffectAllChapters, 4
               
          * ResyncEnum
               CLASS @ResyncEnum
                   CLSID 00000544-0000-0010-8000-00AA006D2EA4
                   NAME "ResyncEnum"
          * "long adResyncUnderlyingValues"
                   ENUMERATOR, @adResyncUnderlyingValues, 1
          * "long adResyncAllValues"
                   ENUMERATOR, @adResyncAllValues, 2
               
          * CompareEnum
               CLASS @CompareEnum
                   CLSID 00000545-0000-0010-8000-00AA006D2EA4
                   NAME "CompareEnum"
          * "long adCompareLessThan"
                   ENUMERATOR, @adCompareLessThan, 0
          * "long adCompareEqual"
                   ENUMERATOR, @adCompareEqual, 1
          * "long adCompareGreaterThan"
                   ENUMERATOR, @adCompareGreaterThan, 2
          * "long adCompareNotEqual"
                   ENUMERATOR, @adCompareNotEqual, 3
          * "long adCompareNotComparable"
                   ENUMERATOR, @adCompareNotComparable, 4
               
          * FilterGroupEnum
               CLASS @FilterGroupEnum
                   CLSID 00000546-0000-0010-8000-00AA006D2EA4
                   NAME "FilterGroupEnum"
          * "long adFilterNone"
                   ENUMERATOR, @adFilterNone, 0
          * "long adFilterPendingRecords"
                   ENUMERATOR, @adFilterPendingRecords, 1
          * "long adFilterAffectedRecords"
                   ENUMERATOR, @adFilterAffectedRecords, 2
          * "long adFilterFetchedRecords"
                   ENUMERATOR, @adFilterFetchedRecords, 3
          * "long adFilterPredicate"
                   ENUMERATOR, @adFilterPredicate, 4
          * "long adFilterConflictingRecords"
                   ENUMERATOR, @adFilterConflictingRecords, 5
               
          * SearchDirectionEnum
               CLASS @SearchDirectionEnum
                   CLSID 00000547-0000-0010-8000-00AA006D2EA4
                   NAME "SearchDirectionEnum"
          * "long adSearchForward"
                   ENUMERATOR, @adSearchForward, 1
          * "long adSearchBackward"
                   ENUMERATOR, @adSearchBackward, -1
               
          * PersistFormatEnum
               CLASS @PersistFormatEnum
                   CLSID 00000548-0000-0010-8000-00AA006D2EA4
                   NAME "PersistFormatEnum"
          * "long adPersistADTG"
                   ENUMERATOR, @adPersistADTG, 0
          * "long adPersistXML"
                   ENUMERATOR, @adPersistXML, 1
               
          * StringFormatEnum
               CLASS @StringFormatEnum
                   CLSID 00000549-0000-0010-8000-00AA006D2EA4
                   NAME "StringFormatEnum"
          * "long adClipString"
                   ENUMERATOR, @adClipString, 2
               
          * ConnectPromptEnum
               CLASS @ConnectPromptEnum
                   CLSID 00000520-0000-0010-8000-00AA006D2EA4
                   NAME "ConnectPromptEnum"
          * "long adPromptAlways"
                   ENUMERATOR, @adPromptAlways, 1
          * "long adPromptComplete"
                   ENUMERATOR, @adPromptComplete, 2
          * "long adPromptCompleteRequired"
                   ENUMERATOR, @adPromptCompleteRequired, 3
          * "long adPromptNever"
                   ENUMERATOR, @adPromptNever, 4
               
          * ConnectModeEnum
               CLASS @ConnectModeEnum
                   CLSID 00000521-0000-0010-8000-00AA006D2EA4
                   NAME "ConnectModeEnum"
          * "long adModeUnknown"
                   ENUMERATOR, @adModeUnknown, 0
          * "long adModeRead"
                   ENUMERATOR, @adModeRead, 1
          * "long adModeWrite"
                   ENUMERATOR, @adModeWrite, 2
          * "long adModeReadWrite"
                   ENUMERATOR, @adModeReadWrite, 3
          * "long adModeShareDenyRead"
                   ENUMERATOR, @adModeShareDenyRead, 4
          * "long adModeShareDenyWrite"
                   ENUMERATOR, @adModeShareDenyWrite, 8
          * "long adModeShareExclusive"
                   ENUMERATOR, @adModeShareExclusive, 12
          * "long adModeShareDenyNone"
                   ENUMERATOR, @adModeShareDenyNone, 16
          * "long adModeRecursive"
                   ENUMERATOR, @adModeRecursive, 4194304
               
          * RecordCreateOptionsEnum
               CLASS @RecordCreateOptionsEnum
                   CLSID 00000570-0000-0010-8000-00AA006D2EA4
                   NAME "RecordCreateOptionsEnum"
          * "long adCreateCollection"
                   ENUMERATOR, @adCreateCollection, 8192
          * "long adCreateStructDoc"
                   ENUMERATOR, @adCreateStructDoc, -2147483648
          * "long adCreateNonCollection"
                   ENUMERATOR, @adCreateNonCollection, 0
          * "long adOpenIfExists"
                   ENUMERATOR, @adOpenIfExists, 33554432
          * "long adCreateOverwrite"
                   ENUMERATOR, @adCreateOverwrite, 67108864
          * "long adFailIfNotExists"
                   ENUMERATOR, @adFailIfNotExists, -1
               
          * RecordOpenOptionsEnum
               CLASS @RecordOpenOptionsEnum
                   CLSID 00000571-0000-0010-8000-00AA006D2EA4
                   NAME "RecordOpenOptionsEnum"
          * "long adOpenRecordUnspecified"
                   ENUMERATOR, @adOpenRecordUnspecified, -1
          * "long adOpenSource"
                   ENUMERATOR, @adOpenSource, 8388608
          * "long adOpenOutput"
                   ENUMERATOR, @adOpenOutput, 8388608
          * "long adOpenAsync"
                   ENUMERATOR, @adOpenAsync, 4096
          * "long adDelayFetchStream"
                   ENUMERATOR, @adDelayFetchStream, 16384
          * "long adDelayFetchFields"
                   ENUMERATOR, @adDelayFetchFields, 32768
          * "long adOpenExecuteCommand"
                   ENUMERATOR, @adOpenExecuteCommand, 65536
               
          * IsolationLevelEnum
               CLASS @IsolationLevelEnum
                   CLSID 00000523-0000-0010-8000-00AA006D2EA4
                   NAME "IsolationLevelEnum"
          * "long adXactUnspecified"
                   ENUMERATOR, @adXactUnspecified, -1
          * "long adXactChaos"
                   ENUMERATOR, @adXactChaos, 16
          * "long adXactReadUncommitted"
                   ENUMERATOR, @adXactReadUncommitted, 256
          * "long adXactBrowse"
                   ENUMERATOR, @adXactBrowse, 256
          * "long adXactCursorStability"
                   ENUMERATOR, @adXactCursorStability, 4096
          * "long adXactReadCommitted"
                   ENUMERATOR, @adXactReadCommitted, 4096
          * "long adXactRepeatableRead"
                   ENUMERATOR, @adXactRepeatableRead, 65536
          * "long adXactSerializable"
                   ENUMERATOR, @adXactSerializable, 1048576
          * "long adXactIsolated"
                   ENUMERATOR, @adXactIsolated, 1048576
               
          * XactAttributeEnum
               CLASS @XactAttributeEnum
                   CLSID 00000524-0000-0010-8000-00AA006D2EA4
                   NAME "XactAttributeEnum"
          * "long adXactCommitRetaining"
                   ENUMERATOR, @adXactCommitRetaining, 131072
          * "long adXactAbortRetaining"
                   ENUMERATOR, @adXactAbortRetaining, 262144
          * "long adXactAsyncPhaseOne"
                   ENUMERATOR, @adXactAsyncPhaseOne, 524288
          * "long adXactSyncPhaseOne"
                   ENUMERATOR, @adXactSyncPhaseOne, 1048576
               
          * PropertyAttributesEnum
               CLASS @PropertyAttributesEnum
                   CLSID 00000529-0000-0010-8000-00AA006D2EA4
                   NAME "PropertyAttributesEnum"
          * "long adPropNotSupported"
                   ENUMERATOR, @adPropNotSupported, 0
          * "long adPropRequired"
                   ENUMERATOR, @adPropRequired, 1
          * "long adPropOptional"
                   ENUMERATOR, @adPropOptional, 2
          * "long adPropRead"
                   ENUMERATOR, @adPropRead, 512
          * "long adPropWrite"
                   ENUMERATOR, @adPropWrite, 1024
               
          * ErrorValueEnum
               CLASS @ErrorValueEnum
                   CLSID 0000052A-0000-0010-8000-00AA006D2EA4
                   NAME "ErrorValueEnum"
          * "long adErrProviderFailed"
                   ENUMERATOR, @adErrProviderFailed, 3000
          * "long adErrInvalidArgument"
                   ENUMERATOR, @adErrInvalidArgument, 3001
          * "long adErrOpeningFile"
                   ENUMERATOR, @adErrOpeningFile, 3002
          * "long adErrReadFile"
                   ENUMERATOR, @adErrReadFile, 3003
          * "long adErrWriteFile"
                   ENUMERATOR, @adErrWriteFile, 3004
          * "long adErrNoCurrentRecord"
                   ENUMERATOR, @adErrNoCurrentRecord, 3021
          * "long adErrIllegalOperation"
                   ENUMERATOR, @adErrIllegalOperation, 3219
          * "long adErrCantChangeProvider"
                   ENUMERATOR, @adErrCantChangeProvider, 3220
          * "long adErrInTransaction"
                   ENUMERATOR, @adErrInTransaction, 3246
          * "long adErrFeatureNotAvailable"
                   ENUMERATOR, @adErrFeatureNotAvailable, 3251
          * "long adErrItemNotFound"
                   ENUMERATOR, @adErrItemNotFound, 3265
          * "long adErrObjectInCollection"
                   ENUMERATOR, @adErrObjectInCollection, 3367
          * "long adErrObjectNotSet"
                   ENUMERATOR, @adErrObjectNotSet, 3420
          * "long adErrDataConversion"
                   ENUMERATOR, @adErrDataConversion, 3421
          * "long adErrObjectClosed"
                   ENUMERATOR, @adErrObjectClosed, 3704
          * "long adErrObjectOpen"
                   ENUMERATOR, @adErrObjectOpen, 3705
          * "long adErrProviderNotFound"
                   ENUMERATOR, @adErrProviderNotFound, 3706
          * "long adErrBoundToCommand"
                   ENUMERATOR, @adErrBoundToCommand, 3707
          * "long adErrInvalidParamInfo"
                   ENUMERATOR, @adErrInvalidParamInfo, 3708
          * "long adErrInvalidConnection"
                   ENUMERATOR, @adErrInvalidConnection, 3709
          * "long adErrNotReentrant"
                   ENUMERATOR, @adErrNotReentrant, 3710
          * "long adErrStillExecuting"
                   ENUMERATOR, @adErrStillExecuting, 3711
          * "long adErrOperationCancelled"
                   ENUMERATOR, @adErrOperationCancelled, 3712
          * "long adErrStillConnecting"
                   ENUMERATOR, @adErrStillConnecting, 3713
          * "long adErrInvalidTransaction"
                   ENUMERATOR, @adErrInvalidTransaction, 3714
          * "long adErrNotExecuting"
                   ENUMERATOR, @adErrNotExecuting, 3715
          * "long adErrUnsafeOperation"
                   ENUMERATOR, @adErrUnsafeOperation, 3716
          * "long adwrnSecurityDialog"
                   ENUMERATOR, @adwrnSecurityDialog, 3717
          * "long adwrnSecurityDialogHeader"
                   ENUMERATOR, @adwrnSecurityDialogHeader, 3718
          * "long adErrIntegrityViolation"
                   ENUMERATOR, @adErrIntegrityViolation, 3719
          * "long adErrPermissionDenied"
                   ENUMERATOR, @adErrPermissionDenied, 3720
          * "long adErrDataOverflow"
                   ENUMERATOR, @adErrDataOverflow, 3721
          * "long adErrSchemaViolation"
                   ENUMERATOR, @adErrSchemaViolation, 3722
          * "long adErrSignMismatch"
                   ENUMERATOR, @adErrSignMismatch, 3723
          * "long adErrCantConvertvalue"
                   ENUMERATOR, @adErrCantConvertvalue, 3724
          * "long adErrCantCreate"
                   ENUMERATOR, @adErrCantCreate, 3725
          * "long adErrColumnNotOnThisRow"
                   ENUMERATOR, @adErrColumnNotOnThisRow, 3726
          * "long adErrURLDoesNotExist"
                   ENUMERATOR, @adErrURLDoesNotExist, 3727
          * "long adErrTreePermissionDenied"
                   ENUMERATOR, @adErrTreePermissionDenied, 3728
          * "long adErrInvalidURL"
                   ENUMERATOR, @adErrInvalidURL, 3729
          * "long adErrResourceLocked"
                   ENUMERATOR, @adErrResourceLocked, 3730
          * "long adErrResourceExists"
                   ENUMERATOR, @adErrResourceExists, 3731
          * "long adErrCannotComplete"
                   ENUMERATOR, @adErrCannotComplete, 3732
          * "long adErrVolumeNotFound"
                   ENUMERATOR, @adErrVolumeNotFound, 3733
          * "long adErrOutOfSpace"
                   ENUMERATOR, @adErrOutOfSpace, 3734
          * "long adErrResourceOutOfScope"
                   ENUMERATOR, @adErrResourceOutOfScope, 3735
          * "long adErrUnavailable"
                   ENUMERATOR, @adErrUnavailable, 3736
          * "long adErrURLNamedRowDoesNotExist"
                   ENUMERATOR, @adErrURLNamedRowDoesNotExist, 3737
          * "long adErrDelResOutOfScope"
                   ENUMERATOR, @adErrDelResOutOfScope, 3738
          * "long adErrPropInvalidColumn"
                   ENUMERATOR, @adErrPropInvalidColumn, 3739
          * "long adErrPropInvalidOption"
                   ENUMERATOR, @adErrPropInvalidOption, 3740
          * "long adErrPropInvalidValue"
                   ENUMERATOR, @adErrPropInvalidValue, 3741
          * "long adErrPropConflicting"
                   ENUMERATOR, @adErrPropConflicting, 3742
          * "long adErrPropNotAllSettable"
                   ENUMERATOR, @adErrPropNotAllSettable, 3743
          * "long adErrPropNotSet"
                   ENUMERATOR, @adErrPropNotSet, 3744
          * "long adErrPropNotSettable"
                   ENUMERATOR, @adErrPropNotSettable, 3745
          * "long adErrPropNotSupported"
                   ENUMERATOR, @adErrPropNotSupported, 3746
          * "long adErrCatalogNotSet"
                   ENUMERATOR, @adErrCatalogNotSet, 3747
          * "long adErrCantChangeConnection"
                   ENUMERATOR, @adErrCantChangeConnection, 3748
          * "long adErrFieldsUpdateFailed"
                   ENUMERATOR, @adErrFieldsUpdateFailed, 3749
          * "long adErrDenyNotSupported"
                   ENUMERATOR, @adErrDenyNotSupported, 3750
          * "long adErrDenyTypeNotSupported"
                   ENUMERATOR, @adErrDenyTypeNotSupported, 3751
          * "long adErrProviderNotSpecified"
                   ENUMERATOR, @adErrProviderNotSpecified, 3753
          * "long adErrConnectionStringTooLong"
                   ENUMERATOR, @adErrConnectionStringTooLong, 3754
               
          * ParameterAttributesEnum
               CLASS @ParameterAttributesEnum
                   CLSID 0000052B-0000-0010-8000-00AA006D2EA4
                   NAME "ParameterAttributesEnum"
          * "long adParamSigned"
                   ENUMERATOR, @adParamSigned, 16
          * "long adParamNullable"
                   ENUMERATOR, @adParamNullable, 64
          * "long adParamLong"
                   ENUMERATOR, @adParamLong, 128
               
          * ParameterDirectionEnum
               CLASS @ParameterDirectionEnum
                   CLSID 0000052C-0000-0010-8000-00AA006D2EA4
                   NAME "ParameterDirectionEnum"
          * "long adParamUnknown"
                   ENUMERATOR, @adParamUnknown, 0
          * "long adParamInput"
                   ENUMERATOR, @adParamInput, 1
          * "long adParamOutput"
                   ENUMERATOR, @adParamOutput, 2
          * "long adParamInputOutput"
                   ENUMERATOR, @adParamInputOutput, 3
          * "long adParamReturnValue"
                   ENUMERATOR, @adParamReturnValue, 4
               
          * CommandTypeEnum
               CLASS @CommandTypeEnum
                   CLSID 0000052E-0000-0010-8000-00AA006D2EA4
                   NAME "CommandTypeEnum"
          * "long adCmdUnspecified"
                   ENUMERATOR, @adCmdUnspecified, -1
          * "long adCmdUnknown"
                   ENUMERATOR, @adCmdUnknown, 8
          * "long adCmdText"
                   ENUMERATOR, @adCmdText, 1
          * "long adCmdTable"
                   ENUMERATOR, @adCmdTable, 2
          * "long adCmdStoredProc"
                   ENUMERATOR, @adCmdStoredProc, 4
          * "long adCmdFile"
                   ENUMERATOR, @adCmdFile, 256
          * "long adCmdTableDirect"
                   ENUMERATOR, @adCmdTableDirect, 512
               
          * EventStatusEnum
               CLASS @EventStatusEnum
                   CLSID 00000530-0000-0010-8000-00AA006D2EA4
                   NAME "EventStatusEnum"
          * "long adStatusOK"
                   ENUMERATOR, @adStatusOK, 1
          * "long adStatusErrorsOccurred"
                   ENUMERATOR, @adStatusErrorsOccurred, 2
          * "long adStatusCantDeny"
                   ENUMERATOR, @adStatusCantDeny, 3
          * "long adStatusCancel"
                   ENUMERATOR, @adStatusCancel, 4
          * "long adStatusUnwantedEvent"
                   ENUMERATOR, @adStatusUnwantedEvent, 5
               
          * EventReasonEnum
               CLASS @EventReasonEnum
                   CLSID 00000531-0000-0010-8000-00AA006D2EA4
                   NAME "EventReasonEnum"
          * "long adRsnAddNew"
                   ENUMERATOR, @adRsnAddNew, 1
          * "long adRsnDelete"
                   ENUMERATOR, @adRsnDelete, 2
          * "long adRsnUpdate"
                   ENUMERATOR, @adRsnUpdate, 3
          * "long adRsnUndoUpdate"
                   ENUMERATOR, @adRsnUndoUpdate, 4
          * "long adRsnUndoAddNew"
                   ENUMERATOR, @adRsnUndoAddNew, 5
          * "long adRsnUndoDelete"
                   ENUMERATOR, @adRsnUndoDelete, 6
          * "long adRsnRequery"
                   ENUMERATOR, @adRsnRequery, 7
          * "long adRsnResynch"
                   ENUMERATOR, @adRsnResynch, 8
          * "long adRsnClose"
                   ENUMERATOR, @adRsnClose, 9
          * "long adRsnMove"
                   ENUMERATOR, @adRsnMove, 10
          * "long adRsnFirstChange"
                   ENUMERATOR, @adRsnFirstChange, 11
          * "long adRsnMoveFirst"
                   ENUMERATOR, @adRsnMoveFirst, 12
          * "long adRsnMoveNext"
                   ENUMERATOR, @adRsnMoveNext, 13
          * "long adRsnMovePrevious"
                   ENUMERATOR, @adRsnMovePrevious, 14
          * "long adRsnMoveLast"
                   ENUMERATOR, @adRsnMoveLast, 15
               
          * SchemaEnum
               CLASS @SchemaEnum
                   CLSID 00000533-0000-0010-8000-00AA006D2EA4
                   NAME "SchemaEnum"
          * "long adSchemaProviderSpecific"
                   ENUMERATOR, @adSchemaProviderSpecific, -1
          * "long adSchemaAsserts"
                   ENUMERATOR, @adSchemaAsserts, 0
          * "long adSchemaCatalogs"
                   ENUMERATOR, @adSchemaCatalogs, 1
          * "long adSchemaCharacterSets"
                   ENUMERATOR, @adSchemaCharacterSets, 2
          * "long adSchemaCollations"
                   ENUMERATOR, @adSchemaCollations, 3
          * "long adSchemaColumns"
                   ENUMERATOR, @adSchemaColumns, 4
          * "long adSchemaCheckConstraints"
                   ENUMERATOR, @adSchemaCheckConstraints, 5
          * "long adSchemaConstraintColumnUsage"
                   ENUMERATOR, @adSchemaConstraintColumnUsage, 6
          * "long adSchemaConstraintTableUsage"
                   ENUMERATOR, @adSchemaConstraintTableUsage, 7
          * "long adSchemaKeyColumnUsage"
                   ENUMERATOR, @adSchemaKeyColumnUsage, 8
          * "long adSchemaReferentialContraints"
                   ENUMERATOR, @adSchemaReferentialContraints, 9
          * "long adSchemaReferentialConstraints"
                   ENUMERATOR, @adSchemaReferentialConstraints, 9
          * "long adSchemaTableConstraints"
                   ENUMERATOR, @adSchemaTableConstraints, 10
          * "long adSchemaColumnsDomainUsage"
                   ENUMERATOR, @adSchemaColumnsDomainUsage, 11
          * "long adSchemaIndexes"
                   ENUMERATOR, @adSchemaIndexes, 12
          * "long adSchemaColumnPrivileges"
                   ENUMERATOR, @adSchemaColumnPrivileges, 13
          * "long adSchemaTablePrivileges"
                   ENUMERATOR, @adSchemaTablePrivileges, 14
          * "long adSchemaUsagePrivileges"
                   ENUMERATOR, @adSchemaUsagePrivileges, 15
          * "long adSchemaProcedures"
                   ENUMERATOR, @adSchemaProcedures, 16
          * "long adSchemaSchemata"
                   ENUMERATOR, @adSchemaSchemata, 17
          * "long adSchemaSQLLanguages"
                   ENUMERATOR, @adSchemaSQLLanguages, 18
          * "long adSchemaStatistics"
                   ENUMERATOR, @adSchemaStatistics, 19
          * "long adSchemaTables"
                   ENUMERATOR, @adSchemaTables, 20
          * "long adSchemaTranslations"
                   ENUMERATOR, @adSchemaTranslations, 21
          * "long adSchemaProviderTypes"
                   ENUMERATOR, @adSchemaProviderTypes, 22
          * "long adSchemaViews"
                   ENUMERATOR, @adSchemaViews, 23
          * "long adSchemaViewColumnUsage"
                   ENUMERATOR, @adSchemaViewColumnUsage, 24
          * "long adSchemaViewTableUsage"
                   ENUMERATOR, @adSchemaViewTableUsage, 25
          * "long adSchemaProcedureParameters"
                   ENUMERATOR, @adSchemaProcedureParameters, 26
          * "long adSchemaForeignKeys"
                   ENUMERATOR, @adSchemaForeignKeys, 27
          * "long adSchemaPrimaryKeys"
                   ENUMERATOR, @adSchemaPrimaryKeys, 28
          * "long adSchemaProcedureColumns"
                   ENUMERATOR, @adSchemaProcedureColumns, 29
          * "long adSchemaDBInfoKeywords"
                   ENUMERATOR, @adSchemaDBInfoKeywords, 30
          * "long adSchemaDBInfoLiterals"
                   ENUMERATOR, @adSchemaDBInfoLiterals, 31
          * "long adSchemaCubes"
                   ENUMERATOR, @adSchemaCubes, 32
          * "long adSchemaDimensions"
                   ENUMERATOR, @adSchemaDimensions, 33
          * "long adSchemaHierarchies"
                   ENUMERATOR, @adSchemaHierarchies, 34
          * "long adSchemaLevels"
                   ENUMERATOR, @adSchemaLevels, 35
          * "long adSchemaMeasures"
                   ENUMERATOR, @adSchemaMeasures, 36
          * "long adSchemaProperties"
                   ENUMERATOR, @adSchemaProperties, 37
          * "long adSchemaMembers"
                   ENUMERATOR, @adSchemaMembers, 38
          * "long adSchemaTrustees"
                   ENUMERATOR, @adSchemaTrustees, 39
          * "long adSchemaFunctions"
                   ENUMERATOR, @adSchemaFunctions, 40
          * "long adSchemaActions"
                   ENUMERATOR, @adSchemaActions, 41
          * "long adSchemaCommands"
                   ENUMERATOR, @adSchemaCommands, 42
          * "long adSchemaSets"
                   ENUMERATOR, @adSchemaSets, 43
               
          * FieldStatusEnum
               CLASS @FieldStatusEnum
                   CLSID 0000057E-0000-0010-8000-00AA006D2EA4
                   NAME "FieldStatusEnum"
          * "long adFieldOK"
                   ENUMERATOR, @adFieldOK, 0
          * "long adFieldCantConvertValue"
                   ENUMERATOR, @adFieldCantConvertValue, 2
          * "long adFieldIsNull"
                   ENUMERATOR, @adFieldIsNull, 3
          * "long adFieldTruncated"
                   ENUMERATOR, @adFieldTruncated, 4
          * "long adFieldSignMismatch"
                   ENUMERATOR, @adFieldSignMismatch, 5
          * "long adFieldDataOverflow"
                   ENUMERATOR, @adFieldDataOverflow, 6
          * "long adFieldCantCreate"
                   ENUMERATOR, @adFieldCantCreate, 7
          * "long adFieldUnavailable"
                   ENUMERATOR, @adFieldUnavailable, 8
          * "long adFieldPermissionDenied"
                   ENUMERATOR, @adFieldPermissionDenied, 9
          * "long adFieldIntegrityViolation"
                   ENUMERATOR, @adFieldIntegrityViolation, 10
          * "long adFieldSchemaViolation"
                   ENUMERATOR, @adFieldSchemaViolation, 11
          * "long adFieldBadStatus"
                   ENUMERATOR, @adFieldBadStatus, 12
          * "long adFieldDefault"
                   ENUMERATOR, @adFieldDefault, 13
          * "long adFieldIgnore"
                   ENUMERATOR, @adFieldIgnore, 15
          * "long adFieldDoesNotExist"
                   ENUMERATOR, @adFieldDoesNotExist, 16
          * "long adFieldInvalidURL"
                   ENUMERATOR, @adFieldInvalidURL, 17
          * "long adFieldResourceLocked"
                   ENUMERATOR, @adFieldResourceLocked, 18
          * "long adFieldResourceExists"
                   ENUMERATOR, @adFieldResourceExists, 19
          * "long adFieldCannotComplete"
                   ENUMERATOR, @adFieldCannotComplete, 20
          * "long adFieldVolumeNotFound"
                   ENUMERATOR, @adFieldVolumeNotFound, 21
          * "long adFieldOutOfSpace"
                   ENUMERATOR, @adFieldOutOfSpace, 22
          * "long adFieldCannotDeleteSource"
                   ENUMERATOR, @adFieldCannotDeleteSource, 23
          * "long adFieldReadOnly"
                   ENUMERATOR, @adFieldReadOnly, 24
          * "long adFieldResourceOutOfScope"
                   ENUMERATOR, @adFieldResourceOutOfScope, 25
          * "long adFieldAlreadyExists"
                   ENUMERATOR, @adFieldAlreadyExists, 26
          * "long adFieldPendingInsert"
                   ENUMERATOR, @adFieldPendingInsert, 65536
          * "long adFieldPendingDelete"
                   ENUMERATOR, @adFieldPendingDelete, 131072
          * "long adFieldPendingChange"
                   ENUMERATOR, @adFieldPendingChange, 262144
          * "long adFieldPendingUnknown"
                   ENUMERATOR, @adFieldPendingUnknown, 524288
          * "long adFieldPendingUnknownDelete"
                   ENUMERATOR, @adFieldPendingUnknownDelete, 1048576
               
          * SeekEnum
               CLASS @SeekEnum
                   CLSID 00000552-0000-0010-8000-00AA006D2EA4
                   NAME "SeekEnum"
          * "long adSeekFirstEQ"
                   ENUMERATOR, @adSeekFirstEQ, 1
          * "long adSeekLastEQ"
                   ENUMERATOR, @adSeekLastEQ, 2
          * "long adSeekAfterEQ"
                   ENUMERATOR, @adSeekAfterEQ, 4
          * "long adSeekAfter"
                   ENUMERATOR, @adSeekAfter, 8
          * "long adSeekBeforeEQ"
                   ENUMERATOR, @adSeekBeforeEQ, 16
          * "long adSeekBefore"
                   ENUMERATOR, @adSeekBefore, 32
               
          * ADCPROP_UPDATECRITERIA_ENUM
               CLASS @ADCPROP_UPDATECRITERIA_ENUM
                   CLSID 0000054A-0000-0010-8000-00AA006D2EA4
                   NAME "ADCPROP_UPDATECRITERIA_ENUM"
          * "long adCriteriaKey"
                   ENUMERATOR, @adCriteriaKey, 0
          * "long adCriteriaAllCols"
                   ENUMERATOR, @adCriteriaAllCols, 1
          * "long adCriteriaUpdCols"
                   ENUMERATOR, @adCriteriaUpdCols, 2
          * "long adCriteriaTimeStamp"
                   ENUMERATOR, @adCriteriaTimeStamp, 3
               
          * ADCPROP_ASYNCTHREADPRIORITY_ENUM
               CLASS @ADCPROP_ASYNCTHREADPRIORITY_ENUM
                   CLSID 0000054B-0000-0010-8000-00AA006D2EA4
                   NAME "ADCPROP_ASYNCTHREADPRIORITY_ENUM"
          * "long adPriorityLowest"
                   ENUMERATOR, @adPriorityLowest, 1
          * "long adPriorityBelowNormal"
                   ENUMERATOR, @adPriorityBelowNormal, 2
          * "long adPriorityNormal"
                   ENUMERATOR, @adPriorityNormal, 3
          * "long adPriorityAboveNormal"
                   ENUMERATOR, @adPriorityAboveNormal, 4
          * "long adPriorityHighest"
                   ENUMERATOR, @adPriorityHighest, 5
               
          * ADCPROP_AUTORECALC_ENUM
               CLASS @ADCPROP_AUTORECALC_ENUM
                   CLSID 00000554-0000-0010-8000-00AA006D2EA4
                   NAME "ADCPROP_AUTORECALC_ENUM"
          * "long adRecalcUpFront"
                   ENUMERATOR, @adRecalcUpFront, 0
          * "long adRecalcAlways"
                   ENUMERATOR, @adRecalcAlways, 1
               
          * ADCPROP_UPDATERESYNC_ENUM
               CLASS @ADCPROP_UPDATERESYNC_ENUM
                   CLSID 00000553-0000-0010-8000-00AA006D2EA4
                   NAME "ADCPROP_UPDATERESYNC_ENUM"
          * "long adResyncNone"
                   ENUMERATOR, @adResyncNone, 0
          * "long adResyncAutoIncrement"
                   ENUMERATOR, @adResyncAutoIncrement, 1
          * "long adResyncConflicts"
                   ENUMERATOR, @adResyncConflicts, 2
          * "long adResyncUpdates"
                   ENUMERATOR, @adResyncUpdates, 4
          * "long adResyncInserts"
                   ENUMERATOR, @adResyncInserts, 8
          * "long adResyncAll"
                   ENUMERATOR, @adResyncAll, 15
               
          * MoveRecordOptionsEnum
               CLASS @MoveRecordOptionsEnum
                   CLSID 00000573-0000-0010-8000-00AA006D2EA4
                   NAME "MoveRecordOptionsEnum"
          * "long adMoveUnspecified"
                   ENUMERATOR, @adMoveUnspecified, -1
          * "long adMoveOverWrite"
                   ENUMERATOR, @adMoveOverWrite, 1
          * "long adMoveDontUpdateLinks"
                   ENUMERATOR, @adMoveDontUpdateLinks, 2
          * "long adMoveAllowEmulation"
                   ENUMERATOR, @adMoveAllowEmulation, 4
               
          * CopyRecordOptionsEnum
               CLASS @CopyRecordOptionsEnum
                   CLSID 00000574-0000-0010-8000-00AA006D2EA4
                   NAME "CopyRecordOptionsEnum"
          * "long adCopyUnspecified"
                   ENUMERATOR, @adCopyUnspecified, -1
          * "long adCopyOverWrite"
                   ENUMERATOR, @adCopyOverWrite, 1
          * "long adCopyAllowEmulation"
                   ENUMERATOR, @adCopyAllowEmulation, 4
          * "long adCopyNonRecursive"
                   ENUMERATOR, @adCopyNonRecursive, 2
               
          * StreamTypeEnum
               CLASS @StreamTypeEnum
                   CLSID 00000576-0000-0010-8000-00AA006D2EA4
                   NAME "StreamTypeEnum"
          * "long adTypeBinary"
                   ENUMERATOR, @adTypeBinary, 1
          * "long adTypeText"
                   ENUMERATOR, @adTypeText, 2
               
          * LineSeparatorEnum
               CLASS @LineSeparatorEnum
                   CLSID 00000577-0000-0010-8000-00AA006D2EA4
                   NAME "LineSeparatorEnum"
          * "long adLF"
                   ENUMERATOR, @adLF, 10
          * "long adCR"
                   ENUMERATOR, @adCR, 13
          * "long adCRLF"
                   ENUMERATOR, @adCRLF, -1
               
          * StreamOpenOptionsEnum
               CLASS @StreamOpenOptionsEnum
                   CLSID 0000057A-0000-0010-8000-00AA006D2EA4
                   NAME "StreamOpenOptionsEnum"
          * "long adOpenStreamUnspecified"
                   ENUMERATOR, @adOpenStreamUnspecified, -1
          * "long adOpenStreamAsync"
                   ENUMERATOR, @adOpenStreamAsync, 1
          * "long adOpenStreamFromRecord"
                   ENUMERATOR, @adOpenStreamFromRecord, 4
               
          * StreamWriteEnum
               CLASS @StreamWriteEnum
                   CLSID 0000057B-0000-0010-8000-00AA006D2EA4
                   NAME "StreamWriteEnum"
          * "long adWriteChar"
                   ENUMERATOR, @adWriteChar, 0
          * "long adWriteLine"
                   ENUMERATOR, @adWriteLine, 1
          * "long stWriteChar"
                   ENUMERATOR, @stWriteChar, 0
          * "long stWriteLine"
                   ENUMERATOR, @stWriteLine, 1
               
          * SaveOptionsEnum
               CLASS @SaveOptionsEnum
                   CLSID 0000057C-0000-0010-8000-00AA006D2EA4
                   NAME "SaveOptionsEnum"
          * "long adSaveCreateNotExist"
                   ENUMERATOR, @adSaveCreateNotExist, 1
          * "long adSaveCreateOverWrite"
                   ENUMERATOR, @adSaveCreateOverWrite, 2
               
          * FieldEnum
               CLASS @FieldEnum
                   CLSID 00000000-0000-0000-0000-000000000000
                   NAME "FieldEnum"
          * "long adDefaultStream"
                   ENUMERATOR, @adDefaultStream, -1
          * "long adRecordURL"
                   ENUMERATOR, @adRecordURL, -2
               
          * StreamReadEnum
               CLASS @StreamReadEnum
                   CLSID 00000000-0000-0000-0000-000000000000
                   NAME "StreamReadEnum"
          * "long adReadAll"
                   ENUMERATOR, @adReadAll, -1
          * "long adReadLine"
                   ENUMERATOR, @adReadLine, -2
               
          * RecordTypeEnum
               CLASS @RecordTypeEnum
                   CLSID 0000057D-0000-0010-8000-00AA006D2EA4
                   NAME "RecordTypeEnum"
          * "long adSimpleRecord"
                   ENUMERATOR, @adSimpleRecord, 0
          * "long adCollectionRecord"
                   ENUMERATOR, @adCollectionRecord, 1
          * "long adStructDoc"
                   ENUMERATOR, @adStructDoc, 2
               
          * _Collection
               CLASS @_Collection
                   CLSID 00000512-0000-0010-8000-00AA006D2EA4
                   NAME "_Collection"
          *[Class: @_Collection] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @_Collection] Refresh
                   METHOD, 2, @Refresh
               
          * _DynaCollection
               CLASS @_DynaCollection
                   CLSID 00000513-0000-0010-8000-00AA006D2EA4
                   NAME "_DynaCollection"
          *[Class: @_DynaCollection] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @_DynaCollection] Refresh
                   METHOD, 2, @Refresh
          *[Class: @_DynaCollection] Append
                   METHOD, 1610809344, @Append,
                       "IDispatch*" @Object, TYPE 9
          *[Class: @_DynaCollection] Delete
                   METHOD, 1610809345, @Delete,
                       "VARIANT" @Index, TYPE 12
               
          * _ADO
               CLASS @_ADO
                   CLSID 00000534-0000-0010-8000-00AA006D2EA4
                   NAME "_ADO"
          *[Class: @_ADO] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
               
          * Properties
               CLASS @Properties
                   CLSID 00000504-0000-0010-8000-00AA006D2EA4
                   NAME "Properties"
          *[Class: @Properties] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Properties] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Properties] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Property*", TYPE 9
               
          * Property
               CLASS @Property
                   CLSID 00000503-0000-0010-8000-00AA006D2EA4
                   NAME "Property"
          *[Class: @Property] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Property] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Property] Name
                   PROPERTY-GET, 1610743810, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Property] Type
                   PROPERTY-GET, 1610743811, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Property] Attributes
                   PROPERTY-GET, 1610743812, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Property] Attributes
                   PROPERTY-PUT, 1610743812, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * Error
               CLASS @Error
                   CLSID 00000500-0000-0010-8000-00AA006D2EA4
                   NAME "Error"
          *[Class: @Error] Number
                   PROPERTY-GET, 1, @Number
                           RETURNING "long", TYPE 3
          *[Class: @Error] Source
                   PROPERTY-GET, 2, @Source
                           RETURNING "BSTR", TYPE 8
          *[Class: @Error] Description
                   PROPERTY-GET, 0, @Description
                           RETURNING "BSTR", TYPE 8
          *[Class: @Error] HelpFile
                   PROPERTY-GET, 3, @HelpFile
                           RETURNING "BSTR", TYPE 8
          *[Class: @Error] HelpContext
                   PROPERTY-GET, 4, @HelpContext
                           RETURNING "long", TYPE 3
          *[Class: @Error] SQLState
                   PROPERTY-GET, 5, @SQLState
                           RETURNING "BSTR", TYPE 8
          *[Class: @Error] NativeError
                   PROPERTY-GET, 6, @NativeError
                           RETURNING "long", TYPE 3
               
          * Errors
               CLASS @Errors
                   CLSID 00000501-0000-0010-8000-00AA006D2EA4
                   NAME "Errors"
          *[Class: @Errors] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Errors] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Errors] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Error*", TYPE 9
          *[Class: @Errors] Clear
                   METHOD, 1610809345, @Clear
               
          * Command15
               CLASS @Command15
                   CLSID 00001508-0000-0010-8000-00AA006D2EA4
                   NAME "Command15"
          *[Class: @Command15] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Command15] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection*", TYPE 9
          *[Class: @Command15] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @Command15] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Command15] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command15] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command15] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Command15] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Command15] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @Command15] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command15] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Command15] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "long" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter*", TYPE 9
          *[Class: @Command15] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters*", TYPE 9
          *[Class: @Command15] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @Command15] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @Command15] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command15] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
               
          * _Connection
               CLASS @_Connection
                   CLSID 00001550-0000-0010-8000-00AA006D2EA4
                   NAME "_Connection"
          *[Class: @_Connection] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Connection] ConnectionString
                   PROPERTY-GET, 0, @ConnectionString
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection] ConnectionString
                   PROPERTY-PUT, 0, @ConnectionString,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection] CommandTimeout
                   PROPERTY-GET, 2, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Connection] CommandTimeout
                   PROPERTY-PUT, 2, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection] ConnectionTimeout
                   PROPERTY-GET, 3, @ConnectionTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Connection] ConnectionTimeout
                   PROPERTY-PUT, 3, @ConnectionTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection] Version
                   PROPERTY-GET, 4, @Version
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection] Close
                   METHOD, 5, @Close
          *[Class: @_Connection] Execute
                   METHOD, 6, @Execute,
                       "BSTR" @CommandText, TYPE 8,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Connection] BeginTrans
                   METHOD, 7, @BeginTrans
                           RETURNING "long", TYPE 3
          *[Class: @_Connection] CommitTrans
                   METHOD, 8, @CommitTrans
          *[Class: @_Connection] RollbackTrans
                   METHOD, 9, @RollbackTrans
          *[Class: @_Connection] Open
                   METHOD, 10, @Open,
                       "BSTR" @ConnectionString, TYPE 8,
                       "BSTR" @UserID, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "long" @Options, TYPE 3
                           OPTIONAL 4
          *[Class: @_Connection] Errors
                   PROPERTY-GET, 11, @Errors
                           RETURNING "Errors*", TYPE 9
          *[Class: @_Connection] DefaultDatabase
                   PROPERTY-GET, 12, @DefaultDatabase
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection] DefaultDatabase
                   PROPERTY-PUT, 12, @DefaultDatabase,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection] IsolationLevel
                   PROPERTY-GET, 13, @IsolationLevel
                           RETURNING "IsolationLevelEnum", TYPE 3
          *[Class: @_Connection] IsolationLevel
                   PROPERTY-PUT, 13, @IsolationLevel,
                       "IsolationLevelEnum (Property_Value)", TYPE 3
          *[Class: @_Connection] Attributes
                   PROPERTY-GET, 14, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @_Connection] Attributes
                   PROPERTY-PUT, 14, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection] CursorLocation
                   PROPERTY-GET, 15, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @_Connection] CursorLocation
                   PROPERTY-PUT, 15, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @_Connection] Mode
                   PROPERTY-GET, 16, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Connection] Mode
                   PROPERTY-PUT, 16, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Connection] Provider
                   PROPERTY-GET, 17, @Provider
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection] Provider
                   PROPERTY-PUT, 17, @Provider,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection] State
                   PROPERTY-GET, 18, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Connection] OpenSchema
                   METHOD, 19, @OpenSchema,
                       "SchemaEnum" @Schema, TYPE 3,
                       "VARIANT" @Restrictions, TYPE 12,
                       "VARIANT" @SchemaID, TYPE 12
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Connection] Cancel
                   METHOD, 21, @Cancel
               
          * Connection15
               CLASS @Connection15
                   CLSID 00001515-0000-0010-8000-00AA006D2EA4
                   NAME "Connection15"
          *[Class: @Connection15] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Connection15] ConnectionString
                   PROPERTY-GET, 0, @ConnectionString
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15] ConnectionString
                   PROPERTY-PUT, 0, @ConnectionString,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15] CommandTimeout
                   PROPERTY-GET, 2, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection15] CommandTimeout
                   PROPERTY-PUT, 2, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15] ConnectionTimeout
                   PROPERTY-GET, 3, @ConnectionTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection15] ConnectionTimeout
                   PROPERTY-PUT, 3, @ConnectionTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15] Version
                   PROPERTY-GET, 4, @Version
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15] Close
                   METHOD, 5, @Close
          *[Class: @Connection15] Execute
                   METHOD, 6, @Execute,
                       "BSTR" @CommandText, TYPE 8,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Connection15] BeginTrans
                   METHOD, 7, @BeginTrans
                           RETURNING "long", TYPE 3
          *[Class: @Connection15] CommitTrans
                   METHOD, 8, @CommitTrans
          *[Class: @Connection15] RollbackTrans
                   METHOD, 9, @RollbackTrans
          *[Class: @Connection15] Open
                   METHOD, 10, @Open,
                       "BSTR" @ConnectionString, TYPE 8,
                       "BSTR" @UserID, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "long" @Options, TYPE 3
                           OPTIONAL 4
          *[Class: @Connection15] Errors
                   PROPERTY-GET, 11, @Errors
                           RETURNING "Errors*", TYPE 9
          *[Class: @Connection15] DefaultDatabase
                   PROPERTY-GET, 12, @DefaultDatabase
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15] DefaultDatabase
                   PROPERTY-PUT, 12, @DefaultDatabase,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15] IsolationLevel
                   PROPERTY-GET, 13, @IsolationLevel
                           RETURNING "IsolationLevelEnum", TYPE 3
          *[Class: @Connection15] IsolationLevel
                   PROPERTY-PUT, 13, @IsolationLevel,
                       "IsolationLevelEnum (Property_Value)", TYPE 3
          *[Class: @Connection15] Attributes
                   PROPERTY-GET, 14, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Connection15] Attributes
                   PROPERTY-PUT, 14, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15] CursorLocation
                   PROPERTY-GET, 15, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Connection15] CursorLocation
                   PROPERTY-PUT, 15, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Connection15] Mode
                   PROPERTY-GET, 16, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @Connection15] Mode
                   PROPERTY-PUT, 16, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @Connection15] Provider
                   PROPERTY-GET, 17, @Provider
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15] Provider
                   PROPERTY-PUT, 17, @Provider,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15] State
                   PROPERTY-GET, 18, @State
                           RETURNING "long", TYPE 3
          *[Class: @Connection15] OpenSchema
                   METHOD, 19, @OpenSchema,
                       "SchemaEnum" @Schema, TYPE 3,
                       "VARIANT" @Restrictions, TYPE 12,
                       "VARIANT" @SchemaID, TYPE 12
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
               
          * _Recordset
               CLASS @_Recordset
                   CLSID 00001556-0000-0010-8000-00AA006D2EA4
                   NAME "_Recordset"
          *[Class: @_Recordset] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Recordset] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @_Recordset] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Recordset] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Recordset] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @_Recordset] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @_Recordset] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @_Recordset] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Recordset] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Recordset] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @_Recordset] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @_Recordset] Close
                   METHOD, 1014, @Close
          *[Class: @_Recordset] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] Move
                   METHOD, 1017, @Move,
                       "long" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @_Recordset] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @_Recordset] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @_Recordset] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @_Recordset] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @_Recordset] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @_Recordset] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @_Recordset] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @_Recordset] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @_Recordset] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Recordset] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Recordset] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @_Recordset] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Recordset] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @_Recordset] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "long" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @_Recordset] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @_Recordset] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @_Recordset] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @_Recordset] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @_Recordset] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @_Recordset] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Recordset] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @_Recordset] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Recordset] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
          *[Class: @_Recordset] Seek
                   METHOD, 1066, @Seek,
                       "VARIANT" @KeyValues, TYPE 12,
                       "SeekEnum" @SeekOption, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset] Index
                   PROPERTY-PUT, 1067, @Index,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset] Index
                   PROPERTY-GET, 1067, @Index
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset] Save
                   METHOD, 1057, @Save,
                       "VARIANT" @Destination, TYPE 12,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
               
          * Recordset21
               CLASS @Recordset21
                   CLSID 00001555-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset21"
          *[Class: @Recordset21] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset21] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset21] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset21] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset21] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset21] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @Recordset21] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset21] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset21] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset21] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset21] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset21] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset21] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] Move
                   METHOD, 1017, @Move,
                       "long" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset21] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset21] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset21] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset21] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset21] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset21] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset21] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset21] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset21] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset21] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset21] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset21] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset21] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset21] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "long" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @Recordset21] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @Recordset21] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Recordset21] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Recordset21] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset21] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @Recordset21] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Recordset21] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @Recordset21] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset21] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset21] Seek
                   METHOD, 1066, @Seek,
                       "VARIANT" @KeyValues, TYPE 12,
                       "SeekEnum" @SeekOption, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21] Index
                   PROPERTY-PUT, 1067, @Index,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21] Index
                   PROPERTY-GET, 1067, @Index
                           RETURNING "BSTR", TYPE 8
               
          * Recordset20
               CLASS @Recordset20
                   CLSID 0000154F-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset20"
          *[Class: @Recordset20] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset20] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset20] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset20] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset20] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset20] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @Recordset20] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset20] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset20] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset20] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset20] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset20] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset20] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] Move
                   METHOD, 1017, @Move,
                       "long" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset20] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset20] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset20] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset20] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset20] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset20] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset20] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset20] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset20] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset20] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset20] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset20] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset20] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset20] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "long" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @Recordset20] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @Recordset20] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Recordset20] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Recordset20] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset20] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @Recordset20] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Recordset20] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @Recordset20] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset20] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
               
          * Recordset15
               CLASS @Recordset15
                   CLSID 0000150E-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset15"
          *[Class: @Recordset15] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset15] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset15] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset15] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset15] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset15] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @Recordset15] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset15] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset15] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset15] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset15] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset15] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset15] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset15] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] Move
                   METHOD, 1017, @Move,
                       "long" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset15] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset15] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset15] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset15] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset15] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset15] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset15] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset15] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset15] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset15] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset15] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset15] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset15] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset15] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset15] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset15] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "long" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
               
          * Fields
               CLASS @Fields
                   CLSID 00001564-0000-0010-8000-00AA006D2EA4
                   NAME "Fields"
          *[Class: @Fields] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field*", TYPE 9
          *[Class: @Fields] _Append
                   METHOD, 1610874880, @_Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "long" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3
                           OPTIONAL 2
          *[Class: @Fields] Delete
                   METHOD, 4, @Delete,
                       "VARIANT" @Index, TYPE 12
          *[Class: @Fields] Append
                   METHOD, 3, @Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "long" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3,
                       "VARIANT" @FieldValue, TYPE 12
                           OPTIONAL 3
          *[Class: @Fields] Update
                   METHOD, 5, @Update
          *[Class: @Fields] Resync
                   METHOD, 6, @Resync,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 1
          *[Class: @Fields] CancelUpdate
                   METHOD, 7, @CancelUpdate
               
          * Fields20
               CLASS @Fields20
                   CLSID 0000154D-0000-0010-8000-00AA006D2EA4
                   NAME "Fields20"
          *[Class: @Fields20] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields20] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields20] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field*", TYPE 9
          *[Class: @Fields20] _Append
                   METHOD, 1610874880, @_Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "long" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3
                           OPTIONAL 2
          *[Class: @Fields20] Delete
                   METHOD, 4, @Delete,
                       "VARIANT" @Index, TYPE 12
               
          * Fields15
               CLASS @Fields15
                   CLSID 00001506-0000-0010-8000-00AA006D2EA4
                   NAME "Fields15"
          *[Class: @Fields15] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields15] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields15] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field*", TYPE 9
               
          * Field
               CLASS @Field
                   CLSID 00001569-0000-0010-8000-00AA006D2EA4
                   NAME "Field"
          *[Class: @Field] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "long", TYPE 3
          *[Class: @Field] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "long", TYPE 3
          *[Class: @Field] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field] DataFormat
                   PROPERTY-GET, 1115, @DataFormat
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Field] DataFormat
                   PROPERTY-PUTREF, 1115, @DataFormat,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Field] Precision
                   PROPERTY-PUT, 1112, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field] NumericScale
                   PROPERTY-PUT, 1113, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field] Type
                   PROPERTY-PUT, 1102, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @Field] DefinedSize
                   PROPERTY-PUT, 1103, @DefinedSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Field] Attributes
                   PROPERTY-PUT, 1114, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @Field] Status
                   PROPERTY-GET, 1116, @Status
                           RETURNING "long", TYPE 3
               
          * Field20
               CLASS @Field20
                   CLSID 0000154C-0000-0010-8000-00AA006D2EA4
                   NAME "Field20"
          *[Class: @Field20] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field20] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "long", TYPE 3
          *[Class: @Field20] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field20] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "long", TYPE 3
          *[Class: @Field20] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field20] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field20] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field20] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field20] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field20] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field20] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20] DataFormat
                   PROPERTY-GET, 1115, @DataFormat
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Field20] DataFormat
                   PROPERTY-PUTREF, 1115, @DataFormat,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Field20] Precision
                   PROPERTY-PUT, 1112, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field20] NumericScale
                   PROPERTY-PUT, 1113, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field20] Type
                   PROPERTY-PUT, 1102, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @Field20] DefinedSize
                   PROPERTY-PUT, 1103, @DefinedSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Field20] Attributes
                   PROPERTY-PUT, 1114, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * _Parameter
               CLASS @_Parameter
                   CLSID 0000150C-0000-0010-8000-00AA006D2EA4
                   NAME "_Parameter"
          *[Class: @_Parameter] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Parameter] Name
                   PROPERTY-GET, 1, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Parameter] Name
                   PROPERTY-PUT, 1, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Parameter] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Parameter] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Parameter] Type
                   PROPERTY-GET, 2, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @_Parameter] Type
                   PROPERTY-PUT, 2, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Parameter] Direction
                   PROPERTY-PUT, 3, @Direction,
                       "ParameterDirectionEnum (Property_Value)", TYPE 3
          *[Class: @_Parameter] Direction
                   PROPERTY-GET, 3, @Direction
                           RETURNING "ParameterDirectionEnum", TYPE 3
          *[Class: @_Parameter] Precision
                   PROPERTY-PUT, 4, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @_Parameter] Precision
                   PROPERTY-GET, 4, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @_Parameter] NumericScale
                   PROPERTY-PUT, 5, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @_Parameter] NumericScale
                   PROPERTY-GET, 5, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @_Parameter] Size
                   PROPERTY-PUT, 6, @Size,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Parameter] Size
                   PROPERTY-GET, 6, @Size
                           RETURNING "long", TYPE 3
          *[Class: @_Parameter] AppendChunk
                   METHOD, 7, @AppendChunk,
                       "VARIANT" @Val, TYPE 12
          *[Class: @_Parameter] Attributes
                   PROPERTY-GET, 8, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @_Parameter] Attributes
                   PROPERTY-PUT, 8, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * Parameters
               CLASS @Parameters
                   CLSID 0000150D-0000-0010-8000-00AA006D2EA4
                   NAME "Parameters"
          *[Class: @Parameters] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Parameters] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Parameters] Append
                   METHOD, 1610809344, @Append,
                       "IDispatch*" @Object, TYPE 9
          *[Class: @Parameters] Delete
                   METHOD, 1610809345, @Delete,
                       "VARIANT" @Index, TYPE 12
          *[Class: @Parameters] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "_Parameter*", TYPE 9
               
          * Command25
               CLASS @Command25
                   CLSID 0000154E-0000-0010-8000-00AA006D2EA4
                   NAME "Command25"
          *[Class: @Command25] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Command25] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection*", TYPE 9
          *[Class: @Command25] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @Command25] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Command25] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command25] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command25] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Command25] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Command25] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @Command25] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command25] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Command25] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "long" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter*", TYPE 9
          *[Class: @Command25] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters*", TYPE 9
          *[Class: @Command25] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @Command25] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @Command25] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command25] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command25] State
                   PROPERTY-GET, 9, @State
                           RETURNING "long", TYPE 3
          *[Class: @Command25] Cancel
                   METHOD, 10, @Cancel
               
          * _Command
               CLASS @_Command
                   CLSID 986761E8-7269-4890-AA65-AD7C03697A6D
                   NAME "_Command"
          *[Class: @_Command] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Command] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection*", TYPE 9
          *[Class: @_Command] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @_Command] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Command] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Command] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Command] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @_Command] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Command] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Command] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "long" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter*", TYPE 9
          *[Class: @_Command] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters*", TYPE 9
          *[Class: @_Command] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Command] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @_Command] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command] State
                   PROPERTY-GET, 9, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Command] Cancel
                   METHOD, 10, @Cancel
          *[Class: @_Command] CommandStream
                   PROPERTY-PUTREF, 11, @CommandStream,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @_Command] CommandStream
                   PROPERTY-GET, 11, @CommandStream
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Command] Dialect
                   PROPERTY-PUT, 12, @Dialect,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command] Dialect
                   PROPERTY-GET, 12, @Dialect
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command] NamedParameters
                   PROPERTY-PUT, 13, @NamedParameters,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Command] NamedParameters
                   PROPERTY-GET, 13, @NamedParameters
                           RETURNING "boolean", TYPE 11
               
          * ConnectionEvents
               CLASS @ConnectionEvents
                   CLSID 00001400-0000-0010-8000-00AA006D2EA4
                   NAME "ConnectionEvents"
          *[Class: @ConnectionEvents] InfoMessage
                   METHOD, 0, @InfoMessage,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] BeginTransComplete
                   METHOD, 1, @BeginTransComplete,
                       "long" @TransactionLevel, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] CommitTransComplete
                   METHOD, 3, @CommitTransComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] RollbackTransComplete
                   METHOD, 2, @RollbackTransComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] WillExecute
                   METHOD, 4, @WillExecute,
                       "BSTR*" @Source, TYPE 16392,
                       "CursorTypeEnum*" @CursorType, TYPE 16387,
                       "LockTypeEnum*" @LockType, TYPE 16387,
                       "long*" @Options, TYPE 16387,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Command*" @pCommand, TYPE 9,
                       "_Recordset*" @pRecordset, TYPE 9,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] ExecuteComplete
                   METHOD, 5, @ExecuteComplete,
                       "long" @RecordsAffected, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Command*" @pCommand, TYPE 9,
                       "_Recordset*" @pRecordset, TYPE 9,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] WillConnect
                   METHOD, 6, @WillConnect,
                       "BSTR*" @ConnectionString, TYPE 16392,
                       "BSTR*" @UserID, TYPE 16392,
                       "BSTR*" @Password, TYPE 16392,
                       "long*" @Options, TYPE 16387,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] ConnectComplete
                   METHOD, 7, @ConnectComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents] Disconnect
                   METHOD, 8, @Disconnect,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
               
          * RecordsetEvents
               CLASS @RecordsetEvents
                   CLSID 00001266-0000-0010-8000-00AA006D2EA4
                   NAME "RecordsetEvents"
          *[Class: @RecordsetEvents] WillChangeField
                   METHOD, 9, @WillChangeField,
                       "long" @cFields, TYPE 3,
                       "VARIANT" @Fields, TYPE 12,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] FieldChangeComplete
                   METHOD, 10, @FieldChangeComplete,
                       "long" @cFields, TYPE 3,
                       "VARIANT" @Fields, TYPE 12,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] WillChangeRecord
                   METHOD, 11, @WillChangeRecord,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "long" @cRecords, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] RecordChangeComplete
                   METHOD, 12, @RecordChangeComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "long" @cRecords, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] WillChangeRecordset
                   METHOD, 13, @WillChangeRecordset,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] RecordsetChangeComplete
                   METHOD, 14, @RecordsetChangeComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] WillMove
                   METHOD, 15, @WillMove,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] MoveComplete
                   METHOD, 16, @MoveComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] EndOfRecordset
                   METHOD, 17, @EndOfRecordset,
                       "boolean*" @fMoreData, TYPE 16395,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] FetchProgress
                   METHOD, 18, @FetchProgress,
                       "long" @Progress, TYPE 3,
                       "long" @MaxProgress, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents] FetchComplete
                   METHOD, 19, @FetchComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
               
          * Connection
               CLASS @Connection
                   CLSID 00000514-0000-0010-8000-00AA006D2EA4
                   NAME "Connection"
                   DEFAULT-INTERFACE "_Connection"
                   DEFAULT-SOURCE "00001400-0000-0010-8000-00AA006D2EA4"
          *[Class: @Connection] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Connection] ConnectionString
                   PROPERTY-GET, 0, @ConnectionString
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection] ConnectionString
                   PROPERTY-PUT, 0, @ConnectionString,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection] CommandTimeout
                   PROPERTY-GET, 2, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection] CommandTimeout
                   PROPERTY-PUT, 2, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection] ConnectionTimeout
                   PROPERTY-GET, 3, @ConnectionTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection] ConnectionTimeout
                   PROPERTY-PUT, 3, @ConnectionTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection] Version
                   PROPERTY-GET, 4, @Version
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection] Close
                   METHOD, 5, @Close
          *[Class: @Connection] Execute
                   METHOD, 6, @Execute,
                       "BSTR" @CommandText, TYPE 8,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Connection] BeginTrans
                   METHOD, 7, @BeginTrans
                           RETURNING "long", TYPE 3
          *[Class: @Connection] CommitTrans
                   METHOD, 8, @CommitTrans
          *[Class: @Connection] RollbackTrans
                   METHOD, 9, @RollbackTrans
          *[Class: @Connection] Open
                   METHOD, 10, @Open,
                       "BSTR" @ConnectionString, TYPE 8,
                       "BSTR" @UserID, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "long" @Options, TYPE 3
                           OPTIONAL 4
          *[Class: @Connection] Errors
                   PROPERTY-GET, 11, @Errors
                           RETURNING "Errors*", TYPE 9
          *[Class: @Connection] DefaultDatabase
                   PROPERTY-GET, 12, @DefaultDatabase
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection] DefaultDatabase
                   PROPERTY-PUT, 12, @DefaultDatabase,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection] IsolationLevel
                   PROPERTY-GET, 13, @IsolationLevel
                           RETURNING "IsolationLevelEnum", TYPE 3
          *[Class: @Connection] IsolationLevel
                   PROPERTY-PUT, 13, @IsolationLevel,
                       "IsolationLevelEnum (Property_Value)", TYPE 3
          *[Class: @Connection] Attributes
                   PROPERTY-GET, 14, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Connection] Attributes
                   PROPERTY-PUT, 14, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection] CursorLocation
                   PROPERTY-GET, 15, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Connection] CursorLocation
                   PROPERTY-PUT, 15, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Connection] Mode
                   PROPERTY-GET, 16, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @Connection] Mode
                   PROPERTY-PUT, 16, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @Connection] Provider
                   PROPERTY-GET, 17, @Provider
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection] Provider
                   PROPERTY-PUT, 17, @Provider,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection] State
                   PROPERTY-GET, 18, @State
                           RETURNING "long", TYPE 3
          *[Class: @Connection] OpenSchema
                   METHOD, 19, @OpenSchema,
                       "SchemaEnum" @Schema, TYPE 3,
                       "VARIANT" @Restrictions, TYPE 12,
                       "VARIANT" @SchemaID, TYPE 12
                           OPTIONAL 2
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Connection] Cancel
                   METHOD, 21, @Cancel
          *[Class: @Connection] InfoMessage
                   EVENT, 0, @ConnectionInfoMessage
          *            3 Parameters
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] BeginTransComplete
                   EVENT, 1, @ConnectionBeginTransComplete
          *            4 Parameters
          *                "long TransactionLevel"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] CommitTransComplete
                   EVENT, 3, @ConnectionCommitTransComplete
          *            3 Parameters
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] RollbackTransComplete
                   EVENT, 2, @ConnectionRollbackTransComplete
          *            3 Parameters
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] WillExecute
                   EVENT, 4, @ConnectionWillExecute
          *            8 Parameters
          *                "BSTR* Source"
          *                "CursorTypeEnum* CursorType"
          *                "LockTypeEnum* LockType"
          *                "long* Options"
          *                "EventStatusEnum* adStatus"
          *                "_Command* pCommand"
          *                "_Recordset* pRecordset"
          *                "_Connection* pConnection"
          *[Class: @Connection] ExecuteComplete
                   EVENT, 5, @ConnectionExecuteComplete
          *            6 Parameters
          *                "long RecordsAffected"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Command* pCommand"
          *                "_Recordset* pRecordset"
          *                "_Connection* pConnection"
          *[Class: @Connection] WillConnect
                   EVENT, 6, @ConnectionWillConnect
          *            6 Parameters
          *                "BSTR* ConnectionString"
          *                "BSTR* UserID"
          *                "BSTR* Password"
          *                "long* Options"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] ConnectComplete
                   EVENT, 7, @ConnectionConnectComplete
          *            3 Parameters
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
          *[Class: @Connection] Disconnect
                   EVENT, 8, @ConnectionDisconnect
          *            2 Parameters
          *                "EventStatusEnum* adStatus"
          *                "_Connection* pConnection"
               
          * _Record
               CLASS @_Record
                   CLSID 00001562-0000-0010-8000-00AA006D2EA4
                   NAME "_Record"
          *[Class: @_Record] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Record] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Record] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Record] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @_Record] State
                   PROPERTY-GET, 2, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @_Record] Source
                   PROPERTY-GET, 3, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Record] Source
                   PROPERTY-PUT, 3, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Record] Source
                   PROPERTY-PUTREF, 3, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Record] Mode
                   PROPERTY-GET, 4, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Record] Mode
                   PROPERTY-PUT, 4, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Record] ParentURL
                   PROPERTY-GET, 5, @ParentURL
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record] MoveRecord
                   METHOD, 6, @MoveRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "MoveRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record] CopyRecord
                   METHOD, 7, @CopyRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "CopyRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record] DeleteRecord
                   METHOD, 8, @DeleteRecord,
                       "BSTR" @Source, TYPE 8,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 2
          *[Class: @_Record] Open
                   METHOD, 9, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "RecordCreateOptionsEnum" @CreateOptions, TYPE 3,
                       "RecordOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 7
          *[Class: @_Record] Close
                   METHOD, 10, @Close
          *[Class: @_Record] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @_Record] RecordType
                   PROPERTY-GET, 11, @RecordType
                           RETURNING "RecordTypeEnum", TYPE 3
          *[Class: @_Record] GetChildren
                   METHOD, 12, @GetChildren
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @_Record] Cancel
                   METHOD, 13, @Cancel
               
          * Record
               CLASS @Record
                   CLSID 00000560-0000-0010-8000-00AA006D2EA4
                   NAME "Record"
                   DEFAULT-INTERFACE "_Record"
          *[Class: @Record] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Record] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Record] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Record] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @Record] State
                   PROPERTY-GET, 2, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @Record] Source
                   PROPERTY-GET, 3, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Record] Source
                   PROPERTY-PUT, 3, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Record] Source
                   PROPERTY-PUTREF, 3, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Record] Mode
                   PROPERTY-GET, 4, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @Record] Mode
                   PROPERTY-PUT, 4, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @Record] ParentURL
                   PROPERTY-GET, 5, @ParentURL
                           RETURNING "BSTR", TYPE 8
          *[Class: @Record] MoveRecord
                   METHOD, 6, @MoveRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "MoveRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @Record] CopyRecord
                   METHOD, 7, @CopyRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "CopyRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @Record] DeleteRecord
                   METHOD, 8, @DeleteRecord,
                       "BSTR" @Source, TYPE 8,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 2
          *[Class: @Record] Open
                   METHOD, 9, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "RecordCreateOptionsEnum" @CreateOptions, TYPE 3,
                       "RecordOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 7
          *[Class: @Record] Close
                   METHOD, 10, @Close
          *[Class: @Record] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @Record] RecordType
                   PROPERTY-GET, 11, @RecordType
                           RETURNING "RecordTypeEnum", TYPE 3
          *[Class: @Record] GetChildren
                   METHOD, 12, @GetChildren
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Record] Cancel
                   METHOD, 13, @Cancel
               
          * _Stream
               CLASS @_Stream
                   CLSID 00001565-0000-0010-8000-00AA006D2EA4
                   NAME "_Stream"
          *[Class: @_Stream] Size
                   PROPERTY-GET, 1, @Size
                           RETURNING "long", TYPE 3
          *[Class: @_Stream] EOS
                   PROPERTY-GET, 2, @EOS
                           RETURNING "boolean", TYPE 11
          *[Class: @_Stream] Position
                   PROPERTY-GET, 3, @Position
                           RETURNING "long", TYPE 3
          *[Class: @_Stream] Position
                   PROPERTY-PUT, 3, @Position,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Stream] Type
                   PROPERTY-GET, 4, @Type
                           RETURNING "StreamTypeEnum", TYPE 3
          *[Class: @_Stream] Type
                   PROPERTY-PUT, 4, @Type,
                       "StreamTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Stream] LineSeparator
                   PROPERTY-GET, 5, @LineSeparator
                           RETURNING "LineSeparatorEnum", TYPE 3
          *[Class: @_Stream] LineSeparator
                   PROPERTY-PUT, 5, @LineSeparator,
                       "LineSeparatorEnum (Property_Value)", TYPE 3
          *[Class: @_Stream] State
                   PROPERTY-GET, 6, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @_Stream] Mode
                   PROPERTY-GET, 7, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Stream] Mode
                   PROPERTY-PUT, 7, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Stream] Charset
                   PROPERTY-GET, 8, @Charset
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Stream] Charset
                   PROPERTY-PUT, 8, @Charset,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Stream] Read
                   METHOD, 9, @Read,
                       "long" @NumBytes, TYPE 3
                           OPTIONAL 1
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Stream] Open
                   METHOD, 10, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "StreamOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 5
          *[Class: @_Stream] Close
                   METHOD, 11, @Close
          *[Class: @_Stream] SkipLine
                   METHOD, 12, @SkipLine
          *[Class: @_Stream] Write
                   METHOD, 13, @Write,
                       "VARIANT" @Buffer, TYPE 12
          *[Class: @_Stream] SetEOS
                   METHOD, 14, @SetEOS
          *[Class: @_Stream] CopyTo
                   METHOD, 15, @CopyTo,
                       "_Stream*" @DestStream, TYPE 9,
                       "long" @CharNumber, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream] Flush
                   METHOD, 16, @Flush
          *[Class: @_Stream] SaveToFile
                   METHOD, 17, @SaveToFile,
                       "BSTR" @FileName, TYPE 8,
                       "SaveOptionsEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream] LoadFromFile
                   METHOD, 18, @LoadFromFile,
                       "BSTR" @FileName, TYPE 8
          *[Class: @_Stream] ReadText
                   METHOD, 19, @ReadText,
                       "long" @NumChars, TYPE 3
                           OPTIONAL 1
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Stream] WriteText
                   METHOD, 20, @WriteText,
                       "BSTR" @Data, TYPE 8,
                       "StreamWriteEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream] Cancel
                   METHOD, 21, @Cancel
               
          * Stream
               CLASS @Stream
                   CLSID 00000566-0000-0010-8000-00AA006D2EA4
                   NAME "Stream"
                   DEFAULT-INTERFACE "_Stream"
          *[Class: @Stream] Size
                   PROPERTY-GET, 1, @Size
                           RETURNING "long", TYPE 3
          *[Class: @Stream] EOS
                   PROPERTY-GET, 2, @EOS
                           RETURNING "boolean", TYPE 11
          *[Class: @Stream] Position
                   PROPERTY-GET, 3, @Position
                           RETURNING "long", TYPE 3
          *[Class: @Stream] Position
                   PROPERTY-PUT, 3, @Position,
                       "long (Property_Value)", TYPE 3
          *[Class: @Stream] Type
                   PROPERTY-GET, 4, @Type
                           RETURNING "StreamTypeEnum", TYPE 3
          *[Class: @Stream] Type
                   PROPERTY-PUT, 4, @Type,
                       "StreamTypeEnum (Property_Value)", TYPE 3
          *[Class: @Stream] LineSeparator
                   PROPERTY-GET, 5, @LineSeparator
                           RETURNING "LineSeparatorEnum", TYPE 3
          *[Class: @Stream] LineSeparator
                   PROPERTY-PUT, 5, @LineSeparator,
                       "LineSeparatorEnum (Property_Value)", TYPE 3
          *[Class: @Stream] State
                   PROPERTY-GET, 6, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @Stream] Mode
                   PROPERTY-GET, 7, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @Stream] Mode
                   PROPERTY-PUT, 7, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @Stream] Charset
                   PROPERTY-GET, 8, @Charset
                           RETURNING "BSTR", TYPE 8
          *[Class: @Stream] Charset
                   PROPERTY-PUT, 8, @Charset,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Stream] Read
                   METHOD, 9, @Read,
                       "long" @NumBytes, TYPE 3
                           OPTIONAL 1
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Stream] Open
                   METHOD, 10, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "StreamOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 5
          *[Class: @Stream] Close
                   METHOD, 11, @Close
          *[Class: @Stream] SkipLine
                   METHOD, 12, @SkipLine
          *[Class: @Stream] Write
                   METHOD, 13, @Write,
                       "VARIANT" @Buffer, TYPE 12
          *[Class: @Stream] SetEOS
                   METHOD, 14, @SetEOS
          *[Class: @Stream] CopyTo
                   METHOD, 15, @CopyTo,
                       "_Stream*" @DestStream, TYPE 9,
                       "long" @CharNumber, TYPE 3
                           OPTIONAL 1
          *[Class: @Stream] Flush
                   METHOD, 16, @Flush
          *[Class: @Stream] SaveToFile
                   METHOD, 17, @SaveToFile,
                       "BSTR" @FileName, TYPE 8,
                       "SaveOptionsEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Stream] LoadFromFile
                   METHOD, 18, @LoadFromFile,
                       "BSTR" @FileName, TYPE 8
          *[Class: @Stream] ReadText
                   METHOD, 19, @ReadText,
                       "long" @NumChars, TYPE 3
                           OPTIONAL 1
                           RETURNING "BSTR", TYPE 8
          *[Class: @Stream] WriteText
                   METHOD, 20, @WriteText,
                       "BSTR" @Data, TYPE 8,
                       "StreamWriteEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Stream] Cancel
                   METHOD, 21, @Cancel
               
          * Command
               CLASS @Command
                   CLSID 00000507-0000-0010-8000-00AA006D2EA4
                   NAME "Command"
                   DEFAULT-INTERFACE "_Command"
          *[Class: @Command] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Command] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection*", TYPE 9
          *[Class: @Command] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection* (Property_Value)", TYPE 9
          *[Class: @Command] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Command] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Command] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Command] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @Command] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Command] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "long" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter*", TYPE 9
          *[Class: @Command] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters*", TYPE 9
          *[Class: @Command] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @Command] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @Command] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command] State
                   PROPERTY-GET, 9, @State
                           RETURNING "long", TYPE 3
          *[Class: @Command] Cancel
                   METHOD, 10, @Cancel
          *[Class: @Command] CommandStream
                   PROPERTY-PUTREF, 11, @CommandStream,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Command] CommandStream
                   PROPERTY-GET, 11, @CommandStream
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Command] Dialect
                   PROPERTY-PUT, 12, @Dialect,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command] Dialect
                   PROPERTY-GET, 12, @Dialect
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command] NamedParameters
                   PROPERTY-PUT, 13, @NamedParameters,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command] NamedParameters
                   PROPERTY-GET, 13, @NamedParameters
                           RETURNING "boolean", TYPE 11
               
          * Recordset
               CLASS @Recordset
                   CLSID 00000535-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset"
                   DEFAULT-INTERFACE "_Recordset"
                   DEFAULT-SOURCE "00001266-0000-0010-8000-00AA006D2EA4"
          *[Class: @Recordset] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields*", TYPE 9
          *[Class: @Recordset] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] Move
                   METHOD, 1017, @Move,
                       "long" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum", TYPE 3
          *[Class: @Recordset] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "long" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @Recordset] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @Recordset] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Recordset] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Recordset] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @Recordset] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Recordset] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @Recordset] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset*", TYPE 9
          *[Class: @Recordset] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset] Seek
                   METHOD, 1066, @Seek,
                       "VARIANT" @KeyValues, TYPE 12,
                       "SeekEnum" @SeekOption, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset] Index
                   PROPERTY-PUT, 1067, @Index,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset] Index
                   PROPERTY-GET, 1067, @Index
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset] Save
                   METHOD, 1057, @Save,
                       "VARIANT" @Destination, TYPE 12,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset] WillChangeField
                   EVENT, 9, @RecordsetWillChangeField
          *            4 Parameters
          *                "long cFields"
          *                "VARIANT Fields"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] FieldChangeComplete
                   EVENT, 10, @RecordsetFieldChangeComplete
          *            5 Parameters
          *                "long cFields"
          *                "VARIANT Fields"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] WillChangeRecord
                   EVENT, 11, @RecordsetWillChangeRecord
          *            4 Parameters
          *                "EventReasonEnum adReason"
          *                "long cRecords"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] RecordChangeComplete
                   EVENT, 12, @RecordsetRecordChangeComplete
          *            5 Parameters
          *                "EventReasonEnum adReason"
          *                "long cRecords"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] WillChangeRecordset
                   EVENT, 13, @RecordsetWillChangeRecordset
          *            3 Parameters
          *                "EventReasonEnum adReason"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] RecordsetChangeComplete
                   EVENT, 14, @RecordsetRecordsetChangeComplete
          *            4 Parameters
          *                "EventReasonEnum adReason"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] WillMove
                   EVENT, 15, @RecordsetWillMove
          *            3 Parameters
          *                "EventReasonEnum adReason"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] MoveComplete
                   EVENT, 16, @RecordsetMoveComplete
          *            4 Parameters
          *                "EventReasonEnum adReason"
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] EndOfRecordset
                   EVENT, 17, @RecordsetEndOfRecordset
          *            3 Parameters
          *                "boolean* fMoreData"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] FetchProgress
                   EVENT, 18, @RecordsetFetchProgress
          *            4 Parameters
          *                "long Progress"
          *                "long MaxProgress"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
          *[Class: @Recordset] FetchComplete
                   EVENT, 19, @RecordsetFetchComplete
          *            3 Parameters
          *                "Error* pError"
          *                "EventStatusEnum* adStatus"
          *                "_Recordset* pRecordset"
               
          * Field15
               CLASS @Field15
                   CLSID 00001505-0000-0010-8000-00AA006D2EA4
                   NAME "Field15"
          *[Class: @Field15] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field15] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "long", TYPE 3
          *[Class: @Field15] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field15] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "long", TYPE 3
          *[Class: @Field15] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field15] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field15] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field15] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field15] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field15] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field15] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
               
          * Parameter
               CLASS @Parameter
                   CLSID 0000050B-0000-0010-8000-00AA006D2EA4
                   NAME "Parameter"
                   DEFAULT-INTERFACE "_Parameter"
          *[Class: @Parameter] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Parameter] Name
                   PROPERTY-GET, 1, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Parameter] Name
                   PROPERTY-PUT, 1, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Parameter] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Parameter] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Parameter] Type
                   PROPERTY-GET, 2, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Parameter] Type
                   PROPERTY-PUT, 2, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @Parameter] Direction
                   PROPERTY-PUT, 3, @Direction,
                       "ParameterDirectionEnum (Property_Value)", TYPE 3
          *[Class: @Parameter] Direction
                   PROPERTY-GET, 3, @Direction
                           RETURNING "ParameterDirectionEnum", TYPE 3
          *[Class: @Parameter] Precision
                   PROPERTY-PUT, 4, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Parameter] Precision
                   PROPERTY-GET, 4, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Parameter] NumericScale
                   PROPERTY-PUT, 5, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Parameter] NumericScale
                   PROPERTY-GET, 5, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Parameter] Size
                   PROPERTY-PUT, 6, @Size,
                       "long (Property_Value)", TYPE 3
          *[Class: @Parameter] Size
                   PROPERTY-GET, 6, @Size
                           RETURNING "long", TYPE 3
          *[Class: @Parameter] AppendChunk
                   METHOD, 7, @AppendChunk,
                       "VARIANT" @Val, TYPE 12
          *[Class: @Parameter] Attributes
                   PROPERTY-GET, 8, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Parameter] Attributes
                   PROPERTY-PUT, 8, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * _Connection_Deprecated
               CLASS @_Connection_Deprecated
                   CLSID 00000550-0000-0010-8000-00AA006D2EA4
                   NAME "_Connection_Deprecated"
          *[Class: @_Connection_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Connection_Deprecated] ConnectionString
                   PROPERTY-GET, 0, @ConnectionString
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection_Deprecated] ConnectionString
                   PROPERTY-PUT, 0, @ConnectionString,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection_Deprecated] CommandTimeout
                   PROPERTY-GET, 2, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Connection_Deprecated] CommandTimeout
                   PROPERTY-PUT, 2, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] ConnectionTimeout
                   PROPERTY-GET, 3, @ConnectionTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Connection_Deprecated] ConnectionTimeout
                   PROPERTY-PUT, 3, @ConnectionTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] Version
                   PROPERTY-GET, 4, @Version
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection_Deprecated] Close
                   METHOD, 5, @Close
          *[Class: @_Connection_Deprecated] Execute
                   METHOD, 6, @Execute,
                       "BSTR" @CommandText, TYPE 8,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 2
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Connection_Deprecated] BeginTrans
                   METHOD, 7, @BeginTrans
                           RETURNING "long", TYPE 3
          *[Class: @_Connection_Deprecated] CommitTrans
                   METHOD, 8, @CommitTrans
          *[Class: @_Connection_Deprecated] RollbackTrans
                   METHOD, 9, @RollbackTrans
          *[Class: @_Connection_Deprecated] Open
                   METHOD, 10, @Open,
                       "BSTR" @ConnectionString, TYPE 8,
                       "BSTR" @UserID, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "long" @Options, TYPE 3
                           OPTIONAL 4
          *[Class: @_Connection_Deprecated] Errors
                   PROPERTY-GET, 11, @Errors
                           RETURNING "Errors*", TYPE 9
          *[Class: @_Connection_Deprecated] DefaultDatabase
                   PROPERTY-GET, 12, @DefaultDatabase
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection_Deprecated] DefaultDatabase
                   PROPERTY-PUT, 12, @DefaultDatabase,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection_Deprecated] IsolationLevel
                   PROPERTY-GET, 13, @IsolationLevel
                           RETURNING "IsolationLevelEnum", TYPE 3
          *[Class: @_Connection_Deprecated] IsolationLevel
                   PROPERTY-PUT, 13, @IsolationLevel,
                       "IsolationLevelEnum (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] Attributes
                   PROPERTY-GET, 14, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @_Connection_Deprecated] Attributes
                   PROPERTY-PUT, 14, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] CursorLocation
                   PROPERTY-GET, 15, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @_Connection_Deprecated] CursorLocation
                   PROPERTY-PUT, 15, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] Mode
                   PROPERTY-GET, 16, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Connection_Deprecated] Mode
                   PROPERTY-PUT, 16, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Connection_Deprecated] Provider
                   PROPERTY-GET, 17, @Provider
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Connection_Deprecated] Provider
                   PROPERTY-PUT, 17, @Provider,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Connection_Deprecated] State
                   PROPERTY-GET, 18, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Connection_Deprecated] OpenSchema
                   METHOD, 19, @OpenSchema,
                       "SchemaEnum" @Schema, TYPE 3,
                       "VARIANT" @Restrictions, TYPE 12,
                       "VARIANT" @SchemaID, TYPE 12
                           OPTIONAL 2
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Connection_Deprecated] Cancel
                   METHOD, 21, @Cancel
               
          * Connection15_Deprecated
               CLASS @Connection15_Deprecated
                   CLSID 00000515-0000-0010-8000-00AA006D2EA4
                   NAME "Connection15_Deprecated"
          *[Class: @Connection15_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Connection15_Deprecated] ConnectionString
                   PROPERTY-GET, 0, @ConnectionString
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15_Deprecated] ConnectionString
                   PROPERTY-PUT, 0, @ConnectionString,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15_Deprecated] CommandTimeout
                   PROPERTY-GET, 2, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection15_Deprecated] CommandTimeout
                   PROPERTY-PUT, 2, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] ConnectionTimeout
                   PROPERTY-GET, 3, @ConnectionTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Connection15_Deprecated] ConnectionTimeout
                   PROPERTY-PUT, 3, @ConnectionTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] Version
                   PROPERTY-GET, 4, @Version
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15_Deprecated] Close
                   METHOD, 5, @Close
          *[Class: @Connection15_Deprecated] Execute
                   METHOD, 6, @Execute,
                       "BSTR" @CommandText, TYPE 8,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 2
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Connection15_Deprecated] BeginTrans
                   METHOD, 7, @BeginTrans
                           RETURNING "long", TYPE 3
          *[Class: @Connection15_Deprecated] CommitTrans
                   METHOD, 8, @CommitTrans
          *[Class: @Connection15_Deprecated] RollbackTrans
                   METHOD, 9, @RollbackTrans
          *[Class: @Connection15_Deprecated] Open
                   METHOD, 10, @Open,
                       "BSTR" @ConnectionString, TYPE 8,
                       "BSTR" @UserID, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "long" @Options, TYPE 3
                           OPTIONAL 4
          *[Class: @Connection15_Deprecated] Errors
                   PROPERTY-GET, 11, @Errors
                           RETURNING "Errors*", TYPE 9
          *[Class: @Connection15_Deprecated] DefaultDatabase
                   PROPERTY-GET, 12, @DefaultDatabase
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15_Deprecated] DefaultDatabase
                   PROPERTY-PUT, 12, @DefaultDatabase,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15_Deprecated] IsolationLevel
                   PROPERTY-GET, 13, @IsolationLevel
                           RETURNING "IsolationLevelEnum", TYPE 3
          *[Class: @Connection15_Deprecated] IsolationLevel
                   PROPERTY-PUT, 13, @IsolationLevel,
                       "IsolationLevelEnum (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] Attributes
                   PROPERTY-GET, 14, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Connection15_Deprecated] Attributes
                   PROPERTY-PUT, 14, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] CursorLocation
                   PROPERTY-GET, 15, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Connection15_Deprecated] CursorLocation
                   PROPERTY-PUT, 15, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] Mode
                   PROPERTY-GET, 16, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @Connection15_Deprecated] Mode
                   PROPERTY-PUT, 16, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @Connection15_Deprecated] Provider
                   PROPERTY-GET, 17, @Provider
                           RETURNING "BSTR", TYPE 8
          *[Class: @Connection15_Deprecated] Provider
                   PROPERTY-PUT, 17, @Provider,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Connection15_Deprecated] State
                   PROPERTY-GET, 18, @State
                           RETURNING "long", TYPE 3
          *[Class: @Connection15_Deprecated] OpenSchema
                   METHOD, 19, @OpenSchema,
                       "SchemaEnum" @Schema, TYPE 3,
                       "VARIANT" @Restrictions, TYPE 12,
                       "VARIANT" @SchemaID, TYPE 12
                           OPTIONAL 2
                           RETURNING "_Recordset_Deprecated*", TYPE 9
               
          * _Recordset_Deprecated
               CLASS @_Recordset_Deprecated
                   CLSID 00000556-0000-0010-8000-00AA006D2EA4
                   NAME "_Recordset_Deprecated"
          *[Class: @_Recordset_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Recordset_Deprecated] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @_Recordset_Deprecated] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @_Recordset_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Recordset_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset_Deprecated] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset_Deprecated] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset_Deprecated] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset_Deprecated] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset_Deprecated] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields_Deprecated*", TYPE 9
          *[Class: @_Recordset_Deprecated] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Recordset_Deprecated] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Recordset_Deprecated] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Recordset_Deprecated] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset_Deprecated] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @_Recordset_Deprecated] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @_Recordset_Deprecated] Close
                   METHOD, 1014, @Close
          *[Class: @_Recordset_Deprecated] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] Move
                   METHOD, 1017, @Move,
                       "ADO_LONGPTR" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @_Recordset_Deprecated] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @_Recordset_Deprecated] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @_Recordset_Deprecated] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @_Recordset_Deprecated] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @_Recordset_Deprecated] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @_Recordset_Deprecated] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @_Recordset_Deprecated] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @_Recordset_Deprecated] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset_Deprecated] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Recordset_Deprecated] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset_Deprecated] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset_Deprecated] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset_Deprecated] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset_Deprecated] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Recordset_Deprecated] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Recordset_Deprecated] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Recordset_Deprecated] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset_Deprecated] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Recordset_Deprecated] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Recordset_Deprecated] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @_Recordset_Deprecated] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "ADO_LONGPTR" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @_Recordset_Deprecated] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @_Recordset_Deprecated] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @_Recordset_Deprecated] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @_Recordset_Deprecated] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @_Recordset_Deprecated] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @_Recordset_Deprecated] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Recordset_Deprecated] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @_Recordset_Deprecated] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset_Deprecated] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset_Deprecated] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset_Deprecated] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @_Recordset_Deprecated] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Recordset_Deprecated] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
          *[Class: @_Recordset_Deprecated] Seek
                   METHOD, 1066, @Seek,
                       "VARIANT" @KeyValues, TYPE 12,
                       "SeekEnum" @SeekOption, TYPE 3
                           OPTIONAL 1
          *[Class: @_Recordset_Deprecated] Index
                   PROPERTY-PUT, 1067, @Index,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Recordset_Deprecated] Index
                   PROPERTY-GET, 1067, @Index
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Recordset_Deprecated] Save
                   METHOD, 1057, @Save,
                       "VARIANT" @Destination, TYPE 12,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
               
          * Recordset21_Deprecated
               CLASS @Recordset21_Deprecated
                   CLSID 00000555-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset21_Deprecated"
          *[Class: @Recordset21_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset21_Deprecated] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset21_Deprecated] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset21_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset21_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21_Deprecated] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21_Deprecated] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21_Deprecated] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21_Deprecated] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21_Deprecated] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields_Deprecated*", TYPE 9
          *[Class: @Recordset21_Deprecated] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset21_Deprecated] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset21_Deprecated] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset21_Deprecated] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21_Deprecated] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset21_Deprecated] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset21_Deprecated] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset21_Deprecated] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] Move
                   METHOD, 1017, @Move,
                       "ADO_LONGPTR" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset21_Deprecated] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset21_Deprecated] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset21_Deprecated] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset21_Deprecated] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset21_Deprecated] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset21_Deprecated] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset21_Deprecated] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset21_Deprecated] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21_Deprecated] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset21_Deprecated] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21_Deprecated] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21_Deprecated] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21_Deprecated] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21_Deprecated] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset21_Deprecated] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset21_Deprecated] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset21_Deprecated] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21_Deprecated] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset21_Deprecated] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset21_Deprecated] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset21_Deprecated] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "ADO_LONGPTR" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @Recordset21_Deprecated] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @Recordset21_Deprecated] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Recordset21_Deprecated] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Recordset21_Deprecated] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset21_Deprecated] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @Recordset21_Deprecated] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Recordset21_Deprecated] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset21_Deprecated] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21_Deprecated] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset21_Deprecated] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21_Deprecated] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @Recordset21_Deprecated] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset21_Deprecated] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset21_Deprecated] Seek
                   METHOD, 1066, @Seek,
                       "VARIANT" @KeyValues, TYPE 12,
                       "SeekEnum" @SeekOption, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset21_Deprecated] Index
                   PROPERTY-PUT, 1067, @Index,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset21_Deprecated] Index
                   PROPERTY-GET, 1067, @Index
                           RETURNING "BSTR", TYPE 8
               
          * Recordset20_Deprecated
               CLASS @Recordset20_Deprecated
                   CLSID 0000054F-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset20_Deprecated"
          *[Class: @Recordset20_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset20_Deprecated] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset20_Deprecated] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset20_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset20_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20_Deprecated] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20_Deprecated] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20_Deprecated] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20_Deprecated] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20_Deprecated] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields_Deprecated*", TYPE 9
          *[Class: @Recordset20_Deprecated] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset20_Deprecated] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset20_Deprecated] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset20_Deprecated] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20_Deprecated] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset20_Deprecated] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset20_Deprecated] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset20_Deprecated] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] Move
                   METHOD, 1017, @Move,
                       "ADO_LONGPTR" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset20_Deprecated] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset20_Deprecated] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset20_Deprecated] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset20_Deprecated] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset20_Deprecated] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset20_Deprecated] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset20_Deprecated] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset20_Deprecated] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20_Deprecated] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset20_Deprecated] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20_Deprecated] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20_Deprecated] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20_Deprecated] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20_Deprecated] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset20_Deprecated] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset20_Deprecated] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset20_Deprecated] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset20_Deprecated] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20_Deprecated] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset20_Deprecated] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset20_Deprecated] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset20_Deprecated] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "ADO_LONGPTR" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
          *[Class: @Recordset20_Deprecated] Cancel
                   METHOD, 1055, @Cancel
          *[Class: @Recordset20_Deprecated] DataSource
                   PROPERTY-GET, 1056, @DataSource
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Recordset20_Deprecated] DataSource
                   PROPERTY-PUTREF, 1056, @DataSource,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Recordset20_Deprecated] _xSave
                   METHOD, 1610874883, @_xSave,
                       "BSTR" @FileName, TYPE 8,
                       "PersistFormatEnum" @PersistFormat, TYPE 3
                           OPTIONAL 2
          *[Class: @Recordset20_Deprecated] ActiveCommand
                   PROPERTY-GET, 1061, @ActiveCommand
                           RETURNING "IDispatch*", TYPE 9
          *[Class: @Recordset20_Deprecated] StayInSync
                   PROPERTY-PUT, 1063, @StayInSync,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Recordset20_Deprecated] StayInSync
                   PROPERTY-GET, 1063, @StayInSync
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset20_Deprecated] GetString
                   METHOD, 1062, @GetString,
                       "StringFormatEnum" @StringFormat, TYPE 3,
                       "long" @NumRows, TYPE 3,
                       "BSTR" @ColumnDelimeter, TYPE 8,
                       "BSTR" @RowDelimeter, TYPE 8,
                       "BSTR" @NullExpr, TYPE 8
                           OPTIONAL 5
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20_Deprecated] DataMember
                   PROPERTY-GET, 1064, @DataMember
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset20_Deprecated] DataMember
                   PROPERTY-PUT, 1064, @DataMember,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset20_Deprecated] CompareBookmarks
                   METHOD, 1065, @CompareBookmarks,
                       "VARIANT" @Bookmark1, TYPE 12,
                       "VARIANT" @Bookmark2, TYPE 12
                           RETURNING "CompareEnum", TYPE 3
          *[Class: @Recordset20_Deprecated] Clone
                   METHOD, 1034, @Clone,
                       "LockTypeEnum" @LockType, TYPE 3
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset20_Deprecated] Resync
                   METHOD, 1024, @Resync,
                       "AffectEnum" @AffectRecords, TYPE 3,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 2
               
          * Recordset15_Deprecated
               CLASS @Recordset15_Deprecated
                   CLSID 0000050E-0000-0010-8000-00AA006D2EA4
                   NAME "Recordset15_Deprecated"
          *[Class: @Recordset15_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Recordset15_Deprecated] AbsolutePosition
                   PROPERTY-GET, 1000, @AbsolutePosition
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset15_Deprecated] AbsolutePosition
                   PROPERTY-PUT, 1000, @AbsolutePosition,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset15_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1001, @ActiveConnection,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset15_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1001, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15_Deprecated] ActiveConnection
                   PROPERTY-GET, 1001, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] BOF
                   PROPERTY-GET, 1002, @BOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15_Deprecated] Bookmark
                   PROPERTY-GET, 1003, @Bookmark
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] Bookmark
                   PROPERTY-PUT, 1003, @Bookmark,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15_Deprecated] CacheSize
                   PROPERTY-GET, 1004, @CacheSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15_Deprecated] CacheSize
                   PROPERTY-PUT, 1004, @CacheSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] CursorType
                   PROPERTY-GET, 1005, @CursorType
                           RETURNING "CursorTypeEnum", TYPE 3
          *[Class: @Recordset15_Deprecated] CursorType
                   PROPERTY-PUT, 1005, @CursorType,
                       "CursorTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] EOF
                   PROPERTY-GET, 1006, @EOF
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15_Deprecated] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields_Deprecated*", TYPE 9
          *[Class: @Recordset15_Deprecated] LockType
                   PROPERTY-GET, 1008, @LockType
                           RETURNING "LockTypeEnum", TYPE 3
          *[Class: @Recordset15_Deprecated] LockType
                   PROPERTY-PUT, 1008, @LockType,
                       "LockTypeEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] MaxRecords
                   PROPERTY-GET, 1009, @MaxRecords
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset15_Deprecated] MaxRecords
                   PROPERTY-PUT, 1009, @MaxRecords,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] RecordCount
                   PROPERTY-GET, 1010, @RecordCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset15_Deprecated] Source
                   PROPERTY-PUTREF, 1011, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @Recordset15_Deprecated] Source
                   PROPERTY-PUT, 1011, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset15_Deprecated] Source
                   PROPERTY-GET, 1011, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] AddNew
                   METHOD, 1012, @AddNew,
                       "VARIANT" @FieldList, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset15_Deprecated] CancelUpdate
                   METHOD, 1013, @CancelUpdate
          *[Class: @Recordset15_Deprecated] Close
                   METHOD, 1014, @Close
          *[Class: @Recordset15_Deprecated] Delete
                   METHOD, 1015, @Delete,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] GetRows
                   METHOD, 1016, @GetRows,
                       "long" @Rows, TYPE 3,
                       "VARIANT" @Start, TYPE 12,
                       "VARIANT" @Fields, TYPE 12
                           OPTIONAL 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] Move
                   METHOD, 1017, @Move,
                       "ADO_LONGPTR" @NumRecords, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] MoveNext
                   METHOD, 1018, @MoveNext
          *[Class: @Recordset15_Deprecated] MovePrevious
                   METHOD, 1019, @MovePrevious
          *[Class: @Recordset15_Deprecated] MoveFirst
                   METHOD, 1020, @MoveFirst
          *[Class: @Recordset15_Deprecated] MoveLast
                   METHOD, 1021, @MoveLast
          *[Class: @Recordset15_Deprecated] Open
                   METHOD, 1022, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "CursorTypeEnum" @CursorType, TYPE 3,
                       "LockTypeEnum" @LockType, TYPE 3,
                       "long" @Options, TYPE 3
                           OPTIONAL 5
          *[Class: @Recordset15_Deprecated] Requery
                   METHOD, 1023, @Requery,
                       "long" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] _xResync
                   METHOD, 1610809378, @_xResync,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] Update
                   METHOD, 1025, @Update,
                       "VARIANT" @Fields, TYPE 12,
                       "VARIANT" @Values, TYPE 12
                           OPTIONAL 2
          *[Class: @Recordset15_Deprecated] AbsolutePage
                   PROPERTY-GET, 1047, @AbsolutePage
                           RETURNING "PositionEnum_Param", TYPE 29
          *[Class: @Recordset15_Deprecated] AbsolutePage
                   PROPERTY-PUT, 1047, @AbsolutePage,
                       "PositionEnum_Param (Property_Value)", TYPE 29
          *[Class: @Recordset15_Deprecated] EditMode
                   PROPERTY-GET, 1026, @EditMode
                           RETURNING "EditModeEnum", TYPE 3
          *[Class: @Recordset15_Deprecated] Filter
                   PROPERTY-GET, 1030, @Filter
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] Filter
                   PROPERTY-PUT, 1030, @Filter,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15_Deprecated] PageCount
                   PROPERTY-GET, 1050, @PageCount
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Recordset15_Deprecated] PageSize
                   PROPERTY-GET, 1048, @PageSize
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15_Deprecated] PageSize
                   PROPERTY-PUT, 1048, @PageSize,
                       "long (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] Sort
                   PROPERTY-GET, 1031, @Sort
                           RETURNING "BSTR", TYPE 8
          *[Class: @Recordset15_Deprecated] Sort
                   PROPERTY-PUT, 1031, @Sort,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Recordset15_Deprecated] Status
                   PROPERTY-GET, 1029, @Status
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15_Deprecated] State
                   PROPERTY-GET, 1054, @State
                           RETURNING "long", TYPE 3
          *[Class: @Recordset15_Deprecated] _xClone
                   METHOD, 1610809392, @_xClone
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset15_Deprecated] UpdateBatch
                   METHOD, 1035, @UpdateBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] CancelBatch
                   METHOD, 1049, @CancelBatch,
                       "AffectEnum" @AffectRecords, TYPE 3
                           OPTIONAL 1
          *[Class: @Recordset15_Deprecated] CursorLocation
                   PROPERTY-GET, 1051, @CursorLocation
                           RETURNING "CursorLocationEnum", TYPE 3
          *[Class: @Recordset15_Deprecated] CursorLocation
                   PROPERTY-PUT, 1051, @CursorLocation,
                       "CursorLocationEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] NextRecordset
                   METHOD, 1052, @NextRecordset,
                       "VARIANT*" @RecordsAffected, TYPE 16396
                           OPTIONAL 1
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Recordset15_Deprecated] Supports
                   METHOD, 1036, @Supports,
                       "CursorOptionEnum" @CursorOptions, TYPE 3
                           RETURNING "boolean", TYPE 11
          *[Class: @Recordset15_Deprecated] Collect
                   PROPERTY-GET, -8, @Collect,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Recordset15_Deprecated] Collect
                   PROPERTY-PUT, -8, @Collect,
                       "VARIANT" @Index, TYPE 12,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Recordset15_Deprecated] MarshalOptions
                   PROPERTY-GET, 1053, @MarshalOptions
                           RETURNING "MarshalOptionsEnum", TYPE 3
          *[Class: @Recordset15_Deprecated] MarshalOptions
                   PROPERTY-PUT, 1053, @MarshalOptions,
                       "MarshalOptionsEnum (Property_Value)", TYPE 3
          *[Class: @Recordset15_Deprecated] Find
                   METHOD, 1058, @Find,
                       "BSTR" @Criteria, TYPE 8,
                       "ADO_LONGPTR" @SkipRecords, TYPE 3,
                       "SearchDirectionEnum" @SearchDirection, TYPE 3,
                       "VARIANT" @Start, TYPE 12
                           OPTIONAL 3
               
          * Fields_Deprecated
               CLASS @Fields_Deprecated
                   CLSID 00000564-0000-0010-8000-00AA006D2EA4
                   NAME "Fields_Deprecated"
          *[Class: @Fields_Deprecated] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields_Deprecated] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields_Deprecated] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field_Deprecated*", TYPE 9
          *[Class: @Fields_Deprecated] _Append
                   METHOD, 1610874880, @_Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ADO_LONGPTR" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3
                           OPTIONAL 2
          *[Class: @Fields_Deprecated] Delete
                   METHOD, 4, @Delete,
                       "VARIANT" @Index, TYPE 12
          *[Class: @Fields_Deprecated] Append
                   METHOD, 3, @Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ADO_LONGPTR" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3,
                       "VARIANT" @FieldValue, TYPE 12
                           OPTIONAL 3
          *[Class: @Fields_Deprecated] Update
                   METHOD, 5, @Update
          *[Class: @Fields_Deprecated] Resync
                   METHOD, 6, @Resync,
                       "ResyncEnum" @ResyncValues, TYPE 3
                           OPTIONAL 1
          *[Class: @Fields_Deprecated] CancelUpdate
                   METHOD, 7, @CancelUpdate
               
          * Fields20_Deprecated
               CLASS @Fields20_Deprecated
                   CLSID 0000054D-0000-0010-8000-00AA006D2EA4
                   NAME "Fields20_Deprecated"
          *[Class: @Fields20_Deprecated] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields20_Deprecated] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields20_Deprecated] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field_Deprecated*", TYPE 9
          *[Class: @Fields20_Deprecated] _Append
                   METHOD, 1610874880, @_Append,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ADO_LONGPTR" @DefinedSize, TYPE 3,
                       "FieldAttributeEnum" @Attrib, TYPE 3
                           OPTIONAL 2
          *[Class: @Fields20_Deprecated] Delete
                   METHOD, 4, @Delete,
                       "VARIANT" @Index, TYPE 12
               
          * Fields15_Deprecated
               CLASS @Fields15_Deprecated
                   CLSID 00000506-0000-0010-8000-00AA006D2EA4
                   NAME "Fields15_Deprecated"
          *[Class: @Fields15_Deprecated] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Fields15_Deprecated] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Fields15_Deprecated] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "Field_Deprecated*", TYPE 9
               
          * Field_Deprecated
               CLASS @Field_Deprecated
                   CLSID 00000569-0000-0010-8000-00AA006D2EA4
                   NAME "Field_Deprecated"
          *[Class: @Field_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field_Deprecated] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field_Deprecated] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field_Deprecated] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field_Deprecated] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field_Deprecated] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field_Deprecated] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field_Deprecated] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field_Deprecated] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field_Deprecated] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field_Deprecated] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field_Deprecated] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field_Deprecated] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field_Deprecated] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field_Deprecated] DataFormat
                   PROPERTY-GET, 1115, @DataFormat
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Field_Deprecated] DataFormat
                   PROPERTY-PUTREF, 1115, @DataFormat,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Field_Deprecated] Precision
                   PROPERTY-PUT, 1112, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field_Deprecated] NumericScale
                   PROPERTY-PUT, 1113, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field_Deprecated] Type
                   PROPERTY-PUT, 1102, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @Field_Deprecated] DefinedSize
                   PROPERTY-PUT, 1103, @DefinedSize,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @Field_Deprecated] Attributes
                   PROPERTY-PUT, 1114, @Attributes,
                       "long (Property_Value)", TYPE 3
          *[Class: @Field_Deprecated] Status
                   PROPERTY-GET, 1116, @Status
                           RETURNING "long", TYPE 3
               
          * Field20_Deprecated
               CLASS @Field20_Deprecated
                   CLSID 0000054C-0000-0010-8000-00AA006D2EA4
                   NAME "Field20_Deprecated"
          *[Class: @Field20_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field20_Deprecated] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field20_Deprecated] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field20_Deprecated] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field20_Deprecated] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field20_Deprecated] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field20_Deprecated] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20_Deprecated] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field20_Deprecated] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field20_Deprecated] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field20_Deprecated] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field20_Deprecated] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20_Deprecated] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20_Deprecated] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field20_Deprecated] DataFormat
                   PROPERTY-GET, 1115, @DataFormat
                           RETURNING "IUnknown*", TYPE 13
          *[Class: @Field20_Deprecated] DataFormat
                   PROPERTY-PUTREF, 1115, @DataFormat,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @Field20_Deprecated] Precision
                   PROPERTY-PUT, 1112, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field20_Deprecated] NumericScale
                   PROPERTY-PUT, 1113, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @Field20_Deprecated] Type
                   PROPERTY-PUT, 1102, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @Field20_Deprecated] DefinedSize
                   PROPERTY-PUT, 1103, @DefinedSize,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @Field20_Deprecated] Attributes
                   PROPERTY-PUT, 1114, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * _Command_Deprecated
               CLASS @_Command_Deprecated
                   CLSID B08400BD-F9D1-4D02-B856-71D5DBA123E9
                   NAME "_Command_Deprecated"
          *[Class: @_Command_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Command_Deprecated] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection_Deprecated*", TYPE 9
          *[Class: @_Command_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection_Deprecated* (Property_Value)", TYPE 9
          *[Class: @_Command_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Command_Deprecated] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command_Deprecated] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command_Deprecated] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @_Command_Deprecated] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @_Command_Deprecated] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @_Command_Deprecated] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Command_Deprecated] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Command_Deprecated] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "ADO_LONGPTR" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter_Deprecated*", TYPE 9
          *[Class: @_Command_Deprecated] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters_Deprecated*", TYPE 9
          *[Class: @_Command_Deprecated] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Command_Deprecated] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @_Command_Deprecated] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command_Deprecated] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command_Deprecated] State
                   PROPERTY-GET, 9, @State
                           RETURNING "long", TYPE 3
          *[Class: @_Command_Deprecated] Cancel
                   METHOD, 10, @Cancel
          *[Class: @_Command_Deprecated] CommandStream
                   PROPERTY-PUTREF, 11, @CommandStream,
                       "IUnknown* (Property_Value)", TYPE 13
          *[Class: @_Command_Deprecated] CommandStream
                   PROPERTY-GET, 11, @CommandStream
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Command_Deprecated] Dialect
                   PROPERTY-PUT, 12, @Dialect,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Command_Deprecated] Dialect
                   PROPERTY-GET, 12, @Dialect
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Command_Deprecated] NamedParameters
                   PROPERTY-PUT, 13, @NamedParameters,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @_Command_Deprecated] NamedParameters
                   PROPERTY-GET, 13, @NamedParameters
                           RETURNING "boolean", TYPE 11
               
          * Command25_Deprecated
               CLASS @Command25_Deprecated
                   CLSID 0000054E-0000-0010-8000-00AA006D2EA4
                   NAME "Command25_Deprecated"
          *[Class: @Command25_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Command25_Deprecated] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection_Deprecated*", TYPE 9
          *[Class: @Command25_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection_Deprecated* (Property_Value)", TYPE 9
          *[Class: @Command25_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Command25_Deprecated] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command25_Deprecated] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command25_Deprecated] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Command25_Deprecated] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Command25_Deprecated] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @Command25_Deprecated] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command25_Deprecated] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Command25_Deprecated] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "ADO_LONGPTR" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter_Deprecated*", TYPE 9
          *[Class: @Command25_Deprecated] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters_Deprecated*", TYPE 9
          *[Class: @Command25_Deprecated] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @Command25_Deprecated] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @Command25_Deprecated] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command25_Deprecated] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command25_Deprecated] State
                   PROPERTY-GET, 9, @State
                           RETURNING "long", TYPE 3
          *[Class: @Command25_Deprecated] Cancel
                   METHOD, 10, @Cancel
               
          * Command15_Deprecated
               CLASS @Command15_Deprecated
                   CLSID 00000508-0000-0010-8000-00AA006D2EA4
                   NAME "Command15_Deprecated"
          *[Class: @Command15_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Command15_Deprecated] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "_Connection_Deprecated*", TYPE 9
          *[Class: @Command15_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection_Deprecated* (Property_Value)", TYPE 9
          *[Class: @Command15_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Command15_Deprecated] CommandText
                   PROPERTY-GET, 2, @CommandText
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command15_Deprecated] CommandText
                   PROPERTY-PUT, 2, @CommandText,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @Command15_Deprecated] CommandTimeout
                   PROPERTY-GET, 3, @CommandTimeout
                           RETURNING "long", TYPE 3
          *[Class: @Command15_Deprecated] CommandTimeout
                   PROPERTY-PUT, 3, @CommandTimeout,
                       "long (Property_Value)", TYPE 3
          *[Class: @Command15_Deprecated] Prepared
                   PROPERTY-GET, 4, @Prepared
                           RETURNING "boolean", TYPE 11
          *[Class: @Command15_Deprecated] Prepared
                   PROPERTY-PUT, 4, @Prepared,
                       "boolean (Property_Value)", TYPE 11
          *[Class: @Command15_Deprecated] Execute
                   METHOD, 5, @Execute,
                       "VARIANT*" @RecordsAffected, TYPE 16396,
                       "VARIANT*" @Parameters, TYPE 16396,
                       "long" @Options, TYPE 3
                           OPTIONAL 3
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @Command15_Deprecated] CreateParameter
                   METHOD, 6, @CreateParameter,
                       "BSTR" @Name, TYPE 8,
                       "DataTypeEnum" @Type, TYPE 3,
                       "ParameterDirectionEnum" @Direction, TYPE 3,
                       "ADO_LONGPTR" @Size, TYPE 3,
                       "VARIANT" @Value, TYPE 12
                           OPTIONAL 5
                           RETURNING "_Parameter_Deprecated*", TYPE 9
          *[Class: @Command15_Deprecated] Parameters
                   PROPERTY-GET, 0, @Parameters
                           RETURNING "Parameters_Deprecated*", TYPE 9
          *[Class: @Command15_Deprecated] CommandType
                   PROPERTY-PUT, 7, @CommandType,
                       "CommandTypeEnum (Property_Value)", TYPE 3
          *[Class: @Command15_Deprecated] CommandType
                   PROPERTY-GET, 7, @CommandType
                           RETURNING "CommandTypeEnum", TYPE 3
          *[Class: @Command15_Deprecated] Name
                   PROPERTY-GET, 8, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Command15_Deprecated] Name
                   PROPERTY-PUT, 8, @Name,
                       "BSTR (Property_Value)", TYPE 8
               
          * _Parameter_Deprecated
               CLASS @_Parameter_Deprecated
                   CLSID 0000050C-0000-0010-8000-00AA006D2EA4
                   NAME "_Parameter_Deprecated"
          *[Class: @_Parameter_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Parameter_Deprecated] Name
                   PROPERTY-GET, 1, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Parameter_Deprecated] Name
                   PROPERTY-PUT, 1, @Name,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Parameter_Deprecated] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Parameter_Deprecated] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @_Parameter_Deprecated] Type
                   PROPERTY-GET, 2, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @_Parameter_Deprecated] Type
                   PROPERTY-PUT, 2, @Type,
                       "DataTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Parameter_Deprecated] Direction
                   PROPERTY-PUT, 3, @Direction,
                       "ParameterDirectionEnum (Property_Value)", TYPE 3
          *[Class: @_Parameter_Deprecated] Direction
                   PROPERTY-GET, 3, @Direction
                           RETURNING "ParameterDirectionEnum", TYPE 3
          *[Class: @_Parameter_Deprecated] Precision
                   PROPERTY-PUT, 4, @Precision,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @_Parameter_Deprecated] Precision
                   PROPERTY-GET, 4, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @_Parameter_Deprecated] NumericScale
                   PROPERTY-PUT, 5, @NumericScale,
                       "unsigned char (Property_Value)", TYPE 17
          *[Class: @_Parameter_Deprecated] NumericScale
                   PROPERTY-GET, 5, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @_Parameter_Deprecated] Size
                   PROPERTY-PUT, 6, @Size,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @_Parameter_Deprecated] Size
                   PROPERTY-GET, 6, @Size
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Parameter_Deprecated] AppendChunk
                   METHOD, 7, @AppendChunk,
                       "VARIANT" @Val, TYPE 12
          *[Class: @_Parameter_Deprecated] Attributes
                   PROPERTY-GET, 8, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @_Parameter_Deprecated] Attributes
                   PROPERTY-PUT, 8, @Attributes,
                       "long (Property_Value)", TYPE 3
               
          * Parameters_Deprecated
               CLASS @Parameters_Deprecated
                   CLSID 0000050D-0000-0010-8000-00AA006D2EA4
                   NAME "Parameters_Deprecated"
          *[Class: @Parameters_Deprecated] Count
                   PROPERTY-GET, 1, @Count
                           RETURNING "long", TYPE 3
          *[Class: @Parameters_Deprecated] Refresh
                   METHOD, 2, @Refresh
          *[Class: @Parameters_Deprecated] Append
                   METHOD, 1610809344, @Append,
                       "IDispatch*" @Object, TYPE 9
          *[Class: @Parameters_Deprecated] Delete
                   METHOD, 1610809345, @Delete,
                       "VARIANT" @Index, TYPE 12
          *[Class: @Parameters_Deprecated] Item
                   PROPERTY-GET, 0, @Item,
                       "VARIANT" @Index, TYPE 12
                           RETURNING "_Parameter_Deprecated*", TYPE 9
               
          * ConnectionEvents_Deprecated
               CLASS @ConnectionEvents_Deprecated
                   CLSID 00000400-0000-0010-8000-00AA006D2EA4
                   NAME "ConnectionEvents_Deprecated"
          *[Class: @ConnectionEvents_Deprecated] InfoMessage
                   METHOD, 0, @InfoMessage,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] BeginTransComplete
                   METHOD, 1, @BeginTransComplete,
                       "long" @TransactionLevel, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] CommitTransComplete
                   METHOD, 3, @CommitTransComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] RollbackTransComplete
                   METHOD, 2, @RollbackTransComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] WillExecute
                   METHOD, 4, @WillExecute,
                       "BSTR*" @Source, TYPE 16392,
                       "CursorTypeEnum*" @CursorType, TYPE 16387,
                       "LockTypeEnum*" @LockType, TYPE 16387,
                       "long*" @Options, TYPE 16387,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Command_Deprecated*" @pCommand, TYPE 9,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] ExecuteComplete
                   METHOD, 5, @ExecuteComplete,
                       "long" @RecordsAffected, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Command_Deprecated*" @pCommand, TYPE 9,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] WillConnect
                   METHOD, 6, @WillConnect,
                       "BSTR*" @ConnectionString, TYPE 16392,
                       "BSTR*" @UserID, TYPE 16392,
                       "BSTR*" @Password, TYPE 16392,
                       "long*" @Options, TYPE 16387,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] ConnectComplete
                   METHOD, 7, @ConnectComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @ConnectionEvents_Deprecated] Disconnect
                   METHOD, 8, @Disconnect,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Connection_Deprecated*" @pConnection, TYPE 9
                           RETURNING "HRESULT", TYPE 25
               
          * RecordsetEvents_Deprecated
               CLASS @RecordsetEvents_Deprecated
                   CLSID 00000266-0000-0010-8000-00AA006D2EA4
                   NAME "RecordsetEvents_Deprecated"
          *[Class: @RecordsetEvents_Deprecated] WillChangeField
                   METHOD, 9, @WillChangeField,
                       "long" @cFields, TYPE 3,
                       "VARIANT" @Fields, TYPE 12,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] FieldChangeComplete
                   METHOD, 10, @FieldChangeComplete,
                       "long" @cFields, TYPE 3,
                       "VARIANT" @Fields, TYPE 12,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] WillChangeRecord
                   METHOD, 11, @WillChangeRecord,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "long" @cRecords, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] RecordChangeComplete
                   METHOD, 12, @RecordChangeComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "long" @cRecords, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] WillChangeRecordset
                   METHOD, 13, @WillChangeRecordset,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] RecordsetChangeComplete
                   METHOD, 14, @RecordsetChangeComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] WillMove
                   METHOD, 15, @WillMove,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] MoveComplete
                   METHOD, 16, @MoveComplete,
                       "EventReasonEnum" @adReason, TYPE 3,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] EndOfRecordset
                   METHOD, 17, @EndOfRecordset,
                       "boolean*" @fMoreData, TYPE 16395,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] FetchProgress
                   METHOD, 18, @FetchProgress,
                       "long" @Progress, TYPE 3,
                       "long" @MaxProgress, TYPE 3,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
          *[Class: @RecordsetEvents_Deprecated] FetchComplete
                   METHOD, 19, @FetchComplete,
                       "Error*" @pError, TYPE 9,
                       "EventStatusEnum*" @adStatus, TYPE 16387,
                       "_Recordset_Deprecated*" @pRecordset, TYPE 9
                           RETURNING "HRESULT", TYPE 25
               
          * _Record_Deprecated
               CLASS @_Record_Deprecated
                   CLSID 00000562-0000-0010-8000-00AA006D2EA4
                   NAME "_Record_Deprecated"
          *[Class: @_Record_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @_Record_Deprecated] ActiveConnection
                   PROPERTY-GET, 1, @ActiveConnection
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Record_Deprecated] ActiveConnection
                   PROPERTY-PUT, 1, @ActiveConnection,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Record_Deprecated] ActiveConnection
                   PROPERTY-PUTREF, 1, @ActiveConnection,
                       "_Connection_Deprecated* (Property_Value)", TYPE 9
          *[Class: @_Record_Deprecated] State
                   PROPERTY-GET, 2, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @_Record_Deprecated] Source
                   PROPERTY-GET, 3, @Source
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Record_Deprecated] Source
                   PROPERTY-PUT, 3, @Source,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Record_Deprecated] Source
                   PROPERTY-PUTREF, 3, @Source,
                       "IDispatch* (Property_Value)", TYPE 9
          *[Class: @_Record_Deprecated] Mode
                   PROPERTY-GET, 4, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Record_Deprecated] Mode
                   PROPERTY-PUT, 4, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Record_Deprecated] ParentURL
                   PROPERTY-GET, 5, @ParentURL
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record_Deprecated] MoveRecord
                   METHOD, 6, @MoveRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "MoveRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record_Deprecated] CopyRecord
                   METHOD, 7, @CopyRecord,
                       "BSTR" @Source, TYPE 8,
                       "BSTR" @Destination, TYPE 8,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8,
                       "CopyRecordOptionsEnum" @Options, TYPE 3,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 6
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Record_Deprecated] DeleteRecord
                   METHOD, 8, @DeleteRecord,
                       "BSTR" @Source, TYPE 8,
                       "boolean" @Async, TYPE 11
                           OPTIONAL 2
          *[Class: @_Record_Deprecated] Open
                   METHOD, 9, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "VARIANT" @ActiveConnection, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "RecordCreateOptionsEnum" @CreateOptions, TYPE 3,
                       "RecordOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 7
          *[Class: @_Record_Deprecated] Close
                   METHOD, 10, @Close
          *[Class: @_Record_Deprecated] Fields
                   PROPERTY-GET, 0, @Fields
                           RETURNING "Fields_Deprecated*", TYPE 9
          *[Class: @_Record_Deprecated] RecordType
                   PROPERTY-GET, 11, @RecordType
                           RETURNING "RecordTypeEnum", TYPE 3
          *[Class: @_Record_Deprecated] GetChildren
                   METHOD, 12, @GetChildren
                           RETURNING "_Recordset_Deprecated*", TYPE 9
          *[Class: @_Record_Deprecated] Cancel
                   METHOD, 13, @Cancel
               
          * _Stream_Deprecated
               CLASS @_Stream_Deprecated
                   CLSID 00000565-0000-0010-8000-00AA006D2EA4
                   NAME "_Stream_Deprecated"
          *[Class: @_Stream_Deprecated] Size
                   PROPERTY-GET, 1, @Size
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Stream_Deprecated] EOS
                   PROPERTY-GET, 2, @EOS
                           RETURNING "boolean", TYPE 11
          *[Class: @_Stream_Deprecated] Position
                   PROPERTY-GET, 3, @Position
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @_Stream_Deprecated] Position
                   PROPERTY-PUT, 3, @Position,
                       "ADO_LONGPTR (Property_Value)", TYPE 3
          *[Class: @_Stream_Deprecated] Type
                   PROPERTY-GET, 4, @Type
                           RETURNING "StreamTypeEnum", TYPE 3
          *[Class: @_Stream_Deprecated] Type
                   PROPERTY-PUT, 4, @Type,
                       "StreamTypeEnum (Property_Value)", TYPE 3
          *[Class: @_Stream_Deprecated] LineSeparator
                   PROPERTY-GET, 5, @LineSeparator
                           RETURNING "LineSeparatorEnum", TYPE 3
          *[Class: @_Stream_Deprecated] LineSeparator
                   PROPERTY-PUT, 5, @LineSeparator,
                       "LineSeparatorEnum (Property_Value)", TYPE 3
          *[Class: @_Stream_Deprecated] State
                   PROPERTY-GET, 6, @State
                           RETURNING "ObjectStateEnum", TYPE 3
          *[Class: @_Stream_Deprecated] Mode
                   PROPERTY-GET, 7, @Mode
                           RETURNING "ConnectModeEnum", TYPE 3
          *[Class: @_Stream_Deprecated] Mode
                   PROPERTY-PUT, 7, @Mode,
                       "ConnectModeEnum (Property_Value)", TYPE 3
          *[Class: @_Stream_Deprecated] Charset
                   PROPERTY-GET, 8, @Charset
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Stream_Deprecated] Charset
                   PROPERTY-PUT, 8, @Charset,
                       "BSTR (Property_Value)", TYPE 8
          *[Class: @_Stream_Deprecated] Read
                   METHOD, 9, @Read,
                       "long" @NumBytes, TYPE 3
                           OPTIONAL 1
                           RETURNING "VARIANT", TYPE 12
          *[Class: @_Stream_Deprecated] Open
                   METHOD, 10, @Open,
                       "VARIANT" @Source, TYPE 12,
                       "ConnectModeEnum" @Mode, TYPE 3,
                       "StreamOpenOptionsEnum" @Options, TYPE 3,
                       "BSTR" @UserName, TYPE 8,
                       "BSTR" @Password, TYPE 8
                           OPTIONAL 5
          *[Class: @_Stream_Deprecated] Close
                   METHOD, 11, @Close
          *[Class: @_Stream_Deprecated] SkipLine
                   METHOD, 12, @SkipLine
          *[Class: @_Stream_Deprecated] Write
                   METHOD, 13, @Write,
                       "VARIANT" @Buffer, TYPE 12
          *[Class: @_Stream_Deprecated] SetEOS
                   METHOD, 14, @SetEOS
          *[Class: @_Stream_Deprecated] CopyTo
                   METHOD, 15, @CopyTo,
                       "_Stream_Deprecated*" @DestStream, TYPE 9,
                       "ADO_LONGPTR" @CharNumber, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream_Deprecated] Flush
                   METHOD, 16, @Flush
          *[Class: @_Stream_Deprecated] SaveToFile
                   METHOD, 17, @SaveToFile,
                       "BSTR" @FileName, TYPE 8,
                       "SaveOptionsEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream_Deprecated] LoadFromFile
                   METHOD, 18, @LoadFromFile,
                       "BSTR" @FileName, TYPE 8
          *[Class: @_Stream_Deprecated] ReadText
                   METHOD, 19, @ReadText,
                       "long" @NumChars, TYPE 3
                           OPTIONAL 1
                           RETURNING "BSTR", TYPE 8
          *[Class: @_Stream_Deprecated] WriteText
                   METHOD, 20, @WriteText,
                       "BSTR" @Data, TYPE 8,
                       "StreamWriteEnum" @Options, TYPE 3
                           OPTIONAL 1
          *[Class: @_Stream_Deprecated] Cancel
                   METHOD, 21, @Cancel
               
          * Field15_Deprecated
               CLASS @Field15_Deprecated
                   CLSID 00000505-0000-0010-8000-00AA006D2EA4
                   NAME "Field15_Deprecated"
          *[Class: @Field15_Deprecated] Properties
                   PROPERTY-GET, 500, @Properties
                           RETURNING "Properties*", TYPE 9
          *[Class: @Field15_Deprecated] ActualSize
                   PROPERTY-GET, 1109, @ActualSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field15_Deprecated] Attributes
                   PROPERTY-GET, 1114, @Attributes
                           RETURNING "long", TYPE 3
          *[Class: @Field15_Deprecated] DefinedSize
                   PROPERTY-GET, 1103, @DefinedSize
                           RETURNING "ADO_LONGPTR", TYPE 3
          *[Class: @Field15_Deprecated] Name
                   PROPERTY-GET, 1100, @Name
                           RETURNING "BSTR", TYPE 8
          *[Class: @Field15_Deprecated] Type
                   PROPERTY-GET, 1102, @Type
                           RETURNING "DataTypeEnum", TYPE 3
          *[Class: @Field15_Deprecated] Value
                   PROPERTY-GET, 0, @Value
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15_Deprecated] Value
                   PROPERTY-PUT, 0, @Value,
                       "VARIANT (Property_Value)", TYPE 12
          *[Class: @Field15_Deprecated] Precision
                   PROPERTY-GET, 1112, @Precision
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field15_Deprecated] NumericScale
                   PROPERTY-GET, 1113, @NumericScale
                           RETURNING "unsigned char", TYPE 17
          *[Class: @Field15_Deprecated] AppendChunk
                   METHOD, 1107, @AppendChunk,
                       "VARIANT" @Data, TYPE 12
          *[Class: @Field15_Deprecated] GetChunk
                   METHOD, 1108, @GetChunk,
                       "long" @Length, TYPE 3
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15_Deprecated] OriginalValue
                   PROPERTY-GET, 1104, @OriginalValue
                           RETURNING "VARIANT", TYPE 12
          *[Class: @Field15_Deprecated] UnderlyingValue
                   PROPERTY-GET, 1105, @UnderlyingValue
                           RETURNING "VARIANT", TYPE 12
    

  • 0 in reply to 

    I noticed that the previous 3 @fields::@item("myvalues ")::@value   use the ::@value whereas @fields::@item
    ("msDS-UserPasswordExpiryTimeComputed")::value in hlp-test4 - that value does not have the @

    SW Engineering(QA)  

    Although I am an OpenText employee, I am speaking for myself and not for OpenText.
    If you found this post useful, give it a “Like” or click on "Verify Answer" under the "More" button

  • 0 in reply to 

    i checked it, the @ doesn't make a difference. The result is still the same. 

  • 0   in reply to 

    I suggest opening a support case so we can take a closer look at this.