AGetInterface
(Available in 01 TS COM - TS_COM_DelegateIUnknown)
Purpose
Get a interface from the enclosed COM object
Syntax
oAIUnknown:=oDelegateIUnknown:AGetInterface( TS_GUID_IUnknown( ) )
Arguments
Description
This is the prefered method of getting an exported interface from the DelegateIUnknown object, using this method is prefered above the 'QueryInterface' method.
Returns
Instance of 'TS_AbstractIUnknown'
Example
ACCESS AIDispatch AS TS_AbstractIDispatch PASCAL CLASS TS_DelegateIUnknown
LOCAL oAIDispatch AS TS_AbstractIDispatch
TSTrace Enter
oAIDispatch:=SELF:AGetInterface( TS_GUID_IDispatch( ) )
TSTrace Leave
RETURN oAIDispatch
Source
METHOD AGetInterface( pStruIID AS _WinGUID ) AS TS_AbstractIUnknown PASCAL CLASS ; ...
...TS_DelegateIUnknown
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL oAIUnknown AS TS_AbstractIUnknown
LOCAL hResult AS LONG
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
IF SELF:FInit
IF pStruIID<>NULL_PTR
hResult:=SELF:CMQueryInterface( pStruIID, @oAIUnknown ; ...
... )
DO CASE
CASE hResult==E_NOINTERFACE
IF TS_ShowNotSupportedInterfaces(