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


InprocServer32

Regisztrál egy 32 bites folyamaton belüli kiszolgálót, és megadja annak a lakásnak a menetmodellét, amelyben a kiszolgáló futtatható.

Beállításjegyzék-bejegyzés

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
   {CLSID}
      InprocServer32
         (Default) = path
         ThreadingModel = value

Megjegyzések

ThreadingModel egy REG_SZ érték, amely a szálmodellt határozza meg. A lehetséges értékek az alábbi táblázatban láthatók.

Érték Leírás
Lakás Egyszálas apartman
Mindkettő Egyszálas vagy többszálas apartman
Szabad Többszálas apartman
Semleges Semleges apartman

 

A folyamaton belüli kiszolgáló által biztosított összes objektumhoz ugyanazt az értéket kell használnia.

Ha ThreadingModel nincs jelen, vagy nincs értékre állítva, a kiszolgáló betöltődik a folyamat első inicializált lakásába. Ezt a lakást néha fő egyszálas lakásnak (STA) is nevezik. Ha a folyamat első sta-jának inicializálása com-ra történik, nem pedig a CoInitialize vagy CoInitializeEx, akkor a gazda sta-nak nevezzük. A COM például létrehoz egy gazdagép-kiszolgálót, ha egy folyamatban lévő kiszolgáló betöltése sta-t igényel, de jelenleg nincs sta a folyamatban.

Amikor csak lehetséges, a folyamaton belüli kiszolgáló ugyanabban a lakásban van betöltve, mint az azt betöltő ügyfél. Ha az ügyféllakás szálmodellje nem kompatibilis a megadott modellel, a kiszolgáló betöltődik az alábbi táblázatban látható módon.

Kiszolgáló szálmodellje Az apartmankiszolgáló a következő helyen fut:
<\nmegadott> Fő sta
Mindkettő Ugyanaz a lakás, mint az ügyfél
Szabad Többszálas apartman
Semleges Semleges apartman

 

Ha a kiszolgáló menetmodellje Apartman, a kiszolgáló által betöltött lakás attól függ, hogy az ügyfél melyik lakásban fut, ahogyan az az alábbi táblázatban látható.

A lakásügyfél a következő helyen fut: Az apartmankiszolgáló a következő helyen fut:
Többszálú Gazdagép sta-jának
Semleges (STA-szálon) Ugyanaz a lakás, mint az ügyfél
Semleges (MTA-szálon) Gazdagép sta-jának

 

A COM egy gazdagép többszálú lakását (MTA) is létrehozhatja. Ha egy egyszálas lakásban lévő ügyfél egy folyamaton belüli kiszolgálót kér, amelynek szálkezeléses modellje ingyenes, ha nincs MTA a folyamatban, a COM létrehoz egy gazdagépi MTA-t, és betölti a kiszolgálót.

32 bites folyamaton belüli kiszolgáló esetén regisztrálni kell az InprocHandler32, InprocServer, InprocServer32és Beszúrható kulcsokat. Az InprocServer bejegyzésre csak a visszamenőleges kompatibilitás érdekében van szükség. Ha hiányzik, az osztály továbbra is működik, de nem tölthető be 16 bites alkalmazásokba.

Ha egy tároló folyamatban lévő kiszolgálót keres a beállításjegyzékben, a 16 bites verzió prioritást élvez egy 16 bites tárolóval, és a 32 bites verzió prioritást élvez egy 32 bites tárolóval.

InprocServer