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.
Der Header wurde mehrmals über die Lebensdauer des NDR-Moduls verlängert. Der aktuelle Compiler generiert weiterhin unterschiedliche Header, je nach Compilermodus. Neuere Kopfzeilen sind jedoch eine Obermenge der älteren Kopfzeilen.
Die alte –Oi-Kopfzeile
Die Kopfzeile weist das folgende Format auf:
handle_type<1>
Oi_flags<1>
[rpc_flags<4>]
proc_num<2>
stack_size<2>
[explicit_handle_description<>]
Dabei kann handle_type<1> einer der werte sein, die in der folgenden Tabelle angezeigt werden.
| Fluch | Griff |
|---|---|
| 31 | FC_BIND_GENERIC |
| 32 | FC_BIND_PRIMITIVE |
| 33 | FC_AUTO_HANDLE |
| 34 | FC_CALLBACK_HANDLE |
| 0 | (expliziter Handle) |
Wenn das feld handle_type<1> ungleich Null ist, verwendet die Prozedur ein implizites Handle der angegebenen Art. Weitere Informationen finden Sie im Thema Handles. Wenn das feld handle_type<1> null ist, ist der für die Bindung verwendete Handle einer der Parameter der Prozedur.
Explizite Handles können grundtypisch, generisch und Kontext sein; das letzte hat das folgende FC-Token.
| Fluch | Griff |
|---|---|
| 30 | FC_BIND_CONTEXT |
Standardmäßig ist der Handletyp für DCOM-Schnittstellen FC_AUTO_HANDLE.
Das feld Oi_flags<1> ist eine 8-Bit-Maske der folgenden Flags.
| Fluch | Flagge | Bedeutung |
|---|---|---|
| 01 | Oi_FULL_PTR_USED | Verwendet das vollständige Zeigerpaket. |
| 02 | Oi_RPCSS_ALLOC_USED | Verwendet das RpcSs-Speicherpaket. |
| 04 | Oi_OBJECT_PROC | Eine Prozedur in einer Objektschnittstelle. |
| 08 | Oi_HAS_RPCFLAGS | Die Prozedur weist nichtzero Rpc-Flags auf. |
| 10 | Oi_* | Überladen. |
| 20 | Oi_* | Überladen. |
| 40 | Oi_USE_NEW_INIT_ROUTINES | Verwendet Windows NT3.5 Beta2+-Init-Routinen. |
| 80 | Unbenutzt. |
Die folgenden Flags sind überladen.
| Fluch | Flagge | Bedeutung |
|---|---|---|
| 10 | ENCODE_IS_USED | Wird nur bei der Auswahl verwendet. |
| 20 | DECODE_IS_USED | Wird nur bei der Auswahl verwendet. |
| 10 | Oi_IGNORE_OBJECT_EXCEPTION_HANDLING | Wird nicht mehr verwendet (altes OLE). |
| 20 | Oi_HAS_COMM_OR_FAULT | Nur in unformatiertem RPC, [comm _, fault_status]. |
| 20 | Oi_OBJ_USE_V2_INTERPRETER | Verwenden Sie in DCOM nur -Oif Dolmetscher. |
Im Feld rpc_flags<4> wird beschrieben, wie das feld RpcFlags der RPC_MESSAGE-Struktur festgelegt wird. Dieses Feld ist nur vorhanden, wenn das Feld Oi_flags<1> Oi_HAD_RPCFLAGS festgelegt ist. Wenn dieses Feld nicht vorhanden ist, sind die RPC-Flags für die Remoteprozedur null.
Anmerkung
Zur Leistung haben die asynchronen Dolmetscher immer die rpc_flags<4> Feld vorhanden.
Das Feld proc_num<2> stellt die Prozedurnummer der Prozedur bereit.
Die stack_size<2> stellt die Gesamtgröße aller Parameter im Stapel bereit, einschließlich aller Zeiger- und/oder Rückgabewerte.
Das feld explicit_handle_description<> wird weiter unten in diesem Dokument beschrieben. Dieses Feld ist nicht vorhanden, wenn die Prozedur ein implizites Handle verwendet.