Tabelle „Class“

Die Tabelle „Class“ enthält Informationen zum COM-Server, die als Teil der Produktankündigung generiert werden müssen. Jede Zeile kann einen Satz von Registrierungsschlüsseln und -werten generieren. Die zugeordneten ProgId-Informationen sind in dieser Tabelle enthalten.

Die Tabelle „Class“ weist die folgenden Spalten auf.

Spalte Typ Schlüssel Nullwerte zulässig
CLSID GUID J N
Kontext Identifier J N
Component_ Identifier J N
ProgId_Default Text N J
BESCHREIBUNG Text N J
AppId_ GUID N J
FileTypeMask Text N J
Icon_ Identifier N J
IconIndex Integer N J
DefInprocHandler Filename N J
Argument Formatted N J
Feature_ Identifier N N
Attribute Integer N J

 

Spalteninformationen

CLSID

Der Klassenbezeichner (ID) eines COM-Servers.

Context

Der Serverkontext für diesen Server. Geben Sie einen der folgenden Werte für diesen CLSID-Schlüssel an.

CLSID-SCHLÜSSEL BESCHREIBUNG
LocalServer Gibt den vollständigen Pfad zu einer lokalen 16-Bit-Serveranwendung an.
LocalServer32 Gibt den vollständigen Pfad zu einer lokalen 32-Bit-Serveranwendung an.
InprocServer Gibt den Pfad zur prozessinternen Server-DLL an.
InprocServer32 Gibt den Pfad zu einem prozessinternen 32-Bit-Server und das Threadingmodell an.

 

Component_

Externer Schlüssel in der Tabelle Component, der die Komponente angibt, deren Schlüsseldatei den COM-Server bereitstellt.

ProgId_Default

Die Standardprogramm-ID, die dieser Klassen-ID zugeordnet ist. Diese Spalte ist ein Fremdschlüssel für die Tabelle ProgID.

Description (Beschreibung)

Lokalisierte Beschreibung, die der Klassen-ID und der Programm-ID zugeordnet ist.

AppId_

Anwendungs-ID mit DCOM-Informationen zur zugeordneten Anwendung (Zeichenfolgen-GUID). Diese Spalte ist ein Fremdschlüssel in der Tabelle AppId.

FileTypeMask

Enthält Informationen für den HKCR-Schlüssel (diese CLSID).

Bei mehreren Mustern müssen diese durch ein Semikolon voneinander getrennt werden, und es werden numerische Unterschlüssel generiert: 0, 1, 2 ... Weitere Informationen zu dieser Funktionalität finden Sie unter GetClassFile.

Icon_

Die Datei mit dem Symbol, das dieser CLSID zugeordnet ist. Das Installationsprogramm schreibt den Eintrag in dieser Spalte unter dem DefaultIcon-Schlüssel, der der ProgId zugeordnet ist. Wenn der Wert nicht NULL ist, ist die Spalte ein Fremdschlüssel in der Tabelle Icon. Wenn der Wert NULL ist, stellt der COM-Server die Symbolressource bereit. Angekündigte Dateizuordnungen und Verknüpfungen erfordern in dieser Spalte einen Wert ungleich NULL, damit sie ordnungsgemäß angezeigt werden.

IconIndex

Der Symbolindex in der Symboldatei. Diese kann NULL sein.

Nur nicht negative Zahlen.

DefInprocHandler

Dieses Feld gibt den prozessinternen Standardhandler für den im Feld „Context“ angegebenen Serverkontext an.

Dieses Feld muss NULL sein, wenn im Feld „Context“ der CLSID-Schlüssel InprocServer oder InprocServer enthalten ist.

Wenn der CLSID-Schlüssel LocalServer oder LocalServer32 im Feld „Context“ enthalten ist, gibt der Wert im Feld „DefInprocHandler“ den prozessinternen Standardhandler an.

Wert BESCHREIBUNG
Ein nicht numerischer Wert. Das Installationsprogramm behandelt einen nicht numerischen Wert im Feld „DefInprocHandler“ als Systemdatei, die als prozessinterner 32-Bit-Handler dient und durch den InprocHandler32-Schlüssel angegeben wird.
Null Die Felder „DefInprocHandler“ und „Argument“ können für die CLSID-Schlüssel LocalServer und LocalServer32 NULL sein.
1 = Standard (System) Der Standardwert ist der von InprocHandler angegebene prozessinterne 16-Bit-Handler. In diesem Fall ist der Wert von InprocHandler der Name in der Registrierung, unter dem der Wert des prozessinternen Standardhandlers gespeichert ist. Beispiel: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
2 = Standard (System) Der Standardwert ist der von InprocHandler32 angegebene prozessinterne 32-Bit-Handler. In diesem Fall ist der Wert von InprocHandler32 der Name in der Registrierung, unter dem der Wert des prozessinternen Standardhandlers gespeichert ist. Beispiel: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID.
3 = Standard (System) Der Standardwert ist ein prozessinterner 16-Bit- oder 32-Bit-Handler.

 

Argument

Wenn der CLSID-Schlüssel LocalServer oder LocalServer32 im Feld „Context“ enthalten ist, wird der Text in diesem Feld als Argument für den Server registriert und von COM verwendet, um den Server aufzurufen. Die Felder „DefInprocHandler“ und „Argument“ können beide NULL sein, wenn LocalServer oder LocalServer32 im Feld „Context“ enthalten ist.

Beachten Sie, dass die Auflösung der Eigenschaften im Feld „Argument“ eingeschränkt ist. Eine Eigenschaft, die in diesem Feld als [Eigenschaft] formatiert ist, kann nur aufgelöst werden, wenn die Eigenschaft bereits über den beabsichtigten Wert verfügt, wenn die Komponente installiert wird, zu der die Klasse gehört. Um beispielsweise das [#MyDoc.doc]-Argument in den richtigen Wert aufzulösen, muss derselbe Prozess die Datei „MyDoc.doc“ und die Komponente installieren, zu der die Klasse gehört.

Feature_

Externer Schlüssel in der Tabelle Feature, der die Funktion angibt, die den COM-Server bereitstellt.

Externer Schlüssel in der ersten Spalte der Tabelle „Feature“.

Attributes

Wenn msidbClassAttributesRelativePath in dieser Spalte festgelegt ist, kann der reine Dateiname für COM-Server verwendet werden. Das Installationsprogramm registriert nur den Dateinamen anstelle des vollständigen Pfads. Dadurch kann der Server im aktuellen Verzeichnis Vorrang erhalten, und es sind mehrere Kopien derselben Komponente zulässig.

attribute Decimal Hexadezimal
msidbClassAttributesRelativePath 1 0x001

 

Bemerkungen

Auf diese Tabelle wird verwiesen, wenn die Aktionen RegisterClassInfo oder UnregisterClassInfo ausgeführt werden.

Validierung

ICE03
ICE06
ICE19
ICE32
ICE36
ICE41
ICE42
ICE46
ICE66
ICE69