AIUnknown
(Available in 01 TS COM - TS_COM_DelegateIUnknown)
Purpose
Get a static 'IUnknown' COM interface pointer.
Syntax
oAIUnknown:=oDelegateIUnknown:AIUnknown
Description
Get a static 'IUnknown' COM interface pointer. The object ( interface pointer ) returned by this property must be released by using the 'Release()' method of the returend object. Normaly this property is used when a interface pointer must be passed to an interface in the form of a parameter.
Returns
OBJECT(InterfacePointer), Refereing to a static COM interface
Example
oResultAIUnknown:=oInterfaceSafe:AIUnknown
IF oResultAIUnknown<>NULL_OBJECT
OBJECT( PTR( _CAST, poAIUnknown ) ):=oResultAIUnknown
lRetVal:=TRUE
ELSE
TSTrace Warning "oResultAIUnknown:=oParamDIUnknown:AIUnknown==NULL_OBJECT"
OBJECT( PTR( _CAST, poAIUnknown ) ):=NULL_OBJECT
LONG( phResult ):=E_FAIL
lRetVal:=FALSE
END
Source
ACCESS AIUnknown AS TS_AbstractIUnknown PASCAL CLASS TS_DelegateIUnknown
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL oAIUnknown AS TS_AbstractIUnknown
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
oAIUnknown:=SELF:AGetInterface( TS_GUID_IUnknown( ) )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
LeaveCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
TSTrace Leave
RETURN oAIUnknown