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


функция обратного вызова NDK_FN_CREATE_SHARED_ENDPOINT (ndkpi.h)

Функция NdkCreateSharedEndpoint (NDK_FN_CREATE_SHARED_ENDPOINT) создает общую конечную точку NDK.

Синтаксис

NDK_FN_CREATE_SHARED_ENDPOINT NdkFnCreateSharedEndpoint;

NTSTATUS NdkFnCreateSharedEndpoint(
  [in]           NDK_ADAPTER *pNdkAdapter,
                 const PSOCKADDR pAddress,
  [in]           ULONG AddressLength,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SHARED_ENDPOINT **ppNdkSharedEndpoint
)
{...}

Параметры

[in] pNdkAdapter

Указатель на объект адаптера NDK (NDK_ADAPTER).

pAddress

Локальный адрес, используемый для инициации исходящих подключений. Для AF_INET или AF_INET6 pAddress содержит локальный IP-адрес и локальный порт ND.

[in] AddressLength

Размер данных локального адреса в байтах в параметре pAddress .

[in] CreateCompletion

Указатель на функцию NdkCreateCompletion (NDK_FN_CREATE_COMPLETION), которая завершает создание объекта NDK.

[in, optional] RequestContext

Значение контекста, которое поставщик NDK передает обратно в функцию NdkCreateCompletion , указанную в параметре CreateCompletion .

ppNdkSharedEndpoint

Указатель на созданный объект общей конечной точки (NDK_SHARED_ENDPOINT) возвращается в этом расположении, если запрос завершается успешно без возврата STATUS_PENDING. Если запрос возвращает STATUS_PENDING этот параметр игнорируется, а созданный объект возвращается с обратным вызовом, указанным в параметре CreateCompletion .

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

Функция NdkCreateSharedEndpoint возвращает один из следующих кодов NTSTATUS.

Код возврата Описание
STATUS_SUCCESS
Объект общей конечной точки был успешно создан и возвращен с параметром *ppNdkSharedEndpoint .
STATUS_PENDING
Операция находится в состоянии ожидания и будет завершена позже. Поставщик вызовет функцию, указанную в параметре CreateCompletion (NDK_FN_CREATE_COMPLETION), для завершения ожидающей операции.
STATUS_INSUFFICIENT_RESOURCES
Запрос завершился сбоем из-за нехватки ресурсов.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
 
STATUS_SHARING_VIOLATION
Запрос завершился ошибкой, так как указанный локальный адрес уже используется.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
 
STATUS_TOO_MANY_ADDRESSES
Запрос завершился ошибкой, так как потребитель указал номер локального порта, равный нулю, а поставщику Network Direct не удалось выделить порт из временного пространства портов (порты 49152–65535).
STATUS_INVALID_ADDRESS
Запрос завершился ошибкой, так как указанный локальный адрес не является допустимым адресом для адаптера.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
 
Другие коды состояния
Произошла ошибка.

Комментарии

Функция NdkCreateSharedEndpoint создает общую конечную точку NDK для использования в качестве локального адреса для нескольких исходящих подключений, предназначенных для разных удаленных адресов. Это аналогично наличии нескольких входящих подключений к одному и тому же локальному адресу, представленному объектом прослушивателя.

Если функция возвращает STATUS_SUCCESS, созданный объект возвращается в параметре ppNdkSharedEndpoint . Если NdkCreateSharedEndpoint возвращает STATUS_PENDING, созданный объект возвращается функцией NdkCreateCompletion (NDK_FN_CREATE_COMPLETION), указанной в параметре CreateCompletion .

Требования

Требование Значение
Минимальная версия клиента Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях.
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header ndkpi.h (включая Ndkpi.h)
IRQL <=DISPATCH_LEVEL

См. также раздел

Требования к времени существования объекта NDKPI

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_FN_CREATE_COMPLETION

NDK_SHARED_ENDPOINT