IID
(Available in 01 TS COM - TS_COM_IUnknown)
Purpose
Get the IID of the enclosed interface.
Syntax
? TS_GUID2String( oDelegateIUnknown:IID )
Description
Get the ( main ) IID of the enclosed interface. The IID ( Interface ID ) is used by COM to identify interfaces. The returned IID can be seen as the classname of the interface. See also IIDAdd and IIDDel.
Returns
POINTER, IID as WinGUID
Example
IF TS_IsEqualGUID( oDelegateIUnknown:IID, TS_GUID_IDispatch( ) )
// Use the 'IDispatch' interface of the interface
ELSE
TSTrace Warning "This interface dous not support 'IDispatch'"
END
Source
ASSIGN IID( upstruIID ) CLASS TS_IUnknown
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL pstruWinGUID AS _WinGUID
LOCAL oAITypeInfo AS TS_AbstractITypeInfo
LOCAL oAITypeLib AS TS_AbstractITypeLib
LOCAL pstruIID AS _WinGUID
LOCAL hResult AS LONG
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
pstruIID:=TS_UsualValPTR( upstruIID )
DO CASE
CASE SELF:_IID==NULL_PTR
DO CASE
CASE pstruIID==NULL_PTR
TSTrace Warning "pstruIID==NULL_PTR"
pstruWinGUID:=NULL_PTR
CASE IsBadReadPtr( pstruIID, _SIZEOF