функция обратного вызова NDK_FN_GET_CONNECTION_DATA (ndkpi.h)
Функция NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) получает значения ограничения чтения и частные данные, отправленные одноранговым элементом.
Синтаксис
NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;
NTSTATUS NdkFnGetConnectionData(
[in] NDK_CONNECTOR *pNdkConnector,
[out, optional] ULONG *pInboundReadLimit,
[out, optional] ULONG *pOutboundReadLimit,
PVOID pPrivateData,
ULONG *pPrivateDataLength
)
{...}
Параметры
[in] pNdkConnector
Указатель на объект соединителя NDK (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
В этом расположении возвращается максимальное количество входящих операций чтения, разрешенных для QP.
[out, optional] pOutboundReadLimit
В этом расположении возвращается максимальное количество исходящих выполняемых операций чтения, разрешенных для QP.
pPrivateData
Указатель на возвращаемые частные данные.
pPrivateDataLength
Длина (в байтах) частных данных, предоставляемых в параметре pPrivateData .
Возвращаемое значение
Функция NdkGetConnectionData возвращает один из следующих кодов NTSTATUS.
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
Значение в параметре *pPrivateDataLength указывает размер буфера, который был слишком мал для хранения частных данных подключения. *pPrivateDataLength обновляется с требуемым размером. |
|
Произошла ошибка. |
Комментарии
Функция NdkGetConnectionData получает частные данные, отправляемые одноранговым элементом, с помощью запросов на подключение, принятие или отклонение, а также действующие значения ограничения на чтение для входящего и исходящего трафика. Эти значения являются производными от запрошенных локальных и удаленных одноранговых значений и максимальных ограничений поставщика.
Чтобы получить доступ к частным данным и значениям ограничения входящего чтения (IRD) и ограничения на чтение для исходящего трафика (ORD) с активной стороны, потребитель NDK может вызвать NdkGetConnectionData для объекта соединителя , переданного в функцию NDK_FN_CONNECT_EVENT_CALLBACK .
Для доступа к частным данным и эффективным значениям IRD и ORD с пассивной стороны потребитель может вызвать NdkGetConnectionData для объекта соединителя , для которого NDK_FN_CONNECT или NDK_FN_CONNECT_WITH_SHARED_ENDPOINT успешно завершен. Потребитель NDK не будет вызывать эту функцию после вызова функции NDK_FN_ACCEPT на пассивной стороне или функции NDK_FN_COMPLETE_CONNECT на активной стороне.
Если параметр pPrivateData имеет значение NULL, а *pPrivateDataLength равен нулю, поставщик NDK должен вернуть STATUS_SUCCESS и сохранить требуемый размер буфера частных данных (RDS) в *pPrivateDataLength.
Если pPrivateData не имеет значения NULL, поставщик должен скопировать частные данные в буфер pPrivateData до меньшего значения *pPrivateDataLength или RDS в байтах.
Если значение *pPrivateDataLength больше или равно RDS, поставщик должен вернуть STATUS_SUCCESS. В противном случае поставщик должен вернуть STATUS_BUFFER_TOO_SMALL. В обоих случаях поставщик должен сохранить RDS в *pPrivateDataLength перед возвратом.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях. |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Windows |
Header | ndkpi.h (включая Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |