[r29]: / trunk / IoDrvMEGAIO / IoDrvMEGAIO_1 / IoDrvMEGAIO / IBase / QueryInterface / svnobj  Maximize  Restore  History

Download this file

21 lines (20 with data), 2.4 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{attribute 'conditionalshow'}
METHOD QueryInterface : POINTER TO POINTER TO BYTE
VAR_INPUT
	iid : DWORD; (* InterfaceID *)
	pResult : POINTER TO UDINT;	
END_VAR
QueryInterface_Count := QueryInterface_Count + 1;
IF iid = ITFID_ICmpIoDrv THEN
	QueryInterface := ADR(_IIoDrv);
	AddRef();
	IF (pResult <> 0) THEN
		pResult^ := Errors.ERR_OK;
	END_IF
	RETURN;	
ELSIF iid = ITFID_ICmpIoDrvParameter THEN
	QueryInterface := ADR(_IIoDrvParameter);
	END_IF	
ELSE
	QueryInterface := SUPER^.QueryInterface(iid, pResult);
END_IF