Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция NdkConnectWithSharedEndpoint (NDK_FN_CONNECT_WITH_SHARED_ENDPOINT) инициирует запрос подключения NDK из общего локального адреса к удаленному адресу.
Синтаксис
NDK_FN_CONNECT_WITH_SHARED_ENDPOINT NdkFnConnectWithSharedEndpoint;
NTSTATUS NdkFnConnectWithSharedEndpoint(
[in] NDK_CONNECTOR *pNdkConnector,
[in] NDK_QP *pNdkQp,
[in] NDK_SHARED_ENDPOINT *pNdkSharedEndpoint,
const PSOCKADDR pDestAddress,
[in] ULONG DestAddressLength,
[in] ULONG InboundReadLimit,
[in] ULONG OutboundReadLimit,
[_In_reads_bytes_opt_(PrivateDataLength)] const PVOID pPrivateData,
[in] ULONG PrivateDataLength,
[in] NDK_FN_REQUEST_COMPLETION RequestCompletion,
[in, optional] PVOID RequestContext
)
{...}
Параметры
[in] pNdkConnector
Указатель на объект соединителя NDK (NDK_CONNECTOR).
[in] pNdkQp
Указатель на объект пары очередей NDK (QP) (NDK_QP) для связи с подключением.
[in] pNdkSharedEndpoint
Указатель на объект NDK общей конечной точки (NDK_SHARED_ENDPOINT), определяющий локальный адрес подключения.
pDestAddress
Адрес назначения. Для AF_INET или AF_INET6 pDestAddress является IP-адрес назначения и порт назначения ND.
[in] DestAddressLength
Размер в байтах данных адреса назначения в pDestAddress. параметр.
[in] InboundReadLimit
Предоставленное потребителем максимальное количество входящих операций чтения в ходе выполнения, разрешаемых на QP. Если базовый поставщик имеет более низкую значение MaxInboundReadLimit в структуре NDK_ADAPTER_INFO, поставщик будет заверять значение, предоставленное потребителем, максимальное значение поставщика. Если одноранговый узел имеет меньшее значение OutboundReadLimit, поставщик будет использовать это значение в качестве эффективного InboundReadLimit. Потребитель может получить действующий InboundReadLimit путем вызова функции NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[in] OutboundReadLimit
Предоставленное потребителем максимальное количество исходящих операций чтения в ходе выполнения, разрешаемое на QP. Если базовый поставщик имеет более низкую значение MaxOutboundReadLimit в структуре NDK_ADAPTER_INFO, поставщик будет ограничить предоставленное потребителем значение максимальное значение поставщика. Если одноранговый узел имеет более низкий InboundReadLimit, поставщик будет использовать это значение в качестве эффективной OutboundReadLimit. Потребитель может получить действующий OutboundReadLimit путем вызова функции NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
Указатель на частные данные, отправляемые с запросом на подключение.
[in] PrivateDataLength
Длина в байтах частных данных, предоставляемых в параметре pPrivateData.
[in] RequestCompletion
Указатель на подпрограмму обратного вызова завершения запроса NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
[in, optional] RequestContext
Значение контекста, передаваемое параметру контекста функции обратного вызова, указанной в параметре RequestCompletion.
Возвращаемое значение
Функция NdkConnectWithSharedEndpoint возвращает один из следующих кодов NTSTATUS.
| Возвращаемый код | Описание |
|---|---|
|
Запрос подключения выполнен успешно. |
|
Операция ожидается и будет завершена позже. Драйвер вызовет указанную функцию RequestCompletion (NDK_FN_REQUEST_COMPLETION) для завершения ожидающей операции. |
|
Сбой запроса из-за нехватки ресурсов.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как удаленная сеть недоступна. Попытка подключения может быть извлечена.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как удаленная система недоступна. Попытка подключения может быть извлечена.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как удаленная система отказалась от запроса подключения. Это может быть вызвано отсутствием прослушивателя, ограничений невыполненной работы или активного отклонения запроса на подключение. Попытка подключения может быть извлечена.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как время ожидания запроса подключения истекло. Попытка подключения может быть извлечена. Значения времени ожидания выбираются поставщиками Network Direct, чтобы соответствовать соответствующим сетевым характеристикам.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как подключение с сочетанием локального адреса, локального порта, удаленного адреса и удаленного порта уже существует.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Произошла ошибка. |
Замечания
NdkConnectWithSharedEndpoint инициирует запрос на подключение с общего локального адреса к конкретному удаленному адресу. NdkConnectWithSharedEndpoint позволяет потребителю NDK использовать тот же локальный адрес (например, 10.1.1.1.1:9999) для многих исходящих подключений, когда адреса назначения для подключений отличаются.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях. |
| минимальный поддерживаемый сервер | Windows Server 2012 |
| целевая платформа | Виндоус |
| заголовка | ndkpi.h (include Ndkpi.h) |
| IRQL | <=DISPATCH_LEVEL |