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


функция обратного вызова 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
Сбой запроса, так как потребитель указал номер локального порта нулю, и поставщик Сетевого 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
целевая платформа Виндоус
заголовка ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

См. также

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

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_FN_CREATE_COMPLETION

NDK_SHARED_ENDPOINT