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.