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.
Kapcsolódó témakörök