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::Verbinden Template Verbinden eine Dokumentvorlage für das zugrunde liegende 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

CObject

CCmdTarget

COleObjectFactory

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::Verbinden Template

Verbinden die Dokumentvorlage, auf die pDocTemplate verweist, auf das zugrunde liegende 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 IDispatchin 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 regFileTypeIdregFileTypeNamefileNewNameund , 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