Megosztás a következőn keresztül:


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.

marshaling rules for user_marshal and wire_marshal

wire_marshal

user_marshal