VIIIWindows用のCOMサポート関数

導入

COMは、標準化された呼び出し規約及びコンポーネントが保存されている マシンや実行ファイルが存在するマシンの種類の実装の詳細をAPIの背後 に隠蔽することにより、(あらゆる言語により)あらゆる言語で書かれたコー ドを再使用することを可能とする技術です。COMは、いくつかの基本的な オブジェクトルートを有する特別なRemote Procedure Call (RPC)機構と 考えることができる。COMは、実装をインターフェイスから分離します。

COMは、バージョン管理、インターフェイスからの実装の分離、実行ファ イルの位置や記述される言語のような実装の詳細の隠蔽を推奨します。

要件

COM関数は、Windowsバージョン版のPHPでのみ利用可能です。

インストール手順

これらの関数はPHPコアに含まれるため、使用す る際にインストールは不要です。

実行用の設定

これらの関数の動作は、 php.ini の設定により変化します。

表 1Com 設定ディレクティブ

名前 デフォルト 有効/無効の意味
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規約 またはDon Boxの Yet Another COM Library (YACL) を 参照下さい。

目次
COM -- COM class
VARIANT -- VARIANT クラス
com_addref -- コンポーネントリファレンスカウンタを増やす
com_get -- COMコンポーネントのプロパティの値を得る
com_invoke -- COMコンポーネントのメソッドをコールします。
com_isenum -- IEnumVariantを取得する
com_load_typelib -- Typelibをロードする
com_load -- COMコンポーネントへの新規リファレンスを作成する
com_propget -- COMコンポーネントのプロパティの値を得る
com_propput -- COMコンポーネントのプロパティに値を代入する
com_propset -- COMコンポーネントのプロパティに値を代入する
com_release -- コンポーネントリファレンスカウンタを減らす
com_set -- COMコンポーネントのプロパティに値を代入する