Compilerfehler

Die folgenden Fehlermeldungen werden während der MIDL-Kompilierung generiert:

Rückgabecode Beschreibung
MIDL2000
muss /c_ext für abstrakte Deklaratoren angeben.
Abstrakte Deklaratoren stellen eine Microsoft-Erweiterung für RPC dar und sind nicht in DCE RPC definiert. Wenn Ihre Datei abstrakte Deklaratoren enthält, können Sie daher nicht mit dem Schalter /osf kompilieren, wodurch eine strenge DCE-Kompatibilität erzwungen wird. MIDL-Versionen 3.0 und höher verwenden den Schalter /c_ext als Standard; Der Schalter /osf schaltet den Schalter /c_ext aus. Informationen zu abstrakten Deklaratoren finden Sie unter The ACF Body.
MIDL2001
Die Instanziierung von Daten ist unzulässig. Sie müssen extern " oder " static " verwenden."
Deklaration und Initialisierung in der IDL-Datei sind nicht mit DCE RPC kompatibel. Dieses Feature ist eine Microsoft-Erweiterung, die bei der Kompilierung im DCE-Kompatibilitätsmodus(/osf)nicht verfügbar ist.
MIDL2002
Compilerstapelüberlauf
Beim Verarbeiten der IDL-Datei ist dem Compiler nicht mehr der Stapelspeicherplatz zur Verfügung. Dieses Problem kann auftreten, wenn der Compiler eine komplexe Deklaration oder einen komplexen Ausdruck verarbeitet. Vereinfachen Sie die komplexe Deklaration oder den komplexen Ausdruck, um das Problem zu lösen.
MIDL2003
Neudefinition
Diese Fehlermeldung kann unter den folgenden Umständen angezeigt werden: Ein Typ wurde neu definiert. ein Prozedurprototyp wurde neu definiert. ein Member einer Struktur oder Union mit dem gleichen Namen ist bereits vorhanden. Ein Parameter mit demselben Namen ist bereits im Prototyp vorhanden.
MIDL2004
[auto_handle] Bindung wird verwendet.
Es wurde kein Handletyp als Standardhandpunkttyp definiert. Der Compiler geht davon aus, dass ein automatisches Handle als Bindungshand handle für die angegebene Prozedur verwendet wird.
MIDL2005
Nicht genügend Arbeitsspeicher
Der Compiler hat während der Kompilierung nicht genügend Arbeitsspeicher. Verringern Sie die Größe oder Komplexität der IDL-Datei, oder weisen Sie dem Prozess mehr Arbeitsspeicher zu.
MIDL2006
rekursive Definition
Eine Struktur oder Union wurde rekursiv definiert. Dieser Fehler kann auftreten, wenn eine Zeigerspezifikation in einer Definition einer geschachtelten Struktur übersehen wird.
MIDL2007
Import ignoriert; Bereits importierte Datei
Das Importieren einer IDL-Datei ist ein idempotenter Vorgang. Das Mehr-als-einmal-Einlesen hat keine Auswirkungen. Alle außer dem ersten Importvorgang werden ignoriert.
MIDL2008
Sparseenumen erfordern /c_ext oder /ms_ext
Das Zuweisen von Werten zu Enumerationskonst constants ist nicht mit DCE RPC kompatibel. Wenn Sie die Microsoft-Erweiterungen für MIDL verwenden möchten, die das Zuweisen von Werten zu Enumerationskonst constants ermöglichen, können Sie nicht mit dem Schalter /osf kompilieren, wodurch eine strenge DCE-Kompatibilität erzwungen wird. MIDL-Versionen 3.0 und höher verwenden die Schalter /c_ext und /ms_ext als Standard; Der Schalter /osf deaktiviert diese Erweiterungsschalter.
MIDL2009
Nicht definiertes Symbol
Ein nicht definiertes Symbol wurde in einem Ausdruck verwendet. Dieser Fehler kann auftreten, wenn Sie einen nicht definierten enumerierten Wert verwenden.
MIDL2010
Typ, der in einer ACF-Datei verwendet wird, die nicht in der IDL-Datei definiert ist
Ein nicht definierter Typ wird verwendet.
MIDL2011
Nicht aufgelöste Typdeklaration
Der im Feld "Zusätzliche Fehlerinformationen" gemeldete Typ wurde an anderer Stelle in der IDL-Datei nicht definiert.
MIDL2012
Die Verwendung von Breitzeichenkonst konstanten erfordert /ms_ext oder /c_ext
Breitzeichenkonst constants sind eine Microsoft-Erweiterung für DCE IDL. Um den Datentyp wchar_tzu verwenden, können Sie nicht mit dem Schalter /osf kompilieren, der die MIDL-Compiler-Standardschalter /ms_ext und /c_ext.
MIDL2013
Die Verwendung von Breitzeichenzeichenfolgen erfordert /ms_ext oder /c_ext
Zeichenfolgenkonst constants mit Breitzeichen sind eine Microsoft-Erweiterung für DCE-IDL. Um den Datentyp wchar_tzu verwenden, können Sie nicht mit dem Schalter /osf kompilieren, der die MIDL-Compiler-Standardschalter /ms_ext und /c_ext.
MIDL2014
Inkonsistente Neudefinition des Typs wchar_t
Der Typ wchar_t wurde als Typ neu definiert, der nicht gleichbedeutend mit unsigned short DOS * ist.
MIDL2015
importlib nicht gefunden
Der Compiler konnte die durch die [importlib]-Direktive angegebene Typbibliothek nicht finden. Überprüfen Sie, ob der Pfad und der Name der Bibliothek richtig sind.
MIDL2016
Zwei Bibliotheksblöcke
Zwei Bibliotheksblöcke (auch mit unterschiedlichen Namen) in derselben Quelldatei sind ungültig. Kombinieren Sie alle Elemente in einem einzigen Bibliotheksblock.
MIDL2017
Die dispinterface-Anweisung erfordert eine Definition für IDispatch.
Dieser Fehler tritt im Allgemeinen auf, wenn die Dateien Stdole2.tlb oder Oaidl.idl nicht importiert werden.
MIDL2018
Fehler beim Zugreifen auf die Typbibliothek
Der Compiler konnte die angegebene Typbibliothek nicht finden. Stellen Sie sicher, dass Sie den Pfad richtig angegeben haben.
MIDL2019
Fehler beim Zugreifen auf Typinformationen
Die importierte Typbibliothek ist beschädigt, ungültig oder nur teilweise konstruiert.
MIDL2020
Fehler beim Generieren der Typbibliothek
Die Typbibliothek konnte nicht generiert werden. Eine mögliche Ursache für diesen Fehler ist das Angeben eines Pfads zur IDL-Datei, der länger als 126 Zeichen ist. Oleaut32.dll unterstützt keine Pfadnamen, die länger als 126 Zeichen sind.
MIDL2021
Doppelte ID
Anwendungen verwenden die ID-Anweisung in IDL-Dateien, um eine DISPID für Memberfunktionen anzugeben. Die Memberfunktionen können Eigenschaften oder Methoden von Schnittstellen oder Disp-Schnittstellen sein. Dieser Fehler gibt an, dass die IDL-Datei die gleiche Bezeichnernummer für zwei Methoden oder Eigenschaften angibt.
MIDL2022
Ungültiger oder fehlender Wert für das Eintragsattribut
Das Argument für das Entry-Attribut kann entweder eine Zeichenfolge sein, die einen benannten Einstiegspunkt angibt, oder eine Ordnungszahl, die den Einstiegspunkt definiert. Dieses Argument fehlt oder enthält einen ungültigen Wert.
MIDL2023
Bei der Fehlerwiederherstellung wird davon ausgegangen.
Der MIDL-Compiler hat ungültige Zeichen in der IDL-Datei gefunden.
MIDL2024
Fehlerwiederherstellung verwirft
Der MIDL-Compiler hat ungültige Zeichen in der IDL-Datei gefunden. Die ungültigen Zeichen werden ignoriert.
MIDL2025
Syntaxfehler
Der Compiler hat einen Syntaxfehler in der angegebenen Zeile erkannt.
MIDL2026
kann nach früheren Syntaxfehlern nicht wiederhergestellt werden. Abbruch der Kompilierung
Der MIDL-Compiler versucht automatisch, nach Syntaxfehlern wiederherzustellen, indem syntaktische Elemente hinzugefügt oder entfernt werden. Diese Meldung weist darauf hin, dass der Compiler trotz dieser Wiederherstellungsversuche zu viele Fehler erkannt hat. Korrigieren Sie die angegebenen Fehler, und kompilieren Sie sie erneut.
MIDL2027
Unbekannte Pragmaoption
Das angegebene C-Pragma wird in MIDL nicht unterstützt. Entfernen Sie das Pragma aus der IDL-Datei.
MIDL2028
Nicht implementiertes Feature
Das MIDL-Feature ist zwar Teil der Sprachdefinition, wird jedoch nicht in Microsoft RPC implementiert und wird vom MIDL-Compiler nicht unterstützt. Beispielsweise werden die folgenden Sprachfeatures nicht implementiert: bitset, pipe und der internationale Zeichentyp. Die Nichtimplementierte Sprachfunktion wird im zusätzlichen Fehlerinformationsfeld der Fehlermeldung angezeigt.
MIDL2029
Typ nicht implementiert
Der angegebene Datentyp ist zwar ein legales MIDL-Schlüsselwort, aber nicht in Microsoft RPC implementiert.
MIDL2030
Nichtzeiger, der in einem Dereferenzieren verwendet wird
Ein Datentyp, der kein Zeiger ist, wurde Zeigervorgängen zugeordnet. Sie können nicht über den angegebenen Nichtzeiger auf das Objekt zugreifen.
MIDL2031
expression weist eine Division durch 0 (null) auf.
Der konstante Ausdruck enthält division durch 0 (null).
MIDL2032
expression verwendet inkompatible Typen.
Die linke und rechte Seite des Operators in einem Ausdruck sind von inkompatiblen Typen.
MIDL2033
Nichtarrayausdruck verwendet Indexoperator
Der Ausdruck verwendet den Arrayindizierungsvorgang für ein Datenelement, das nicht vom Arraytyp ist.
MIDL2034
Die linke Seite des Ausdrucks wird nicht als Struktur/Union/Enumeration ausgewertet.
Der direkte oder indirekte Verweisoperator " oder wurde auf ein " " -> " Datenobjekt angewendet, das keine Struktur, Union oder Enumeration ist. Sie können keinen direkten oder indirekten Verweis mit dem angegebenen -Objekt abrufen.
MIDL2035
Konstanter Ausdruck erwartet
Ein konstanter Ausdruck wurde in der Syntax erwartet. Arraygrenzen erfordern beispielsweise einen konstanten Ausdruck. Der Compiler gibt diese Fehlermeldung aus, wenn die Arraygrenze mit einer Variablen oder einem nicht definierten Symbol definiert wird.
MIDL2036
Expression kann zur Kompilierzeit nicht ausgewertet werden
Der Compiler kann einen Ausdruck zur Kompilierzeit nicht auswerten.
MIDL2037
Ausdruck nicht implementiert
Ein Feature, das in früheren Versionen des MIDL-Compilers unterstützt wurde, wird in der Version des Compilers, der mit Microsoft RPC bereitgestellt wurde, nicht unterstützt. Entfernen Sie den angegebenen Ausdruck.
MIDL2038
kein [pointer_default]-Attribut angegeben, vorausgesetzt[ unique] für alle nicht attributierten Zeiger
Der MIDL-Compiler bietet drei verschiedene Standardfälle für Zeiger ohne Zeigerattribute. Funktionsparameter, bei denen es sich um Zeiger der obersten Ebene handelt, werden standardmäßig auf[ref]-Zeigerverwendet. Zeiger, die in Strukturen eingebettet sind, und Zeiger auf andere Zeiger (keine Zeiger der obersten Ebene) werden standardmäßig auf den Typ festgelegt, der vom Attribut [pointer_default] angegeben wird. Wenn kein [pointer_default] -Attribut angegeben wird, werden diese Zeiger auf nicht auf der Ebene der Ebene enthaltene Zeiger standardmäßig auf eindeutige Zeiger zurückgestellt. Diese Fehlermeldung gibt den letzten Fall an: Es wird kein Attribut [pointer_default] angegeben, und es gibt mindestens einen Zeiger der obersten Ebene, der als eindeutiger Zeiger behandelt wird. Weitere Informationen finden Sie unter Standardzeigertypen.
MIDL2039
Interface is not automation marshaling conformant (Schnittstelle ist kein automatisierungskonformes Marshalling)
Die -Schnittstelle erfüllt nicht die Anforderungen für eine OLE-Automatisierungsschnittstelle. Überprüfen Sie, ob die Schnittstelle von IUnknown oder IDispatchabgeleitet ist.
MIDL2040
[out] Nur der Parameter kann kein Zeiger auf eine offene Struktur sein.
Ein[out]-only-Parameter wurde als Zeiger auf eine Struktur verwendet, die als offene Struktur bezeichnet wird, deren übertragener Bereich und größe zur Laufzeit bestimmt werden. Der Serverstub weiß nicht, wie viel Speicherplatz für eine offene Struktur belegt werden soll. Verwenden Sie einen Zeiger auf einen Zeiger auf die geöffnete Struktur, und stellen Sie sicher, dass die Serveranwendung ausreichend Speicherplatz dafür zuweist.
MIDL2041
[out] Nur der Parameter darf keine nicht standardisierte Zeichenfolge sein.
Ein Array mit dem Zeichenfolgenattribut wurde als [out]-only-Parameter ohne Größenangabe deklariert. Der Serverstub benötigt Größeninformationen, um Speicher für die Zeichenfolge zuzuordnen. Sie können das Zeichenfolgenattribut entfernen und das Attribut [size_is] hinzufügen, oder Sie können den Parameter in einen[in,out]-Parameterändern.
MIDL2042
[out]-Parameter ist kein Zeiger
Alle[out]-Parametermüssen Zeiger sein, die der Aufruf-nach-Wert-Konvention der Programmiersprache C entsprechen. Der[out]-Richtungsparameter gibt an, dass der Server einen Wert an den Client überträgt. Mit der Aufruf-nach-Wert-Konvention kann der Server Daten nur dann an den Client übertragen, wenn das Funktionsargument ein Zeiger ist.
MIDL2043
Open-Struktur kann kein Parameter sein
Eine offene -Struktur enthält ein konformes Array als letztes Element. Eine Struktur oder Union wird abgeschnitten, wenn das letzte Element dieser Struktur oder Union ein konformes Array ist.
MIDL2044
[out] Kontexthandle/generisches Handle muss als Zeiger auf diesen Handletyp angegeben werden.
Ein kontextbezogenes Handle oder ein benutzerdefinierter Handleparameter mit dem direktionalen Attribut [out] muss ein Zeiger auf einen Zeiger sein.
MIDL2045
Das Kontexthandle darf nicht von einem Typ abgeleitet werden, der über das Attribut [transmit_as] verfügt.
Kontexthandles müssen als Kontexthandletypen übertragen werden. Sie können nicht als andere Typen übertragen werden und können nicht von [transmit_is], [represent_as], [wire_marshal] oder [user_marshal] abgeleitet werden.
MIDL2046
kann keine variable Anzahl von Argumenten für eine Remoteprozedur angeben.
Remoteprozeduraufrufe, die eine variable Anzahl von Argumenten zur Kompilierzeit angeben, sind nicht mit der DCE-RPC-Definition kompatibel. Sie können keine variable Anzahl von Argumenten in Microsoft RPC verwenden.
MIDL2047
Benannter Parameter darf nicht void sein ""
Ein Parameter mit dem Basistyp void wird mit einem Namen angegeben.
MIDL2048
Parameter wird von " coclass oder " module ""
Die Co-Klasse gibt ein Objekt der obersten Ebene an, das Schnittstellen und Disp-Schnittstellen enthält. Sie kann nicht als Parameter übergeben werden.
MIDL2049
nur der erste Parameter kann ein Bindungshand handle sein. Sie müssen den Schalter /ms_ext angeben.
DCE RPC lässt zu, dass nur der erste Parameter ein Bindungshandler ist. Beim Kompilieren mit dem Schalter /osf wird der standardmäßige Schalter /ms_ext deaktiviert, der mehrere Handleparameter und Handleparameter an einer anderen Position als der linken Seite unterstützt.
MIDL2050
[comm_status] kann nicht sowohl für einen Parameter als auch für einen Rückgabetyp verwendet werden.
Sowohl die Prozedur als auch einer ihrer Parameter verfügen über das Attribut [comm_status] . Das Attribut [comm_status] gibt an, dass nur ein Datenobjekt gleichzeitig vom Typ error_status_t.
MIDL2051
Das Attribut [local] für eine Prozedur erfordert /ms_ext
Das Attribut [local] ist eine Microsoft-Erweiterung für DCE-IDL. Um dieses Attribut für eine Funktion zu verwenden, können Sie nicht mit dem Schalter /osf kompilieren. Der Schalter /osf überschreibt die MIDL-Compiler-Standardschalter /ms_ext und /c_ext.
MIDL2052
Eigenschaftsattribute dürfen nur mit Prozeduren verwendet werden.
Falsche Verwendung eines Attributs [propget], [propput] oder [propputref] . Stellen Sie sicher, dass Sie den Funktionsnamen der Eigenschaft richtig geschrieben haben und dass die Eigenschaft und die Funktion denselben Namen haben.
MIDL2053
Eine Prozedur darf nicht mehr als ein Eigenschaftsattribut haben.
Für eine Funktion kann nur eines der Attribute [propget], [propput] oder [propputref] angegeben werden.
MIDL2054
Die Prozedur verfügt über eine unzulässige Kombination von Vorgangsattributen.
Bestimmte Attribute können nicht in Verbindung mit anderen Attributen verwendet werden. Überprüfen Sie die MIDL-Sprachreferenz auf die genauen Anforderungen und die Syntax der in diesem Verfahren verwendeten Attribute.
MIDL2055
Das von einem konformen Array ableitende Feld muss das letzte Member der Struktur sein.
Die -Struktur enthält ein konformes Array, das nicht das letzte Element in der -Struktur ist. Das konforme Array muss als letztes Strukturelement angezeigt werden.
MIDL2056
Doppelte [Case]-Bezeichnung
Es wurde eine Doppelte Case-Bezeichnung angegeben. Die doppelte Bezeichnung wird angezeigt.
MIDL2057
Kein [Standard]-Fall für Unterscheidungs-Union angegeben
Eine Unterscheidungs-Union wurde ohne Standardfall angegeben.
MIDL2058
Attributausdruck kann nicht aufgelöst werden
Der dem Attribut zugeordnete Ausdruck kann nicht aufgelöst werden. Dieser Fehler tritt normalerweise auf, wenn eine variable, die im Ausdruck angezeigt wird, nicht definiert ist. Der Fehler kann beispielsweise auftreten, wenn die Variable s nicht definiert ist und vom Attribut [ size_is ]verwendet wird.
MIDL2059
Attributausdruck muss vom ganzzahlig Typ sein, keine Unterstützung für 64-Bit-Ausdrücke
Die angegebene Attributvariable oder der angegebene Ausdruck muss ein ganzzahlder Typ sein. Dieser Fehler tritt auf, wenn der Attributausdruckstyp nicht in eine ganze Zahl auflöset.
MIDL2060
[byte_count] erfordert /ms_ext
Das Attribut [byte_count] ist eine Microsoft-Erweiterung für DCE-IDL. Um dieses Attribut zu verwenden, können Sie nicht mit dem Schalter /osf kompilieren, der die MIDL-Compiler-Standardschalter /ms_ext und /c_ext.
MIDL2061
[byte_count] kann nur auf out-Parameter des Zeigertyps angewendet werden.
Das [byte_count] -Attribut kann nur auf [out] -Parameter angewendet werden, und alle [out]-Parameter müssen Zeigertypen sein.
MIDL2062
[byte_count] kann nicht für einen Zeiger auf ein konformes Array oder eine konforme Struktur angegeben werden.
Das Attribut [byte_count] kann nicht auf ein konformes Array oder eine konforme Struktur angewendet werden.
MIDL2063
Parameter, der die Byteanzahl angibt, ist nicht nur [in] oder der Byteanzahlparameter ist nicht nur [out]
Der wert, der dem[byte_count] zugeordnet ist, muss vom Client an den Server übertragen werden. es muss ein[in] -Parameter sein. Der[byte_count] -Parameter muss kein [in, out ] -Parametersein.
MIDL2064
Der Parameter, der die Byteanzahl angibt, ist kein integraler Typ.
Der wert, der der Byteanzahl zugeordnet ist, muss der ganzzahlige Typ int, small, shortoder long sein.
MIDL2065
[byte_count] kann nicht für einen Parameter mit Größenattributen angegeben werden.
Das Attribut [byte_count] kann nicht mit anderen Größenattributen wie [size_is] oder [ length_is ]verwendet werden.
MIDL2066
[case]-Ausdruck ist nicht konstant
Der für die Case-Bezeichnung angegebene Ausdruck ist keine Konstante.
MIDL2067
[case]-Ausdruck ist nicht vom integralen Typ
Der für die Case-Bezeichnung angegebene Ausdruck ist kein ganzzahliger Typ.
MIDL2068
Die Angabe von [context_handle] für einen anderen Typ als void * erfordert /ms_ext
Für die DCE-RPC-Kompatibilität muss das Kontexthandler ein Zeiger vom Typ void * sein. Wenn die Kontexthandles anderen Typen als void *zugeordnet werden sollen, verwenden Sie nicht den MIDL-Compilerschalter /osf,der den MIDL-Compiler-Standardschalter /ms_ext.
MIDL2069
kann nicht mehr als einen Parameter mit jedem comm_status/fault_status
Eine Prozedur kann nur einen Parameter mit dem Attribut [comm_status] haben. Es kann nur einen Parameter mit dem Attribut [fault_status] haben.
MIDL2070
comm_status/fault_status Parameter muss nur ein [out]-Zeigerparameter sein.
Die Fehlercodetypen [comm_status] und [fault_status] werden vom Server an den Client übertragen und müssen daher als [out]-Parameter angegeben werden. Aufgrund der Einschränkungen in der Programmiersprache C müssen alle[out]-ParameterZeiger sein.
MIDL2071
Endpunktsyntaxfehler
Die Endpunktsyntax ist falsch.
MIDL2072
Inapplicable-Attribut
Das angegebene Attribut kann in diesem Konstrukt nicht angewendet werden. Das Zeichenfolgenattribut gilt beispielsweise für char-Arrays oder char-Zeiger und kann nicht auf eine Struktur angewendet werden, die aus zwei kurzen ganzen Zahlen besteht:
typedef [string] struct moo 
{
    short x;
    short y;
};
MIDL2073
[allocate] erfordert /ms_ext
Das Attribut allocate stellt eine Microsoft-Erweiterung dar, die nicht als Teil von DCE RPC definiert ist. Um dieses Attribut zu verwenden, können Sie nicht mit dem Schalter /osf kompilieren, der den MIDL-Compiler-Standardschalter /ms_ext
MIDL2074
Ungültiger [allocate]-Modus
Für das Attributkonstrukt[allocate] wurde ein ungültiger Modus angegeben. Die vier gültigen Modi sind single_node, all_nodes, on_null und immer.
MIDL2075
Längenattribute können nicht mit Zeichenfolgenattribut angewendet werden
Wenn das Zeichenfolgenattribut verwendet wird, rufen die generierten Stubdateien die strlen-Funktion auf, um die Zeichenfolgenlänge zu bestimmen. Verwenden Sie nicht das length-Attribut und das Zeichenfolgenattribut für dieselbe Variable.
MIDL2076
[last_is] und [length_is] können nicht gleichzeitig angegeben werden.
Sowohl [last_is] als auch [length_is] wurden für dasselbe Array angegeben. Diese Attribute sind wie folgt verknüpft: length = last first + 1. Da jeder Wert von dem anderen abgeleitet werden kann, geben Sie nicht beides an.
MIDL2077
[max_is] und [size_is] können nicht gleichzeitig angegeben werden.
Sowohl [ max_is] als auch [ size_is] wurden für dasselbe Array angegeben. Diese Attribute sind wie folgt verknüpft: max = size + 1. Da jeder Wert von dem anderen abgeleitet werden kann, geben Sie nicht beides an.
MIDL2078
Kein [switch_is]-Attribut bei Verwendung von union angegeben
Für die Union wurde keine Diskriminanz angegeben. Das Attribut [switch_is] gibt die Diskriminanz an, die zum Auswählen zwischen den Union-Feldern verwendet wird.
MIDL2079
kein [uuid] angegeben
Für die Schnittstelle wurde keine UUID angegeben.
MIDL2080
[uuid] für [local]-Schnittstelle ignoriert
Die Verwendung des Attributs [local] für eine Objektschnittstelle bewirkt, dass der MIDL-Compiler das[uuid]-Attributignoriert. Sie können nicht beide Attribute für eine RPC-Schnittstelle verwenden.
MIDL2081
Typkonflikt zwischen Längen- und Größenattributausdrücken
Die Längen- und Größenattributausdrücke müssen dieselben Typen aufweisen. Diese Warnung wird beispielsweise ausgegeben, wenn die Attributvariable für den[size_is]-Ausdruckvom Typ unsigned long und die Attributvariable für den Ausdruck [length_is] vom Typ longist.
MIDL2082
Das [String]-Attribut muss " byte, " " char oder wchar_t Array " oder " " Zeiger angegeben werden.
Ein Zeichenfolgenattribut kann nicht auf einen Zeiger oder ein Array angewendet werden, dessen Basistyp keine Byte-, char-oder -Struktur ist, in der die Member alle vom Byte- oder Char-Typ sind.
MIDL2083
Konflikt zwischen dem Typ des [switch_is]-Ausdrucks und dem Switchtyp der Union
Wenn die Union [switch_type] nicht angegeben ist, entspricht der Switchtyp dem Feld [switch_is].
MIDL2084
[transmit_as] darf nicht auf einen Typ angewendet werden, der von einem Kontexthandle abgeleitet wird.
Kontexthandles können nicht als andere Typen übertragen werden.
MIDL2085
[transmit_as] muss einen transkahenten Typ angeben.
Der angegebene Typ [transmit_as] wird von einem Typ abgeleitet, der nicht von Microsoft RPC übertragen werden kann, z. B. void, void *oder int. Verwenden Sie einen definierten RPC-Basistyp. Fügen Sie im Fall von intGrößenspezifizierer wie small, shortoder long hinzu, um den wertigenzu qualifizieren.
MIDL2086
Der übertragene Typ für [transmit_as] und [represent_as] darf kein Zeiger sein oder von einem Zeiger abgeleitet sein.
Der übertragene Typ kann kein Zeiger sein oder von einem Zeiger abgeleitet werden.
MIDL2087
Der dargestellte Typ für [transmit_as] und [represent_as] darf nicht von einem konformen/variierenden Array, seiner Zeigerentsprechung oder einer konformen/variierenden Struktur abgeleitet werden.
Der Typ, auf den [transmit_as] angewendet wurde, kann nicht von einem konformen Array oder einer konformen Struktur abgeleitet werden (einem Array oder einer Struktur, dessen Größe zur Laufzeit bestimmt wird).
MIDL2088
[uuid] Format ist falsch
Das UUID-Format entspricht nicht der Spezifikation. Die UUID muss eine Zeichenfolge sein, die aus fünf Sequenzen von Hexadezimalziffern der Länge 8, 4, 4, 4 und 12 Ziffern besteht. "12345678-1234-ABCD-EF01-28A49C28F17D " ist eine gültige UUID. Verwenden Sie die Funktion UuidCreate oder ein Hilfsprogramm, um eine gültige UUID zu generieren.
MIDL2089
uuid ist keine Hexadezimalzahl
Die für die Schnittstelle angegebene UUID enthält Zeichen, die in einer Hexadezimalzahlendarstellung ungültig sind. Die Zeichen 0 bis 9 und A bis F sind in einer hexadezimalen Darstellung gültig.
MIDL2090
Optionale Parameter müssen nach den erforderlichen Parametern angegeben werden.
Eine Beschreibung der Reihenfolge von Parameterlisten finden Sie unter [optional] in der MIDL-Sprachreferenz.
MIDL2091
[dllname] erforderlich, wenn [entry] verwendet wird
Wenn Sie einen Einstiegspunkt in eine DLL angeben, müssen Sie auch den Namen dieser DLL mithilfe des Attributs [dllname] angeben.
MIDL2092
[bindbar] ist ohne [propget], [propput] oder [propputref] ungültig.
Das[bindbare] -Attribut ist nur für eine Eigenschaft gültig. Daher müssen Sie auch eine der Eigenschaftenzugriffsfunktionen oder Eigenschafteneinstellungsfunktionen angeben.
MIDL2093
Prozeduren mit [propput] oder [propputref] müssen mindestens einen Parameter aufweisen.
Eine[propput]-oder [ propputref]-Prozedurmuss mindestens einen[in]-Parameter mit der festzulegenden Eigenschaft aufweisen. Eine[propget]-Prozedurmuss mindestens einen[out-, retval]-Parameter aufweisen, um die Eigenschaft oder den Verweis zu empfangen.
MIDL2094
[id]-Attribut ist erforderlich
Diese Memberfunktion erfordert aufgrund der verwendeten dispinterface-Syntax eine DISPID, die Sie mithilfe des Attributs [ id] angeben. Wenn Sie eine Disp-Schnittstelle mithilfe von Eigenschaften und Methoden angeben, müssen Sie eine DISPID für jede Eigenschaft und Methode angeben.
MIDL2095
Der im ACF angegebene Schnittstellenname stimmt nicht mit dem in der IDL-Datei angegebenen Schnittstellennamen überein.
Im aktuellen Compilermodus muss der Name, der dem Schnittstellenschlüsselwort in der ACF folgt, mit dem Namen identisch sein, der auf das Schnittstellenschlüsselwort in der IDL-Datei folgt. Die Schnittstellennamen in den IDL- und ACF-Dateien können sich unterscheiden, wenn Sie mit dem MIDL-Compilerschalter /acfkompilieren.
MIDL2096
Dupliziertes Attribut
Doppelte oder in Konflikt stehende Attribute wurden angegeben. Dieser Fehler tritt häufig auf, wenn sich zwei Attribute gegenseitig ausschließen. Beispielsweise können die Attribute [code] und [nocode] nicht gleichzeitig verwendet werden.
MIDL2097
parameter with [comm_status] or [fault_status] attribute must be a pointer to type error_status_t
Wenn [fault_status] oder [comm_status] als Parameterattribut verwendet wird, muss der Parameter ein[out]-Parametervom Typ error_status_tsein. Wenn ein Serverfehler auftritt, wird der -Parameter auf den Fehlercode festgelegt. Wenn der Remoteaufruf erfolgreich abgeschlossen wurde, legt die Prozedur den Wert fest.
MIDL2098
Eine [lokale] Prozedur kann nicht in der ACF-Datei angegeben werden.
Im ACF wurde eine lokale Prozedur angegeben. Die lokale Prozedur kann nur in der IDL-Datei angegeben werden.
MIDL2099
Der angegebene Typ ist nicht als Handle definiert.
Der im Attribut [implicit_handle] angegebene Typ ist nicht als Handletyp definiert. Ändern Sie die Typdefinition oder den vom Attribut angegebenen Typnamen.
MIDL2100
prozedur undefined
Ein Attribut wurde auf eine Prozedur im ACF angewendet, und diese Prozedur ist in der IDL-Datei nicht definiert.
MIDL2101
Dieser Parameter ist in der IDL-Datei nicht vorhanden.
Ein im ACF angegebener Parameter ist in der Definition in der IDL-Datei nicht vorhanden. Alle Parameter, Funktionen und Typdefinitionen, die im ACF angezeigt werden, müssen Parametern, Funktionen und Typen entsprechen, die zuvor in der IDL-Datei definiert wurden.
MIDL2102
Dieses arraygebundene Konstrukt wird nicht unterstützt.
MIDL unterstützt derzeit das Ausdrücken der oberen und unteren Begrenzung eines Arrays in der Form Array[Lower .. Upper] nur, wenn die Konstante, die die untere Grenze des Arrays angibt, in den Wert 0 (null) auflöset.
MIDL2103
Arraygebundene Spezifikation ist ungültig
Die Benutzerspezifikation von Array-Begrenzungen für das Array fester Größe ist ungültig. Beispiel:
typedef short Array[-1]
MIDL2104
Zeiger auf ein konformes Array oder ein Array, das ein konformes Array enthält, wird nicht unterstützt.
Ungültige konforme Arrayverwendung. Regeln für konforme Arrays finden Sie unter Arrays und RPC.
MIDL2105
Pointee/Array leitet keine Größe ab
Ein konformes Array wurde ohne Größenangabe angegeben. Sie können die Größe mit dem Attribut [max_is] oder [size_is] angeben.
MIDL2106
Nur feste Arrays und SAFEARRAYs sind in einer Typbibliothek legal.
Sie haben einen Arraytyp in einer Bibliotheks-Anweisung verwendet, der nicht in einer Typbibliothek verwendet werden kann.
MIDL2107
SAFEARRAYs sind nur innerhalb eines Bibliotheksblocks legal.
Der MIDL-Compiler erkennt SAFEARRAY nur beim Generieren einer Typbibliothek als gültigen Datentyp.
MIDL2108
Schlecht gebildete Zeichenkonst constant
Das Zeilenendezeichen ist in Zeichenkonst constants nicht zulässig.
MIDL2109
Ende der Datei im Kommentar gefunden
Das Dateiendezeichen wurde in einem Kommentar gefunden.
MIDL2110
Ende der Datei, die in der Zeichenfolge gefunden wurde
Das Dateiendezeichen wurde in einer Zeichenfolge gefunden.
MIDL2111
Bezeichnerlänge überschreitet 31 Zeichen
Bezeichner sind auf 31 alphanumerische Zeichen beschränkt. Bezeichnernamen, die länger als 31 Zeichen sind, werden abgeschnitten.
MIDL2112
Ende der Zeile in der Zeichenfolge gefunden
Das Zeilenendezeichen wurde in der Zeichenfolge gefunden. Stellen Sie sicher, dass Sie das doppelte Anführungszeichen eingeschlossen haben, das die Zeichenfolge beendet.
MIDL2113
Zeichenfolgenkonstkette überschreitet das Limit von 255 Zeichen
Die Zeichenfolge hat die maximal zulässige Länge von 255 Zeichen überschritten.
MIDL2114
Bezeichner überschreitet den Grenzwert von 255 Zeichen und wurde abgeschnitten.
Der Bezeichner hat die maximal zulässige Länge von 255 Zeichen überschritten. Überflüssige Zeichen im Bezeichner werden abgeschnitten.
MIDL2115
Konstante zu groß
Die Konstante ist zu groß, um intern dargestellt zu werden.
MIDL2116
Numerischer Analysefehler
Der Compiler konnte den numerischen Bezeichner nicht analysieren.
MIDL2117
Fehler beim Öffnen der Datei
Das Betriebssystem hat beim Versuch, eine Ausgabedatei zu öffnen, einen Fehler gemeldet. Dieser Fehler kann durch einen Namen verursacht werden, der für das Dateisystem zu lang ist, oder durch einen doppelten Dateinamen.
MIDL2118
Fehlerbindung an Funktion
MIDL2119
Fehler beim Initialisieren von OLE
MIDL2120
Fehler beim Laden der Bibliothek
MIDL2121
[out] Der einzige Parameter darf nicht von einem Zeiger/Array der obersten Ebene [unique] oder [ptr] ableiten.
Ein eindeutiger Zeiger kann kein[out]-only-Parameter sein. Definitionsgemäß kann ein eindeutiger Zeiger von NULL in Nicht-NULLändern. Es werden keine Informationen über den[out]only-Parameter vom Client an den Server übergeben.
MIDL2122
Das -Attribut gilt nicht für diese nicht rpcable-Union.
Nur die Attribute [switch_is] und [switch_type] gelten für eine Union, die als Teil eines Remoteprozeduraufrufs übertragen wird.
MIDL2123
Der für ein Größenattribut verwendete Ausdruck darf nicht von einem [out]only-Parameter ableiten.
Der Wert eines[out]-only-Parameters wird nicht an den Server übertragen und kann nicht verwendet werden, um die Länge oder Größe des Parameters [in] zu bestimmen.
MIDL2124
Ausdruck, der für ein Längenattribut für einen [in]-Parameter verwendet wird, kann nicht von einem [out]only-Parameter ableiten
Der Wert eines[out]-only-Parameters wird nicht an den Server übertragen und kann nicht verwendet werden, um die Länge oder Größe des Parameters [in] zu bestimmen.
MIDL2125
Verwendung von " int " needs /c_ext
MIDL ist eine stark typierte Sprache. Alle über das Netzwerk übertragenen Parameter müssen von einem der MIDL-Basistypen abgeleitet werden. Der Typ int ist nicht als Teil von MIDL definiert. Übertragene Daten müssen einen Größenbezeichner enthalten: small, shortoder long. Daten, die nicht über das Netzwerk übertragen werden, können in eine Schnittstelle eingeschlossen werden. Verwenden Sie den Schalter /c_ext .
MIDL2126
Das Feld "struct/union" darf nicht " "void" sein."
Felder in einer Struktur oder Union müssen deklariert werden, um einen bestimmten Basistyp zu haben, der von MIDL unterstützt wird, oder einen Typ, der von den Basistypen abgeleitet ist. Void-Typen sind in Remotevorgängen nicht zulässig.
MIDL2127
Arrayelement darf nicht void sein
Ein Arrayelement kann nicht void sein.
MIDL2128
Die Verwendung von Typqualifizierern und/oder Modifizierern benötigt /c_ext
Typmodifizierer wie _cdecl und _far können nur kompiliert werden, wenn Sie den Schalter /c_ext angeben.
MIDL2129
Struktur/Union-Feld darf nicht von einer Funktion ableiten
Die Felder einer Struktur oder Union müssen MIDL-Basistypen oder -Typen sein, die von diesen Basistypen abgeleitet werden. Funktionen sind in Struktur- oder Union-Feldern nicht zulässig.
MIDL2130
Arrayelement darf keine Funktion sein
Ein Arrayelement kann keine Funktion sein.
MIDL2131
-Parameter darf keine Funktion sein
Der Parameter für eine Remoteprozedur muss eine Variable eines angegebenen Typs sein. Eine Funktion kann kein Parameter für die Remoteprozedur sein.
MIDL2132
struktur/union mit Bitfeldern benötigt /c_ext
Sie müssen den MIDL-Compilerschalter /c_ext angeben, um Bitfelder in Strukturen zuzulassen, die nicht in einem Remoteprozeduraufruf übertragen werden.
MIDL2133
Bitfeldspezifikation für einen anderen Typ, " der int " eine nicht ANSI-kompatible Erweiterung ist
Die ANSI C-Programmiersprachenspezifikation lässt nicht zu, dass Bitfelder auf nichtinteger-Typen angewendet werden.
MIDL2134
Bitfeldspezifikation kann nur auf einfache integrale Typen angewendet werden.
Die ANSI C-Programmiersprachenspezifikation lässt nicht zu, dass Bitfelder auf nichtinteger-Typen angewendet werden.
MIDL2135
Struktur-/Union-Feld darf nicht von handle_t oder einem Kontexthandle abgeleitet werden.
Kontexthandles können nicht als Teil einer anderen Struktur übertragen werden. Sie müssen als Kontexthandles übertragen werden.
MIDL2136
Arrayelement darf nicht von handle_t oder einem Kontexthandle abgeleitet werden
Kontexthandles können nicht als Teil eines Arrays übertragen werden.
MIDL2137
diese Spezifikation der Unionsanforderungen /c_ext
Eine Union, die in der Schnittstellendefinition angezeigt wird, muss dem diskriminanten zugeordnet oder als lokal deklariert werden. Daten, die nicht über das Netzwerk übertragen werden, können implizit als lokal deklariert werden, wenn Sie den Schalter /c_ext verwenden. Dies ist die MIDL-Standardeinstellung. Sie können diese IDL nicht mit dem Schalter /osf kompilieren.
MIDL2138
Parameter, die von einem int abgeleitet " " werden, müssen einen Größenspezifizierer " für "small", " " "short" " oder " "long" " mit dem Wert " int aufweisen."
Der Typ int ist nur ein gültiger MIDL-Typ auf 32-Bit-Plattformen, auf 16-Bit-Systemen muss int von einer Größenangabe begleitet werden. Verwenden Sie einen der Größenspezifizierer small, shortoder long.
MIDL2139
Der Typ des Parameters kann nicht von void oder void* abgeleitet werden.
MIDL ist eine stark typisierte Sprache. Alle über das Netzwerk übertragenen Parameter müssen von einem der MIDL-Basistypen abgeleitet werden. MIDL unterstützt void nicht als Basistyp. Sie müssen die Deklaration in einen gültigen MIDL-Typ ändern.
MIDL2140
Parameter, die von einer Struktur/Union abgeleitet werden, die Bitfelder enthält, werden nicht unterstützt.
Bitfelder werden von DCE RPC nicht als gültiger Datentyp definiert.
MIDL2141
Die Verwendung eines Parameters, der von einem Typ abgeleitet wird, der Typmodifizierer/Typqualifizierer enthält, benötigt /c_ext
Die Verwendung von Schlüsselwörtern wie far, near, constund volatile in der IDL-Datei ist eine Microsoft-Erweiterung für DCE RPC. Diese Schlüsselwörter sind nicht verfügbar, wenn Sie mit dem Schalter /osf kompilieren, wodurch der Standardmäßige /c_ext Erweiterungsschalter deaktiviert wird.
MIDL2142
-Parameter darf nicht von einem Zeiger auf eine Funktion abgeleitet werden
Die RPC-Laufzeitbibliotheken übertragen einen Zeiger und die zugehörigen Daten zwischen Client und Server. Zeiger auf Funktionen können nicht als Parameter übertragen werden, da die Funktion nicht über das Netzwerk übertragen werden kann.
MIDL2143
-Parameter darf nicht von einer Nicht-Pc-fähigen Union abgeleitet werden
Die Union muss einem diskriminanten zugeordnet werden. Verwenden Sie die Attribute [switch_is] und [switch_type].
MIDL2144
Der Rückgabetyp wird von einem " int-Typ abgeleitet. " Sie müssen Größenspezifizierer mit dem Wert int verwenden. ""
Auf 16-Bit-Systemen ist der Typ int kein gültiger MIDL-Typ, es sei denn, er wird von einer Größenangabe begleitet. Verwenden Sie einen der Größenspezifizierer small, shortoder long.
MIDL2145
Rückgabetyp darf nicht von einem void-Zeiger abgeleitet werden
MIDL ist eine stark typisierte Sprache. Alle über das Netzwerk übertragenen Parameter müssen von einem der MIDL-Basistypen abgeleitet werden. Void-Typen sind nicht als Teil von MIDL definiert. Sie müssen die Deklaration in einen gültigen MIDL-Typ ändern.
MIDL2146
Der Rückgabetyp darf nicht von einer Struktur/Union abgeleitet werden, die Bitfelder enthält.
Bitfelder werden von DCE RPC nicht als gültiger Datentyp definiert.
MIDL2147
Der Rückgabetyp darf nicht von einer Nicht-Pc-fähigen Union abgeleitet werden.
Die Union muss einem diskriminanten zugeordnet werden. Verwenden Sie die Attribute [switch_is] und [switch_type].
MIDL2148
Rückgabetyp darf nicht von einem Zeiger auf eine Funktion abgeleitet werden
Die RPC-Laufzeitbibliotheken übertragen einen Zeiger und die zugehörigen Daten zwischen Client und Server. Zeiger auf Funktionen können nicht als Parameter übertragen werden, da RPC keine Methode zum Übertragen der zugeordneten Funktion über das Netzwerk definiert.
MIDL2149
Zusammengesetzte Initialisierer werden nicht unterstützt.
DCE RPC unterstützt nur die einfache Initialisierung. Die Struktur oder das Array kann nicht in der IDL-Datei initialisiert werden.
MIDL2150
ACF-Attribute in der IDL-Datei benötigen den Schalter /app_config
Mit einer Microsoft-Erweiterung können Sie ACF-Attribute in der IDL-Datei angeben. Verwenden Sie den Schalter /app_config, um diese Erweiterung zu aktivieren.
MIDL2151
Einzeilige Kommentare benötigen /ms_ext oder /c_ext
Einzeilige Kommentare, die zwei Schrägstriche (/) verwenden, stellen eine Microsoft-Erweiterung für DCE RPC dar. Sie können keine einzeiligen Kommentare verwenden, wenn Sie mit dem Schalter /osf kompilieren.
MIDL2152
[Version] Format ist falsch
Die Versionsnummer der Schnittstelle im Schnittstellenheader muss im Format Hauptversionangegeben werden. Nebenversion,wobei jede Zahl zwischen 0 und 65535 liegen kann.
MIDL2153
"signed " benötigt /ms_ext oder /c_ext
Die Verwendung des Schlüsselworts signed ist eine Microsoft-Erweiterung für DCE RPC. Sie können den Schalter /osf nicht verwenden, wenn Sie dieses Feature verwenden möchten.
MIDL2154
Konflikt beim Zuweisungstyp
Der Typ der Variablen stimmt nicht mit dem Typ des Werts überein, der der Variablen zugewiesen ist.
MIDL2155
-Deklaration muss folgendes Format < aufweisen: const-Typ>