Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Schlüsselwort const ändert den Typ einer Typdeklaration oder den Typ eines Funktionsparameters und verhindert, dass der Wert unterschiedlich ist.
const const-type identifier = const-expression ;
[ typedef [ , type-attribute-list ] ] const const-type declarator-list;
[ typedef [ , type-attribute-list ] ] pointer-type const declarator-list;
[ [ function-attr-list ] ] type-specifier [ ptr-decl ] function-name(
[ [ parameter-attribute-list ] ] ) const;
const-type [declarator], [ [ parameter-attribute-list ] ] pointer-type const [declarator], ...);
Parameter
-
const-type
-
Gibt einen gültigen GANZZAHL-, Zeichen-, Zeichenfolgen- oder booleschen Typ an. Gültige MIDL-Typen umfassen kleine, kurze, lange, Zeichen, Zeichen *, wchar_t, wchar_t *, Byte, Byte *und void *. Die Ganzzahl- und Zeichentypen können signiert oder nicht signiert werden.
-
Bezeichner
-
Gibt einen gültigen MIDL-Bezeichner an. Gültige MIDL-Bezeichner bestehen aus bis zu 31 alphanumerischen und/oder Unterstrichzeichen und müssen mit einem alphabetischen oder unterstrichenen Zeichen beginnen.
-
const-expression
-
Gibt einen Ausdruck, einen Bezeichner oder eine numerische oder eine zeichenkonstante Konstante an, die für den angegebenen Typ geeignet ist: konstanten ganzzahligen Literale oder konstanten ganzzahligen Ausdrücken für ganzzahlige Konstanten; Boolesche Ausdrücke, die bei der Kompilierung für boolesche Typen berechnet werden können; Einzelzeichenkonstanten für Zeichentypen ; und Zeichenfolgenkonstanten für [Zeichenfolgen] -Typen. Der void * -Typ kann nur auf NULL initialisiert werden.
-
type-attribute-list
-
Gibt ein oder mehrere Attribute an, die für den Typ gelten.
-
Zeigertyp
-
Gibt einen gültigen MIDL-Zeigertyp an.
-
Deklarator und Deklaratorliste
-
Gibt Standard-C-Deklaratoren an, z. B. Bezeichner, Zeiger-Deklaratoren und Array-Deklaratoren. Weitere Informationen finden Sie unter Array- und Sized-Pointer Attribute, Arrays und Arrays und Zeiger. Die Deklaratorliste besteht aus einem oder mehreren Deklaratoren, getrennt durch Kommas. Der Parameternamebezeichner im Funktionsdeklarator ist optional.
-
function-attr-list
-
Gibt null oder mehr Attribute an, die für die Funktion gelten. Gültige Funktionsattribute sind [callback], [local]; das Zeiger-Attribut [ref], [unique], oder [ptr]; und die Verwendungsattribute [string], [ignore], und [context_handle].
-
Typbezeichner
-
Gibt einen base_type, eine Struktur, eine Union, einen Enumerationstyp oder einen Typbezeichner an. Eine optionale Speicherspezifikation kann dem Typbezeichner vorangehen.
-
ptr-decl
-
Gibt null oder mehr Zeiger-Deklaratoren an. Ein Zeiger-Deklarator ist identisch mit dem in C verwendeten Zeiger-Deklarator. Sie wird aus dem * Kennzeichner, Modifizierern wie weit und dem Qualifizierer konstiert.
-
Funktionsname
-
Gibt den Namen der Remoteprozedur an.
-
parameter-attribute-list
-
Gibt null oder mehr Richtungsattribute, Feldattribute, Verwendungsattribute und Zeigerattribute an, die für den angegebenen Parametertyp geeignet sind. Trennen Sie mehrere Attribute durch Kommas.
Bemerkungen
MIDL ermöglicht es Ihnen, konstanten ganzzahligen, zeichenbasierten, Zeichenfolgen- und booleschen Typen im Schnittstellentext der IDL-Datei zu deklarieren. Const-Typdeklarationen werden in der generierten Headerdatei als #define Direktiven reproduziert.
DCE IDL-Compiler unterstützen keine Konstantenausdrücke. Daher ist dieses Feature nicht verfügbar, wenn Sie den MIDL-Compiler /osf-Switch verwenden.
Eine zuvor definierte Konstante kann als zugewiesener Wert einer nachfolgenden Konstante verwendet werden. Der Wert eines konstanten integralen Ausdrucks wird automatisch in den entsprechenden ganzzahligen Typ in Übereinstimmung mit C-Konvertierungsregeln konvertiert.
Der Wert einer Zeichenkonstante muss ein in Anzeichen angegebenes ASCII-Zeichen sein.The value of a character constant must be a single-quoted ASCII character. Wenn es sich bei der Zeichenkonstante um das einfache Anführungszeichen selbst (') handelt, muss das umgekehrte Schrägstrichzeichen (\) wie in \' vor dem einfachen Anführungszeichen stehen.
Der Wert einer Zeichenfolgenkonstante muss eine doppelte Zeichenfolge sein. Innerhalb einer Zeichenfolge muss dem umgekehrten Schrägstrich (\) ein literales doppeltes Anführungszeichen ( " ) vorangestellt werden, wie in \". Innerhalb einer Zeichenfolge stellt das umgekehrte Schrägstrichzeichen (\) ein Escapezeichen dar. Zeichenfolgenkonstanten können aus bis zu 255 Zeichen bestehen.
Der Wert NULL ist der einzige gültige Wert für Konstanten vom Typ void *. Alle Attribute, die der Const-Deklaration zugeordnet sind, werden ignoriert.
Der MIDL-Compiler überprüft nicht auf Bereichsfehler bei der Konstinitialisierung . Wenn Sie z. B. "const short x = 0xFFFFFFFF;" angeben, meldet der MIDL-Compiler keinen Fehler und der Initialisierer wird in der generierten Headerdatei reproduziert.
Beispiele
const void * p1 = NULL;
const char my_char1 = 'a';
const char my_char2 = my_char1;
const wchar_t my_wchar3 = L'a';
const wchar_t * pszNote = L"Note";
const unsigned short int x = 123;
typedef [string] const char *LPCSTR;
HRESULT GetName([out] wchar_t * const pszName );
Siehe auch