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


Eljárásfejleíró

A fejlécet többször meghosszabbították az NDR motor élettartama során. Az aktuális fordító a fordító módjától függően továbbra is különböző fejléceket hoz létre. A legutóbbi fejlécek azonban a régebbiek szuperhalmazai.

A régi –Oi fejléc

A fejléc formátuma a következő:

handle_type<1> 
Oi_flags<1>
[rpc_flags<4>]
proc_num<2>  
stack_size<2>
[explicit_handle_description<>]

Ahol handle_type<1> az alábbi táblázatban látható értékek egyike lehet.

Rontás Fogantyú
31 FC_BIND_GENERIC
32 FC_BIND_PRIMITIVE
33 FC_AUTO_HANDLE
34 FC_CALLBACK_HANDLE
0 (explicit leíró)

 

Ha az handle_type<1> mező nem ero, akkor az eljárás a megadott típusú implicit leírót használja. További információért tekintse meg a Leírók témakört. Ha az handle_type<1> mező nulla, a kötéshez használt leíró az eljárás egyik paramétere.

Az explicit leírók lehetnek primitívek, általánosak és környezetek; az utolsó az alábbi FC-jogkivonattal rendelkezik.

Rontás Fogantyú
30 FC_BIND_CONTEXT

 

A DCOM-felületek leírótípusa konvenció szerint FC_AUTO_HANDLE.

Az Oi_flags<1> mező az alábbi jelölők 8 bites maszkja.

Rontás Zászló Jelentés
01 Oi_FULL_PTR_USED A teljes mutatócsomagot használja.
02 Oi_RPCSS_ALLOC_USED Az RpcSs memóriacsomagot használja.
04 Oi_OBJECT_PROC Eljárás egy objektumfelületen.
08 Oi_HAS_RPCFLAGS Az eljárás nemero Rpc-jelzőkkel rendelkezik.
10 Oi_* Túlterhelt.
20 Oi_* Túlterhelt.
40 Oi_USE_NEW_INIT_ROUTINES Windows NT3.5 Beta2+ init rutinokat használ.
80 Használatlan.

 

A következő jelzők túlterheltek.

Rontás Zászló Jelentés
10 ENCODE_IS_USED Csak pácoláshoz használható.
20 DECODE_IS_USED Csak pácoláshoz használható.
10 Oi_IGNORE_OBJECT_EXCEPTION_HANDLING Már nem használják (régi OLE).
20 Oi_HAS_COMM_OR_FAULT Csak nyers RPC-ben: [comm _, fault_status].
20 Oi_OBJ_USE_V2_INTERPRETER Csak DCOM-ban használja a –Oif értelmezőt.

 

A rpc_flags<4> mező a RPC_MESSAGE struktúra RpcFlags mezőjének beállítását ismerteti. Ez a mező csak akkor jelenik meg, ha az Oi_flags<1> mező Oi_HAD_RPCFLAGS van beállítva. Ha ez a mező nincs jelen, akkor a távoli eljárás RPC-jelzői nullák.

Jegyzet

A teljesítmény érdekében az aszinkron értelmezők mindig 4> rpc_flags<mezővel rendelkeznek.

 

A proc_num<2> mező adja meg az eljárás eljárásszámát.

A stack_size<2> a verem összes paraméterének teljes méretét adja meg, beleértve a mutatót és/vagy a visszatérési értéket is.

A explicit_handle_description<> mezőt a dokumentum későbbi részében ismertetjük. Ez a mező nem jelenik meg, ha az eljárás implicit leírót használ.