A type_UserUnmarshal függvény
A <típus>_UserUnmarshal függvény a [ wire_marshal] és a [ user_marshal] attribútumok segédfüggvénye. A csonkok ezt a függvényt úgy hívják, hogy az ügyfél- vagy kiszolgálóoldalon ne kelljen kételyeket feloldani. A függvény a következőképpen van definiálva:
unsigned char __RPC_FAR * __RPC_USER <type>_UserUnmarshal(
unsigned long __RPC_FAR * pFlags,
unsigned char __RPC_FAR * pBuffer,
<type> __RPC_FAR * pMyObj);
A függvény nevében szereplő <típus> azt jelenti, hogy a [wire_marshal] vagy [user_marshal] típusdefinícióban megadott felhasználótípus. Ez a típus a MIDL-fordító számára ismeretlen [user_marshal] attribútummal együtt nem adható át, vagy akár páros is lehet. A vezetéktípus neve (az átvihető típus neve) nem használatos a függvény prototípusában. Vegye figyelembe azonban, hogy a vezeték típusa határozza meg az adatok vezetékelrendezését az OSF DCE által meghatározottak szerint.
A pFlags paraméter egy alá nem írt hosszú jelzőmezőre mutató mutató. A jelölő felső szava az OSF DCE által meghatározott NDR adatmegjelenítő jelzőket tartalmazza lebegőpontos, bájtsorrendi és karakterábrázolásokhoz. Az alsó szó egy, a COM-csatorna által definiált környezetjelzőt tartalmaz. A mezőn belüli jelölők pontos elrendezését a A type_UserSize függvény.
A pBuffer paraméter az aktuális puffermutató. Előfordulhat, hogy ez a mutató a bejegyzéshez van igazítva, vagy nem. A <típusú>_UserUnmarshal függvénynek megfelelően kell igazítania a puffermutatót, fel kell szabadítania az adatokat, és vissza kell adnia az új pufferpozíciót, amely a leválasztott objektum utáni első bájt címe.
A pMyObj paraméter egy felhasználó által definiált típusú objektumra mutató mutató.
Heterogén környezetben az NDR-motor elvégzi a szükséges adatátalakítást, mielőtt meghívja a <típusú>_UserUnmarshal függvényt. Vegye figyelembe, hogy az NDR motor az ehhez a felhasználói adattípushoz megadott vezetékes típusú definíciónak megfelelően végzi el az adatátalakítást. A jelölő a feladó adatmegjelenitésének jelzése.
Kapcsolódó témakörök