Freigeben über


RxCeSendDatagram-Funktion (rxce.h)

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

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, mit dem 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 zurückgegeben wird. Nicht, dass dieser Parameter ignoriert wird, wenn der Options-Parameter einen synchronen Sendevorgang anfordert.

Rückgabewert

RxCeSendDatagram gibt STATUS_SUCCESS bei Erfolg oder einen der folgenden Fehlercodes bei Einem Fehler zurück:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES
Bei der Zuordnung des nicht auslagerten Poolspeichers, der für diese Routine benötigt wird, ist ein Fehler aufgetreten.
STATUS_INVALID_PARAMETER
Im SendLength-Parameter wurde basierend auf den angegebenen Optionen eine ungültige Länge übergeben.

Hinweise

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

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

Der Nutzen asynchroner und synchroner Optionen hängt vom zugrunde liegenden Transport ab. In einer virtuellen Leitungsumgebung (z. B. TCP) bedeutet eine synchrone Option, dass das Steuerelement erst zurückgegeben wird, wenn die Daten den Server erreichen. Andererseits gibt es bei datagramorientierten Transporten (z. B. UDP) nur sehr wenige Unterschiede zwischen den beiden Optionen.

Beachten Sie, dass die synchrone Option beim Senden von Datagrammen nicht berücksichtigt wird, da die zugrunde liegenden Transporte für Datagrammsendungen nicht blockiert werden.

RXCE_CONNECTION_INFORMATION ist eine Typdefinition für eine TDI_CONNECTION_INFORMATION-Struktur .

Anforderungen

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

Weitere Informationen

MDL

RxCeSend

TDI_CONNECTION_INFORMATION