lcid-Attribut
Das Attribut [lcid] gibt einen Gebietsschemabezeichner an und aktiviert die gebietsschemaspezifische MIDL-Compilerunterstützung.
[
uuid(uuid-number),
lcid(localeID)
[, optional-attribute-list]
]
library library-name
{
library-definition-statements
}
function-name([parameter-attribute-list, lcid] long parameter-name,. . .);
-
uuid-zahl
-
Gibt eine universelle eindeutige Identifikationsnummer für die Bibliothek an.
-
Localeid
-
Gibt den 32-Bit-Gebietsschemabezeichner an, der in Windows National Language Support verwendet wird. In der Regel wird der Gebietsschemabezeichner in hexadezimal angegeben.
-
optional-attribut-list
-
Null oder mehr Attribute, die auf die Bibliothek angewendet werden sollen.
-
Bibliotheksname
-
Der Name, nach dem Softwarekomponenten auf die Bibliothek verweisen.
-
library-definition-statements
-
Mindestens eine MIDL-Anweisung, die den Inhalt der Bibliothek definiert.
-
Funktionsname
-
Gibt den Namen der Funktion in der IDL-Datei an.
-
parameter-attribut-list
-
Null oder mehr MIDL-Attribute, die auf den Funktionsparameter angewendet werden.
-
Parametername
-
Gibt den Namen des Parameters in der IDL-Datei an.
Die Syntax [lcid] weist zwei verschiedene Formen auf; der Effekt des Attributs hängt davon ab, welche Syntax Sie verwenden – entweder die Syntax der Bibliotheksanweisung oder die Parametersyntax.
Wenn die Bibliotheksanweisung zusammen mit einem LocaleID-Argument angewendet wird, wie im ersten Beispiel gezeigt, identifiziert das Attribut [lcid] das Gebietsschema für eine Typbibliothek oder für ein Funktionsargument und ermöglicht es Ihnen, internationale Zeichen innerhalb des Bibliotheksblocks zu verwenden.
Wirksam mit Version 3.01.75 des MIDL-Compilers ist der gebietsschemabezeichner, der von diesem Attribut bereitgestellt wird, nicht nur die resultierende Typbibliothek, sondern ändert tatsächlich das Verhalten des Compilers. In einer Bibliotheksanweisung akzeptiert MIDL ausgehend vom Punkt, an dem das [lcid] -Attribut verwendet wird, Eingaben gemäß dem angegebenen Gebietsschema lokalisiert. Insbesondere ist vollständige Unterstützung für asiatische Sprachen wie Japanisch, Chinesisch und Koreanisch (vollständige DBCS-Unterstützung) verfügbar. Die von der Lokalisierung unterstützten Features sind: Kommentare, Zeichenfolgen, Hilfszeichenfolgen und Bezeichner.
Verwenden Sie den Switch "/lcid Compiler", um diese Lokalisierungsunterstützung für die gesamte Eingabedatei verfügbar zu haben, einschließlich Dateinamen und Verzeichnispfad, anstatt nur innerhalb des Bibliotheksblocks.
Wenn sie auf einen Parameter angewendet werden, können Sie mit dem [lcid] -Attribut einen Gebietsschemabezeichner an eine Funktion übergeben, wie im zweiten Beispiel gezeigt. Die folgenden Einschränkungen gelten für [lcid] -Parameter:
- Eine Funktion kann höchstens einen [lcid] -Parameter aufweisen.
- Der Datentyp des Parameters muss lang sein.
- Die Richtung des Parameters muss nur [in] sein.
- Der Parameter [lcid] muss allen anderen Parametern folgen, außer einem [retval] -Parameter.
- Sie können das [lcid] -Attribut nicht auf einen Parameter " dispinterface " oder "coclass " anwenden.
[
uuid(12345678-1234-1234-1234-123456789ABC),
lcid(0x09),
version(1.0)
]
library MyLibrary
{
/* Library definition statements */
};
interface IMyFace : IDispatch
{
[propget] HRESULT MyFunc([in, lcid] long LocaleID,
[out, retval] BSTR * ReturnVal);
// Other interface definition statements
}