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