OLE/COM programming

Windows specific forum
LiK137
Enthusiast
Enthusiast
Posts: 282
Joined: Wed Jun 23, 2010 5:13 pm

OLE/COM programming

Post by LiK137 »

hi,
please explain the principle of using OLE_COM generated code.

I want to use AwareNIST library and generated interface for that but do not know how to make that code usable.

Code: Select all

; Created with OLE/COM Interface generator v0.2  Date: 07/09/2015

; Class: Aware NISTPack Transaction Control
; Version: 1.0
; ProgID: "Aware.AwTransaction.1"
; TypeLib: "C:\Windows\SysWOW64\AwTransCtrl.dll"

; ##########################################
; #               Interfaces               #
; ##########################################

CompilerIf Defined(_IAwTransactionEvents,#PB_Interface) = #False
Interface _IAwTransactionEvents ; _IAwTransactionEvents Interface
  QueryInterface(riid.l,ppvObj.l)
  AddRef()
  Release()
  Changed()
EndInterface
CompilerEndIf

CompilerIf Defined(IAwTransaction,#PB_Interface) = #False
Interface IAwTransaction ; IAwTransaction Interface
  QueryInterface(riid.l,ppvObj.l)
  AddRef()
  Release()
  GetTypeInfoCount(pctinfo.l)
  GetTypeInfo(itinfo.l,lcid.l,pptinfo.l)
  GetIDsOfNames(riid.l,rgszNames.l,cNames.l,lcid.l,rgdispid.l)
  Invoke(dispidMember.l,riid.l,lcid.l,wFlags.l,pdispparams.l,pvarResult.l,pexcepinfo.l,puArgErr.l)
  get_TransactionPath(dispidMember.l)
  put_TransactionPath(dispidMember.p-bstr)
  get_VerificationPath(dispidMember.l)
  put_VerificationPath(dispidMember.p-bstr)
  AwReadVerification(Path.p-bstr,ErrorMessage.l)
  AwNew(TransactionType.p-bstr)
  AwRead(Path.p-bstr,ErrorMessage.l)
  AwWrite(Path.p-bstr)
  AwGetImage(RecordType.w,RecordIndex.w,StorageFormat.l,Length.l,Data_.l)
  AwGetNumRecords(Records.l)
  AwGetRecordTypeCount(RecordType.w,RecordTypeCount.l)
  AwAddRecord(RecordType.w,RecordIndex.l)
  AwDeleteRecord(RecordType.w,RecordIndex.w)
  AwImportImage(RecordType.w,RecordIndex.p-variant,Path.p-bstr,StorageFormat.p-variant,Compression.p-variant,InputFormat.p-variant)
  AwExportImage(RecordType.w,RecordIndex.w,Path.p-bstr,OutputFormat.p-variant)
  AwSetImage(RecordType.w,RecordIndex.w,InputFormat.p-bstr,Length.p-variant,Data_.p-variant,StorageFormat.p-variant,Compression.p-variant)
  AwInsertFingerprint(Path.p-bstr,StorageFormat.p-variant,Compression.p-variant,IMP.p-variant,FGP.p-variant,ISR.p-variant,RecordIndex.l)
  AwGetImageInfo(RecordType.w,RecordIndex.w,StorageFormat.l,Length.l,hll.l,vll.l,BitsPerPixel.l)
  AwSetImageInfo(RecordType.w,RecordIndex.w,hll.l,vll.l,BitsPerPixel.w)
  AwGetError(Codes.l,Desc.l)
  AwNumSubfields(RecordType.w,RecordIndex.w,Field.w,Count.l)
  AwNumItems(RecordType.w,RecordIndex.w,Field.w,Subfield.w,Count.l)
  AwFindItem(RecordType.w,RecordIndex.w,Field.w,Subfield.w,Item.w,Data_.l)
  AwSetItem(Data_.p-bstr,RecordType.w,RecordIndex.w,Field.w,Subfield.w,Item.w)
  AwRemoveItem(RecordType.w,RecordIndex.w,Field.w,Subfield.w,Item.w)
  AwGet(Mnemonic.p-bstr,Data_.l,Index.p-variant,RecordIndex.p-variant)
  AwSet(Mnemonic.p-bstr,Data_.p-variant,StartIndex.p-variant,RecordIndex.p-variant)
  AwRemove(Mnemonic.p-bstr,Index.p-variant,RecordIndex.p-variant)
  AwVerify()
  AwVerifyItem(Mnemonic.p-bstr,Data_.p-bstr)
  AwvGetTransactionCategories(DataArray.l)
  AwvGetTransactionTypes(DataArray.l,Desc.l,Category.p-variant)
  AwvGetMnemonics(TransactionType.p-variant,Data_.l,Desc.l)
  AwvGetRecordRequirements(TransactionType.p-variant,Min.l,Max.l)
  AwvGetRule(TransactionType.p-variant,Mnemonic.p-variant,RecordType.l,Field.l,Subfield.l,Item.l,Mandatory.l,Desc.l,CharType.l,SizeMin.l,SizeMax.l,OccMin.l,OccMax.l,Offset.l)
  AwvGetTags(TransactionType.p-variant,Mnemonic.p-variant,DataArray.l,ValArray.l)
  AwvGetCodes(TransactionType.p-variant,Mnemonic.p-variant,Mandatory.l,DataArray.l,DescArray.l)
  AwvGetRuleMnemonic(TransactionType.p-bstr,RecordType.w,Field.w,Subfield.w,Item.w,Mnemonic.l)
  AwGetNextField(ReordType.w,RecordIndex.w,Field.w,NextField.l)
  AwGetVersion()
  get_DisableLinking(ReordType.l)
  put_DisableLinking(ReordType.l)
  Update()
  AwWriteMem(Length.l,Data_.l)
  AwReadMem(Length.p-variant,Data_.p-variant,ErrorMessage.l)
  AwOccurrences(Mnemonic.p-bstr,Data_.l,RecordIndex.p-variant)
  get_hAwTrans(Mnemonic.l)
  AwGetErrorString(ErrorCode.w,ErrorName.l,ErrorDesc.l)
  get_hAwVer(ErrorCode.l)
  AwvGetExtendedTagData(TransactionType.p-bstr,Mnemonic.p-bstr,Index.w,ReferencedMnemonic.l,Record.l,Field.l,Subfield.l,Item.l)
  AwIsModified(DirtyFlag.l)
  AwGetErrorInfo(Index.w,AdditionInfo.l,ErrorLocationCount.l)
  AwGetErrorLocation(Index.w,ErrorLocationIndex.w,Data_.l,Mnemonic.l,RecordType.l,RecordIndex.l,RecordIDC.l,Field.l,Subfield.l,Item.l,Offset.l)
  AwVerifyOccurrence(Mnemonic.p-bstr,RecordIndex.l,Occurrence.l)
  AwGetTagValue(Mnemonic.p-bstr,TagName.p-bstr,TagNameValue.l)
  AwWriteXml(XmlOptions.l,ImageOptions.l,ImageFilePrefix.p-bstr,ImageOutputDir.p-bstr,ImageLinkPrefix.p-bstr,Path.p-bstr)
  AwWriteXmlMem(XmlOptions.l,ImageOptions.l,ImageFilePrefix.p-bstr,ImageOutputDir.p-bstr,ImageLinkPrefix.p-bstr,Length.l,Data_.l)
  setCodePage(codePage.l)
  AwImportXml(Path.p-bstr,ImageDirectoryPath.p-bstr,XmlOptions.l)
  AwImportXmlMem(Data_.p-variant,ImageDirectoryPath.p-bstr,XmlOptions.l)
  AwGetImageAs(RecordType.w,RecordIndex.w,Format.p-bstr,Length.l,Data_.l)
  AwSetCompression(Compression.f)
  AwReadVerificationSupportFile(VerificationSupportType.l,Id.p-bstr,Path.p-bstr)
  AwReadVerificationSupportFileMem(VerificationSupportType.l,Id.p-bstr,SupportFileData.p-bstr)
  AwSetProperty(Name.p-bstr,Value.p-bstr)
  AwGetProperty(Name.p-bstr)
  AwReadVerificationMem(VerificationFileData.p-bstr,ErrorMessage.l)
  About()
  OnStartPage(*piUnk.IUnknown)
  OnEndPage()
EndInterface
CompilerEndIf

; ##########################################
; #               Constants                #
; ##########################################

Enumeration ; tagENUM_CODE_PAGE
  #AW_CP_ACP=0
  #AW_CP_OEMCP=1
  #AW_CP_MACCP=2
  #AW_CP_THREAD_ACP=3
  #AW_CP_SYMBOL=42
  #AW_CP_UTF7=65000
  #AW_CP_UTF8=65001
EndEnumeration

Enumeration ; tagVERIFICATION_SUPPORT_TYPE
  #AW_VERIFICATION_SUPPORT_TYPE_CODE_TABLE=0
EndEnumeration

Enumeration ; __MIDL_emodule_0001
  #AW_XML_ADD_HEADER=0
  #AW_XML_OMIT_HEADER=1
EndEnumeration

Enumeration ; __MIDL_emodule_0002
  #AW_XML_IMAGE_OPTION_IGNORE_IMAGES=0
  #AW_XML_IMAGE_OPTION_EMBED_IMAGES=1
  #AW_XML_IMAGE_OPTION_LINK_IMAGES=2
EndEnumeration

Enumeration ; tagENUM_XML_IMPORT_OPTIONS
  #AW_XML_IMPORT_OPTION_NONE=0
  #AW_XML_IMPORT_OPTION_SET_DATA_BY_MNEMONIC=1
  #AW_XML_IMPORT_OPTION_SET_DATA_BY_ELEMENTS=2
  #XML_IMPORT_OPTION_SET_DATA_BY_CONVERSION_SCHEMA=4
EndEnumeration



; ##########################################
; #                 GUIDs                  #
; ##########################################

DataSection
  CLSID_Aware_AwTransaction:  ; {CB200550-B815-11D1-8F86-006097B53325}
    Data.l $CB200550
    Data.w $B815,$11D1
    Data.b $8F,$86,$0,$60,$97,$B5,$33,$25

  IID__IAwTransactionEvents:  ; {039EAA9E-E316-11D4-8D63-00104B767ABD}
    Data.l $39EAA9E
    Data.w $E316,$11D4
    Data.b $8D,$63,$0,$10,$4B,$76,$7A,$BD

  IID_IAwTransaction:  ; {CB20054F-B815-11D1-8F86-006097B53325}
    Data.l $CB20054F
    Data.w $B815,$11D1
    Data.b $8F,$86,$0,$60,$97,$B5,$33,$25
EndDataSection