-
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, was eine strikte DCE-Kompatibilität erzwingt. 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 Der ACF-Text.
|
-
MIDL2001
|
-
Die Instanziierung von Daten ist illegal; Sie müssen "extern" oder "statisch" verwenden.
- Deklaration und Initialisierung in der IDL-Datei sind nicht mit DCE RPC kompatibel. Dieses Feature ist eine Microsoft-Erweiterung, die beim Kompilieren im DCE-Kompatibilitätsmodus (/osf) nicht verfügbar ist.
|
-
MIDL2002
|
-
Compilerstapelüberlauf
- Beim Verarbeiten der IDL-Datei war der Stapelspeicher für den Compiler nicht mehr verfügbar. Dieses Problem kann auftreten, wenn der Compiler eine komplexe Deklaration oder einen komplexen Ausdruck verarbeitet. Um das Problem zu lösen, vereinfachen Sie die komplexe Deklaration oder den Ausdruck.
|
-
MIDL2003
|
-
Neudefinition
- Diese Fehlermeldung kann unter folgenden Umständen angezeigt werden: Ein Typ wurde neu definiert; ein Verfahrensprototyp wurde neu definiert; ein Mitglied einer Struktur oder Vereinigung desselben Namens ist bereits vorhanden; Im Prototyp ist bereits ein Parameter mit demselben Namen vorhanden.
|
-
MIDL2004
|
-
[auto_handle]-Bindung wird verwendet.
- Als Standardhandletyp wurde kein Handle-Typ definiert. Der Compiler geht davon aus, dass ein automatisches Handle als Bindungshandle für die angegebene Prozedur verwendet wird.
|
-
MIDL2005
|
-
Nicht genügend Arbeitsspeicher
- Während der Kompilierung ging dem Compiler der Arbeitsspeicher aus. Reduzieren 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 geschachtelten Strukturdefinition übersehen wird.
|
-
MIDL2007
|
-
Import ignoriert; Datei bereits importiert
- Das Importieren einer IDL-Datei ist ein idempotent-Vorgang. Es mehr als einmal zu verwenden, hat keine Auswirkung. Alle außer dem ersten Importvorgang werden ignoriert.
|
-
MIDL2008
|
-
Sparse-Enumerationen erfordern /c_ext oder /ms_ext
- Das Zuweisen von Werten zu Enumerationskonstanten ist nicht mit DCE RPC kompatibel. Wenn Sie die Microsoft-Erweiterungen für MIDL verwenden möchten, die das Zuweisen von Werten zu Enumerationskonstanten ermöglichen, können Sie nicht mit dem / osf-Switch kompilieren, was eine strikte DCE-Kompatibilität erzwingt. MIDL-Versionen 3.0 und höher verwenden die Switches /c_ext und /ms_ext als Standard; der /osf-Schalter deaktiviert diese Erweiterungsschalter.
|
-
MIDL2009
|
-
undefiniertes Symbol
- Ein undefiniertes Symbol wurde in einem Ausdruck verwendet. Dieser Fehler kann auftreten, wenn Sie einen nicht definierten aufgezählten Wert verwenden.
|
-
MIDL2010
|
-
Typ, der in der ACF-Datei verwendet wird, die nicht in der IDL-Datei definiert ist
- Es wird ein nicht definierter Typ 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 Breitzeichenkonstanten erfordert /ms_ext oder /c_ext
- Breitzeichenkonstanten sind eine Microsoft-Erweiterung für DCE IDL. Um den Datentyp wchar_t zu verwenden, können Sie nicht mit dem / osf-Schalter kompilieren, der die MIDL-Compilerstandardoptionen /ms_ext und /c_ext außer Kraft setzt.
|
-
MIDL2013
|
-
Die Verwendung von breit angelegten Zeichenfolgen erfordert /ms_ext oder /c_ext
- Breitzeichenfolgenkonstanten sind eine Microsoft-Erweiterung für DCE IDL. Um den Datentyp wchar_t zu verwenden, können Sie nicht mit dem / osf-Schalter kompilieren, der die MIDL-Compilerstandardoptionen /ms_ext und /c_ext außer Kraft setzt.
|
-
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 von der [ importlib]-Anweisung angegebene Typbibliothek nicht finden. Überprüfen Sie, ob pfad und Name der Bibliothek korrekt sind.
|
-
MIDL2016
|
-
zwei Bibliotheksblöcke
- Zwei Bibliotheksblöcke (auch mit unterschiedlichen Namen) in derselben Quelldatei sind unzulässig. Kombinieren Sie alle Elemente in einem einzelnen 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 Zugriff auf die Typbibliothek
- Der Compiler konnte die angegebene Typbibliothek nicht finden. Überprüfen Sie, ob Sie den Pfad richtig angegeben haben.
|
-
MIDL2019
|
-
Fehler beim Zugreifen auf Typinformationen
- Die importierte Typbibliothek ist beschädigt, ungültig oder nur teilweise erstellt.
|
-
MIDL2020
|
-
Fehler beim Generieren der Typbibliothek
- Die Typbibliothek konnte nicht generiert werden. Eine mögliche Ursache für diesen Fehler ist die Angabe 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
|
-
duplizierte ID
- Anwendungen verwenden die id-Anweisung in IDL-Dateien, um eine DISPID für Memberfunktionen anzugeben. Die Memberfunktionen können entweder Eigenschaften oder Methoden von Schnittstellen oder Dispinterfaces sein. Dieser Fehler gibt an, dass die IDL-Datei die gleiche Bezeichnernummer für zwei Methoden oder Eigenschaften angibt.
|
-
MIDL2022
|
-
illegal 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 in der IDL-Datei unzulässige Zeichen gefunden.
|
-
MIDL2024
|
-
Fehlerwiederherstellung verwirft
- Der MIDL-Compiler hat in der IDL-Datei unzulässige Zeichen gefunden. Die unzulässigen Zeichen werden ignoriert.
|
-
MIDL2025
|
-
Syntaxfehler
- Der Compiler hat einen Syntaxfehler in der angegebenen Zeile erkannt.
|
-
MIDL2026
|
-
kann nach früheren Syntaxfehlern nicht wiederhergestellt werden. Abbrechen der Kompilierung
- Der MIDL-Compiler versucht automatisch, nach Syntaxfehlern wiederherzustellen, indem er syntaktische Elemente hinzufügt oder entfernt. Diese Meldung gibt an, dass der Compiler trotz dieser Wiederherstellungsversuche zu viele Fehler erkannt hat. Korrigieren Sie die angegebenen Fehler, und kompilieren Sie sie erneut.
|
-
MIDL2027
|
-
Unbekannte Pragma-Option
- Das angegebene C-Pragma wird in MIDL nicht unterstützt. Entfernen Sie das Pragma aus der IDL-Datei.
|
-
MIDL2028
|
-
Feature nicht implementiert
- Das MIDL-Feature ist zwar Teil der Sprachdefinition, aber nicht in Microsoft RPC implementiert und wird vom MIDL-Compiler nicht unterstützt. Beispielsweise sind die folgenden Sprachfeatures nicht implementiert: Bitset, Pipe und der internationale Zeichentyp. Das Nicht implementierte Sprachfeature wird im zusätzlichen Fehlerinformationsfeld der Fehlermeldung angezeigt.
|
-
MIDL2029
|
-
Typ nicht implementiert
- Der angegebene Datentyp ist zwar eine legale MIDL-Schlüsselwort (keyword), aber nicht in Microsoft RPC implementiert.
|
-
MIDL2030
|
-
Nichtzeiger, der in einem Dereferenzierungsvorgang 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
|
-
Ausdruck weist eine Division durch 0 (null) auf.
- Der konstante Ausdruck enthält Division durch 0 (null).
|
-
MIDL2032
|
-
Ausdruck verwendet inkompatible Typen
- Die linke und rechte Seite des Operators in einem Ausdruck weisen inkompatible Typen auf.
|
-
MIDL2033
|
-
nonarray-Ausdruck verwendet den 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/enum 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
- In der Syntax wurde ein konstanter Ausdruck erwartet. Arraygrenzen erfordern beispielsweise einen konstanten Ausdruck. Der Compiler gibt diese Fehlermeldung aus, wenn das gebundene Array mit einer Variablen oder einem undefinierten Symbol definiert ist.
|
-
MIDL2036
|
-
Ausdruck 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 mit Microsoft RPC bereitgestellten Version des Compilers nicht unterstützt. Entfernen Sie den angegebenen Ausdruck.
|
-
MIDL2038
|
-
Kein [pointer_default]-Attribut angegeben, vorausgesetzt[ eindeutig] für alle nicht zugeordneten Zeiger
- Der MIDL-Compiler bietet drei verschiedene Standardfälle für Zeiger, die keine Zeigerattribute haben. Funktionsparameter, bei denen es sich um Zeiger der obersten Ebene handelt, sind standardmäßig [ref]-Zeiger. In Strukturen eingebettete Zeiger und Zeiger auf andere Zeiger (keine Zeiger der obersten Ebene) entsprechen standardmäßig dem Typ, der vom [pointer_default]-Attribut angegeben wird. Wenn kein [pointer_default]-Attribut angegeben wird, werden diese Zeiger auf nicht oberster Ebene standardmäßig auf eindeutige Zeiger festgelegt. Diese Fehlermeldung gibt den letzten Fall an: Es wird kein [pointer_default]-Attribut angegeben, und es gibt mindestens einen Zeiger der obersten Ebene, der als eindeutiger Zeiger behandelt wird. Weitere Informationen finden Sie unter Standardzeigertypen.
|
-
MIDL2039
|
-
-Schnittstelle ist nicht automatisierungskonform
- Die -Schnittstelle erfüllt nicht die Anforderungen für eine OLE-Automatisierungsschnittstelle. Überprüfen Sie, ob die Schnittstelle von IUnknown oder IDispatch abgeleitet ist.
|
-
MIDL2040
|
-
[out] Only-Parameter kann kein Zeiger auf eine geöffnete 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 zugewiesen 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] Only-Parameter kann keine nicht verknürte Zeichenfolge sein
- Ein Array mit dem Zeichenfolgen-Attribut wurde als [out]-only-Parameter ohne Größenangabe deklariert. Der Serverstub benötigt Größeninformationen, um Arbeitsspeicher für die Zeichenfolge zuzuweisen. Sie können das Zeichenfolgensattribut 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]-Parameter müssen Zeiger im Einklang mit der Aufruf-by-Value-Konvention der Programmiersprache C sein. Der direktionale Parameter [out] gibt an, dass der Server einen Wert an den Client überträgt. Mit der Konvention für den Wertaufruf kann der Server Daten nur dann an den Client übertragen, wenn das Funktionsargument ein Zeiger ist.
|
-
MIDL2043
|
-
Open-Struktur kann kein Parameter sein
- Eine geöffnete 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 Handle-Typ angegeben werden.
- Ein Kontexthandle oder ein benutzerdefinierter Handle-Parameter 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 Kontexthandles-Typen ü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
|
-
Eine variable Anzahl von Argumenten für eine Remoteprozedur kann nicht angegeben werden.
- Remoteprozeduraufrufe, die zur Kompilierzeit eine variable Anzahl von Argumenten angeben, sind nicht mit der DCE-RPC-Definition kompatibel. Sie können keine variable Anzahl von Argumenten in Microsoft RPC verwenden.
|
-
MIDL2047
|
-
Der benannte Parameter darf nicht "void" sein.
- Ein Parameter mit dem Basistyp void wird mit einem Namen angegeben.
|
-
MIDL2048
|
-
parameter leitet sich von "coclass" oder "module" ab
- Die coclass gibt ein Objekt der obersten Ebene an, das Schnittstellen und Dispinterfaces enthält. Er kann nicht als Parameter übergeben werden.
|
-
MIDL2049
|
-
nur der erste Parameter kann ein Bindungshandle sein. Sie müssen den Schalter "/ms_ext" angeben.
- DCE RPC lässt nur den ersten Parameter als Bindungshandle zu. Durch die Kompilierung mit dem /osf-Schalter wird der Standardschalter /ms_ext deaktiviert, der mehrere Handle-Parameter unterstützt und Parameter an einer anderen Position als an der ganz linken Position behandelt.
|
-
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 [comm_status]-Attribut gibt an, dass jeweils nur ein Datenobjekt vom Typ error_status_t sein kann.
|
-
MIDL2051
|
-
[local]-Attribut 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 /osf-Schalter setzt die MIDL-Compiler-Standardoptionen /ms_ext und /c_ext außer Kraft.
|
-
MIDL2052
|
-
Eigenschaftsattribute dürfen nur mit Prozeduren verwendet werden.
- Unsachgemäße Verwendung eines [propget-], [propput]-Attributs oder [propputref]-Attributs. Vergewissern Sie sich, 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 aufweisen
- Für eine Funktion kann höchstens eines der Attribute [propget], [propput] oder [propputref] angegeben werden.
|
-
MIDL2054
|
-
Die Prozedur weist eine unzulässige Kombination von Vorgangsattributen auf.
- 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 Attribute, die in diesem Verfahren verwendet werden.
|
-
MIDL2055
|
-
das von einem konformen Array abgeleitete Feld muss das letzte Element 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 [Groß-/Kleinschreibung]-Bezeichnung
- Es wurde eine doppelte Groß-/Kleinschreibungsbezeichnung angegeben. Die doppelte Bezeichnung wird angezeigt.
|
-
MIDL2057
|
-
Kein [Standard]-Fall für diskriminierte Union angegeben
- Eine diskriminierte 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 integralen Typ sein, keine Unterstützung für 64-Bit-Ausdrücke
- Die angegebene Attributvariable oder der angegebene Ausdruck muss ein integraler Typ sein. Dieser Fehler tritt auf, wenn der Attributausdrucktyp nicht in eine ganze Zahl aufgelöst wird.
|
-
MIDL2060
|
-
[byte_count] erfordert /ms_ext
- Das [byte_count]-Attribut ist eine Microsoft-Erweiterung für DCE IDL. Um dieses Attribut zu verwenden, können Sie nicht mit dem / osf-Schalter kompilieren, der die MIDL-Compilerstandardoptionen /ms_ext und /c_ext außer Kraft setzt.
|
-
MIDL2061
|
-
[byte_count] kann nur auf 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 auf einem Zeiger auf ein konformes Array oder eine konforme Struktur angegeben werden.
- Das [byte_count]-Attribut kann nicht auf ein konformes Array oder eine konforme Struktur angewendet werden.
|
-
MIDL2063
|
-
Parameter, der die Byteanzahl angibt, ist nicht nur [in] oder Der Parameter für die Byteanzahl ist nicht nur [out]
- Der dem [byte_count] zugeordnete Wert muss vom Client an den Server übertragen werden. Es muss sich um einen [in]-Parameter handelt. Der [byte_count]-Parameter muss kein [in, out]-Parameter sein.
|
-
MIDL2064
|
-
Parameter, der die Byteanzahl angibt, ist kein integraler Typ
- Der Der Byteanzahl zugeordnete Wert muss der ganzzahlige Typ int, small, short oder 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
|
-
[Groß-/Kleinschreibung]-Ausdruck ist nicht konstant
- Der für die Groß-/Kleinschreibung angegebene Ausdruck ist keine Konstante.
|
-
MIDL2067
|
-
[Fall]-Ausdruck hat keinen integralen Typ.
- Der für die Groß-/Kleinschreibung angegebene Ausdruck ist kein ganzzahliger Typ.
|
-
MIDL2068
|
-
Das Angeben von [context_handle] für einen anderen Typ als void * erfordert /ms_ext
- Für die DCE-RPC-Kompatibilität muss das Kontexthandle 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-Compilerstandardschalter /ms_ext außer Kraft setzt.
|
-
MIDL2069
|
-
kann nicht mehr als einen Parameter mit jedem comm_status/fault_status angeben
- Eine Prozedur kann nur einen Parameter mit dem Attribut [comm_status] aufweisen. Es kann höchstens einen Parameter mit dem Attribut [fault_status] aufweisen.
|
-
MIDL2070
|
-
comm_status/fault_status Parameter muss 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]-Parameter Zeiger sein.
|
-
MIDL2071
|
-
Endpunktsyntaxfehler
- Die Endpunktsyntax ist falsch.
|
-
MIDL2072
|
-
nicht verwendbares Attribut
- Das angegebene Attribut kann in diesem Konstrukt nicht angewendet werden. Das Zeichenfolgen-Attribut gilt beispielsweise für Char-Arrays oder Zeichenzeiger und kann nicht auf eine Struktur angewendet werden, die aus zwei kurzen ganzen Zahlen besteht:
typedef [string] struct moo
{
short x;
short y;
};
|
-
MIDL2073
|
-
[zuordnung] 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 / osf-Schalter kompilieren, der den MIDL-Compilerstandardschalter /ms_ext
|
-
MIDL2074
|
-
Ungültiger [zuordnungs]-Modus
- Ein ungültiger Modus für das [allocate]-Attributkonstrukt wurde angegeben. Die vier gültigen Modi sind single_node, all_nodes, on_null und immer.
|
-
MIDL2075
|
-
length-Attribute können nicht mit dem Zeichenfolgensattribut angewendet werden
- Wenn das Zeichenfolgenattribut verwendet wird, rufen die generierten Stubdateien die strlen-Funktion auf, um die Länge der Zeichenfolge zu bestimmen. Verwenden Sie nicht das length-Attribut und das Zeichenfolgen-Attribut 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 vom 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 vom anderen abgeleitet werden kann, geben Sie nicht beides an.
|
-
MIDL2078
|
-
Kein [switch_is]-Attribut, das bei verwendung von union angegeben wurde
- Für die Union wurde keine Diskriminanz angegeben. Das [switch_is]-Attribut gibt die Diskriminanz an, die zum Auswählen zwischen den Union-Feldern verwendet wird.
|
-
MIDL2079
|
-
no [uuid] angegeben
- Für die Schnittstelle wurde keine UUID angegeben.
|
-
MIDL2080
|
-
[uuid] auf der [lokalen] Schnittstelle ignoriert
- Die Verwendung des [local]-Attributs für eine Objektschnittstelle bewirkt, dass der MIDL-Compiler das [uuid]-Attribut ignoriert. Sie können nicht beide Attribute auf einer RPC-Schnittstelle verwenden.
|
-
MIDL2081
|
-
Typkonflikt zwischen Längen- und Größenattributeausdrücken
- Die Ausdrücke für längen- und größenattribute müssen denselben Typ aufweisen. Diese Warnung wird beispielsweise ausgegeben, wenn die Attributvariable für den Ausdruck [size_is] vom Typ unsigned long und die Attributvariable für den Ausdruck [length_is] den Typ long aufweist.
|
-
MIDL2082
|
-
[string]-Attribut muss das Array oder zeiger "byte", "char" oder "wchar_t" angegeben werden.
- Ein Zeichenfolgensattribut kann nicht auf einen Zeiger oder ein Array angewendet werden, dessen Basistyp kein Byte, Zeichen oder eine Struktur ist, bei der die Member alle den Byte - oder char-Typ aufweisen.
|
-
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 [switch_is]-Feld.
|
-
MIDL2084
|
-
[transmit_as] darf nicht auf einen Typ angewendet werden, der von einem Kontexthandle abgeleitet ist.
- Kontexthandles können nicht wie andere Typen übertragen werden.
|
-
MIDL2085
|
-
[transmit_as] muss einen übertragbaren Typ angeben.
- Der angegebene [transmit_as]-Typ 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 int Größenbezeichner wie small, short oder long hinzu, um den int zu qualifizieren.
|
-
MIDL2086
|
-
übertragener Typ für [transmit_as] und [represent_as] darf kein Zeiger sein oder von einem Zeiger abgeleitet werden
- Der übertragene Typ kann kein Zeiger sein oder von einem Zeiger abgeleitet werden.
|
-
MIDL2087
|
-
dargestellter Typ für [transmit_as] und [represent_as] darf nicht von einem konformen/variierenden Array, dessen Zeigeräquivalent oder einer konformen/variierenden Struktur abgeleitet werden.
- Der Typ, auf den [transmit_as] angewendet wurde, kann nicht von einem konformen Array oder einer Struktur (einem Array oder einer Struktur, deren Größe zur Laufzeit bestimmt wird) abgeleitet werden.
|
-
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ängen 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 hexadezimalen Zahlendarstellung 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 kommen
- Eine Beschreibung der Reihenfolge von Parameterlisten finden Sie unter [optional] in der MIDL-Sprachreferenz.
|
-
MIDL2091
|
-
[dllname] erforderlich, wenn [eintrag] verwendet wird
- Wenn Sie einen Einstiegspunkt in eine DLL angeben, müssen Sie auch den Namen dieser DLL mithilfe des [dllname]-Attributs angeben.
|
-
MIDL2092
|
-
[bindable] ist ohne [propget], [propput] oder [propputref] ungültig.
- Das Attribut [bindable] ist nur für eine Eigenschaft gültig. Daher müssen Sie auch eine der Eigenschaftenzugriffs- oder Eigenschafteneinstellungsfunktionen angeben.
|
-
MIDL2093
|
-
Prozeduren mit [propput] oder [propputref] müssen mindestens einen Parameter aufweisen.
- Eine [Propput]- oder [ propputref]-Prozedur muss mindestens einen [in]-Parameter mit der festzulegenden -Eigenschaft aufweisen. Eine [propget]-Prozedur muss mindestens über einen [out, retval]-Parameter verfügen, 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 mit dem Attribut [ id] angeben. Wenn Sie eine Dispinterface mithilfe von Eigenschaften und Methoden angeben, müssen Sie für jede Eigenschaft und Methode eine DISPID angeben.
|
-
MIDL2095
|
-
Der in der ACF angegebene Schnittstellenname stimmt nicht mit dem in der IDL-Datei angegebenen überein.
- Im aktuellen Compilermodus muss der Name, der auf die schnittstelle Schlüsselwort (keyword) im ACF folgt, mit dem Namen übereinstimmen, der auf die schnittstelle Schlüsselwort (keyword) in der IDL-Datei folgt. Die Schnittstellennamen in den IDL- und ACF-Dateien können sich unterscheiden, wenn Sie mit dem MIDL-Compilerschalter /acf kompilieren.
|
-
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 mit [comm_status] oder [fault_status]-Attribut muss ein Zeiger auf den Typ error_status_t
- Wenn [fault_status] oder [comm_status] als Parameterattribute verwendet wird, muss der Parameter ein [out]-Parameter vom Typ error_status_t sein. 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 [implicit_handle]-Attribut angegebene Typ ist nicht als Handle-Typ definiert. Ändern Sie die Typdefinition oder den Typnamen, der durch das -Attribut angegeben wird.
|
-
MIDL2100
|
-
Prozedur undefiniert
- Ein Attribut wurde auf eine Prozedur im ACF angewendet, und diese Prozedur ist nicht in der IDL-Datei definiert.
|
-
MIDL2101
|
-
Dieser Parameter ist in der IDL-Datei nicht vorhanden.
- Ein im ACF angegebenen 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 Array-Begrenzungskonstrukt wird nicht unterstützt.
- MIDL unterstützt derzeit die Ausdrücke der oberen und unteren Grenzen eines Arrays im Format Array[Lower .. Upper] nur, wenn die Konstante, die die untere Grenze des Arrays angibt, in den Wert 0 aufgelöst wird.
|
-
MIDL2103
|
-
Arraygebundene Spezifikation ist unzulässig
- Die Benutzerspezifikation der Arraygrenzen für das Array mit fester Größe ist unzulässig. Zum Beispiel:
typedef short Array[-1]
|
-
MIDL2104
|
-
Zeiger auf ein konformes Array oder ein Array, das ein konformes Array enthält, wird nicht unterstützt.
- Unzulässige, konforme Arraynutzung. 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 Bibliotheksanweisung verwendet, die nicht in einer Typbibliothek verwendet werden kann.
|
-
MIDL2107
|
-
SAFEARRAYs sind nur innerhalb eines Bibliotheksblocks legal.
- Der MIDL-Compiler erkennt einen SAFEARRAY nicht als gültigen Datentyp, außer beim Generieren einer Typbibliothek.
|
-
MIDL2108
|
-
falsch formatierte Zeichenkonstante
- Das Zeilenendezeichen ist in Zeichenkonstanten nicht zulässig.
|
-
MIDL2109
|
-
Ende der Datei im Kommentar gefunden
- Das Dateiendezeichen wurde in einem Kommentar gefunden.
|
-
MIDL2110
|
-
Ende der Datei in Zeichenfolge gefunden
- Das Ende der Datei 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
|
-
Zeilenende in Zeichenfolge gefunden
- Das Zeilenendezeichen wurde in der Zeichenfolge gefunden. Vergewissern Sie sich, dass Sie das doppelte Anführungszeichen eingefügt haben, das die Zeichenfolge beendet.
|
-
MIDL2113
|
-
Zeichenfolgenkonstante überschreitet den Grenzwert von 255 Zeichen
- Die Zeichenfolge überschreitet die maximal zulässige Länge von 255 Zeichen.
|
-
MIDL2114
|
-
Bezeichner überschreitet den Grenzwert von 255 Zeichen und wurde abgeschnitten
- Der Bezeichner überschreitet die maximal zulässige Länge von 255 Zeichen. Überschüssige Zeichen im Bezeichner werden abgeschnitten.
|
-
MIDL2115
|
-
konstant 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] nur Parameter dürfen nicht von einem [eindeutigen] oder [ptr]-Zeiger/Array der obersten Ebene abgeleitet werden.
- Ein eindeutiger Zeiger darf kein [out]only-Parameter sein. Per Definition kann ein eindeutiger Zeiger von NULL in ungleich NULL geändert werden. Es werden keine Informationen zum [out]-only-Parameter vom Client an den Server übergeben.
|
-
MIDL2122
|
-
-Attribut gilt nicht für diese Nicht-Rpc-Union
- Nur die Attribute [switch_is] und [switch_type] gelten für eine Union, die im Rahmen eines Remoteprozeduraufrufs übertragen wird.
|
-
MIDL2123
|
-
Der für ein Size-Attribut verwendete Ausdruck darf nicht von einem [out]-only-Parameter abgeleitet werden.
- 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 [in]-Parameters zu bestimmen.
|
-
MIDL2124
|
-
Ausdruck, der für ein Length-Attribut für einen [in]-Parameter verwendet wird, kann nicht von einem [out]-only-Parameter abgeleitet werden
- 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 [in]-Parameters zu bestimmen.
|
-
MIDL2125
|
-
Verwendung von "int" benötigt /c_ext
- MIDL ist eine stark typisierte 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. Die übertragenen Daten müssen einen Größenbezeichner enthalten: klein, kurz oder lang. Daten, die nicht über das Netzwerk übertragen werden, können in eine Schnittstelle eingebunden werden. Verwenden Sie den Schalter /c_ext .
|
-
MIDL2126
|
-
Struktur-/Union-Feld darf nicht "void" sein
- Felder in einer Struktur oder Union müssen als einen bestimmten Basistyp deklariert werden, 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
|
-
array-Element darf nicht leer sein
- Ein Arrayelement kann nicht leer sein.
|
-
MIDL2128
|
-
Die Verwendung von Typqualifizierern und/oder Modifizierern erfordert /c_ext
- Typmodifizierer wie _cdecl und _far können nur kompiliert werden, wenn Sie den Schalter /c_ext angeben.
|
-
MIDL2129
|
-
Struktur/Unionsfeld darf nicht von einer Funktion abgeleitet werden
- Die Felder einer Struktur oder Union müssen MIDL-Basistypen oder -Typen sein, die von diesen Basistypen abgeleitet werden. Funktionen sind in Struktur- oder Unionsbereichen nicht legal.
|
-
MIDL2130
|
-
array-Element 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 in einem Remoteprozeduraufruf nicht übertragen werden.
|
-
MIDL2133
|
-
Bitfeldspezifikation für einen anderen Typ, der "int" eine nicht ANSI-kompatible Erweiterung ist
- Die Spezifikation der ANSI C-Programmiersprache lässt es nicht zu, dass Bitfelder auf Nicht-Integer-Typen angewendet werden.
|
-
MIDL2134
|
-
Bitfeldspezifikation kann nur auf einfache, integrale Typen angewendet werden
- Die Spezifikation der ANSI C-Programmiersprache lässt es nicht zu, dass Bitfelder auf Nicht-Integer-Typen angewendet werden.
|
-
MIDL2135
|
-
Struktur-/Unionfeld 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
|
-
array-Element darf nicht von handle_t oder einem Kontexthandle abgeleitet werden
- Kontexthandles können nicht als Teil eines Arrays übertragen werden.
|
-
MIDL2137
|
-
diese Spezifikation der Union benötigt /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 / c_ext-Switch verwenden, der MIDL-Standardeinstellung. Sie können diese IDL nicht mit dem Schalter /osf kompilieren.
|
-
MIDL2138
|
-
Parameter, die von einem "int" abgeleitet werden, müssen den Größenbezeichner "small", "short" oder "long" mit dem "int" aufweisen.
- Der Typ int ist nur ein gültiger MIDL-Typ auf 32-Bit-Plattformen. Auf 16-Bit-Systemen muss int eine Größenspezifikation beigefügt sein. Verwenden Sie einen der Größenbezeichner klein, kurz oder lang.
|
-
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, const und 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 / osf-Schalter kompilieren, wodurch der Standarderweiterungsschalter /c_ext 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 nichtpc-fähigen Union abgeleitet werden
- Die Gewerkschaft muss diskriminant sein. Verwenden Sie die Attribute [switch_is] und [switch_type].
|
-
MIDL2144
|
-
der Rückgabetyp leitet sich von einem "int" ab. Sie müssen Größenbezeichner mit dem "int" verwenden.
- Auf 16-Bit-Systemen ist der Typ int kein gültiger MIDL-Typ, es sei denn, er wird von einer Größenspezifikation begleitet. Verwenden Sie einen der Größenbezeichner klein, kurz oder lang.
|
-
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 werden nicht als Teil von MIDL definiert. Sie müssen die Deklaration in einen gültigen MIDL-Typ ändern.
|
-
MIDL2146
|
-
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
|
-
Rückgabetyp darf nicht von einer nichtpc-fähigen Union abgeleitet werden
- Die Gewerkschaft muss diskriminant sein. 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
|
-
Single-Zeilenkommentar benötigt /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 / osf-Schalter kompilieren.
|
-
MIDL2152
|
-
[Version]-Format ist falsch
- Die Schnittstellenversionsnummer im Schnittstellenheader muss im Format Major angegeben werden. minor, wobei jede Zahl zwischen 0 und 65535 liegen kann.
|
-
MIDL2153
|
-
"signiert" benötigt /ms_ext oder /c_ext
- Die Verwendung des signierten Schlüsselwort (keyword) ist eine Microsoft-Erweiterung für DCE RPC. Sie können den / osf-Schalter nicht verwenden, wenn Sie dieses Feature verwenden möchten.
|
-
MIDL2154
|
-
nicht übereinstimmender Zuordnungstyp
- Der Typ der Variablen stimmt nicht mit dem Typ des Werts überein, der der Variablen zugewiesen ist.
|
-
MIDL2155
|
-
die Deklaration muss das Folgende haben: const <type> \<declarator> = <initializing expression>
- Die Deklaration ist nicht mit der DCE RPC-Syntax kompatibel. Verwenden Sie den Midl-Compilermodusschalter /ms_ext oder /c_ext .
|
-
MIDL2156
|
-
Deklaration muss "const" aufweisen
- Deklarationen in der IDL-Datei müssen konstanten Ausdrücke sein, die den Schlüsselwort (keyword) const verwenden, z. B.:
const short x = 2;
|
-
MIDL2157
|
-
struct/union/enum darf nicht in einer Parametertypspezifikation definiert werden
- Der Struktur-, Union- oder Aufzählungstyp muss außerhalb des Funktionsprototyps explizit angegeben werden.
|
-
MIDL2158
|
-
[zugeordnet]-Attribut darf nur auf nicht leere Zeigertypen angewendet werden.
- Das Attribut [allocate] ist für komplexe zeigerbasierte Datenstrukturen konzipiert. Wenn das Attribut [zugeordnet] angegeben wird, durchläuft die Stubdatei die Datenstruktur, um die Gesamtgröße aller Objekte zu berechnen, auf die über den Zeiger und alle anderen Zeiger in der Datenstruktur zugegriffen werden kann. Ändern Sie den Typ in einen nicht-virtuellen Zeigertyp, oder entfernen Sie das Attribut [allocation], und verwenden Sie eine andere Methode, um die Zuordnungsgröße zu bestimmen, z. B. den Sizeof-Operator .
|
-
MIDL2159
|
-
Array oder ein entsprechendes Zeigerkonstrukt kann nicht von einer nicht gekapselten Union abgeleitet werden
- Jede Union muss mit einem Diskriminanten verbunden sein. Arrays von Vereinigungen sind nicht zulässig, da sie nicht die zugehörige Diskriminanz bereitstellen. Arrays von Strukturen, in denen die Struktur die Union und ihre Diskriminanz verpackt, sind zulässig, da die Stubs das Diskriminant verwenden können, um die Größe jeder Union zu bestimmen.
|
-
MIDL2160
|
-
feld darf nicht von einem error_status_t-Typ abgeleitet werden
- Der error_status_t-Typs kann nur als Parameter oder Rückgabetyp verwendet werden. Sie kann nicht in das Feld einer Struktur oder Union eingebettet werden.
|
-
MIDL2161
|
-
union verfügt über mindestens einen Arm ohne Gehäusebezeichnung
- Die Union-Deklaration stimmt nicht mit der erforderlichen MIDL-Syntax für die Union überein. Jeder Union-Arm erfordert eine Groß- oder Standardbezeichnung, die diesen Union-Arm auswählt.
|
-
MIDL2162
|
-
Parameter oder Rückgabewert dürfen nicht von einem Typ abgeleitet werden, auf den [ignore] angewendet wurde
- Das [ignore]-Attribut ist ein Feldattribute, das nur auf Felder angewendet werden kann, z. B. Felder von Strukturen und Arrays. Das [ignore]-Attribut gibt an, dass der Stub den Zeiger während der Übertragung nicht ableiten soll und nicht zulässig ist, wenn er mit anderen Attributen in Konflikt kommt, die dereferiert werden müssen, z. B. [out]-Parameter und Funktionsrückgabewerte.
|
-
MIDL2163
|
-
der Zeiger hat bereits ein Zeiger-Attribut darauf angewendet.
- Nur eines der Zeigerattribute[ ref], [eindeutig] oder [ptr] kann auf einen einzelnen Zeiger angewendet werden.
|
-
MIDL2164
|
-
Feld/Parameter dürfen nicht von einer Struktur abgeleitet werden, die über einen Refzeiger rekursiv ist
- Per Definition kann ein Verweiszeiger nicht auf NULL festgelegt werden. Eine rekursive Datenstruktur, die mit einem Verweiszeiger definiert ist, weist keine NULL-Elemente auf und ist gemäß Konvention nicht bestimmend. Verwenden Sie ein [eindeutiges] Zeiger-Attribut, damit die Datenstruktur ein NULL-Element angeben kann, oder definieren Sie die Datenstruktur als nicht übereinstimmende Datenstruktur neu.
|
-
MIDL2165
|
-
Die Verwendung eines Felds, das von einem Void-Zeiger abgeleitet wird, erfordert /c_ext
- Der Typ void * und andere Typen und Typqualifizierer, die von DCE IDL nicht unterstützt werden, sind in der IDL-Datei nur zulässig, wenn Sie die MIDL-Standardcompilereinstellungen verwenden. Wenn Sie den /osf-Schalter verwenden, wird diese Standardeinstellung außer Kraft gesetzt. Wenn Sie im osf-Kompatibilitätsmodus kompilieren müssen, müssen Sie den Zeigertyp neu definieren.
|
-
MIDL2166
|
-
Die Verwendung dieses Attributs erfordert /ms_ext
- Dieses Sprachfeature ist eine Microsoft-Erweiterung für DCE IDL. Sie können dieses Feature nicht verwenden, wenn Sie im osf-Kompatibilitätsmodus ( /osf ) kompilieren.
|
-
MIDL2167
|
-
Dieses Attribut ist nur bei neuen Formattypbibliotheken zulässig.
- Um dieses Attribut verwenden zu können, benötigen Sie die Version von Oleaut32.dll, die mit Windows 2000 oder höher bereitgestellt wird.
|
-
MIDL2168
|
-
Die Verwendung von wchar_t erfordert /ms_ext oder /c_ext
- Der Breitzeichentyp stellt eine Erweiterung für DCE IDL dar. Der MIDL-Compiler akzeptiert den Breitzeichentyp nicht, wenn Sie den Schalter /osf angeben.
|
-
MIDL2169
|
-
Unbenannte Felder benötigen /ms_ext oder /c_ext
- DCE IDL unterstützt nicht die Verwendung von nicht benannten Strukturen oder Vereinigungen, die in andere Strukturen oder Vereinigungen eingebettet sind. In DCE IDL müssen alle eingebetteten Felder benannt werden. Der MIDL-Compiler lässt ihre Verwendung nicht zu, wenn Sie den Schalter /osf angeben.
|
-
MIDL2170
|
-
Unbenannte Felder können nur von Struktur-/Union-Typen abgeleitet werden.
- Die Microsoft-Erweiterung für die DCE-IDL, die unbenannte Felder unterstützt, gilt nur für Strukturen und Vereinigungen. Sie müssen dem Feld einen Namen zuweisen oder das Feld neu definieren, um diese Einschränkung zu erfüllen.
|
-
MIDL2171
|
-
Das Feld einer Union kann nicht von einem konformen/variierenden Array oder dessen Zeigeräquivalent abgeleitet werden.
- Das konforme Array kann nicht allein in der Union angezeigt werden, sondern muss von dem Wert begleitet werden, der die Größe des Arrays angibt. Anstatt das Array als Union-Arm zu verwenden, verwenden Sie eine Struktur, die aus dem konformen Array und dem Bezeichner besteht, der seine Größe angibt.
|
-
MIDL2172
|
-
kein [pointer_default]-Attribut angegeben, vorausgesetzt, [ptr] für alle nicht zugeordneten Zeiger in der Schnittstelle
- Die DCE IDL-Implementierung gibt an, dass alle Zeiger in jeder IDL-Datei Zeigerattributen zugeordnet sein müssen. Wenn dem Parameter oder Zeigertyp kein explizites Zeigerattribute zugewiesen ist und kein [pointer_default]-Attribut in der IDL-Datei angegeben ist, wird das vollständige Zeigerattribute ptr dem Zeiger zugeordnet. Sie können die Zeigerattribute ändern, indem Sie explizite Zeigerattribute verwenden, indem Sie ein [pointer_default]-Attribut angeben oder den Schalter /ms_ext angeben, um den Standardwert für nicht zugewiesene Zeiger auf [eindeutig] zu ändern.
|
-
MIDL2173
|
-
Initialisierung eines Ausdrucks muss in einen konstanten Ausdruck aufgelöst werden
- Wenn ein Ausdruck als Initialisierer verwendet wird, muss der Ausdruck ein konstanter Ausdruck sein. Dies gilt für alle MIDL-Compilermodi. Der Ausdruck muss zur Kompilierzeit auflösbar sein. Geben Sie eine Literalkonstante oder einen Ausdruck an, der nicht in eine Variable, sondern in eine Konstante aufgelöst wird.
|
-
MIDL2174
|
-
Attributausdruck muss vom Typ integer, char, Boolean oder enum sein.
- Der angegebene Typ löst nicht in einen gültigen Switchtyp auf. Verwenden Sie einen Ganzzahl-, Zeichen-, Byte-, Booleschen oder Enumerationstyp oder einen Typ, der von einem dieser Typen abgeleitet ist.
|
-
MIDL2175
|
-
illegale Konstante
- Die angegebene Konstante befindet sich außerhalb des gültigen Bereichs für den angegebenen Typ.
|
-
MIDL2176
|
-
Attribut nicht implementiert; Ignoriert
- Das angegebene Attribut wird in dieser Version von Microsoft RPC nicht implementiert. Der MIDL-Compiler setzt die Verarbeitung der IDL-Datei fort, als wäre das Attribut nicht vorhanden.
|
-
MIDL2177
|
-
Rückgabetyp darf nicht von einem [ref]-Zeiger abgeleitet werden
- Funktionsrückgabewerte, die als Zeigertypen definiert sind, müssen als [eindeutig] oder als vollständige Zeiger angegeben werden. Sie können keine Verweiszeiger verwenden.
|
-
MIDL2178
|
-
Der Attributausdruck muss ein Variablenname oder ein Zeiger-Dereference-Ausdruck in diesem Modus sein. Sie müssen den /ms_ext-Schalter angeben.
- Der DCE IDL-Compiler erfordert, dass die Größe, die dem Attribut [size_is] zugeordnet ist, durch eine Variable oder Zeigervariable angegeben wird. Wenn Sie die Microsoft-Erweiterung nutzen möchten, mit der das Attribut [size_is] durch einen konstanten Ausdruck definiert werden kann, können Sie den Compilerschalter /osf nicht verwenden.
|
-
MIDL2179
|
-
parameter darf nicht von einer rekursiven nicht gekapselten Union abgeleitet werden
- Eine Union muss einen Diskriminanten enthalten, daher kann eine Union keine andere Union als Element haben. Eine Union kann nur dann in eine andere Union eingebettet werden, wenn sie Teil einer Struktur ist, die den Diskriminanten enthält.
|
-
MIDL2180
|
-
binding-handle-Parameter kann nicht nur [out] sein
- Der handle-Parameter, der vom MIDL-Compiler als Bindungshandle für diesen Vorgang identifiziert wird, muss ein [in]-Parameter sein. [out]-only-Parameter sind für den Client-Stub nicht definiert, und das Bindungshandle muss auf dem Client definiert werden.
|
-
MIDL2181
|
-
Zeiger auf ein Handle darf nicht [eindeutig] oder [ptr] sein.
- Sie können die eindeutigen und vollständigen Zeigerattribute nicht für einen Zeiger auf ein Handle verwenden. Diese Attribute lassen den Wert NULL zu, und das Bindungshandle darf nicht NULL sein. Verwenden Sie das [ref]-Attribut, um den binding-handle-Parameter von Verweiszeigern abzuleiten.
|
-
MIDL2182
|
-
Parameter, der kein Bindungshandle ist, darf nicht von handle_t
- Der primitive Handletyp handle_t ist kein gültiger Datentyp, der über das Netzwerk übertragen wird. Ändern Sie den Parametertyp in einen anderen Typ als handle_t, oder entfernen Sie den Parameter.
|
-
MIDL2183
|
-
Unerwartetes Ende der Datei gefunden
- Der MIDL-Compiler hat das Ende der Datei gefunden, bevor er alle syntaktischen Elemente der Datei erfolgreich auflösen konnte. Vergewissern Sie sich, dass am Ende der Datei das rechts geschweifte Zeichen (}) vorhanden ist, oder überprüfen Sie die Syntax.
|
-
MIDL2184
|
-
Von handle_t abgeleiteter Typ darf nicht [transmit_as] angewendet werden.
- Der primitive Handletyp handle_t wird nicht über das Netzwerk übertragen.
|
-
MIDL2185
|
-
[context_handle] darf nicht auf einen Typ angewendet werden, auf den [handle] angewendet wurde.
- Die Attribute [context_handle] und [handle] können nicht auf denselben Typ angewendet werden.
|
-
MIDL2186
|
-
[handle] darf nicht für einen Typ angegeben werden, der von void oder void * abgeleitet ist.
- Ein typ, der mit dem [handle]-Attribut angegeben ist, kann über das Netzwerk übertragen werden, aber der Typ void* ist kein übertragbarer Typ. Der Handletyp muss in einen Typ aufgelöst werden, der von den übertragbaren Basistypen abgeleitet ist.
|
-
MIDL2187
|
-
parameter muss in diesem Modus entweder [in], [out] oder [in,out] aufweisen. Sie müssen /ms_ext oder /c_ext angeben.
- Der DCE IDL-Compiler erfordert, dass alle Parameter über explizite direktionale Parameter verfügen. Um die Microsoft-Erweiterungen für DCE IDL zu verwenden, können Sie nicht den Schalter /osf verwenden, der /ms_ext und /c_ext überschreibt.
|
-
MIDL2188
|
-
übertragener Typ darf für [transmit_as], [represent_as], [wire_marshal], [user_marshal] nicht von "void" abgeleitet werden.
- Das [transmit_as]-Attribut gilt nur für Zeigertypen. Verwenden Sie anstelle von void den Typ void*.
|
-
MIDL2189
|
-
"void" muss für die erste und einzige Parameterspezifikation angegeben werden.
- Der Schlüsselwort (keyword) void wird mit anderen Funktionsparametern fälschlicherweise angezeigt. Um eine Funktion ohne Parameter anzugeben, muss die Schlüsselwort (keyword) void das einzige Element der Parameterliste sein, wie im folgenden Beispiel gezeigt:
void Moo(void)
|
-
MIDL2190
|
-
[switch_is] darf nur für einen Von einer nicht gekapselten Union abgeleiteten Typ angegeben werden.
- Die [switch_is] Schlüsselwort (keyword) wird falsch angewendet. Sie kann nur mit nicht gekapselten Union-Typen verwendet werden.
|
-
MIDL2191
|
-
zeichenfolgenfähige Strukturen sind in dieser Version nicht implementiert.
- MIT DCE IDL kann das Attribut [Zeichenfolge] auf eine Struktur angewendet werden, deren Elemente nur aus Zeichen, Bytes oder Typen bestehen, die in Zeichen oder Bytes aufgelöst werden. Diese Funktionalität wird in Microsoft RPC nicht unterstützt. Das [string]-Attribut kann nicht auf die Struktur als Ganzes angewendet werden. Sie kann jedoch auf jedes einzelne Array angewendet werden.
|
-
MIDL2192
|
-
switch-Typ kann nur integral, char, boolean oder enum sein.
- Der angegebene Typ wird nicht in einen gültigen Switchtyp aufgelöst. Verwenden Sie eine ganze Zahl, ein Zeichen, ein Byte, einen booleschen Typ, einen Enumerationstyp oder einen Typ, der von einem dieser Typen abgeleitet wird.
|
-
MIDL2193
|
-
[handle] darf nicht für einen Typ angegeben werden, der von handle_t
- Ein Handle-Typ muss mit einem und nur einem der Handletypen oder Attribute definiert werden. Verwenden Sie den primitiven Typ handle_t oder das Attribut [handle], aber nicht beides. Der benutzerdefinierte Handletyp muss übertragbar sein, aber der handle_t Typ wird nicht im Netzwerk übertragen.
|
-
MIDL2194
|
-
Parameter, der von handle_t abgeleitet wird, darf kein [out]-Parameter sein
- Ein Handle des primitiven Typs handle_t ist nur für die Seite der Anwendung sinnvoll, in der es definiert ist. Der Typ handle_t wird nicht im Netzwerk übertragen.
|
-
MIDL2195
|
-
Attributausdruck wird von der Zeigerdereferenzierung [eindeutig] oder [ptr] abgeleitet
- Obwohl das [eindeutige] und das vollständige Zeigerattribute zeiger NULL-Werte zulassen, darf der Ausdruck, der das size- oder length-Attribut definiert, niemals einen NULL-Wert aufweisen. Wenn Zeiger verwendet werden, schränkt MIDL Ausdrücke auf [ref]-Zeiger ein.
|
-
MIDL2196
|
-
"cpp_quote" erfordert /ms_ext
- Das attribut cpp_quote ist eine Microsoft-Erweiterung für DCE IDL. Verwenden Sie nicht den MIDL-Compilerschalter /osf, der /ms_ext außer Kraft setzt.
|
-
MIDL2197
|
-
uuid in Anführungszeichen erfordert /ms_ext
- Die Möglichkeit, einen UUID-Wert in Anführungszeichen anzugeben, ist eine Microsoft-Erweiterung für DCE IDL. Verwenden Sie nicht den MIDL-Compilerschalter /osf, der /ms_ext außer Kraft setzt.
|
-
MIDL2198
|
-
Rückgabetyp kann nicht von einer nicht gekapselten Union abgeleitet werden
- Die nicht gekapselte Union kann nicht als Funktionsrückgabetyp verwendet werden. Um den Union-Typ zurückzugeben, geben Sie den Union-Typ als [out]- oder [in, out]-Parameter an.
|
-
MIDL2199
|
-
Rückgabetyp kann nicht von einer konformen Struktur abgeleitet werden
- Die Größe des Rückgabetyps muss eine Konstante sein. Sie können nicht als Rückgabetyp eine Struktur angeben, die ein konformes Array enthält, selbst wenn die Struktur auch den Größenbezeichner enthält. Um die konforme Struktur zurückzugeben, geben Sie die -Struktur als [out]- oder [in, out]-Parameter an.
|
-
MIDL2200
|
-
[transmit_as] darf nicht auf einen Typ angewendet werden, der von einem generischen Handle abgeleitet ist.
- In dieser Version können die Attribute [handle] und [transmit_as] nicht auf demselben Typ kombiniert werden.
|
-
MIDL2201
|
-
[handle] darf nicht auf einen Typ angewendet werden, auf den [transmit_as] angewendet wurde.
- In dieser Version können die Attribute [handle] und [transmit_as] nicht auf demselben Typ kombiniert werden.
|
-
MIDL2202
|
-
Der für die Const-Deklaration angegebene Typ ist ungültig.
- Konstantendeklarationen sind auf ganzzahlige, Zeichen-, Breitzeichen-, Zeichenfolgen- und boolesche Typen beschränkt.
|
-
MIDL2203
|
-
Operand für den Operator sizeof wird nicht unterstützt.
- Der MIDL-Compiler unterstützt den Sizeof-Vorgang nur für einfache Typen. Der angegebene Operand wird nicht zu einem ganzzahligen Typ ausgewertet.
|
-
MIDL2204
|
-
Dieser Name wird bereits als Const-Bezeichnername verwendet.
- Der Bezeichner wurde zuvor verwendet, um eine Konstante in einer const-Deklaration zu identifizieren. Ändern Sie den Namen eines der Bezeichner, sodass die Bezeichner eindeutig sind.
|
-
MIDL2205
|
-
Inkonsistente Neudefinition des Typs error_status_t
- Der Typ error_status_t muss in den Typ ohne Vorzeichen long aufgelöst werden. Andere Typdefinitionen können nicht verwendet werden.
|
-
MIDL2206
|
-
[Fall] Wert außerhalb des Bereichs des Switchtyps
- Der Wert, der dem Fall der switch-Anweisung zugeordnet ist, liegt für den angegebenen Switchtyp außerhalb des Bereichs. Dieser Fehler tritt z. B. auf, wenn in der Case-Anweisung für einen kurzen Ganzzahltyp ein long integer-Wert verwendet wird.
|
-
MIDL2207
|
-
Parameter, der von wchar_t abgeleitet wird, benötigt /ms_ext
- Der Breitzeichentyp wchar_t ist eine Microsoft-Erweiterung für DCE IDL. Verwenden Sie nicht den MIDL-Compilerschalter /osf, der /ms_ext
|
-
MIDL2208
|
-
Diese Schnittstelle verfügt nur über Rückrufe.
- Rückrufe sind nur im Kontext eines Remoteprozeduraufrufs gültig. Die Schnittstelle muss mindestens einen Funktionsprototyp für einen Remoteprozeduraufruf enthalten, der das Attribut [callback] nicht enthält.
|
-
MIDL2209
|
-
redundant angegebenes Attribut; Ignoriert
- Das angegebene Attribut wurde mehrmals angewendet. Mehrere Instanzen desselben Attributs werden ignoriert.
|
-
MIDL2210
|
-
Kontexthandlestyp, der für ein implizites Handle verwendet wird
- Ein Typ, der mit dem [context_handle]-Attribut definiert wurde, wurde als Handletyp in einem [ implicit_handle]-Attribut angegeben. Die Attribute können nicht auf diese Weise kombiniert werden.
|
-
MIDL2211
|
-
In Konflikt stehende Optionen, die für [allocate] angegeben sind
- Die für das ACF-Attribut [allocate] angegebenen Optionen stellen in Konflikt stehende Anweisungen dar. Geben Sie beispielsweise entweder die Option all_nodes oder die Option single_node an, aber nicht beide.
|
-
MIDL2212
|
-
Fehler beim Schreiben in eine Datei
- Fehler beim Schreiben in die Datei. Diese Bedingung kann durch Fehler in Bezug auf Speicherplatz, Dateihandles, Dateizugriffseinschränkungen und Hardwarefehler verursacht werden.
|
-
MIDL2213
|
-
Kein Switchtyp, der bei der Definition von union gefunden wurde, unter Verwendung des [switch_is]-Typs
- Die Union-Definition enthält kein explizites [switch_type]-Attribut. Der Typ der Variablen, die vom [switch_is]-Attribut angegeben wird, wird als Switchtyp verwendet.
|
-
MIDL2214
|
-
Semantische Überprüfung aufgrund vorheriger Fehler unvollständig
- Der MIDL-Compiler übergibt die Eingabedateien in zwei Durchgängen, um alle Vorwärtsdeklarationen aufzulösen. Aufgrund von Fehlern, die während des ersten Durchlaufs aufgetreten sind, wurde die Überprüfung auf den zweiten Durchlauf nicht durchgeführt. Nicht gemeldete Fehler im Zusammenhang mit Forward-Deklarationen können weiterhin in der Datei vorhanden sein.
|
-
MIDL2215
|
-
Handle-Parameter oder Rückgabetyp wird für eine [Rückruf]-Prozedur nicht unterstützt.
- Eine [Rückruf]-Prozedur erfolgt im Kontext eines Aufrufs von einem Client an den Server und verwendet das gleiche Bindungshandle wie der ursprüngliche Aufruf. Explizite Bindungshandlesparameter oder Rückgabetypen sind in Rückruffunktionen nicht zulässig.
|
-
MIDL2216
|
-
[ptr] unterstützt in dieser Version kein Aliasing.
- Ein Alias tritt auf, wenn auf Daten über mehrere Zeiger- oder Variablennamen zugegriffen werden kann. Entfernen Sie den Alias. Weitere Informationen finden Sie unter Eindeutige Zeiger.
|
-
MIDL2217
|
-
Parameter, der bereits als Kontexthandle definiert ist
- Der Parameter wurde zuvor als Kontexthandle definiert.
|
-
MIDL2218
|
-
[context_handle] darf nicht von handle_t abgeleitet werden
- Die drei Handle-Merkmale: der Typ handle_t, das Attribut [handle] und das Attribut [context_handle], schließen sich gegenseitig aus. Es kann jeweils nur ein Merkmal auf einen Typ oder Parameter angewendet werden.
|
-
MIDL2219
|
-
Arraygröße überschreitet 65536 Bytes
- Auf einigen Microsoft-Plattformen beträgt die maximale übertragbare Datengröße 64.000. Gestalten Sie Ihre Anwendung neu, sodass alle übertragenen Daten innerhalb der maximal übertragbaren Größe passen.
|
-
MIDL2220
|
-
Strukturgröße überschreitet 65536 Byte
- Auf einigen Microsoft-Plattformen beträgt die maximale übertragbare Datengröße 64.000. Gestalten Sie Ihre Anwendung neu, sodass alle übertragenen Daten innerhalb der maximal übertragbaren Größe passen.
|
-
MIDL2221
|
-
Das Feld einer nicht gekapselten Union darf keine andere nicht gekapselte Union sein.
- Unions, die im Rahmen eines Remoteprozeduraufrufs übertragen werden, benötigen ein zugeordnetes Datenelement, den Diskriminanten, der den Union-Arm auswählt. Gewerkschaften, die in anderen Gewerkschaften geschachtelt sind, bieten keine Diskriminanz; daher können sie in dieser Form nicht übertragen werden. Erstellen Sie eine Struktur, die aus der Union und ihrer Diskriminanz besteht.
|
-
MIDL2222
|
-
Zeigerattribute, die auf ein eingebettetes Array angewendet werden; Ignoriert
- Ein Zeiger-Attribut kann nur auf ein Array angewendet werden, wenn das Array ein Parameter der obersten Ebene ist. Andere Zeigerattribute, die auf Arrays angewendet werden, die in andere Datenstrukturen eingebettet sind, werden ignoriert.
|
-
MIDL2223
|
-
[allocate] ist für den übertragenen oder präsentierten Typ für [transmit_as], [represent_as], [wire_marshal] oder [user_marshal] unzulässig.
- Die Attribute [transmit_as] und [allocate] können nicht beide auf denselben Typ angewendet werden. Das [transmit_as]-Attribut unterscheidet zwischen präsentierten und übertragenen Typen, während das [allocate]-Attribut davon ausgeht, dass der dargestellte Typ mit dem übertragenen Typ identisch ist.
|
-
MIDL2224
|
[switch_type] muss in diesem Importmodus angegeben werden.
|
-
MIDL2225
|
-
[implicit_handle] typ undefined; Annahme eines generischen Handles
- Der im ACF angegebene Handletyp ist in der IDL-Datei nicht definiert. Der MIDL-Compiler geht davon aus, dass der Handletyp in den primitiven Handletyp aufgelöst wird handle_t. Fügen Sie der Typdefinition das Attribut [handle] hinzu, wenn sich das Handle wie ein benutzerdefiniertes oder generisches Handle verhält.
|
-
MIDL2226
|
-
array-Element darf nicht von error_status_t abgeleitet werden
- In dieser Version von Microsoft RPC kann der Typ error_status_t nur als Parameter oder Rückgabetyp angezeigt werden. Sie kann nicht in Arrays angezeigt werden.
|
-
MIDL2227
|
-
[allocate] unzulässig für einen Typ, der von einem primitiven/generischen/Kontexthandle abgeleitet ist
- Standardmäßig kann das ACF-Attribut [allocate] nicht auf Behandlungstypen angewendet werden.
|
-
MIDL2228
|
-
übertragene oder dargestellte Typen dürfen nicht von error_status_t abgeleitet werden.
- In dieser Version von Microsoft RPC kann der Typ error_status_t nicht mit dem [transmit_as]-Attribut verwendet werden.
|
-
MIDL2229
|
-
Diskriminant einer Union darf nicht von einem Feld abgeleitet werden, auf das [ignore] angewendet wird
- Eine Union, die in einem Remoteprozeduraufruf verwendet wird, muss einem anderen Datenelement zugeordnet werden, das als Diskriminant bezeichnet wird und das den Union-Arm auswählt. Das Diskriminanzmittel muss übertragen werden. Das [ignore]-Attribut kann nicht auf die Union-Diskriminanz angewendet werden.
|
-
MIDL2230
|
-
[nocode] für serverseitig ignoriert, da "/server none" nicht angegeben wurde
- Einige DCE-IDL-Compiler generieren einen Fehler, wenn das [nocode]-Attribut auf eine Prozedur in einer Schnittstelle angewendet wird, für die Serverstubdateien generiert werden. Da der Server alle Vorgänge unterstützen muss, darf [nocode] nicht auf eine Prozedur in diesem Modus angewendet werden, oder Sie müssen den MIDL-Compilerschalter /server none verwenden, um explizit anzugeben, dass keine Serverroutinen generiert werden sollen.
|
-
MIDL2231
|
-
keine Remoteprozeduren, die in einer nicht[lokalen] Schnittstelle angegeben sind; Es werden keine Client-/Server-Stubs generiert.
- Die bereitgestellte Schnittstelle verfügt über keine Remoteprozeduren, sodass nur Headerdateien generiert werden.
|
-
MIDL2232
|
-
Zu viele Standardfälle, die für gekapselte Union angegeben sind
- Eine gekapselte Union kann nur einen Standard aufweisen: arm.
|
-
MIDL2233
|
-
Zu viele Standardschnittstellen, die für die Co-Klasse angegeben sind
- Eine Co-Klasse kann höchstens zwei [Standard]-Member haben, eines zur Darstellung der ausgehenden (Quell-)Schnittstelle oder Dispinterface und eines zur Darstellung der eingehenden Schnittstelle (Senke) oder Dispinterface.
|
-
MIDL2234
|
-
Elemente mit [defaultvtable] müssen auch [source] aufweisen.
- Die defaultvtable-Schnittstelle erstellt eine zweite Quellschnittstelle für ein -Objekt, mit der Senken Ereignisse über die V-Tabelle empfangen können.
|
-
MIDL2235
|
-
Union-Spezifikation ohne Felder ist unzulässig
- Unions muss über mindestens ein Feld verfügen.
|
-
MIDL2236
|
-
Wert außerhalb des Bereichs
- Der angegebene Fallwert liegt außerhalb des Bereichs des Switchtyps.
|
-
MIDL2237
|
-
[context_handle] muss auf einen Zeigertyp angewendet werden.
- Kontexthandles müssen immer Zeigertypen sein. DCE gibt an, dass alle Kontexthandles als void * eingegeben werden müssen.
|
-
MIDL2238
|
-
Rückgabetyp darf nicht von handle_t abgeleitet werden
-
handle_t kann nicht zurückgegeben werden.
|
-
MIDL2239
|
-
[handle] darf nicht auf einen Typ angewendet werden, der von einem Kontexthandle abgeleitet ist.
- Ein Typ kann nicht sowohl ein Kontexthandle als auch ein generisches Handle sein.
|
-
MIDL2240
|
-
Von einem "int" abgeleitetes Feld muss den Größenbezeichner "small", "short" oder "long" mit dem "int" aufweisen.
- Der Typ int ist auf 16-Bit-Systemen nicht übertragbar, da die Größe von int auf verschiedenen Computern unterschiedlich sein kann.
|
-
MIDL2241
|
-
-Feld darf nicht von einem "void" oder "void" abgeleitet werden *
-
void und void * können nicht als Parametertypen für Remoteprozeduren verwendet werden.
|
-
MIDL2242
|
-
-Feld darf nicht von einer Struktur abgeleitet werden, die Bitfelder enthält.
- Strukturen, die Bitfelder enthalten, können nicht als Parameter oder Rückgabetypen für Remoteprozeduren verwendet werden.
|
-
MIDL2243
|
-
-Feld darf nicht von einer Nicht-Rpcable-Union abgeleitet werden
- Eine Union muss als nicht gekapselte Union oder gekapselte Union angegeben werden, um übertragen zu werden. Normale C-Gewerkschaften haben nicht die Unterscheidung, die erforderlich ist, um die Union über das Netzwerk zu übertragen.
|
-
MIDL2244
|
-
-Feld darf nicht von einem Zeiger auf eine Funktion abgeleitet werden
- Zeiger auf Funktionen können nicht an Remoteprozeduren übertragen werden. Zeiger auf Funktionen verweisen auf Funktionscode, und mit RPC kann kein Funktionscode über das Netzwerk übertragen werden.
|
-
MIDL2245
|
-
[fault_status] kann nicht sowohl für einen Parameter als auch für einen Rückgabetyp verwendet werden.
- Das Attribut [fault_status] kann nur einmal pro Prozedur verwendet werden. Das [comm_status]-Attribut kann unabhängig verwendet werden.
|
-
MIDL2246
|
-
Rückgabetyp zu kompliziert für /Oi-Modi mit /Os
- Große Rückgabetypen, die als Wert übergeben werden, können nur von / Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2247
|
-
generischer Handletyp zu groß für /Oi-Modi mit /Os
- Große generische Handletypen, die als Wert übergeben werden, können nur von / Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2248
|
-
[allocate(all_nodes)] für einen [in,out]-Parameter kann den ursprünglichen Speicher verwaisten.
- Die Verwendung von [allocate(all_nodes)] für einen [in, out]-Parameter muss den zusammenhängenden Speicher für die [out]-Richtung neu zuordnen, wodurch der Parameter [in] verwaist wird. Diese Verwendung wird nicht empfohlen.
|
-
MIDL2249
|
-
Kein [ref]-Zeiger als Union-Arm
- Verweiszeiger müssen immer auf gültigen Arbeitsspeicher verweisen, aber eine [in, out]-Union mit einem Verweiszeiger kann einen Verweiszeiger zurückgeben, wenn die [in]-Richtung einen anderen Typ verwendet hat.
|
-
MIDL2250
|
-
Rückgabe von Kontexthandles, die für /Oi-Modi nicht unterstützt werden, mithilfe von /Os
- MIDL unterstützt keine Kontexthandles in den vollständig interpretierten Optimierungsmodi. Wechseln zur Optimierung im gemischten Modus.
|
-
MIDL2251
|
-
Verwendung des zusätzlichen [comm_status] oder [fault_status]-Parameters, der für /Oi-Modi nicht unterstützt wird, mithilfe von /Os
- Die Attribute [comm_status] und [fault_status] können nur von /Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2252
|
-
Verwendung eines unbekannten Typs für [represent_as] oder [user_marshal] nicht unterstützt für /Oi-Modi, unter Verwendung von /Os
- Die Verwendung des [represent_as]-Attributs mit einem lokalen Typ, der nicht in der IDL-Datei definiert ist, oder einer importierten IDL-Datei kann nur von /Os-Optimierungsstubbs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2253
|
-
Arraytypen mit [transmit_as] oder [represent_as] werden beim Rückgabetyp für /Oi-Modi nicht unterstützt, wobei /Os verwendet wird.
- Das Zurückgeben eines Arrays mit angewendetem [transmit_as] oder [represent_as] kann nur von /Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2254
|
-
Arraytypen mit [transmit_as] oder [represent_as] werden für /Oi-Modi nicht unterstützt.
- Diese Aktion wird für die vollständig interpretierte Optimierung nicht unterstützt. Wechseln zur Optimierung im gemischten Modus.
|
-
MIDL2255
|
-
[Rückruf] erfordert /ms_ext
- Das [Rückruf]-Attribut ist eine Microsoft-Erweiterung und erfordert, dass der Schalter /ms_ext aktiviert ist. Kompilieren Sie nicht mit /osf, wodurch /ms_ext außer Kraft gesetzt wird.
|
-
MIDL2256
|
-
Zirkelschnittstellenabhängigkeit
- Diese Schnittstelle verwendet sich selbst (direkt oder indirekt) als Basisschnittstelle.
|
-
MIDL2257
|
-
Nur IUnknown darf als Stammschnittstelle verwendet werden.
- Derzeit muss für alle Schnittstellen IUnknown als Stammschnittstelle verwendet werden.
|
-
MIDL2258
|
-
[IID_IS] kann nur auf Zeiger auf Schnittstellen angewendet werden.
- Das [iid_is]-Attribut kann nur auf Schnittstellenzeiger angewendet werden, obwohl sie als Zeiger auf IUnknown * angegeben werden können.
|
-
MIDL2259
|
-
Schnittstellen dürfen nur in Pointer-to-Interface-Konstrukten verwendet werden.
- Schnittstellennamen können nur als Basisschnittstellen oder Schnittstellenzeiger verwendet werden.
|
-
MIDL2260
|
-
Schnittstellenzeiger müssen über eine UUID/IID verfügen
- Der Basistyp des [iid_is]-Ausdrucks muss ein UUID/GUID/IID-Typ sein.
|
-
MIDL2261
|
-
Definitionen und Deklarationen außerhalb des Schnittstellentexts erfordern /ms_ext
- Das Platzieren von Deklarationen und Definitionen außerhalb eines Schnittstellentexts ist eine Microsoft-Erweiterung und erfordert die Verwendung des Schalters /ms_ext .
|
-
MIDL2262
|
-
Mehrere Schnittstellen in einer Datei erfordern /ms_ext
- Die Verwendung mehrerer Schnittstellen in einer einzelnen idl-Datei ist eine Microsoft-Erweiterung und nicht verfügbar, wenn Sie im /osf-Modus kompilieren.
|
-
MIDL2263
|
-
nur eine der zulässigen [implicit_handle], [auto_handle] oder [explicit_handle]
- Jede Schnittstelle kann nur eines dieser drei Attribute aufweisen.
|
-
MIDL2264
|
-
[implicit_handle] verweist auf einen Typ, der kein Handle ist.
- Implizite Handles müssen von einem der Handletypen sein.
|
-
MIDL2265
|
-
[object]-Procs dürfen nur mit "/env win32" verwendet werden.
- Schnittstellen mit dem [object]-Attribut können nicht mit 16-Bit-Umgebungen verwendet werden.
|
-
MIDL2266
|
-
[Rückruf] mit -env dos/win16 wird für /Oi nicht unterstützt, wobei /Os verwendet wird
- Rückrufe in 16-Bit-Umgebungen können nur von / Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2267
|
-
float/double wird nicht als Parameter der obersten Ebene für den /Oi-Modus mit /Os unterstützt.
- Die Typen float und double können nur von den / Os-Optimierungsstubs als Parameter behandelt werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert. Die Float- und Double-Typen in Strukturen, Arrays oder Unions können weiterhin mit/Os verarbeitet werden.
|
-
MIDL2268
|
-
Zeiger auf Kontexthandles dürfen nicht als Rückgabewerte verwendet werden.
- Kontexthandles müssen als direkte Rückgabewerte verwendet werden, nicht als indirekte Rückgabewerte.
|
-
MIDL2269
|
-
Prozeduren in einer Objektschnittstelle müssen ein HRESULT zurückgeben.
- Alle Prozeduren in einer Objektschnittstelle, die nicht über das -[local]-Attribut verfügen, müssen einen HRESULT-SCODE/ zurückgeben.
|
-
MIDL2270
|
-
Doppelte UUID
- Identisch mit UUIDs müssen eindeutig sein.
|
-
MIDL2271
|
-
[object]-Schnittstellen müssen von einer anderen [Objekt]-Schnittstelle abgeleitet werden, z. B. IUnknown
- Die Schnittstellenvererbung ist nur zulässig, wenn Sie Objektschnittstellen verwenden.
|
-
MIDL2272
|
-
(asynchrone) Schnittstelle muss von einer anderen (asynchronen) Schnittstelle abgeleitet werden
- Objektschnittstellen, sowohl synchron als auch asynchron, müssen von IUnknown oder einer anderen OLE-Basisschnittstelle abgeleitet werden.
|
-
MIDL2273
|
-
[IID_IS] Ausdruck muss ein Zeiger auf die IID-Struktur sein.
- Der Basistyp des [iid_is]-Ausdrucks muss ein UUID/GUID/IID-Typ sein.
|
-
MIDL2274
|
-
[call_as]-Typ muss eine [lokale] Prozedur sein.
- Auf das Ziel eines [call_as]-Typs muss [ local] angewendet werden, sofern es definiert ist.
|
-
MIDL2275
|
-
Undefined [call_as] darf nicht in einer Objektschnittstelle verwendet werden
- Sie müssen das Ziel eines [call_as]-Typs definieren. Stellen Sie sicher, dass Sie call_as Routinen sowohl für die aufrufenden als auch für die aufgerufenen Anwendungen bereitgestellt haben.
|
-
MIDL2276
|
-
[auto_handle] darf nicht mit [codieren] oder [decodieren] verwendet werden.
- Die Attribute [ codieren] und [ decodieren] können nur mit expliziten Handles oder impliziten Handles verwendet werden.
|
-
MIDL2277
|
-
Normale Prozeduren sind in einer Schnittstelle mit [codieren] oder [decodieren] nicht zulässig.
- Schnittstellen, die Prozeduren [codieren] oder [decodieren] enthalten, können nicht auch Remoteprozeduren enthalten.
|
-
MIDL2278
|
-
Konformität oder Varianz der obersten Ebene ist mit [codieren] oder [Decodieren] nicht zulässig.
- Typen mit Konformität oder Varianz auf oberster Ebene können die Typserialisierung nicht verwenden, da es keine Möglichkeit gibt, die Größen-/Längenanpassung bereitzustellen. Strukturen, die sie enthalten, dürfen jedoch die Typserialisierung verwenden.
|
-
MIDL2279
|
-
[out]-Parameter haben möglicherweise nicht "const"
- Da ein [out]-Parameter geändert wird, darf er nicht als sa-Konstante deklariert werden.
|
-
MIDL2280
|
-
Rückgabewerte haben möglicherweise nicht "const"
- Da ein Funktionswert festgelegt wird, wenn die Funktion zurückgibt, darf dieser Wert nicht als Konstante deklariert werden.
|
-
MIDL2281
|
-
ungültige Verwendung des Attributs "retval"
- Stellen Sie sicher, dass Sie nicht das Attribut [optional] verwendet haben und dass der [retval]-Parameter der letzte Parameter in der Liste ist.
|
-
MIDL2282
|
-
Mehrere Aufrufkonventionen illegal
- Auf eine einzelne Prozedur kann nur eine Aufrufkonvention angewendet werden.
|
-
MIDL2283
|
-
Attribut unzulässig für [Objekt]-Prozedur
- Das obige Attribut gilt nur für Prozeduren in Schnittstellen, die nicht über das Attribut [object] verfügen.
|
-
MIDL2284
|
-
[out] Schnittstellenzeiger müssen doppelte Dereferenzierung verwenden
- Da der geänderte Wert der Zeiger auf die Schnittstelle ist, muss über dem Zeiger eine weitere Dereferenzierungsebene vorhanden sein, damit er zurückgegeben werden kann.
|
-
MIDL2285
|
-
Prozedur, die doppelt so verwendet wird wie der Aufrufer in [call_as]
- Eine bestimmte [lokale] Prozedur kann nur einmal als Ziel eines [call_as] verwendet werden, um Namenskonflikte zu vermeiden.
|
-
MIDL2286
|
-
[call_as] Ziel muss [lokal] in einer Objektschnittstelle enthalten sein.
- Das Ziel eines [call_as] muss eine definierte [lokale] Prozedur in der aktuellen Schnittstelle sein.
|
-
MIDL2287
|
-
[code] und [nocode] dürfen nicht zusammen verwendet werden
- Diese beiden Attribute sind widersprüchlich und können nicht zusammen verwendet werden.
|
-
MIDL2288
|
-
Prozeduren mit [maybe]- oder [message]-Attributen haben möglicherweise keine [out]-Parameter, oder Rückgabewerte müssen vom Typ HRESULT oder error_status_t
- Da [vielleicht] Prozeduren nie zurückgegeben werden, gibt es keine Möglichkeit, Rückgabewerte abzurufen.
|
-
MIDL2289
|
-
Der Zeiger auf die Funktion muss verwendet werden.
- Funktionstypdefinitionen sind zwar im Modus /c_ext zulässig, können aber nur als Zeiger auf Funktionen verwendet werden. Sie können nie als Parameter oder Rückgabewert einer Remoteprozedur übertragen werden.
|
-
MIDL2290
|
-
Funktionen werden in einem RPC-Vorgang möglicherweise nicht übergeben.
- Funktionen und Funktionszeiger können nicht als Parameter oder Rückgabewerte von Remoteprozeduren übergeben werden.
|
-
MIDL2291
|
-
hyper/double wird nicht als Rückgabewert für /Oi-Modi mit /Os unterstützt
- Hyper- und Double-Rückgabewerte können nur von / Os-Optimierungsstubs verarbeitet werden. Die Stubs für diese Routine werden mithilfe der /Os-Optimierung generiert.
|
-
MIDL2292
|
-
#pragma pack(pop) ohne übereinstimmende #pragma Pack(push)
- #pragma pack(push) und #pragma pack(pop) müssen in übereinstimmenden Paaren angezeigt werden. Mindestens eine zu viele #pragma Pack(push)s wurden angegeben.
|
-
MIDL2293
|
-
zeichenfolgenfähige Strukturfelder müssen byte/char/wchar_t
- Der Typ [Zeichenfolge] kann nur auf eine Struktur angewendet werden, deren Felder alle vom Typ Byte sind, oder auf eine Typdefinition, die byte entspricht.
|
-
MIDL2294
|
-
[benachrichtigen] wird für /Oi-Modi nicht unterstützt, wobei /Os verwendet wird
- Das [notify]-Attribut kann nur von /Os-Optimierungsstubs verarbeitet werden.
|
-
MIDL2295
|
-
Handle-Parameter oder Rückgabetyp wird für eine Prozedur in einer [Objekt]-Schnittstelle nicht unterstützt.
- Handles können nicht mit [ -Objekt]-Schnittstellen verwendet werden.
|
-
MIDL2296
|
-
ANSI C lässt nur zu, dass das linksste Array nicht angegeben wird.
- In einem konformen Array lässt ANSI C nur das linke (wichtigste) Array nicht angegeben werden. Wenn mehrere Dimensionen konform sind, versucht MIDL, eine "1" in die anderen konformen Dimensionen zu setzen. Wenn die anderen Dimensionen in einer anderen Typdefinition definiert sind, kann dies nicht möglich sein. Versuchen Sie, alle Arraydimensionen in der Arraydeklaration zu platzieren, um dies zu vermeiden. Achten Sie auf jeden Fall auf die Arrayindizierungsberechnungen, die vom Compiler durchgeführt werden. Möglicherweise müssen Sie eigene Berechnungen mit den tatsächlichen Größen durchführen.
|
-
MIDL2297
|
-
By-Value-Union-Parameter werden für /Oi-Modi nicht unterstützt, wobei /Os verwendet wird
- Diese Aktion wird für die vollständig interpretierte Optimierung nicht unterstützt. Wechsel zur Optimierung im gemischten Modus.
|
-
MIDL2298
|
-
[version]-Attribut wird auf einer [Object]-Schnittstelle ignoriert.
- Das Attribut [object] identifiziert eine COM-Schnittstelle. Eine Schnittstellenattributeliste für eine COM-Schnittstelle kann das Attribut [ version] nicht enthalten.
|
-
MIDL2299
|
-
[size_is]- oder [max_is]-Attribut ist in einem festen Array ungültig.
- Arrays mit fester Größe können nicht die Attribute size_is oder max_is verwenden.
|
-
MIDL2300
|
-
[Codieren] oder [Decodierung] sind in einer [Objekt]-Schnittstelle ungültig.
- Das Attribut [object] identifiziert eine COM-Schnittstelle. Die Attribute [codieren] und [ decodierung] ermöglichen die Serialisierung. Das heißt, Sie können Puffer für Data Marshal und Unmarshal bereitstellen und steuern. Sie können jedoch keine Serialisierung auf COM-Schnittstellen durchführen.
|
-
MIDL2301
|
-
[codieren] oder [decodieren] für einen Typ erfordert /ms_ext
- Die Serialisierung ist nicht Teil der DCE-IDL-Spezifikation. Es handelt sich um eine Microsoft-Erweiterung, die die Verwendung des Befehlszeilenschalters /ms_ext erfordert.
|
-
MIDL2302
|
-
int wird in /env win16 oder /env dos nicht unterstützt.
- Die 16-Bit-Microsoft-Plattformen unterstützen die Verwendung des int-Typs in einer IDL-Datei nicht. Qualifizieren Sie den int-Typ mit klein, kurz oder lang.
|
-
MIDL2303
|
-
[bstring] kann nur auf einen Zeiger auf "char" oder "whchar_t" angewendet werden.
- Dieser Fehler ist veraltet. Sie wird nur aus Gründen der Abwärtskompatibilität bereitgestellt.
|
-
MIDL2304
|
-
Ungültiges Attribut für eine Prozedur in einer [Objekt]-Schnittstelle
- Das angegebene Attribut ist für eine Prozedur in einer COM-Schnittstelle nicht zulässig.
|
-
MIDL2305
|
-
Ungültiges Attribut für eine [Objekt]-Schnittstelle
- Das angegebene Attribut ist in einer COM-Schnittstelle nicht zulässig.
|
-
MIDL2306
|
-
Zu viele Parameter oder Stapel zu groß für /Oi-Modi mit /Os
- Diese Warnung ist veraltet. Sie wird nur aus Gründen der Abwärtskompatibilität bereitgestellt. Sie gibt an, dass der Stapel durch den Aufruf der Remoteprozedur größer als 64 K wird.
|
-
MIDL2307
|
-
keine Attribute für ACF-Dateitypdef, also keine Auswirkung
- Die IDL-Datei sollte alle typedef-Anweisungen enthalten, die keine Attribute aufweisen. Sie sollten nicht in ACF-Dateien auftreten. Wenn sie dies tun, interpretiert der MIDL-Compiler sie als redundant und ignoriert sie.
|
-
MIDL2308
|
-
Andere Konventionen als __stdcall oder __cdecl für /Oi-Modi nicht unterstützt, wobei /Os verwendet wird
- Durch Aufrufen von Konventionen wie __pascal oder __fastcall das Format des Stapels geändert werden. Die /Oi-Modi unterstützen nur die __stdcall - und __cdecl Aufrufkonventionen. Wenn Sie andere Aufrufkonventionen verwenden müssen, verwenden Sie den /Os-Modus .
|
-
MIDL2309
|
-
Zu viele Delegierungsmethoden in der Schnittstelle erfordern Windows 2000 oder höher
- Eine Schnittstelle kann von einer anderen erben. Wenn dies der Fall ist, werden die Methoden der Basisschnittstelle als delegiert betrachtet. Keine abgeleitete Schnittstelle darf mehr als 256 delegierte Methoden enthalten.
|
-
MIDL2310
|
-
Automatische Handles werden mit /env mac oder /env powermac nicht unterstützt
- Wenn Sie Ihre IDL-Datei für einen PowerMac kompilieren, können Sie keine automatischen Bindungshandles verwenden. Sie müssen explizite oder implizite Handles angeben.
|
-
MIDL2311
|
-
Anweisungen außerhalb des Bibliotheksblocks sind im mktyplib-Kompatibilitätsmodus unzulässig.
- Möglicherweise müssen Sie die Befehlszeilenoption /mktyplib203 angeben, wenn Sie Ihre IDL-Datei kompilieren.
Hinweis:
Das Mktyplib.exe-Tool ist veraltet. Verwenden Sie stattdessen den MIDL-Compiler.
|
-
MIDL2312
|
-
unzulässige Syntax, sofern nicht mktyplib-Kompatibilitätsmodus verwendet wird
- Möglicherweise müssen Sie die Befehlszeilenoption /mktyplib203 angeben, wenn Sie Ihre IDL-Datei kompilieren.
Hinweis:
Das Mktyplib.exe-Tool ist veraltet. Verwenden Sie stattdessen den MIDL-Compiler.
|
-
MIDL2313
|
-
Unzulässige Definition, muss typedef im mktyplib-Kompatibilitätsmodus verwenden
- Möglicherweise müssen Sie den Befehlszeilenschalter /mktyplib203 angeben, wenn Sie Ihre IDL-Datei kompilieren.
Hinweis:
Das tool Mktyplib.exe ist veraltet. Verwenden Sie stattdessen den MIDL-Compiler.
|
-
MIDL2314
|
-
Explizites Zeiger-Attribut [ptr] [ref] für Schnittstellenzeiger ignoriert
- Zeiger auf Schnittstellen können keine IDL-Attribute aufweisen.
|
-
MIDL2315
|
/Oi-Modi nicht für PowerMac implementiert, wechselt zu /Os
|
-
MIDL2316
|
-
Ungültiger Ausdruckstyp, der im Attribut verwendet wird
- Der Standardwert für den Zeiger sollte eine Konstante sein.
|
-
MIDL2317
|
-
Unzulässiger Typ, der in der Pipe verwendet wird
- Pipes sind auf grundlegende IDL-Datentypen beschränkt. Sie können z. B. keine Pipeline von Arrays angeben.
|
-
MIDL2318
|
-
-Prozedur verwendet Pipes mithilfe von /Oicf
- Der ausgewählte Modus unterstützt keine Pipes. Der MIDL-Compiler hat die Verwendung einer oder mehrerer Pipes in Ihrer Schnittstelle erkannt. Daher kompiliert sie Ihre IDL-Datei im /Oicf-Modus .
|
-
MIDL2319
|
-
-Prozedur verfügt über ein Attribut, das die Verwendung von /Oif erfordert, wobei die Modi gewechselt werden.
- Sie müssen [async]-Prozeduren im /Oif-Modus kompilieren.
|
-
MIDL2320
|
-
In Konflikt stehende Optimierungsanforderungen können nicht optimiert werden.
- Dieser Fehler weist häufig darauf hin, dass Sie sowohl die MIDL-Compilermodi /Os als auch /Oi (oder eine Variante von /Oi) angegeben haben. Dies kann auch bedeuten, dass die features, die Sie in Ihren IDL- und ACL-Dateien angegeben haben, die Verwendung beider Modi erfordern. Sie müssen den einen oder den anderen Modus für die Optimierung auswählen.
|
-
MIDL2321
|
-
Pipes dürfen nicht Arrayelemente oder Member von Strukturen oder Unions sein.
- Pipedatentypen können nur Parameter der obersten Ebene sein.
|
-
MIDL2322
|
-
Ungültige Pipeverwendung
- Sie können Pipes nicht mit den Attributen [transmit_as], [represent_as] oder [user_marshal] verwenden. Darüber hinaus können Pipes nicht als Rückgabetypen verwendet werden.
|
-
MIDL2323
|
-
-Funktion erfordert die erweiterte interpretierte Optimierungsoption; use -Oicf
- Dieser Fehler gibt an, dass BEFEHLSZEILEnoptionen des MIDL-Compilers wie /robust die Verwendung des /Oicf-Modus erfordern.
|
-
MIDL2324
|
-
-Funktion erfordert die erweiterte interpretierte Optimierungsoption; use -Oicf
- Diese Warnung gibt an, dass Befehlszeilenoptionen des MIDL-Compilers wie /robust die Verwendung des /Oicf-Modus erfordern.
|
-
MIDL2329
|
-
Die Optimierungsoption wird schrittweise eingestellt, verwenden Sie -Oic.
- Der / Oi1-Optimierungsmodus wurde in der MIDL-Befehlszeile angegeben. Dieser Modus wird nicht mehr unterstützt, und stattdessen sollte /Oicf verwendet werden.
|
-
MIDL2330
|
-
Die Optimierungsoption wird schrittweise eingestellt, verwenden Sie -Oicf.
- Der /Oi2-Optimierungsmodus wurde in der MIDL-Befehlszeile angegeben. Dieser Modus wird nicht mehr unterstützt, und stattdessen sollte /Oicf verwendet werden.
|
-
MIDL2331
|
-
die Optimierungsoption wird schrittweise eingestellt, verwenden Sie -ic
- Der Optimierungsmodus i1 wurde in einem [optimize]-ACF-Attribut angegeben. Dieser Modus wird nicht mehr unterstützt, und stattdessen sollte icf verwendet werden.
Beispiel-ACF-Datei:
[optimize("i1")] roo(); //MIDL 2331
|
-
MIDL2332
|
-
Die Optimierungsoption wird schrittweise eingestellt, verwenden Sie -icf.
- Der i2-Optimierungsmodus wurde in einem [optimize]-ACF-Attribut angegeben. Dieser Modus wird nicht mehr unterstützt, und stattdessen sollte icf verwendet werden.
Beispiel-ACF-Datei:
[optimize("i2")] roo(); //MIDL 2332
|
-
MIDL2333
|
-
die Schalter "-old" und "-new" sind veraltet. Verwenden Sie "-oldtlb" und "-newtlb".
- Diese Meldung ist veraltet und wird von MIDL nicht mehr ausgelassen.
|
-
MIDL2334
|
-
Ungültiger Argumentwert
- Zu den zulässigen Varianten der Befehlszeilenoption /O gehören /Os, /Oi, /Oic, /Oicf und /Oif.
|
-
MIDL2335
|
-
Unzulässiger Ausdruckstyp in konstant
- Der Ausdruck wird nicht zu einer Konstanten ausgewertet.
|
-
MIDL2336
|
-
Unzulässiger Ausdruckstyp in der Enumeration
- Ein enumerierter Wert in einer Enumerationsdefinition wird nicht zu einem integralen Typ ausgewertet.
|
-
MIDL2337
|
-
Nicht zufriedene Forward-Deklaration
- Der MIDL-Compiler konnte die Definition einer Vorwärtsdeklaration nicht auflösen.
|
-
MIDL2338
|
-
Schalter sind widersprüchlich
- Sie können beim Kompilieren einer IDL-Datei nicht sowohl die Befehlszeilenoptionen /osf als auch /ms_ext verwenden. Sie müssen das eine oder das andere auswählen.
|
-
MIDL2339
|
-
MIDL kann keine HOOKOLE-Informationen für die nicht rpcfähige Union generieren.
- Dieser Fehler ist veraltet. Es wird ausschließlich aus Gründen der Abwärtskompatibilität bereitgestellt.
|
-
MIDL2340
|
-
Kein Fallausdruck für union gefunden
- Jedes Feld einer Union muss über eine Case-Anweisung mit einem konstanten Ausdruck verfügen.
|
-
MIDL2341
|
-
[user_marshal] und [wire_marshal] werden mit den Flags "-Oi" und "-Oic" nicht unterstützt. Verwenden Sie "-Os" oder "-Oicf".
- Die Attribute [user_marshal] und [wire_marshal] erfordern die spezifischen Optimierungsfeatures, die nur in /Oicf (codeloser Proxy mit schnellen Formatzeichenfolgen) oder /Os (Marshalling im gemischten Modus) verfügbar sind.
|
-
MIDL2342
|
-
Pipes können nicht mit der Datenserialisierung verwendet werden, d. h. [codieren] und/oder [decodieren]
- Sie können Pipes nicht als Parameter an Prozeduren übergeben, die die Attribute [codieren] oder [decodieren] haben.
|
-
MIDL2343
|
-
Alle Pipeschnittstellenzeiger müssen eine einzelne Dereferenzierung verwenden.
- Sie können auf diese Weise keinen Zeiger auf einen Zeiger auf eine Pipeschnittstelle verwenden.
|
-
MIDL2344
|
-
[iid_is()] kann nicht mit einem Pipeschnittstellenzeiger verwendet werden.
- Diese Meldung ist veraltet. Diese Meldung wird vom Compiler nicht mehr verwendet.
|
-
MIDL2345
|
-
Ungültiger oder nicht anwendungsfähiger -lcid-Schalter
- Der von Ihnen angegebene lokale Bezeichner (LCID) ist ungültig.
|
-
MIDL2346
|
-
Der angegebene Lcid unterscheidet sich von der vorherigen Spezifikation.
- Die in /lcid und [lcid] angegebenen Werte unterscheiden sich. Der MIDL-Compiler verwendet den zuletzt definierten.
|
-
MIDL2347
|
-
importlib ist außerhalb eines Bibliotheksblocks nicht zulässig.
- Alle [importlib]-Anweisungen sollten in einem [library]-Block auftreten.
|
-
MIDL2348
|
-
Ungültiger Gleitkommawert
- Dieser Fehler sollte nicht von MIDL ausgegeben werden. Wenn dieser Fehler angezeigt wird, melden Sie microsoft einen Fehler, der alle Dateien bereitstellt, die zum Reproduzieren des Fehlers erforderlich sind, einschließlich Ihrer IDL-Dateien, ACF-Dateien, Header usw.
|
-
MIDL2349
|
-
Ungültiges Element
- Prozeduren dürfen keine Mitglieder einer Bibliothek sein.
|
-
MIDL2350
|
-
möglicherweise ungültiges Element
- Um ein gültiges Element einer Bibliothek zu sein, muss das Bibliothekselement ein Modul, eine Dispinterface, eine Co-Klasse, eine if-Anweisung, eine Struktur, eine Union, eine Enumeration oder eine Forwarddeklaration sein.
|
-
MIDL2351
|
-
Nichtübereinstimmung in Pipe- und Schnittstellentypen
- Diese Meldung ist veraltet.
|
-
MIDL2352
|
-
Zeichenfolge, unterschiedliche Arrays, konformes Array und vollständige Zeigerparameter können während der Laufzeit mit Pipeparametern nicht kompatibel sein.
- Eine Methode, die eine oder mehrere [in]-Zeichenfolgen, unterschiedliche Arrays, konforme Arrays und vollständige Zeigerparameter und alle [in]-Pipeparameter kombiniert, führt zur Generierung eines Stubs, der nur auf ncacn_*- und ncalrpc-Protokollsequenzen auf Windows-Computern ausgeführt wird. Die Verwendung des Stubs zum Ausführen von Aufrufen von ncadg_*- Protokollsequenzen oder zum Annehmen von Aufrufen von anderen OSF DCE RPC-Anbietern kann während der Laufzeit Zu Fehlern auf dem Server führen. Dieser Fehler tritt ab Windows Server 2003 auf.
|
-
MIDL2353
|
-
Parameter muss in sein
- Asynchrone Handles müssen [in]-Parameter sein.
|
-
MIDL2354
|
-
Der Parametertyp eines [async]-Objekts muss ein doppelter Zeiger auf eine Schnittstelle sein.
- Der Parameter muss vom Typ IAsyncManager ** sein.
|
-
MIDL2355
|
-
Falscher asynchroner Handletyp
- Der Handletyp sollte IAsyncManager oder ein von IAsyncManager abgeleiteter Typ sein.
|
-
MIDL2356
|
-
der "interne" Switch aktiviert nicht unterstützte Features, verwenden Sie mit Vorsicht.
- Vermeiden Sie die Verwendung dieses Schalters.
|
-
MIDL2357
|
-
Asynchrone Prozeduren können kein automatisches Handle verwenden
- Prozeduren mit dem [async]-Attribut erfordern explizite Handles.
|
-
MIDL2358
|
-
error_status_t sollte sowohl [comm_status] als auch [fault_status] haben.
- Eine Prozedur wurde mit den IDL-Attributen [vielleicht] oder [Meldung] angegeben, aber der Rückgabetyp verfügt nur über die ACF-Attribute [comm_status] oder [fault_status]. Beide ACF-Attribute sind erforderlich.
Beispiel-ACF-Datei:
[comm_status] roo(); //MIDL 2358
[fault_status] bar(); //MIDL 2358
[comm_status, fault_status] baz(); //OK
|
-
MIDL2359
|
-
Dieses Konstrukt ist nur innerhalb eines Bibliotheksblocks zulässig.
- Ein Modul kann nur innerhalb eines Bibliotheksblocks auftreten.
|
-
MIDL2360
|
-
Ungültige Neudefinition des Typs
- Ein neuer Typ wurde rekursiv für einen nicht vorhandenen Typ definiert.
Beispiel:
typedef roo roo[10]; //MIDL 2360
|
-
MIDL2361
|
-
Prozeduren mit einem [vararg]-Attribut müssen über einen SAFEARRAY(VARIANT)-Parameter verfügen. Die Paramreihenfolge ist [vararg], [lcid], [retval]
- Die meisten Parameter für Prozeduren mit dem [vararg]-Attribut müssen vor dem SAFEARRAY(VARIANT)- Parameter auftreten. Der SAFEARRAY(VARIANT) -Parameter muss vorhanden sein. Wenn die Parameterliste einen Parameter mit dem Attribut [ lcid] enthält, muss sie dem SAFEARRAY(VARIANT) -Parameter folgen. Wenn die Parameterliste einen Parameter mit dem [retval]-Attribut enthält, muss er nach dem Parameter mit dem [lcid]-Attribut auftreten.
|
-
MIDL2363
|
-
zu viele Methoden in der Schnittstelle, erfordert Windows 2000 oder höher
- Der MIDL-Compiler lässt nicht mehr als 1024 Methoden in einer Schnittstelle zu, wenn Sie im /Oicf-Modus kompilieren.
|
-
MIDL2364
|
-
switch wird eingestellt
- Die folgenden Schalter sind veraltet: /hookole, /env win16 und /env.
|
-
MIDL2365
|
-
kann nicht von IAdviseSink, IAdviseSink2 oder IAdviseSinkEx abgeleitet werden
- Diese Schnittstellen können nicht erweitert werden.
|
-
MIDL2366
|
-
Zuweisen eines Standardwerts nicht
- Das Zuweisen eines Standardwerts zu einem Parameter ist in Visual Basic zulässig, aber nicht in C++. Wenn Sie C++ verwenden, wird der Standardwert ignoriert.
|
-
MIDL2367
|
-
Die Typbibliotheksgenerierung für DOS/Win16/MAC wird nicht unterstützt.
- MIDL unterstützt keine 16-Bit-Typbibliotheken.
|
-
MIDL2368
|
-
Fehler beim Generieren der Typbibliothek, ignoriert
- Beim Generieren der Typbibliothek ist ein nicht schwerwiegender Fehler aufgetreten.
|
-
MIDL2369
|
-
Die Stapelgröße für "/Oi" wurde mit "/Os" überschritten.
- Der Optimierungsmodus -Oi ist auf 128 Bytes Stapelspeicherplatz für Parameter beschränkt. Der Compiler hat automatisch in den Betriebssystemoptimierungsmodus gewechselt, um diese Einschränkung zu umgehen.
Um diese Warnung zu vermeiden, verwenden Sie die Optimierungsmodi -Oicf oder -Os. Der Optimierungsmodus kann in der Befehlszeile geändert werden, indem -Oicf oder -Os anstelle von -Oi angegeben wird oder durch Hinzufügen eines [optimize9"icf")- oder optimize[("s")]-Attributs zur Funktion in der ACF-Datei hinzugefügt wird. Diese Warnung tritt in der Regel auf, wenn große Strukturen als Parameter nach Wert übergeben werden. Die erforderliche Stapelgröße kann verringert werden, indem stattdessen ein Zeiger auf die Struktur übergeben wird. Beispiel:
typedef struct
{
char a[127];
}
large;
//This function has a stack size of 132 (x86) or 136 (alpha) on 32-bit systems
void roo(large s, int a); //MIDL 2360
// workaround: pass by reference
void bar (large *s, int a);
|
-
MIDL2370
|
-
Die Verwendung von /robust erfordert /Oicf und wechselt die Modi.
- Sie müssen im /Oicf-Modus kompilieren, wenn Sie den Schalter /robust in der Befehlszeile angeben.
|
-
MIDL2371
|
-
Falscher Bereich angegeben
- Der höchste wert, der in einem [range]-Attribut angegeben ist, ist kleiner als der niedrigste Wert.
Beispiel:
void roo([range(3,2)] int a); //MIDL 2371
|
-
MIDL2372
|
-
Ungültige Kombination von [in]-Parametern und [out]-Parametern für [async_uuid] Schnittstelle
- Für diesen Schnittstellentyp sind nur einfache Kombinationen von Attributen mit Parametern [in] oder [out] zulässig.
|
-
MIDL2373
|
-
DOS-, Win16- und MAC-Plattformen werden mit /robust nicht unterstützt.
- MIDL unterstützt den /robust-Switch unter Microsoft Windows 2000 oder höher.
|
-
MIDL2374
|
-
Die Unterstützung für stublose Proxys im NT 3.51-Format für Objektschnittstellen wird schrittweise eingestellt. verwenden Sie /Oif.
- Dieser Modus ist veraltet. Verwenden Sie /Oif oder /Oicf.
|
-
MIDL2375
|
-
[codieren] oder [decodieren] mit /robust erfordert /Oicf
- Die Serialisierung kann nicht ausgeführt werden, wenn der / robust-Schalter angegeben ist.
|
-
MIDL2377
|
-
Angabe von in Konflikt stehenden Attributen
- Sowohl [context_handle_serialize] als auch [context_handle_noserialize] wurden angegeben.
|
-
MIDL2378
|
-
[serialisieren], [noserialize] können auf context_handles angewendet werden
- Die ACF-Attribute [context_handle_serialize] oder [context_handle_noserialize] können nur auf Typen angewendet werden, die Kontexthandles sind.
Beispiel-IDL-Datei:
typedef /*[context_handle] */ void *PV; //Note: PV is *not* a context handle.
Beispiel-ACF-Datei:
typedef [context_handle_serialize] PV; //MIDL 2378
|
-
MIDL2379
|
-
Der Compiler hat ein Limit für eine Formatzeichenfolgendarstellung erreicht. Weitere Informationen finden Sie in der Dokumentation.
- Der MIDL-Compiler hat einen Grenzwert von 64 KB für Formatzeichenfolgen. Dieser Fehler tritt im Allgemeinen auf, wenn IDL-Dateien andere IDL-Dateien enthalten. Die zusammengesetzte IDL-Datei, die von allen include-Anweisungen generiert wird, überschreitet die Grenzwerte der Typdarstellungstabellen des Marshalling-Engine-Interpreters. Versuchen Sie, die Importdirektive anstelle der include-Anweisung in Ihren IDL-Dateien zu verwenden. Weitere Informationen finden Sie unter Importieren von Systemheaderdateien, Einschließen und Importieren.
|
-
MIDL2380
|
-
Das Drahtformat ist möglicherweise falsch. Möglicherweise müssen Sie -ms_conf_struct verwenden. Weitere Informationen finden Sie in der Dokumentation.
- Der MIDL-Compiler konnte kein übertragbares Format für die Daten generieren. Eine gängige Möglichkeit, diesen Fehler zu erhalten, besteht darin, einen ms_conf_struct innerhalb einer komplexen Struktur zu definieren.
|
-
MIDL2381
|
-
eine Stapelgröße oder ein Offset, der größer als 64 K ist. Weitere Informationen finden Sie in der Dokumentation.
- Der Aufruf führt zu einem Stapel, der größer als 64 KB ist. Versuchen Sie, die Daten in kleineren Blöcken zu übergeben.
|
-
MIDL2382
|
-
Für eine 64-Bit-Plattform erzwungene Interpretermodus
- 64-Bit-Plattformen erfordern den Kompilierungsmodus /Oicf.
|
-
MIDL2383
|
-
Die Größe des Arrayelements ist größer als 64 KB.
- Alle Arrayelemente müssen kleiner als 64 KB sein.
|
-
MIDL2384
|
-
Es kann nur einen [Icid]-Parameter in einer Methode geben, und er sollte der letzte oder zweite bis letzte sein, wenn der letzte Parameter [retval] hat.
- Ein Parameter mit dem Attribut [lcid] muss zuletzt auftreten. Die einzige Ausnahme ist, wenn auch ein Parameter mit dem Attribut [retval] vorhanden ist. Wenn beides auftritt, muss der zweite bis letzte Parameter in der Parameterliste das Attribut [ lcid] aufweisen. Der letzte Parameter muss über das Attribut [retval] verfügen.
|
-
MIDL2385
|
-
falsche Syntax für midl_pragma
- Der MIDL-Compiler hat einen unbekannten Syntaxfehler in einer midl_pragma-Anweisung erkannt.
|
-
MIDL2386
|
-
__int3264 wird im /osf-Modus nicht unterstützt.
- Wenn Sie __int3264 verwenden müssen, kompilieren Sie im /ms-ext-Modus.
|
-
MIDL2387
|
-
Nicht aufgelöstes Symbol in der Typbibliothek
- Der Compiler konnte keine formale Deklaration oder einen Referenztyp in der Typbibliothek auflösen.
|
-
MIDL2388
|
-
asynchrone Pipes können nicht als Wert übergeben werden.
- Asynchrone Pipes sollten nach Verweis oder Adresse übergeben werden.
|
-
MIDL2389
|
-
Der Parameteroffset überschreitet den Grenzwert von 64 KB für interpretierte Prozeduren
- Dieser Fehler bedeutet in der Regel, dass eine Prozedur über zu viele Parameter verfügt.
|
-
MIDL2390
|
-
ungültiges Arrayelement
- Pipes können nicht als Arrayelemente verwendet werden.
|
-
MIDL2391
|
-
dispinterface-Member müssen Methoden, Eigenschaften oder Schnittstellen sein
- Ein Dispinterface darf keine Typdefinitionen, Strukturen, Enumerationen oder Vereinigungen enthalten.
|
-
MIDL2392
|
-
[lokale] Prozedur ohne [call_as]
- Objektprozeduren, die über das Attribut [local] verfügen, erfordern ebenfalls das Attribut [call_as].
|
-
MIDL2393
|
-
mehrdimensionaler Vektor, Wechsel zu /Oicf
- Der / Os-Optimierungsmodus unterstützt keine Arrays für mehrdimensionale, nicht festgelegte Größen. Der Compiler hat den Optimierungsmodus für diese Funktion automatisch auf /Oicf umgestellt.
Diese Warnung kann global unterdrückt werden, indem Sie den Compilermodus ändern, indem Sie /Oicf in der MIDL-Befehlszeile angeben oder midl_pragma Warnung (deaktivieren: 2393) in der IDL-Datei verwenden. Der Optimierungsmodus kann für eine einzelne Funktion geändert werden, indem Sie der Funktion in der ACF-Datei das Attribut [optimize("icf")] hinzufügen. Im folgenden Beispiel wird diese Warnung veranschaulicht:
void roo(long s1, [size_is(s1)] long a[][30]; //MIDL2393
void bar(long s1, long s2, [size_is(s1,s2) long **a);//MIDL2393
|
-
MIDL2395
|
-
Typ oder Konstrukt in einem Bibliotheksblock nicht unterstützt, da Oleaut32.dll Unterstützung für polymorphe Typen mit 64 KB fehlt
- Die OLE-Automatisierung unterstützt keine polymorphen Typen (z. B. _int3264, INT_PTR usw.). Diese Typen verfügen über inkompatible Datendarstellungen zwischen 32-Bit- und 64-Bit-Plattformen. Der Remoteaufruf schlägt zur Laufzeit auf 64-Bit-Plattformen fehl.
Hinweis:
Beachten Sie, dass ab Windows 2000 64-Bit-TLB-Dateien von OLE Automation unterstützt werden, indem 32-Bit-TLB-Informationen zur Laufzeit konvertiert werden. Daher wird nur die 32-Bit-TLB-Generation von MIDL unterstützt.
Wenn MIDL nur zum Generieren einer Headerdatei verwendet wird, unterdrückt der Schalter /notlb die Generierung der TLB-Datei.
|
-
MIDL2396
|
-
Alter Interpretercode, der für 64b generiert wird
- Dieser Fehler ist veraltet. Wenn dieser Fehler angezeigt wird, melden Sie microsoft einen Fehler, der Ihre IDL-Dateien, ACF-Dateien und die vollständige MIDL-Befehlszeile enthält.
|
-
MIDL2397
|
-
Der Compilerwechsel wird nicht mehr unterstützt.
- Die angegebenen Switches werden nicht mehr unterstützt.
|
-
MIDL2398
|
-
MIDL-Engine kann nicht ausgeführt werden.
- Ab windows 2000 Release (MIDL Version 5.03.279) wird der MIDL-Compiler mithilfe von zwei ausführbaren Dateien implementiert: Midl.exe (treiber) und Midlc.exe (Compiler-Engine). Dieser Fehler weist darauf hin, dass der Midl.exe nicht Midlc.exe starten kann. Stellen Sie sicher, dass sich Midlc.exe im selben Verzeichnis wie Midl.exe befindet und dass es sich um dieselbe Version handelt.
Der Fehler wurde möglicherweise durch Kopieren von Midl.exe, aber nicht Midlx.exe aus der neuesten Distribution verursacht. Führen Sie midl und/oder midlc an der Befehlszeile ohne Parameter aus, um die Versionsnummer der ausführbaren Datei anzuzeigen. |
-
MIDL2399
|
-
fehlerhafte Befehle vom Treiber
- Ab windows 2000 Release (MIDL Version 5.03.279) wird der MIDL-Compiler mithilfe von zwei ausführbaren Dateien implementiert: Midl.exe (treiber) und Midlc.exe (Compiler-Engine). Dieser Fehler weist darauf hin, dass die temporäre Datei, die zum Übergeben von Befehlen von Midl.exe an Midlc.exe verwendet wird, fehlt oder beschädigt ist. Stellen Sie sicher, dass sich Midlc.exe im selben Verzeichnis wie Midl.exe befindet und dass es sich um dieselbe Version handelt.
Der Fehler wurde möglicherweise durch den Versuch verursacht, Midlc.exe direkt auszuführen, oder durch Kopieren von Midl.exe, aber nicht Midlc.exe aus der neuesten Distribution. Führen Sie midl und/oder midlc an der Befehlszeile ohne Parameter aus, um die Versionsnummer der ausführbaren Datei anzuzeigen. |
-
MIDL2400
|
-
für die OLE-Automatisierung sollten optionale Parameter VARIANT oder VARIANT * sein.
- Ole Automation erfordert, dass alle [optionalen] Parameter vom Typ VARIANT oder VARIANT* sein müssen.
In der OLE-Automatisierung kann die Verwendung von Nicht-VARIANT-Parametern dazu führen, dass der Aufruf zur Laufzeit fehlschlägt oder nicht definierte Daten für die [optionalen] Parameter übergeben. |
-
MIDL2401
|
-
[defaultvalue] wird auf einen Nicht-VARIANT und [optional] angewendet. Entfernen Sie [optional]
- Das [defaultvalue]-Attribut impliziert [optional]. Das Attribut [ optional] ist nicht erforderlich.
|
-
MIDL2402
|
-
[optional]-Attribut kann außerhalb eines Bibliotheksblocks nicht angewendet werden.
- Die vom Attribut [ optional] implizierte Funktionalität gilt nicht für Proxys, die für eine Schnittstelle außerhalb eines Bibliotheksblocks generiert werden.
|
-
MIDL2403
|
-
Der Datentyp des [Icid]-Parameters muss lang sein.
- Ole Automation erfordert, dass Parameter mit dem [Icid]-Attribut vom Typ long sein müssen.
|
-
MIDL2404
|
-
Prozeduren mit [propput], [propget] oder [propref] dürfen nicht mehr als einen erforderlichen Parameter nach [optional]
- Es darf nicht mehr als einen Parameter ohne [optional] nach dem letzten Parameter mit [optional] bei Verwendung von [propput], [propget] oder [ propputref] geben.
|
-
MIDL2405
|
-
[comm_status] oder [fault_status] mit Beiz erfordert -Oicf
- Der alte -Oi-Optimierungsmodus unterstützt keine Prozeduren oder Parameter mit [ comm_status] oder [ fault_status] mit Beiz (d. a. mit [ codieren] und/oder [ Decodierung]).
Diese Warnung kann global unterdrückt werden, indem Sie -Oicf in der MIDL-Befehlszeile oder für eine einzelne Funktion angeben, indem Sie der Funktion in der ACF-Datei das Attribut [optimize("icf:)] hinzufügen. Im Allgemeinen wird der -Oicf-Optimierungsmodus gegenüber dem -Oi-Modus empfohlen. |
-
MIDL2406
|
-
Midl-Treiber- und Compilerversionskonflikt
- Ab windows 2000 Release (MIDL Version 5.03.279) wird der MIDL-Compiler mithilfe von zwei ausführbaren Dateien implementiert: Midl.exe (treiber) und Midlc.exe (Compiler-Engine). Dieser Fehler weist darauf hin, dass die Version von Midl.exe nicht mit der Version von Midlc.exe übereinstimmt.
Der Fehler wurde möglicherweise durch Kopieren von Midl.exe, aber nicht Midlc.exe aus der neuesten Distribution verursacht. Führen Sie midl und/oder midlc an der Befehlszeile ohne Parameter aus, um die Versionsnummer der ausführbaren Datei anzuzeigen. |
-
MIDL2407
|
-
Keine Zwischendatei angegeben: Verwenden Sie Midl.exe
- Ab windows 2000 Release (MIDL Version 5.03.279) wird der MIDL-Compiler mithilfe von zwei ausführbaren Dateien implementiert: Midl.exe (treiber) und Midlc.exe (Compiler-Engine). Dieser Fehler weist darauf hin, dass Midlc.exe direkt ausgeführt wurde, anstatt Midl.exe zu verwenden.
|
-
MIDL2408
|
-
Verarbeitungsproblem mit einem Parameter in einer Prozedur
- Dieser Fehler kann beim Importieren von Daten aus einem TLB auftreten und wenn eine Prozedur einen ungültigen Parameter aufweist.
Wenn dieser Fehler angezeigt wird, melden Sie einen Fehler an Microsoft. Geben Sie Ihre IDL-Dateien, ACF-Dateien, TLB-Datei und die vollständige MIDL-Befehlszeile an. |
-
MIDL2409
|
-
Verarbeitungsproblem mit einem Feld in einer Struktur
- Dieser Fehler kann beim Importieren von Daten aus einem TLB auftreten und wenn eine Struktur über eine ungültige Struktur oder ein ungültiges Unionsfeld verfügt.
Wenn dieser Fehler angezeigt wird, melden Sie einen Fehler an Microsoft. Geben Sie Ihre IDL-Dateien, ACF-Dateien, TLB-Datei und die vollständige MIDL-Befehlszeile an. |
-
MIDL2410
|
-
Interne Compilerinkonsistenz erkannt: Der Formatzeichenfolgenoffset ist ungültig. Weitere Informationen finden Sie in der Dokumentation .
- Der MIDL-Compiler hat einen ungültigen Wert in seinen internen Datenstrukturen erkannt. Dies kann durch rekursive Strukturen oder durch Compiler verursacht werden, die seine eigenen Darstellungsgrenzwerte für interne Daten verletzen. Um das Problem zu identifizieren und/oder zu umgehen, versuchen Sie, die IDL-Datei zu vereinfachen. Dazu können Sie komplexe Parameter und rekursive Datenstrukturen vereinfachen oder die IDL-Datei verkleinern, indem Sie sie aufteilen. Diese Meldung kann von einem Diagnoseausdruck mit zusätzlichen Informationen zum Problem begleitet werden.
Wenn dieser Fehler angezeigt wird, melden Sie einen Fehler an Microsoft. Geben Sie Ihre IDL-Dateien, ACF-Dateien, die vollständige MIDL-Befehlszeile und ggf. die Diagnoseausgabe an. |
-
MIDL2411
|
-
Interne Compilerinkonsistenz erkannt: Der Typoffset ist ungültig. Weitere Informationen finden Sie in der Dokumentation .
- Der MIDL-Compiler hat einen ungültigen Wert in seinen internen Datenstrukturen erkannt. Dies kann durch rekursive Strukturen oder durch den Compiler verursacht werden, der seine eigenen Darstellungsgrenzwerte für interne Daten verletzt. Um das Problem zu identifizieren und/oder zu umgehen, versuchen Sie, die IDL-Datei zu vereinfachen. Dazu können Sie komplexe Parameter und rekursive Datenstrukturen vereinfachen oder die IDL-Datei verkleinern, indem Sie sie aufteilen. Diese Meldung kann von einem Diagnoseausdruck mit zusätzlichen Informationen zum Problem begleitet werden.
Wenn dieser Fehler angezeigt wird, melden Sie einen Fehler an Microsoft. Geben Sie Ihre IDL-Dateien, ACF-Dateien, die vollständige MIDL-Befehlszeile und ggf. die Diagnoseausgabe an. |
-
MIDL2412
|
-
SAFEARRAY(roo)-Syntax wird außerhalb des Bibliotheksblocks nicht unterstützt. Verwenden Sie LPSAFEARRAY für den Proxy.
- Explizit eingegebene SAFEARRAYs sind außerhalb eines Bibliotheksblocks nicht zulässig. Verwenden Sie stattdessen LPSAFEARRAY.
Im folgenden Beispiel wird dieser Fehler veranschaulicht:
void roo(SAFEARRAY(long) *a); //MIDL2412 when outside a library block
void roo(LPSAFEAEEAY a); //OK
|
-
MIDL2413
|
-
Bitfelder werden nicht unterstützt.
- Bitfelder im C-Stil werden von MIDL nicht unterstützt. Dies gilt sowohl für die Proxygenerierung als auch für die TLB-Generierung.
|
-
MIDL2414
|
-
Gleitkomma- oder komplexe Rückgabetypen mit [Decodierung] werden in -Oicf mit -OI nicht unterstützt.
- Prozeduren mit Gleitkomma- oder Struktur-/Union-Rückgabetypen werden im -Oicf-Format nicht unterstützt. Eine Umgehung für 32-Bit besteht darin, den Optimierungsmodus -Oi beim Serialisieren von Daten zu verwenden (mit [Codieren] und/oder [Decodieren]). Da jedoch der alte Interpreter und die Beizunterstützung im Oi-Stil nach der Windows 2000-Veröffentlichung eingestellt werden soll, wird die Verwendung von Zeigern als Lösung für dieses Problem dringend empfohlen. Beachten Sie außerdem, dass das Ändern einer Schnittstellenmethode, um anstelle des Rückgabewerts, der das Problem verursacht, einen [out, ref]-Zeiger zu verwenden, in der Regel vollständig abwärtskompatibel ist und leicht auf der App-Ebene ausgeblendet werden kann.
Diese Warnung kann global unterdrückt werden, indem Sie -Oi in der MIDL-Befehlszeile oder für eine einzelne Funktion angeben, indem Sie der Funktion in der ACF-Datei das Attribut [optimize("i")] hinzufügen. Das folgende Beispiel veranschaulicht das Problem: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Eine Möglichkeit, diese Einschränkung zu umgehen, besteht darin, einen [out]-Parameter zu übergeben, der das Ergebnis enthält, anstatt einen Rückgabewert zu verwenden: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer
roo.acf:
[decode] GetDouble();
Wie bereits erwähnt, eignet sich die oben beschriebene Lösung nicht nur für die neuen Schnittstellen, sondern auch als Work-Around für die alten Schnittstellen. Die Drahtdarstellung für das neue Argument "out" ist identisch mit dem Rückgabewert (hinweis void wie der neue Rückgabewert). |
-
MIDL2415
|
-
der Rückgabetyp wird für 64-Bit bei Verwendung von [Decodierung] nicht unterstützt.
- Prozeduren mit Gleitkomma- oder Struktur-/Union-Rückgabetypen werden im 64-Bit-Modus beim Durchführen der Datenserialisierung (mit [ codieren] und/oder [ Decodierung]) nicht unterstützt. Dies hängt mit dem alten Oi-Interpreter und dem Datenserialisierer zusammen, der auf der 64-Bit-Plattform nicht unterstützt wird. Weitere Informationen finden Sie in der Beschreibung von MIDL2414.
Im folgenden Beispiel wird dieser Fehler veranschaulicht: roo.idl:
double GetDouble();
roo.acf:
[decode] GetDouble();
Das Folgende wird als Work-Around für neue und alte Schnittstellen empfohlen. Verwenden Sie einen [out]-Parameter, um das Ergebnis zu halten, anstatt einen Rückgabewert zu verwenden: roo.idl:
void GetDouble([out] double *result); //top level pointer is a [ref] pointer.
roo.acf:
[decode] GetDouble();
Beachten Sie, dass diese Lösung auf Draht vollständig abwärtskompatibel ist, da die Drahtdarstellung eines [ref, out]-Zeigers oder eines Doubles mit der eines Double identisch ist. |
-
MIDL2416
|
-
der übertragene Typ darf keinen vollständigen Zeiger für [wire_marshal] oder [user_marshal] enthalten.
- Typen mit [ wire_marshal]- oder [ user_marshal]-Attributen enthalten möglicherweise keine vollständigen ([ ptr])- Zeiger. Verwenden Sie stattdessen [ unique] oder [ ref].
Im folgenden Beispiel wird dieser Fehler veranschaulicht:
typedef struct
{
[ptr] long *a; //Should use [ref] or [unique] instead
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2:
void roo(st2 *s); //MIDL2416
|
-
MIDL2417
|
-
Der übertragene Typ muss entweder ein Zeiger sein oder eine konstante Größe für [wire_marshal] und [user_marshal] aufweisen.
- Typen der obersten Ebene mit [ wire_marshal] oder [ user_marshal] Attributen müssen zur Kompilierzeit eine klar definierte Größe aufweisen. Sie dürfen keine konformen oder unterschiedlich großen Arrays sein oder enthalten.
Im folgenden Beispiel wird dieser Fehler veranschaulicht:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
typedef [wire_marshal(st1)] struct
{
long a;
}
st2;
void roo(st2 *s); //MIDL2417
|
-
MIDL2418
|
-
Prozeduren mit [Propget] müssen mindestens einen Parameter oder einen Rückgabewert aufweisen.
- Prozeduren mit dem Attribut [propget] müssen über eine Möglichkeit verfügen, den Eigenschaftswert zurückzugeben. Sie müssen mindestens einen [out]-Parameter oder einen Rückgabewert aufweisen.
|
-
MIDL2461
|
-
Das [readonly]-Attribut wurde auf Methodenebene angewendet.
- Das [readonly]-Attribut kann nur auf Parameterebene angewendet werden.
|
-
MIDL2465
|
-
Strukturen, die konforme Arrays enthalten, müssen als Verweis übergeben werden.
- Parameter der obersten Ebene in RPC müssen zur Kompilierzeit eine klar definierte Größe aufweisen. Sie können kein konformes oder unterschiedlich großes Array sein oder enthalten. Darüber hinaus können Benutzer einen Typ ohne eine klar definierte Größe nicht codieren/decodieren. Anwendungen müssen eine konforme Struktur bzw. eine konforme unterschiedliche Struktur nach Verweis übergeben.
Im folgenden Beispiel wird dieser Fehler veranschaulicht:
typedef struct //Type contains variable-sized array
{
long s;
[size_is(s)] char a[];
}
st1;
void roo(st1 s); //MIDL2465
on .acf file
typedef [encode,decode] st1; //MIDL2465
|
-
MIDL9008
|
-
Systemfehlercode> für interne Compilerprobleme<: Der Compiler kann aus einem unbekannten Grund nicht fortgesetzt werden. Eine Problemumgehung finden Sie in der Dokumentation.
- Der Compiler konnte nicht fortgesetzt werden, und die Ursache des Fehlers ist unbekannt. Die hexadezimale Fehlernummer ist ein Systemfehlerbezeichner. Die Kompilierung ist möglicherweise aufgrund eines externen Problems, z. B. einer Nicht-Arbeitsspeicher-Bedingung, fehlgeschlagen. In diesem Fall finden Sie weitere Informationen unter Winerror.h oder Ntstatus.h.
Es gibt zwei Situationen, in denen dieser Fehler normalerweise generiert wird:
- Der MIDL-Compiler konnte nicht wiederhergestellt werden, nachdem ein Fehler in der IDL-Datei erkannt wurde. Wenn MIDL Fehlermeldungen zu Ihrer IDL-Datei zurückgegeben hat, versuchen Sie, diese zu beheben und neu zu kompilieren. Wenn keine Fehlermeldungen vorhanden sind, ist der Compiler möglicherweise fehlgeschlagen, bevor er einen Fehler melden konnte. Suchen Sie nach einem Syntaxfehler in der Zeile, für die der interne Compilerfehler gemeldet wird.
- Der MIDL-Compiler konnte nicht den richtigen Code unter einer angegebenen Optimierungsoption generieren. Versuchen Sie, Compilermodi zu ändern, in der Optimierung im gemischten Modus (/Os) zu kompilieren oder alle Optimierungen zu entfernen. Oder kompilieren Sie mithilfe des Flags /NO_FORMAT_OPT, um die Standardoptimierung von Prozedur- und Typdeskriptoren durch MIDL zu unterdrücken.
Gelegentlich tritt dieser Fehler auch dann auf, wenn die IDL-Datei korrekt ist und keine Optimierungsoptionen verwendet werden. Wenn dies der Fall ist, versuchen Sie, den Codeabschnitt in der Nähe von zu schreiben, in der der Fehler gemeldet wurde, indem Sie alle kürzlichen Änderungen entfernen, Datentypen vereinfachen oder neu anordnen, Prototypen ändern oder teile der IDL-Datei auskommentieren, um den Problemcode zu finden. Wenn keine dieser Optionen funktioniert oder Sie der Meinung sind, dass das Problem mit einem Fehler in Midl.exe zusammenhängt, benachrichtigen Sie Microsoft und geben Sie alle relevanten Details an. |