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


Regisztráció

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Amikor egy felhasználó be szeretne szúrni egy OLE-elemet egy alkalmazásba, az OLE megjeleníti a választható objektumtípusok listáját. Az OLE lekéri ezt a listát a rendszerregisztrációs adatbázisból, amely az összes kiszolgálóalkalmazás által biztosított információkat tartalmazza. Amikor egy kiszolgáló regisztrálja magát, a rendszerregisztrációs adatbázisba (a beállításjegyzékbe) helyezett bejegyzések többek között az általa biztosított objektumok típusát, a fájlkiterjesztéseket és a saját elérési útját írják le.

A keretrendszer és az OLE rendszer dinamikus csatolású kódtárai (DLL) ezt a beállításjegyzéket használják annak meghatározására, hogy milyen típusú OLE-elemek érhetők el a rendszeren. Az OLE rendszer DLL-jeit is ez a beállításjegyzék használja annak meghatározására, hogyan indíthat el kiszolgálóalkalmazást csatolt vagy beágyazott objektum aktiválásakor.

Ez a cikk azt ismerteti, hogy az egyes kiszolgálóalkalmazások mit kell tenni a telepítésekor és minden egyes végrehajtásakor.

A rendszerregisztrációs adatbázisról és a frissítéshez használt .reg fájlok formátumáról az OLE Programozó referenciaanyagában talál részletes információt.

Kiszolgáló telepítése

A kiszolgálóalkalmazás első telepítésekor regisztrálnia kell az összes támogatott OLE-elemet. Azt is megteheti, hogy a kiszolgáló minden alkalommal frissíti a rendszerregisztrációs adatbázist, amikor önálló alkalmazásként fut. Ez naprakészen tartja a regisztrációs adatbázist up-to, ha a kiszolgáló végrehajtható fájlját áthelyezik.

Megjegyzés:

Az alkalmazásvarázsló által létrehozott MFC-alkalmazások automatikusan regisztrálják magukat, amikor önálló alkalmazásként futnak.

Ha a telepítés során regisztrálni szeretné az alkalmazást, használja a RegEdit.exe programot. Ha telepítőprogramot tartalmaz az alkalmazás, akkor a telepítőprogram futtassa le a "RegEdit /S alkalmazásnév.reg" parancsot. (A /S jelző csendes műveletet jelez, vagyis nem jeleníti meg a parancs sikeres befejezését jelző párbeszédpanelt.) Ellenkező esetben utasítsa a felhasználót a RegEdit manuális futtatására.

Megjegyzés:

Az alkalmazás varázsló által létrehozott .reg fájl nem tartalmazza a végrehajtható fájl teljes elérési útját. A telepítőprogramnak vagy módosítania kell a .reg fájlt, hogy tartalmazza a végrehajtható fájl teljes elérési útját, vagy módosítsa a PATH környezeti változót, hogy tartalmazza a telepítési könyvtárat.

A RegEdit egyesíti a .reg szövegfájl tartalmát a regisztrációs adatbázisba. Az adatbázis ellenőrzéséhez vagy javításához használja a beállításszerkesztőt. Ügyeljen arra, hogy ne törölje az alapvető OLE-bejegyzéseket.

Kiszolgáló inicializálása

Amikor kiszolgálóalkalmazást hoz létre az alkalmazásvarázslóval, a varázsló automatikusan végrehajtja az összes inicializálási feladatot. Ez a szakasz azt ismerteti, hogy mit kell tennie, ha manuálisan ír egy kiszolgálóalkalmazást.

Amikor egy tárolóalkalmazás elindít egy kiszolgálóalkalmazást, az OLE rendszer DLL-ei hozzáadják a "/Beágyazás" lehetőséget a kiszolgáló parancssorához. A kiszolgálóalkalmazások viselkedése attól függően eltérő, hogy egy tároló indította-e el, ezért az alkalmazásnak a végrehajtás megkezdésekor először ellenőriznie kell a parancssorban a "/Beágyazás" vagy a "-Beágyazás" beállítást. Ha ez a kapcsoló létezik, töltsön be egy másik erőforráskészletet, amely azt mutatja, hogy a kiszolgáló helyben aktív vagy teljesen nyitott. További információ: Menük és erőforrások: Kiszolgálói kiegészítések.

A kiszolgálóalkalmazásnak a parancssor elemzéséhez is meg kell hívnia annak függvényét CWinApp::RunEmbedded . Ha nem nulla értéket ad vissza, az alkalmazás ablakát nem kell megjeleníteni, mert egy konténeralkalmazásból futtatták, nem önálló alkalmazásként. Ez a függvény frissíti a kiszolgáló bejegyzését a rendszerregisztrációs adatbázisban, és meghívja Önnek a RegisterAll tagfüggvényt a példányregisztráció végrehajtásával.

Amikor a kiszolgálóalkalmazás elindul, győződjön meg arról, hogy képes a példányregisztrációra. A példányregisztráció tájékoztatja az OLE rendszer DLL-jeit, hogy a kiszolgáló aktív és készen áll a tárolóktól érkező kérések fogadására. Nem ad hozzá bejegyzést a regisztrációs adatbázishoz. A kiszolgáló példányregisztrációjának végrehajtása a ConnectTemplate megadott tagfüggvény COleTemplateServermeghívásával. Ez összekapcsolja az CDocTemplate objektumot az COleTemplateServer objektummal.

A ConnectTemplate függvény három paramétert használ: a kiszolgáló CLSID azonosítóját, az CDocTemplate objektumra mutató mutatót és egy jelzőt, amely jelzi, hogy a kiszolgáló támogatja-e a több példányt. A minikiszolgálóknak több példányt is támogatniuk kell, vagyis lehetővé kell tenni, hogy a kiszolgáló több példánya egyszerre fusson, egy-egy tárolóhoz. Ezért a minikiszolgáló indításakor adja meg a TRUE értéket ehhez a jelzőhöz.

Ha minikiszolgálót ír, definíció szerint mindig egy tároló indítja el. Továbbra is elemeznie kell a parancssort a "/Beágyazás" beállítás ellenőrzéséhez. A parancssori beállítás hiánya azt jelenti, hogy a felhasználó önálló alkalmazásként próbálta elindítani a minikiszolgálót. Ha ez történik, regisztrálja a kiszolgálót a rendszerregisztrációs adatbázissal, majd megjelenít egy üzenetmezőt, amely tájékoztatja a felhasználót, hogy indítsa el a minikiszolgálót egy tárolóalkalmazásból.

Lásd még

OLE
Kiszolgálók
CWinApp::RunAutomated
CWinApp::RunEmbedded
COleTemplateServer osztály