<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.utilspec.windows.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'book.com.php',
    1 => 'COM',
    2 => 'COM и .Net (Windows)',
  ),
  'up' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Модули только для Windows',
  ),
  'prev' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Модули только для Windows',
  ),
  'next' => 
  array (
    0 => 'com.setup.php',
    1 => 'Установка и настройка',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/com/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.com.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.com" class="book">
 
 <h1 class="title">COM и .Net (Windows)</h1>
 

 
 <div id="intro.com" class="preface">
  <h1 class="title">Введение</h1>
  <p class="para">
   COM (акроним от <code class="literal">Component Object Model</code>) — это объектно-ориентированный слой
   (и связанные с ним сервисы), базирующийся на DCE RPC (открытый стандарт), который определяет
   общие соглашения, позволяющие коду, написанному на любом языке вызывать
   и взаимодействовать с кодом, написанным на любом другом языке (при условии, что эти языки
   являются COM-ориентированными). Не только код может быть написан на любом языке, но даже
   нет необходимости, чтобы он был частью одного и того же исполняемого файла: код может быть загружен
   из библиотеки DLL, может быть найден в другом процессе на одном и том же компьютере или,
   с помощью DCOM (Distributed COM), может быть найден в другом процессе на удалённой машине, и все это
   без необходимости вашему коду знать где находится компонент.
  </p>
  <p class="para">
   Подмножество COM, известное как OLE Automation, включает набор
   COM-интерфейсов, которые позволяют осуществлять лёгкое связывание COM-объектов, также любой
   объект можно проанализировать и вызывать во время работы без знания о деталях его работы
   на этапе компиляции. PHP-модуль COM использует интерфейсы OLE Automation,
   позволяющие вам создавать и вызывать совместимые объекты из ваших скриптов.
   Говоря техническим языком, это следовало бы назвать «<code class="literal">Модуль OLE Automation для PHP</code>»,
   так как не все COM-объекты являются OLE-совместимыми.
  </p>
  <p class="para">
   Теперь, почему вам следует использовать COM? COM — один из основных способов
   склеить вместе приложения и компоненты на платформе Windows. Используя
   COM, вы можете запустить Microsoft Word, заполнить шаблон документа и сохранить
   результаты как документ Word, и затем отправить посетителю вашего веб-сайта. Вы также можете
   использовать COM для выполнения задач администрирования для вашей сети и конфигурирования
   вашего IIS-сервера. Это только обычные применения, с COM вы сможете больше.
  </p>
  <p class="para">
   Дополнительно модуль поддерживает создание экземпляра
   класса и создание .NET-сборок, используя слой взаимодействия с COM,
   предоставляемый Microsoft.
  </p>
 </div>
 

 





 





 





 





 





 





 





 





 





 





 







<ul class="chunklist chunklist_book"><li><a href="com.setup.php">Установка и настройка</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.requirements.php">Требования</a></li><li><a href="com.installation.php">Установка</a></li><li><a href="com.configuration.php">Настройка во время выполнения</a></li></ul></li><li><a href="com.constants.php">Предопределённые константы</a></li><li><a href="com.error-handling.php">Ошибки и их обработка</a></li><li><a href="com.examples.php">Примеры</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.examples.foreach.php">For Each</a></li><li><a href="com.examples.arrays.php">Массивы и свойства COM в стиле массивов</a></li></ul></li><li><a href="class.com.php">com</a> — Класс com<ul class="chunklist chunklist_book chunklist_children"><li><a href="com.construct.php">com::__construct</a> — Конструктор класса com</li></ul></li><li><a href="class.dotnet.php">dotnet</a> — Класс dotnet<ul class="chunklist chunklist_book chunklist_children"><li><a href="dotnet.construct.php">dotnet::__construct</a> — Конструктор класса dotnet</li></ul></li><li><a href="class.variant.php">variant</a> — Класс variant<ul class="chunklist chunklist_book chunklist_children"><li><a href="variant.construct.php">variant::__construct</a> — Конструктор класса variant</li></ul></li><li><a href="class.compersisthelper.php">COMPersistHelper</a> — Класс COMPersistHelper<ul class="chunklist chunklist_book chunklist_children"><li><a href="compersisthelper.construct.php">COMPersistHelper::__construct</a> — Конструктор класса COMPersistHelper</li><li><a href="compersisthelper.getcurfilename.php">COMPersistHelper::GetCurFileName</a> — Получить имя файла</li><li><a href="compersisthelper.getmaxstreamsize.php">COMPersistHelper::GetMaxStreamSize</a> — Получить максимальный размер потока</li><li><a href="compersisthelper.initnew.php">COMPersistHelper::InitNew</a> — Инициализирует объект в состояние по умолчанию</li><li><a href="compersisthelper.loadfromfile.php">COMPersistHelper::LoadFromFile</a> — Загрузить объект из файла</li><li><a href="compersisthelper.loadfromstream.php">COMPersistHelper::LoadFromStream</a> — Загружает объект из потока</li><li><a href="compersisthelper.savetofile.php">COMPersistHelper::SaveToFile</a> — Сохранить объект в файл</li><li><a href="compersisthelper.savetostream.php">COMPersistHelper::SaveToStream</a> — Сохраняет объект в потоке</li></ul></li><li><a href="class.com-exception.php">com_exception</a> — Класс com_exception</li><li><a href="class.com-safearray-proxy.php">com_safearray_proxy</a> — Класс com_safearray_proxy</li><li><a href="ref.com.php">Функции COM</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.com-create-guid.php">com_create_guid</a> — Создание уникального глобального идентификатора (GUID)</li><li><a href="function.com-event-sink.php">com_event_sink</a> — Связать сообщения объекта COM с объектом PHP</li><li><a href="function.com-get-active-object.php">com_get_active_object</a> — Вернуть дескриптор на уже запущенный экземпляр объекта COM</li><li><a href="function.com-load-typelib.php">com_load_typelib</a> — Загрузка Typelib</li><li><a href="function.com-message-pump.php">com_message_pump</a> — Обработка сообщений COM, пришедших не позднее timeoutms миллисекунд после её запуска</li><li><a href="function.com-print-typeinfo.php">com_print_typeinfo</a> — Печатает определение класса PHP для интерфейса, наследующего IDispatch</li><li><a href="function.variant-abs.php">variant_abs</a> — Получить абсолютное значение варианта</li><li><a href="function.variant-add.php">variant_add</a> — Сложить значения двух вариантов</li><li><a href="function.variant-and.php">variant_and</a> — Побитовое И над двумя вариантами</li><li><a href="function.variant-cast.php">variant_cast</a> — Преобразовывает вариант в новый вариант другого типа</li><li><a href="function.variant-cat.php">variant_cat</a> — Объединение (конкатенация) значений двух вариантов</li><li><a href="function.variant-cmp.php">variant_cmp</a> — Сравнивает два варианта</li><li><a href="function.variant-date-from-timestamp.php">variant_date_from_timestamp</a> — Получает представление даты для варианта из метки времени Unix</li><li><a href="function.variant-date-to-timestamp.php">variant_date_to_timestamp</a> — Преобразовывает вариант типа дата/время во временную метку Unix</li><li><a href="function.variant-div.php">variant_div</a> — Получить результат деления двух вариантов</li><li><a href="function.variant-eqv.php">variant_eqv</a> — Побитовая эквиваленция двух вариантов</li><li><a href="function.variant-fix.php">variant_fix</a> — Возвращает целочисленную часть варианта</li><li><a href="function.variant-get-type.php">variant_get_type</a> — Получить тип варианта</li><li><a href="function.variant-idiv.php">variant_idiv</a> — Делит преобразованные в целые числа варианты</li><li><a href="function.variant-imp.php">variant_imp</a> — Побитовая импликация над двумя вариантами</li><li><a href="function.variant-int.php">variant_int</a> — Возвращает целочисленную часть варианта</li><li><a href="function.variant-mod.php">variant_mod</a> — Остаток от деления двух вариантов</li><li><a href="function.variant-mul.php">variant_mul</a> — Умножает значения двух вариантов</li><li><a href="function.variant-neg.php">variant_neg</a> — Логическое отрицание над вариантом</li><li><a href="function.variant-not.php">variant_not</a> — Выполняет побитовое отрицание над вариантом</li><li><a href="function.variant-or.php">variant_or</a> — Побитовое ИЛИ над двумя вариантами</li><li><a href="function.variant-pow.php">variant_pow</a> — Возводит один вариант в степень, заданную во втором</li><li><a href="function.variant-round.php">variant_round</a> — Округляет вариант с заданной точностью</li><li><a href="function.variant-set.php">variant_set</a> — Присвоение нового значения объекту варианта</li><li><a href="function.variant-set-type.php">variant_set_type</a> — Приводит вариант к другому типу &laquo;по месту&raquo;</li><li><a href="function.variant-sub.php">variant_sub</a> — Вычитает значение правого варианта из левого</li><li><a href="function.variant-xor.php">variant_xor</a> — Исключающее ИЛИ над двумя вариантами</li></ul></li></ul></div><?php manual_footer($setup); ?>