COleTemplateServer-Klasse
Wird für OLE-Server mit direkter Aktivierung, Automatisierungsserver und Linkcontainer verwendet (also in Anwendungen, die Links zu Einbettungen unterstützen).
Syntax
class COleTemplateServer : public COleObjectFactory
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
COleTemplateServer::COleTemplateServer | Erstellt ein COleTemplateServer -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
COleTemplateServer::ConnectTemplate | Verbindet eine Dokumentvorlage mit dem zugrunde liegenden COleObjectFactory Objekt. |
COleTemplateServer::Unregister | Hebt die Registrierung der zugeordneten Dokumentvorlage auf. |
COleTemplateServer::UpdateRegistry | Registriert den Dokumenttyp bei der OLE-Systemregistrierung. |
Hinweise
Diese Klasse wird von der Klasse COleObjectFactory abgeleitet. In der Regel können Sie direkt verwenden COleTemplateServer
, anstatt Ihre eigene Klasse abzuleiten. COleTemplateServer
verwendet ein CDocTemplate -Objekt zum Verwalten der Serverdokumente. Wird COleTemplateServer
verwendet, wenn ein vollständiger Server implementiert wird, d. h. ein Server, der als eigenständige Anwendung ausgeführt werden kann. Vollständige Server sind in der Regel mehrere MDI-Anwendungen (Document Interface), obwohl SDI-Anwendungen (Single Document Interface) unterstützt werden. Für jeden Serverdokumenttyp wird ein COleTemplateServer
Objekt benötigt, das von einer Anwendung unterstützt wird. Wenn Ihre Serveranwendung arbeitsblätter und Diagramme unterstützt, müssen Sie über zwei COleTemplateServer
Objekte verfügen.
COleTemplateServer
überschreibt die OnCreateInstance
durch COleObjectFactory
. Diese Memberfunktion wird vom Framework aufgerufen, um ein C++-Objekt des richtigen Typs zu erstellen.
Weitere Informationen zu Servern finden Sie im Artikel "Server: Implementieren eines Servers".
Vererbungshierarchie
COleTemplateServer
Anforderungen
Header: afxdisp.h
COleTemplateServer::COleTemplateServer
Erstellt ein COleTemplateServer
-Objekt.
COleTemplateServer();
Hinweise
Eine kurze Beschreibung der Verwendung der COleTemplateServer
Klasse finden Sie in der COleLinkingDoc-Klassenübersicht .
COleTemplateServer::ConnectTemplate
Verbindet die Dokumentvorlage, auf die pDocTemplate verweist, mit dem zugrunde liegenden COleObjectFactory-Objekt.
void ConnectTemplate(
REFCLSID clsid,
CDocTemplate* pDocTemplate,
BOOL bMultiInstance);
Parameter
clsid
Verweisen Sie auf die OLE-Klassen-ID, die die Vorlage anfordert.
pDocTemplate
Zeigen Sie auf die Dokumentvorlage.
bMultiInstance
Gibt an, ob eine einzelne Instanz der Anwendung mehrere Instanziierungen unterstützen kann. Wenn WAHR, werden für jede Anforderung mehrere Instanzen der Anwendung gestartet, um ein Objekt zu erstellen.
Hinweise
Weitere Informationen finden Sie unter CLSID-Schlüssel im Windows SDK.
COleTemplateServer::Unregister
Hebt die Registrierung der zugeordneten Dokumentvorlage auf.
BOOL Unregister();
Rückgabewert
TRUE, wenn erfolgreich, andernfalls FALSE.
Hinweise
EnterRemarks
COleTemplateServer::UpdateRegistry
Lädt Dateitypinformationen aus der Dokumentvorlagenzeichenfolge und platziert diese Informationen in der OLE-Systemregistrierung.
void UpdateRegistry(
OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
LPCTSTR* rglpszRegister = NULL,
LPCTSTR* rglpszOverwrite = NULL,
BOOL bRegister = TRUE);
Parameter
nAppType
Ein Wert aus der OLE_APPTYPE-Aufzählung, die in AFXDISP.H definiert ist. Er kann einen der folgenden Werte aufweisen:
OAT_INPLACE_SERVER Server verfügt über eine vollständige Serverbenutzeroberfläche.
OAT_SERVER Server unterstützt nur das Einbetten.
OAT_CONTAINER Container unterstützt Links zu eingebetteten Objekten.
OAT_DISPATCH_OBJECT Objekt ist
IDispatch
in der Lage.OAT_DOC_OBJECT_SERVER Server unterstützt sowohl das Einbetten als auch das Dokumentobjektkomponentenmodell.
rglpszRegister
Eine Liste von Einträgen, die nur dann in die Registrierung geschrieben werden, wenn keine Einträge vorhanden sind.
rglpszOverwrite
Eine Liste der Einträge, die in die Registrierung geschrieben werden, unabhängig davon, ob vorherige Einträge vorhanden sind.
bRegister
Bestimmt, ob die Klasse registriert werden soll. Wenn bRegister TRUE ist, wird die Klasse bei der Systemregistrierung registriert. Andernfalls wird die Registrierung der Klasse aufgehoben.
Hinweise
Die Registrierungsinformationen werden über einen Aufruf von CDocTemplate::GetDocString geladen. Die abgerufenen Teilzeichenfolgen sind diejenigen, die durch die Indizes regFileTypeId
regFileTypeName
fileNewName
und , wie in den GetDocString
Referenzseiten beschrieben, identifiziert werden.
Wenn die regFileTypeId
Teilzeichenfolge leer ist oder der Aufruf aus GetDocString
einem anderen Grund fehlschlägt, schlägt diese Funktion fehl, und die Dateiinformationen werden nicht in die Registrierung eingegeben.
Die Informationen in den Argumenten rglpszRegister und rglpszOverwrite werden über einen Aufruf von AfxOleRegisterServerClass in die Registrierung geschrieben. Die Standardinformationen, die registriert werden, wenn die beiden Argumente NULL sind, eignen sich für die meisten Anwendungen. Informationen zur Struktur der Informationen in diesen Argumenten finden Sie unter AfxOleRegisterServerClass
.
Weitere Informationen finden Sie unter Implementing the IDispatch Interface.
Siehe auch
MFC-Beispiel HIERSVR
COleObjectFactory-Klasse
Hierarchiediagramm
COleServerDoc-Klasse
COleServerItem-Klasse