Freigeben über


RxCeSendDatagram-Funktion (rxce.h)

RxCeSendDatagram sendet eine Transportdienstdateneinheit (TSDU) entlang der angegebenen Verbindung auf einem virtuellen Schaltkreis.

Syntax

NTSTATUS RxCeSendDatagram(
       IN PRXCE_ADDRESS                hAddress,
  [in] IN PRXCE_CONNECTION_INFORMATION pConnectionInformation,
       IN ULONG                        SendOptions,
  [in] IN PMDL                         pMdl,
  [in] IN ULONG                        SendLength,
  [in] IN PVOID                        pCompletionContext
);

Parameter

hAddress

Ein Zeiger auf den Transport, an den die TSDU gesendet werden soll.

[in] pConnectionInformation

Ein Zeiger auf Verbindungsinformationen, die die Remoteadresse enthalten.

SendOptions

Ein Zeiger auf Verbindungsinformationen, die die Remoteadresse enthalten.

[in] pMdl

Ein Zeiger auf den zu sendenden Puffer.

[in] SendLength

Die Länge der zu sendenden Daten.

[in] pCompletionContext

Der Kontext, der während SendCompletion- für asynchrone Vorgänge an den Aufrufer übergeben wurde. Dieser Parameter wird nicht ignoriert, wenn der Options Parameter einen synchronen Sendevorgang anfordert.

Rückgabewert

RxCeSendDatagram gibt STATUS_SUCCESS bei Erfolg oder einer der folgenden Fehlercodes für Fehler zurück:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Fehler bei der Zuordnung des nicht ausseitigen Poolspeichers, der von dieser Routine benötigt wird.
STATUS_INVALID_PARAMETER
Eine ungültige Länge wurde im SendLength Parameter übergeben, basierend auf dem angegebenen Options angegeben.

Bemerkungen

Die im Options Parameter angegebenen asynchronen und synchronen Optionen, die in RxCeSendDatagram verwendet werden, zwischen zwei Situationen unterscheiden. Im asynchronen Fall kehrt das Steuerelement an den Aufrufer zurück, nachdem die Anforderung erfolgreich an den zugrunde liegenden Transport gesendet wurde. Die Ergebnisse für eine bestimmte Anforderung werden mithilfe der SendCompletion Rückrufroutine übermittelt. Der pCompletionContext Parameter in RxCeSendDatagram- wird in der Rückrufroutine übergeben, um den Aufrufer bei der Eindeutigkeit der Anforderungen zu unterstützen.

Im synchronen Fall wird die Anforderung an den zugrunde liegenden Transport übermittelt, und das Steuerelement kehrt erst an den Aufrufer zurück, wenn die Anforderung abgeschlossen ist. Beachten Sie, dass im synchronen Fall der pCompletionContext- Parameter ignoriert wird und der zurückgegebene Status dem Abschlussstatus der Vorgänge entspricht.

Der Vorteil asynchroner und synchroner Optionen hängt vom zugrunde liegenden Transport ab. In einer virtuellen Schaltkreisumgebung (z. B. TCP) bedeutet eine synchrone Option, dass das Steuerelement erst zurückgegeben wird, wenn die Daten den Server erreicht haben. Andererseits gibt es für datagramorientierte Transporte (UDP, z. B. UDP) einen sehr geringen Unterschied zwischen den beiden Optionen.

Beachten Sie, dass die synchrone Option für das Senden von Datagrammen ignoriert wird, da die zugrunde liegenden Transporte keine Datengrammsendungen blockieren.

RXCE_CONNECTION_INFORMATION ist ein Typedef für eine TDI_CONNECTION_INFORMATION-Struktur.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- rxce.h (include Rxce.h, Tdi.h)
IRQL- <= APC_LEVEL

Siehe auch

MDL-

RxCeSend-

TDI_CONNECTION_INFORMATION