VIII. Windows 的 COM 支持函数库

本文介绍了COM技术的基本概念,包括其作为一种允许可重用代码的技术特点,以及如何通过隐藏执行细节实现接口与执行的分离。此外还提供了COM在PHP环境中的使用指南,包括配置选项和预定义常量等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

COM 是一种允许(用任何语言编写的)可重用代码使用标准常规调用,同时将执行细节隐藏在 API 之后的技术,例如组件存储在某台机器上,同时可对机器执行内务处理。它可以被认为是一种带基础根对象的超级远程呼叫调用(Remote Procedure Call,RPC)机制。它将执行从接口中分离出来。

COM 促使执行从接口中分离,同时隐藏了执行细节,例如执行的位置和编写代码使用的语言。

需求

COM 函数仅可用于 PHP 的 Windows 版本。

安装

这些函数作为 PHP 核心的一部分,无需被安装即可使用。

PHP 的 Windows 版本已经内置该扩展模块的支持。您无需加载任何附加的扩展库即可使用这些函数。

运行时配置

这些函数的行为受到全局配置文件 php.ini 的影响。

表格 1. COM 配置选项

名称 默认值 作用范围
com.allow_dcom "0" PHP_INI_SYSTEM
com.autoregister_typelib "0" PHP_INI_SYSTEM
com.autoregister_verbose "0" PHP_INI_SYSTEM
com.autoregister_casesensitive "1" PHP_INI_SYSTEM
com.typelib_file "" PHP_INI_SYSTEM
更多关于常量 PHP_INI_* 的细节和解释参见  ini_set().

预定义常量

由于这些常量是由该扩展模块定义的,因此只有在该扩展模块被编译到 PHP 中,或者在运行时被动态加载后,这些常量才有效。

CLSCTX_INPROC_SERVER ( integer)

CLSCTX_INPROC_HANDLER ( integer)

CLSCTX_LOCAL_SERVER ( integer)

CLSCTX_REMOTE_SERVER ( integer)

CLSCTX_SERVER ( integer)

CLSCTX_ALL ( integer)

VT_NULL ( integer)

VT_EMPTY ( integer)

VT_UI1 ( integer)

VT_I2 ( integer)

VT_I4 ( integer)

VT_R4 ( integer)

VT_R8 ( integer)

VT_BOOL ( integer)

VT_ERROR ( integer)

VT_CY ( integer)

VT_DATE ( integer)

VT_BSTR ( integer)

VT_DECIMAL ( integer)

VT_UNKNOWN ( integer)

VT_DISPATCH ( integer)

VT_VARIANT ( integer)

VT_I1 ( integer)

VT_UI2 ( integer)

VT_UI4 ( integer)

VT_INT ( integer)

VT_UINT ( integer)

VT_ARRAY ( integer)

VT_BYREF ( integer)

CP_ACP ( integer)

CP_MACCP ( integer)

CP_OEMCP ( integer)

CP_UTF7 ( integer)

CP_UTF8 ( integer)

CP_SYMBOL ( integer)

CP_THREAD_ACP ( integer)

相关参考

更多关于 COM 的信息请阅读 COM specification 或有可能的话看一看 Don Box 的 Yet Another COM Library (YACL)

目录 COM -- COM 类 VARIANT -- VARIANT 类 com_addref --  增加组件引用计数。 com_get --  获取 COM 组件的属性值 com_invoke --  调用 COM 组件的方法。 com_isenum -- 获取一个 IEnumVariant com_load_typelib -- 装载一个 Typelib com_load --  创建新的 COM 组件的引用 com_propget --  com_get() 的别名 com_propput --  com_set() 的别名 com_propset --  com_set() 的别名 com_release --  减少组件引用计数。 com_set --  给 COM 组件的属性赋值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值