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 |
-
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
Auf diese Tabelle wird verwiesen, wenn die Aktionen RegisterClassInfo oder UnregisterClassInfo ausgeführt werden.