Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Bytecodes werden von WSDAPI verwendet, um XML mithilfe von Bytecodetabellen zu analysieren und zu generieren, die komplexe Typen beschreiben.
Die Bytecodetabelle für einen Typ drückt sowohl die binäre Darstellung (im Arbeitsspeicher) als auch die XML-Darstellung (on-the-wire) des Typs aus. Eine Bytecode-Tabelle besteht aus einer Liste der Vorgänge, die durch einen speziellen Vorgang beendet werden, nämlich OpEndOfTable. Ein Vorgang besteht aus einem 1-Byte-Vorgangscode, gefolgt von null oder mehr Bytes von Argumentdaten.
| Bytecode | Beschreibung |
|---|---|
| OpNone | Vergleicht nichts. |
| OpEndOfTable | Gibt das Ende einer Bytecodetabelle an. |
| OpBeginElement (Name) | Entspricht einem Elementanfangstoken mit dem angegebenen Namen. Der Name wird in der Tabelle in 4-Byte-codierter Form angezeigt. OnBeginElement startet eine Klausel, die mit einem übereinstimmenden OpEndElement endet. Null oder mehr vollständige Klauseln müssen zwischen OpBeginElement und dem entsprechenden OpEndElement angezeigt werden. |
| OpBeginAnyElement | Entspricht einem Elementanfangstoken mit einem beliebigen Namen. OnBeginAnyElement startet eine Klausel, die mit einem übereinstimmenden OpEndElement endet. Null oder mehr vollständige Klauseln müssen zwischen OpBeginAnyElement und dem entsprechenden OpEndElement angezeigt werden. |
| OpEndElement | Beendet eine Klausel, die mit OpBeginElement oder OpBeginAnyElement gestartet wurde. |
| OpElement (Name) | Entspricht einem gesamten Element mit dem angegebenen Namen. Der Name wird in der Tabelle in 4-Byte-codierter Form angezeigt. |
| OpAnyElement | Entspricht einem gesamten Element mit einem beliebigen Namen. |
| OpAnyElements | Entspricht einer beliebigen Anzahl von Elementen mit beliebigen Namen. |
| OpAnyText | Entspricht einem Texttoken. |
| OpAttribute (Name) | Entspricht dem Bezeichnungstoken eines Attributs mit dem angegebenen Namen. OpAttribute startet eine Klausel, die die nachfolgende Klausel in der Tabelle enthält. Die nachfolgende Klausel wird verwendet, um mit dem Wertteil des Attributs übereinzugleichen. OpAttribute-Klauseln werden immer nach OpBeginElement- oder OpBeginAnyElement-Vorgängen oder nach einer anderen OpAttribute-Klausel angezeigt. |
| OpBeginChoice | OpBeginChoice startet eine Klausel, die mit einem übereinstimmenden OpEndChoice endet. Null oder mehr vollständige Klauseln müssen zwischen OpBeginChoice und dem entsprechenden OpEndChoice angezeigt werden. Die äußere Klausel entspricht den Token, die mit einer der inneren Klauseln übereinstimmen. Alle inneren Klauseln müssen mit "OpBeginElement" beginnen, mit der Ausnahme, dass die letzte Klausel "OpAnything" sein kann. Dieses Konstrukt entspricht dem XSD-Auswahlteilchen. |
| OpEndChoice | Beendet eine Klausel, die mit OpBeginChoice gestartet wurde. |
| OpBeginSequence | OpBeginSequence startet eine Klausel, die mit einem übereinstimmenden OpEndSequence endet. Null oder mehr vollständige Klauseln müssen zwischen OpBeginSequence und OpEndSequence angezeigt werden. Die äußere Klausel entspricht den Token, die mit allen inneren Klauseln in Sequenz abgeglichen werden. Dieses Konstrukt entspricht dem XSD-Sequenzteilchen. |
| OpEndSequence | Beendet eine Klausel, die mit OpBeginSequence gestartet wurde. |
| OpBeginAll | OpBeginAll startet eine Klausel, die mit einem übereinstimmenden OpEndAll endet. Null oder mehr vollständige Klauseln müssen zwischen OpBeginAll und OpEndAll angezeigt werden. Die äußere Klausel stimmt mit den Token überein, die mit den inneren Klauseln in einer beliebigen Reihenfolge übereinstimmen. Vorkommensoperatoren, die sich auf jede innere Klausel beziehen, geben an, wie oft die Token für jede Klausel auftreten können. Der Standardwert ist einmal. Mehrere Vorkommen einer angegebenen Klausel können mit Vorkommen anderer innerer Klauseln vermischt werden. Alle inneren Klauseln müssen mit "OpBeginElement" beginnen, mit der Ausnahme, dass die letzte Klausel "OpAnything" sein kann. Dieses Konstrukt entspricht dem XSD-All-Partikel. |
| OpEndAll | Beendet eine Klausel, die mit OpBeginAll gestartet wurde. |
| OpAnything | Entspricht einer beliebigen Anzahl von Elementen und Texttoken. |
| OpAnyNumber | Gibt an, dass die nachfolgende Klausel beliebig oft auftreten kann. OpAnyNumber startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. |
| OpOneOrMore | Gibt an, dass die nachfolgende Klausel ein oder mehrere Male auftreten kann. OpOneOrMore startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. |
| OpOptional | Gibt an, dass die nachfolgende Klausel null oder einmal auftreten kann. OpOptional startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. |
| OpFormatInt8 (Typ,Feld) | Entspricht einer 8-Bit-ganzzahligen Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatInt8" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatInt16 (Typ,Feld) | Entspricht einer ganzzahligen 16-Bit-Vorzeichen. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatInt16" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatInt32 (Typ,Feld) | Entspricht einer 32-Bit-ganzzahligen Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatInt32" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatInt64 (Typ,Feld) | Entspricht einer 64-Bit-ganzzahligen Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatInt64" berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt diesen als Argument dar. |
| OpFormatUInt8 (Typ,Feld) | Entspricht einer 8-Bit-ganzzahl ohne Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatUInt8" berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt diesen als Argument dar. |
| OpFormatUInt16 (Typ,Feld) | Entspricht einer 16-Bit-Ganzzahl ohne Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatUInt16" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatUInt32 (Typ,Feld) | Entspricht einer 32-Bit-Ganzzahl ohne Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatUInt32" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatUInt64 (Typ,Feld) | Entspricht einer 64-Bit-Ganzzahl ohne Vorzeichen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset der binären Darstellung im aktuellen binären Kontext an. Das Makro "OpFormatUInt64" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatUnicodeString (Typ,Feld) | Entspricht einer Zeichenfolge, die aus dem gesamten Wert eines Texttokens besteht. Ein 4-Byte-Offset-Argument gibt den Offset an, bei dem ein Zeiger auf die Zeichenfolge im aktuellen binären Kontext angezeigt wird. Das Makro "OpFormatUnicodeString" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatDom (Typ,Feld) | Gibt an, dass alle xml-Daten, die mit der nachfolgenden Klausel übereinstimmen, in binärer Form als DOM dargestellt werden (eine Liste von WSDXML_NODE Strukturen). OpFormatDom startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. Ein 4-Byte-Offset-Argument gibt den Offset an, bei dem ein Zeiger auf die erste WSDXML_NODE im aktuellen binären Kontext angezeigt wird. Das Makro "OpFormatDom" berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt diesen als Argument dar. |
| OpFormatStruct (structType,type,field) | Gibt an, dass der binäre Kontext für die nachfolgende Klausel eine Struktur ist, auf die durch den aktuellen binären Kontext verwiesen wird. OpFormatStruct startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. Die ersten beiden 4-Byte-Argumente geben die Größe der Struktur an. Das zweite Argument gibt den Offset an, in dem ein Zeiger auf die Struktur im aktuellen binären Kontext angezeigt wird. Das OpFormatStruct-Makro berechnet die Größe des angegebenen Strukturtyps (structType) und gibt die Größe als erstes Argument an. Das Makro berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als zweites Argument. |
| OpFormatUri (Typ,Feld) | Entspricht einem URI in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset an, bei dem ein Zeiger auf die URI-Zeichenfolge im aktuellen binären Kontext angezeigt wird. Das Makro "OpFormatUri" berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt den Offset als Argument bereit. |
| OpFormatUuidUri (Typ,Feld) | Entspricht einem UUID-Protokoll-URI in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset an, bei dem der URI im GUID-Strukturformular im aktuellen binären Kontext angezeigt wird. Das Makro "OpFormatUuidUri" berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt den Offset als Argument bereit. |
| OpFormatName (Typ,Feld) | Entspricht einem qualifizierten Namen in einem Texttoken. Ein 4-Byte-Offset-Argument gibt den Offset an, bei dem ein Zeiger auf den qualifizierten Namen (eine WSDXML_NAME Struktur) im aktuellen binären Kontext angezeigt wird. Das OpFormatName-Makro berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatListInsertTail (nodeType,type,field) | Gibt an, dass die binären Kontexte für alle Vorkommen der nachfolgenden Klausel Strukturen in einer singly-verknüpften Liste sind, auf die durch den aktuellen binären Kontext verwiesen wird. OpFormatListInsertTail startet eine Klausel, die am Ende der nachfolgenden Klausel beendet wird. Die ersten beiden 4-Byte-Argumente geben die Größe der Strukturen an. Das zweite Argument gibt den Offset an, in dem ein Zeiger auf die Struktur im aktuellen binären Kontext angezeigt wird. Der "nächste" Zeiger, der die Strukturen mit einer Liste verknüpft, ist immer das erste Feld in den Strukturen. Das Makro "OpFormatListInsertTail" berechnet die Größe des angegebenen Strukturtyps (nodeType) und stellt die Größe als erstes Argument bereit. Das Makro berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als zweites Argument. |
| OpFormatType (typtable,type,field) | Entspricht den Token, die mit der angegebenen Typtabelle übereinstimmen, und gibt an, dass der binäre Kontext für diese Tabelle in den aktuellen binären Kontext mit einem angegebenen Offset eingebettet ist. Die ersten von zwei 4-Byte-Argumenten ist der codierte Verweis auf die Typtabelle. Das zweite Argument ist der Offset. Das OpFormatType-Makro berechnet den Offset des angegebenen Felds im angegebenen Typ und stellt diesen als Argument dar. |
| OpFormatDynamicType (Name,Typ,Feld) | Entspricht den Token, die mit einer Typtabelle übereinstimmen, die dynamisch mithilfe des angegebenen Namens abgerufen wird, und gibt an, dass der binäre Kontext für diese Tabelle in den aktuellen binären Kontext mit einem angegebenen Offset eingebettet ist. Die ersten beiden 4-Byte-Argumente sind der Name, der die Typtabelle identifiziert. In der Regel wird dieser Name in Form einer einstelligen Zeichenfolge wie "'body'" angegeben, die einen 4-Byte-Wert erzeugt. Das zweite Argument ist der Offset. Das Makro "OpFormatDynamicType" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpFormatLookupType (urifield,type,field) | Entspricht den Token, die mit der Typtabelle übereinstimmen, die vom URI an einem angegebenen Offset im aktuellen binären Kontext identifiziert wurde, und gibt an, dass der binäre Kontext für diese Tabelle in den aktuellen binären Kontext mit einem angegebenen Offset eingebettet ist. Die ersten von zwei 4-Byte-Argumenten ist der Offset des Typ-URI im aktuellen binären Kontext. Das zweite Argument ist der Offset für den neuen binären Kontext. Das Makro "OpFormatLookupType" berechnet den Offset des angegebenen Felds im angegebenen Typ und liefert diesen Offset als Argument. |
| OpProcess(type,field) | Flags the referenced field as requiring additional processing during the generation and parsing phases. Dies wird für komplexe Felder verwendet, die nicht automatisch verarbeitet werden können. |