<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'book.com.php',
    1 => 'COM',
    2 => 'COM et .Net (Windows)',
  ),
  'up' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Extensions pour Windows uniquement',
  ),
  'prev' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Extensions pour Windows uniquement',
  ),
  'next' => 
  array (
    0 => 'com.setup.php',
    1 => 'Installation/Configuration',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    '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 et .Net (Windows)</h1>
 

 
 <div id="intro.com" class="preface">
  <h1 class="title">Introduction</h1>
  <p class="para">
   COM est un acronyme pour <code class="literal">Component Object Model</code>; 
   c&#039;est une couche orientée objet (et services associés) au-dessus de
   DCE RPC (un standard ouvert) qui
   définit une convention de nommage commune permettant à un code écrit en
   n&#039;importe quel langage de communiquer avec du code écrit dans un autre
   langage, pour peu que ces deux langages soient compatibles avec COM.
   Les codes n&#039;ont pas besoin de faire partie du même exécutable. Le code peut
   être chargé à partir d&#039;une DLL, trouvé dans un autre processus fonctionnant
   sur le même serveur, ou, avec DCOM (Distributed COM), trouvé sur une machine
   distante, sans même que le code ait à savoir où il se trouve.
  </p>
  <p class="para">
   Il y a une partie de COM connue sous le nom d&#039;OLE Automation qui comprend un
   jeu d&#039;interfaces COM qui permettent une liaison lâche avec les objets COM, afin
   qu&#039;ils puissent être introspectés et appelés en cours d&#039;exécution sans savoir
   au moment de la compilation comment l&#039;objet fonctionne. L&#039;extension COM de PHP
   utilise les interfaces OLE Automation pour permettre de créer et appeler des
   objets compatibles depuis les scripts. Techniquement parlant, cela devrait
   vraiment s&#039;appeler &quot;<code class="literal">the OLE Automation Extension for PHP</code>&quot;,
   puisque tous les objets COM ne sont pas forcément compatibles OLE.
  </p>
  <p class="para">
   Maintenant, pourquoi vouloir ou devoir utiliser COM ? COM est
   l&#039;une des méthodes les plus utilisées pour faire communiquer des applications
   et des composants sur les plates-formes Windows. En utilisant COM, il est possible
   d&#039;ouvrir un document Microsoft Word, remplir un fichier de gabarit et le sauvegarder
   pour l&#039;envoyer par courrier au visiteur. Il est aussi possible d&#039;utiliser COM
   pour effectuer des tâches administratives sur le réseau et configurer
   IIS ; ce ne sont que les utilisations les plus habituelles, il est possible de faire
   beaucoup plus avec COM.
  </p>
  <p class="para">
   De plus, nous supportons l&#039;instanciation et la création d&#039;assemblées
   .Net utilisant une couche d&#039;interopérabilité COM fournie par Microsoft.
  </p>
 </div>
 
 
 








 







 






 








 





 





 





 





 





 





 










<ul class="chunklist chunklist_book"><li><a href="com.setup.php">Installation/Configuration</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.requirements.php">Pr&eacute;-requis</a></li><li><a href="com.installation.php">Installation</a></li><li><a href="com.configuration.php">Configuration &agrave; l'ex&eacute;cution</a></li></ul></li><li><a href="com.constants.php">Constantes pr&eacute;-d&eacute;finies</a></li><li><a href="com.error-handling.php">Erreurs et gestion des erreurs</a></li><li><a href="com.examples.php">Exemples</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">Tableaux et propri&eacute;t&eacute;s &agrave; la fa&ccedil;on des tableaux de COM</a></li></ul></li><li><a href="class.com.php">com</a> — La classe com<ul class="chunklist chunklist_book chunklist_children"><li><a href="com.construct.php">com::__construct</a> — Constructeur de la classe com</li></ul></li><li><a href="class.dotnet.php">dotnet</a> — La classe dotnet<ul class="chunklist chunklist_book chunklist_children"><li><a href="dotnet.construct.php">dotnet::__construct</a> — Constructeur de la classe dotnet</li></ul></li><li><a href="class.variant.php">variant</a> — La classe variant<ul class="chunklist chunklist_book chunklist_children"><li><a href="variant.construct.php">variant::__construct</a> — Constructeur de la classe variant</li></ul></li><li><a href="class.compersisthelper.php">COMPersistHelper</a> — La classe COMPersistHelper<ul class="chunklist chunklist_book chunklist_children"><li><a href="compersisthelper.construct.php">COMPersistHelper::__construct</a> — Construit un objet COMPersistHelper</li><li><a href="compersisthelper.getcurfilename.php">COMPersistHelper::GetCurFileName</a> — Renvoie le nom du fichier courant</li><li><a href="compersisthelper.getmaxstreamsize.php">COMPersistHelper::GetMaxStreamSize</a> — Renvoie la taille maximum du stream</li><li><a href="compersisthelper.initnew.php">COMPersistHelper::InitNew</a> — Initialise un objet dans un &eacute;tat par d&eacute;faut</li><li><a href="compersisthelper.loadfromfile.php">COMPersistHelper::LoadFromFile</a> — Charge un objet depuis un fichier</li><li><a href="compersisthelper.loadfromstream.php">COMPersistHelper::LoadFromStream</a> — Charge un objet depuis un stream</li><li><a href="compersisthelper.savetofile.php">COMPersistHelper::SaveToFile</a> — Sauvegarde un objet dans un fichier</li><li><a href="compersisthelper.savetostream.php">COMPersistHelper::SaveToStream</a> — Sauvegarde un objet dans un stream</li></ul></li><li><a href="class.com-exception.php">com_exception</a> — La classe com_exception</li><li><a href="class.com-safearray-proxy.php">com_safearray_proxy</a> — La classe com_safearray_proxy</li><li><a href="ref.com.php">Fonctions COM et .Net (Windows)</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.com-create-guid.php">com_create_guid</a> — G&eacute;n&egrave;re un identifiant unique global (GUID)</li><li><a href="function.com-event-sink.php">com_event_sink</a> — Connecte des &eacute;v&eacute;nements d'un objet COM sur un objet PHP</li><li><a href="function.com-get-active-object.php">com_get_active_object</a> — Retourne un objet repr&eacute;sentant l'instance actuelle d'un objet COM</li><li><a href="function.com-load-typelib.php">com_load_typelib</a> — Charge un Typelib</li><li><a href="function.com-message-pump.php">com_message_pump</a> — Traite un message COM dans un d&eacute;lai donn&eacute;</li><li><a href="function.com-print-typeinfo.php">com_print_typeinfo</a> — Affiche une d&eacute;finition de classe PHP pour une interface r&eacute;partissable</li><li><a href="function.variant-abs.php">variant_abs</a> — Retourne la valeur absolue d'un variant</li><li><a href="function.variant-add.php">variant_add</a> — &quot;Ajoute&quot; deux valeurs de variants et retourne le r&eacute;sultat</li><li><a href="function.variant-and.php">variant_and</a> — Effectue un ET entre deux variants et retourne le r&eacute;sultat</li><li><a href="function.variant-cast.php">variant_cast</a> — Convertit un variant en un nouvel objet variant de type diff&eacute;rent</li><li><a href="function.variant-cat.php">variant_cat</a> — Assemble deux valeurs variantes ensemble et retourne le r&eacute;sultat</li><li><a href="function.variant-cmp.php">variant_cmp</a> — Compare deux variants</li><li><a href="function.variant-date-from-timestamp.php">variant_date_from_timestamp</a> — Retourne une repr&eacute;sentation date en variant d'un timestamp Unix</li><li><a href="function.variant-date-to-timestamp.php">variant_date_to_timestamp</a> — Convertit une valeur date/temps variante en un timestamp Unix</li><li><a href="function.variant-div.php">variant_div</a> — Retourne le r&eacute;sultat de la division de deux variants</li><li><a href="function.variant-eqv.php">variant_eqv</a> — Effectue une &eacute;quivalence de bits de deux variants</li><li><a href="function.variant-fix.php">variant_fix</a> — R&eacute;cup&egrave;re la portion enti&egrave;re d'un variant</li><li><a href="function.variant-get-type.php">variant_get_type</a> — Retourne le type d'un objet variant</li><li><a href="function.variant-idiv.php">variant_idiv</a> — Convertit des variants en valeurs enti&egrave;res, et effectue alors une division</li><li><a href="function.variant-imp.php">variant_imp</a> — Ex&eacute;cute une implication sur les bits de deux variants</li><li><a href="function.variant-int.php">variant_int</a> — Retourne la partie enti&egrave;re d'un variant</li><li><a href="function.variant-mod.php">variant_mod</a> — Divise deux variantes et retourne le reste</li><li><a href="function.variant-mul.php">variant_mul</a> — Multiplie les valeurs de deux variants</li><li><a href="function.variant-neg.php">variant_neg</a> — Effectue une n&eacute;gation logique sur un variant</li><li><a href="function.variant-not.php">variant_not</a> — Ex&eacute;cute une n&eacute;gation sur les bits sur un variant</li><li><a href="function.variant-or.php">variant_or</a> — Effectue une disjonction logique sur deux variants</li><li><a href="function.variant-pow.php">variant_pow</a> — Retourne le r&eacute;sultat de la fonction puissance avec deux variants</li><li><a href="function.variant-round.php">variant_round</a> — Arrondit le variant au nombre sp&eacute;cifi&eacute; de d&eacute;cimales</li><li><a href="function.variant-set.php">variant_set</a> — Assigne une nouvelle valeur pour un objet variant</li><li><a href="function.variant-set-type.php">variant_set_type</a> — Convertit un variant en un autre type &quot;sur-place&quot;</li><li><a href="function.variant-sub.php">variant_sub</a> — Soustrait la valeur du variant de droite de la valeur de celui de gauche</li><li><a href="function.variant-xor.php">variant_xor</a> — Ex&eacute;cute une exclusion logique sur deux variants</li></ul></li></ul></div><?php manual_footer($setup); ?>