VIII. Funkce na podporu COM ve Windows

Úvod

COM je technologie, která umožňuje znovupoužít kód napsaný v jakémkoliv jazyce za použití standardního volání a schováním implementačních detailů - jako na kterém počítači je komponenta uložena a který spustitelný soubor ji uchovává - za API. Lze si to představit jako rozšířený mechanismus vzdáleného volání procedur (RPC) se základy objektů. COM odděluje implementaci od rozhraní.

COM podporuje verzování, oddělení implementace od rozhraní a skrytí implementačních detailů jako je umístění spustitelného souboru a jazyku, který byl použit.

Požadavky

Tyto funkce jsou dostupné pouze ve Windows verzi PHP.

Instalace

K používání těchto funkcí není třeba žádná instalace, jsou součástí jádra PHP.

Verze PHP pro Windows má vestavěnou podporu pro toto rozšíření. K použití těchto funkcí není třeba načítat žádná další rozšíření.

Konfigurace běhu

Chování těchto funkcí je ovlivněno nastavením parametrů v php.ini.

Tabulka 1. Com configuration options

NameDefaultChangeable
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
For further details and definition of the PHP_INI_* constants see ini_set().

Předdefinované konstanty

Tyto konstanty jsou definovány tímto rozšířením a budou k dispozici pouze tehdy, bylo-li rozšíření zkompilováno společně s PHP nebo dynamicky zavedeno za běhu.

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)

Viz také

Více informací o COM naleznete ve specifikaci COM nebo se třeba podívejte na Yet Another COM Library (YACL) Dona Boxe.

Obsah
COM -- COM class
VARIANT -- VARIANT class
com_addref --  Increases the components reference counter.
com_get --  Získává hodnotu vlastnosti COM komponenty
com_invoke --  Volá metodu COM komponenty.
com_isenum -- Grabs an IEnumVariant
com_load_typelib -- Loads a Typelib
com_load --  Vytvoří nový odkaz na COM komponentu
com_propget --  Získává hodnotu vlastnosti COM komponenty
com_propput --  Přiřazuje hodnotu vlastnosti COM komponenty.
com_propset --  Přiřazuje hodnotu vlastnosti COM komponenty.
com_release --  Decreases the components reference counter.
com_set --  Přiřazuje hodnotu vlastnosti COM komponenty.