Поделиться через


Функция RxCeSendDatagram (rxce.h)

RxCeSendDatagram отправляет единицу данных службы транспорта (TSDU) по указанному подключению на виртуальном канале.

Синтаксис

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
);

Параметры

hAddress

Указатель на транспорт, по которому отправляется TSDU.

[in] pConnectionInformation

Указатель на сведения о подключении, содержащие удаленный адрес.

SendOptions

Указатель на сведения о подключении, содержащие удаленный адрес.

[in] pMdl

Указатель на отправленный буфер.

[in] SendLength

Длина отправленных данных.

[in] pCompletionContext

Контекст, переданный вызывающей стороне во время SendCompletion для асинхронных операций. Не то, что этот параметр игнорируется, если параметры запрашивают синхронную операцию отправки.

Возвращаемое значение

RxCeSendDatagram возвращает STATUS_SUCCESS при успешном выполнении или одном из следующих кодов ошибок при сбое:

Возвращаемый код Описание
STATUS_INSUFFICIENT_RESOURCES
Сбой выделения памяти непагрегированного пула, необходимой для этой подпрограммы.
STATUS_INVALID_PARAMETER
Недопустимая длина была передана в параметре SendLength на основе указанных параметров.

Замечания

Асинхронные и синхронные параметры, указанные в параметре параметров, используемых в RxCeSendDatagram различать две ситуации. В асинхронном случае элемент управления возвращается вызывающему объекту после успешного отправки запроса в базовый транспорт. Результаты любого заданного запроса передаются обратно с помощью подпрограммы обратного вызова SendCompletion. Параметр pCompletionContext в RxCeSendDatagram передается обратно в подпрограмму обратного вызова, чтобы помочь вызывающей стороне в дискредитации запросов.

В синхронном случае запрос отправляется в базовый транспорт, и элемент управления не возвращается вызывающей объекту до завершения запроса. Обратите внимание, что в синхронном случае параметр pCompletionContext игнорируется, а состояние, возвращаемое в соответствии с состоянием завершения операций.

Преимущество асинхронных и синхронных параметров зависит от базового транспорта. Например, в среде виртуального канала (TCP) синхронный параметр подразумевает, что элемент управления не возвращается до тех пор, пока данные не достигают сервера. С другой стороны, для транспорта, ориентированного на диаграмму данных (UDP, например), существует очень мало различий между двумя вариантами.

Обратите внимание, что синхронный параметр игнорируется для отправки данных, так как базовые транспорты не блокируют отправку данных.

RXCE_CONNECTION_INFORMATION — это типдф для структуры TDI_CONNECTION_INFORMATION.

Требования

Требование Ценность
целевая платформа Настольный
заголовка rxce.h (include Rxce.h, Tdi.h)
IRQL <= APC_LEVEL

См. также

MDL

RxCeSend

TDI_CONNECTION_INFORMATION