Sie sind auf Seite 1von 5

Page 1 of 5

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: ESItronic@msw-stuttgart.de
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)

(Content of application name accepted in

2.1.2. Sending SIS/CAS error code log


'Call-up in ESI[tronic] by:
Menu: Settings ->
User defined ->
Table tab: SIS/CAS operation log ->
Button: Send log to ext. application
Direction:
Preconditions:
-

ESI[tronic] ext. application


A COM connection must be given, otherwise the send button is hidden.
A fault log must be given, otherwise the send button is visible but disabled.

Copyright Robert Bosch GmbH, Automotive Aftermarket, Product Marketing Diagnostics & Test Equipment

Page 4 of 5

Sending of SIS/CAS error code log:


Process phase:

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);,

(Number of data records)

Data acceptance phase::


Function name:
Type:
Brief description:
Call-up:
Detail:

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:

(Lines error code log)

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