Automatikus kötési leírók
Az automatikus kötési leírók akkor hasznosak, ha az alkalmazásnak nincs szüksége egy adott kiszolgálóra, és nem kell semmilyen állapotinformációt fenntartania az ügyfél és a kiszolgáló között. Ha automatikus kötéskezelőt használ, nem kell ügyfélalkalmazási kódot írnia a kötések és a leírók kezeléséhez – egyszerűen megadhatja az automatikus kötési leíró használatát az alkalmazáskonfigurációs fájlban (ACF). A csonk ezután meghatározza a leírót, és kezeli a kötést.
Egy időbélyegző művelet például egy automatikus leíróval implementálható. Nem tesz különbséget az ügyfélalkalmazásban, amely a kiszolgáló számára időbélyeget biztosít, mert bármely elérhető kiszolgálótól el tudja fogadni az időt.
Jegyzet
Az automatikus fogópontok nem támogatottak a Macintosh platformon.
Az automatikus leírók használatát az ACF [auto_handle] attribútumának beírásával adhatja meg. Az időbélyeg példa a következő ACF-t használja:
/* ACF file */
[
auto_handle
]
interface autoh
{
}
Ha az ACF nem tartalmaz más leíróattribútumot, és ha a távoli eljárások nem használnak explicit leírókat, a MIDL-fordító alapértelmezés szerint automatikus fogópontokat használ. Automatikus leírókat is használ alapértelmezettként, ha az ACF nincs jelen.
A távoli eljárások az IDL-fájlban vannak megadva. Az automatikus leíró nem jelenhet meg argumentumként a távoli eljáráshoz. Például:
/* IDL file */
[
uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
version(1.0),
pointer_default(unique)
]
interface autoh
{
void GetTime([out] long * time);
void Shutdown(void);
}
Az automatikus leíró előnye, hogy a fejlesztőnek nem kell kódot írnia a leíró kezeléséhez; a csonkok automatikusan kezelik a kötést. Ez jelentősen eltér a Hello, World példa, ahol az ügyfél kezeli az ACF-ben definiált implicit primitív leírót, és több futásidejű függvényt kell meghívnia a kötési leíró létrehozásához.