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 |
---|---|
|
Fehler bei der Zuordnung des nicht ausseitigen Poolspeichers, der von dieser Routine benötigt wird. |
|
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 |