Sdílet prostřednictvím


Automatické popisovače vazeb

Automatické popisovače vazeb jsou užitečné, když aplikace nevyžaduje konkrétní server a když nepotřebuje udržovat žádné informace o stavu mezi klientem a serverem. Pokud používáte automatický popisovač vazby, nemusíte psát žádný kód klientské aplikace pro zpracování vazeb a popisovačů – jednoduše zadáte použití automatického popisovače vazby v konfiguračním souboru aplikace (ACF). Zástupný procedura pak definuje popisovač a spravuje vazbu.

Operaci s časovým razítkem je například možné implementovat pomocí automatického popisovače. Nezáleží na klientské aplikaci, která ji poskytuje s časovým razítkem, protože může přijmout čas od libovolného dostupného serveru.

Poznámka

Automatické popisovače nejsou podporovány pro platformu Macintosh.

 

Použití automatických popisovačů zadáte zahrnutím atributu [auto_handle] v ACF. Příklad časového razítka používá následující ACF:

/* ACF file */
[
  auto_handle
]
interface autoh
{
}

Pokud ACF neobsahuje žádný jiný atribut popisovače a pokud vzdálené procedury nepoužívají explicitní popisovače, kompilátor MIDL ve výchozím nastavení používá automatické popisovače. Používá také automatické popisovače jako výchozí, pokud není K dispozici ACF.

Vzdálené procedury jsou zadány v souboru IDL. Automatický popisovač nesmí být uveden jako argument vzdálené procedury. Například:

/* IDL file */
[ 
  uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
  version(1.0),
  pointer_default(unique)
]
interface autoh
{
  void GetTime([out] long * time);
  void Shutdown(void);
}

Výhodou automatického popisovače je, že vývojář nemusí psát žádný kód pro správu popisovače; zástupné procedury spravují vazbu automaticky. To se výrazně liší od Hello, World příklad, kde klient spravuje implicitní primitivní popisovač definovaný v ACF a musí volat několik funkcí za běhu pro vytvoření popisovače vazby.