Forum und email

COM Support Funktionen für Windows

Einführung

Das Component Object Model (COM) ist eine Technologie, welche die Wiederverwendung von Code erlaubt, egal in welcher Sprache dieser geschrieben wurde. Die Komponenten stellen Schnittstellen bereit, welche die verfügbaren Funktionen, aber nicht deren Implementierung bekanntgeben (z.B. auf welcher Maschine die Komponente gespeichert ist und die Executable, die sie enthält). Anwendungen können über die COM-API beliebige Schnittstellen erzeugen. Man kann sich das wie einen super Remote Procedure Call (RPC) Mechanismus mit einigen grundlegenden Objekten vorstellen. Es trennt die Implementation von der Schnittstelle.

COM unterstützt Versioning, die Trennung von Implementation und Schnittstelle, sowie das Verstecken von Implementierungsdetails, wie z.B. Position der Executable und die Sprache, in welcher die Komponente geschrieben wurde.

Anforderungen

Die COM Funktionen sind nur in der Windowsversion von PHP verfügbar.

Installation

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Com Konfigurationsoptionen
Name Standardwert Änderbar
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
Weitere Details und Definitionen der PHP_INI_* Konstanten finden Sie bei der Funktion ini_set().

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

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)
VARCMP_LT (integer)
VARCMP_EQ (integer)
VARCMP_GT (integer)
VARCMP_NULL (integer)
NORM_IGNORECASE (integer)
NORM_IGNORENONSPACE (integer)
NORM_IGNORESYMBOLS (integer)
NORM_IGNOREWIDTH (integer)
NORM_IGNOREKANATYPE (integer)
NORM_IGNOREKASHIDA (integer)
DISP_E_DIVBYZERO (integer)
DISP_E_OVERFLOW (integer)
MK_E_UNAVAILABLE (integer)

Siehe auch

Weitere Informationen zu COM finden Sie in der » COM specification, oder in Don Box's » Yet Another COM Library (YACL).

Inhaltsverzeichnis

  • com — COM Klasse
  • DOTNET — DOTNET class
  • VARIANT — VARIANT Klasse
  • com_addref — Erhöht den Referenzzähler der Komponente
  • com_create_guid — Generate a globally unique identifier (GUID)
  • com_event_sink — Connect events from a COM object to a PHP object
  • com_get_active_object — Returns a handle to an already running instance of a COM object
  • com_get — Liefert den Wert der Eigenschaft einer COM Komponente
  • com_invoke — Ruft eine Methode einer COM Komponente auf
  • com_isenum — Holt eine IEnumVariant
  • com_load_typelib — Lädt eine Typelib
  • com_load — Erstellt eine neue Referenz auf eine COM Komponente
  • com_message_pump — Process COM messages, sleeping for up to timeoutms milliseconds
  • com_print_typeinfo — Print out a PHP class definition for a dispatchable interface
  • com_propget — Liefert den Wert der Eigenschaft einer COM Komponente
  • com_propput — Weist einer Eigenschaft einer COM Komponente einen Wert zu
  • com_propset — Weist einer Eigenschaft einer COM Komponente einen Wert zu
  • com_release — Reduziert den Referenzzähler der Komponente
  • com_set — Weist einer Eigenschaft einer COM Komponente einen Wert zu.
  • variant_abs — Returns the absolute value of a variant
  • variant_add — "Adds" two variant values together and returns the result
  • variant_and — performs a bitwise AND operation between two variants and returns the result
  • variant_cast — Convert a variant into a new variant object of another type
  • variant_cat — concatenates two variant values together and returns the result
  • variant_cmp — Compares two variants
  • variant_date_from_timestamp — Returns a variant date representation of a Unix timestamp
  • variant_date_to_timestamp — Converts a variant date/time value to Unix timestamp
  • variant_div — Returns the result from dividing two variants
  • variant_eqv — Performs a bitwise equivalence on two variants
  • variant_fix — Returns the integer portion ? of a variant
  • variant_get_type — Returns the type of a variant object
  • variant_idiv — Converts variants to integers and then returns the result from dividing them
  • variant_imp — Performs a bitwise implication on two variants
  • variant_int — Returns the integer portion of a variant
  • variant_mod — Divides two variants and returns only the remainder
  • variant_mul — multiplies the values of the two variants and returns the result
  • variant_neg — Performs logical negation on a variant
  • variant_not — Performs bitwise not negation on a variant
  • variant_or — Performs a logical disjunction on two variants
  • variant_pow — Returns the result of performing the power function with two variants
  • variant_round — Rounds a variant to the specified number of decimal places
  • variant_set_type — Convert a variant into another type "in-place"
  • variant_set — Assigns a new value for a variant object
  • variant_sub — subtracts the value of the right variant from the left variant value and returns the result
  • variant_xor — Performs a logical exclusion on two variants