ESI (Tronic) : COM Interface Specification For Acceptance of An SIS/CAS Error Code Log From ESI (Tronic)
ESI (Tronic) : COM Interface Specification For Acceptance of An SIS/CAS Error Code Log From ESI (Tronic)
ESI[tronic]
COM Interface Specification
For acceptance of an SIS/CAS error code log from ESI[tronic]
Status: 2.18.04
Version 1.0
Contact:
Email: [email protected]
Web: www.esitronic.com
Fax:
+49 (0) 180 5812310
Document:
ESI_EC_COM.PDF (Created from source file ESI_EC_COM.DOC)
Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment
Page 2 of 5
Table of contents
1. Objective ................................................................................................................................ 3
2. Interface................................................................................................................................. 3
2.1. Description ....................................................................................................................... 3
2.1.1. Setting application names in ESI[tronic] ........................................................................ 3
2.1.2. Sending SIS/CAS error code log.................................................................................... 3
3. Annex..................................................................................................................................... 5
3.1. TypeLib ............................................................................................................................ 5
Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment
Page 3 of 5
1. Objective
Description/provision of a communication interface between the ESI[tronic] and an external application.
2. Interface
The functions to be realized are based on the COM technology developed by Microsoft and are specified below. ESI[tronic] is used here solely as a COM server.
2.1. Description
2.1.1. Setting application names in ESI[tronic]
Call-up in client application by:
Function name:
Type:
Brief description:
Call-up:
Detail:
Register
Method
Identifies client application in ESI[tronic]
ext. application ESI[tronic]
HRESULT Register(
[in] BSTR ApplicationName);
ESI[tronic] button)
Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment
Page 4 of 5
1. Initialization
2. Data acceptance
3. Finish
Initialization phase:
Function name:
Type:
Brief description:
Call-up:
Detail:
Ident_RB
Event
Transfer of vehicle data
ESI[tronic] ext. application
HRESULT Ident_RB (
[in] BSTR Brand,
[in] long Number,
[in] BSTR Year);
Function name:
Type:
Brief description:
Call-up:
Detail:
(Make)
(Number)
(Year(s) of manufacture)
BeginTransferEC
Event
Number of error codes transferred
ESI[tronic] ext. application
HRESULT BeginTransferEC (
[in] short NumOfCodes);,
ECItem
Event
Data record of error code log to be sent to ext. application
ESI[tronic] ext. application
HRESULT ECItem(
[in] BSTR ErrorCode);
Completion phase
Function name:
Type:
Brief description:
Call-up:
Detail:
EndTransferEC
Event
Data acceptance completion
ESI[tronic] ext. application
HRESULT EndData();
Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment
Page 5 of 5
3. Annex
3.1. TypeLib
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: Esi2.tlb
[
uuid(AF21D48D-7AED-4A7C-9D03-773FC64B2361),
version(1.0),
helpstring("Esi2 1.0 Type library")
]
library Esi2Lib
{
// TLib :
// TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface ICASSIS;
dispinterface _IESImaticEvents;
interface IESImaticCP;
interface IAWConnectionMsgSink;
interface IESImatic;
interface IPWEventProxy;
dispinterface _IRepDocEvents;
interface IRepDoc;
dispinterface _IErrorCodeEvents;
interface IErrorCode;
. . .
[
uuid(E6683D90-853E-4E08-A058-C4C2E3CB80C1),
helpstring("_IErrorCode event interface")
]
dispinterface _IErrorCodeEvents {
properties:
methods:
[id(0x00000001)]
void Ident_RB(
[in] BSTR Brand,
[in] long Number,
[in] BSTR Year);
[id(0x00000002)]
void BeginTransferEC([in] short NumOfCodes);
[id(0x00000003)]
void ECItem([in] BSTR ErrorCode);
[id(0x00000004)]
void EndTransferEC();
};
[
uuid(FD2DFFBE-3C0D-458A-AFD3-4E8EBD12459F),
helpstring("ErrorCode Class")
]
coclass ErrorCode {
[default] interface IErrorCode;
[default, source] dispinterface _IErrorCodeEvents;
};
[
odl,
uuid(4085EDF9-CC9C-41B6-AB69-BCD83A1D7A02),
helpstring("IErrorCode interface"),
dual,
oleautomation
]
interface IErrorCode : IDispatch {
[id(0x00000001)]
HRESULT Register([in] BSTR ApplicationName);
};
};
Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment