Функция 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 при успешном выполнении или одном из следующих кодов ошибок при сбое:
Возвращаемый код | Описание |
---|---|
|
Сбой выделения памяти непагрегированного пула, необходимой для этой подпрограммы. |
|
Недопустимая длина была передана в параметре SendLength на основе указанных параметров. |
Замечания
Асинхронные и синхронные параметры, указанные в параметре параметров, используемых в RxCeSendDatagram различать две ситуации. В асинхронном случае элемент управления возвращается вызывающему объекту после успешного отправки запроса в базовый транспорт. Результаты любого заданного запроса передаются обратно с помощью подпрограммы обратного вызова SendCompletion. Параметр pCompletionContext в RxCeSendDatagram передается обратно в подпрограмму обратного вызова, чтобы помочь вызывающей стороне в дискредитации запросов.
В синхронном случае запрос отправляется в базовый транспорт, и элемент управления не возвращается вызывающей объекту до завершения запроса. Обратите внимание, что в синхронном случае параметр pCompletionContext игнорируется, а состояние, возвращаемое в соответствии с состоянием завершения операций.
Преимущество асинхронных и синхронных параметров зависит от базового транспорта. Например, в среде виртуального канала (TCP) синхронный параметр подразумевает, что элемент управления не возвращается до тех пор, пока данные не достигают сервера. С другой стороны, для транспорта, ориентированного на диаграмму данных (UDP, например), существует очень мало различий между двумя вариантами.
Обратите внимание, что синхронный параметр игнорируется для отправки данных, так как базовые транспорты не блокируют отправку данных.
RXCE_CONNECTION_INFORMATION — это типдф для структуры TDI_CONNECTION_INFORMATION.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | rxce.h (include Rxce.h, Tdi.h) |
IRQL | <= APC_LEVEL |