vbaCastObj
根据给定的IID,返回重新解释为另一个COM接口的对象,如果对象未实现该接口则返回Nothing。
语法:vbaCastObj( Obj , IID ) As IUnknown
- Obj
- 必需 stdole.IUnknown。要转换的对象。
- IID
- 必需 Any。要查询的接口ID——接受为16字节的GUID结构或注册表格式的String(
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})。
这是IUnknown::QueryInterface的直接封装:询问对象是否实现了请求的接口,如果实现了则返回该接口的引用。如果没有,则返回Nothing。
示例
vb
Const IID_IPicture As String = "{7BF80980-BF32-101A-8BBB-00AA00300CAB}"
Dim Pic As Object = LoadPicture("logo.bmp")
Dim AsPicture As IUnknown = vbaCastObj(Pic, IID_IPicture)
If Not AsPicture Is Nothing Then
' Use AsPicture as an IPicture.
End If另请参阅
- ObjPtr函数
- CreateGUID函数