UnAdvise

 (Available in 01 TS COM - TS_COM_ISink)

Purpose

Deactivate the sink.

Syntax

hResult:=oSomeISink:UnAdvise( )

Description

Deactivate the sink. After calling this method with success events from the 'source'-interface are no longer passed to the 'ISink' interface.

Returns

hResult

Example

IF SELF:_ISink<>NULL_OBJECT
   IF !SELF:_ISink:UnAdvise( )
      TSTrace Warning "!SELF:_ISink:UnAdvise()"
   END
   SELF:_ISink:Release( )
   SELF:_ISink:=NULL_OBJECT
END

Source

METHOD UnAdvise( ) AS LOGIC PASCAL CLASS TS_ISink
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL lRetVal AS LOGIC
   TSTrace Enter
   oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
   #IFDEF TS_COMGLOBALDATA_CRITICALSECTION
      EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
   #ENDIF
   IF SELF:IsValidObject
      DO CASE
      CASE !LOGIC( _CAST, SELF:_Cookie )
         TSTrace Warning "!LOGIC(_CAST,SELF:_Cookie)"
         lRetVal:=TRUE
      CASE SELF:_AISource==NULL_OBJECT
         TSTrace Warning "SELF:_AISource==NULL_OBJECT"
         lRetVal:=FALSE
      CASE SELF:_IID==NULL_PTR
         TSTrace Warning "SELF:_IID==NULL_PTR"
         lRetVal:=FALSE
      CASE _TS_ResetInterfaceAdviseSink( SELF:_AISource, SELF:_IID ; ...
     ... , SELF:_Cookie )
         SELF:_Cookie:=0
         lRetVal:=TRUE
      OTHERWISE
         TSTrace Warning "!_TS_ResetInterfaceAdviseSink(SELF:_AISource,SELF:_IID," ; ...
        ... +"SELF:_Cookie)"
         lRetVal:=FALSE
      END
   ELSE
      TSTrace Warning "!SELF:IsValidObject"
      lRetVal:=FALSE
   END
   #IFDEF TS_COMGLOBALDATA_CRITICALSECTION
      LeaveCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
   #ENDIF
   TSTrace Leave
RETURN lRetVal