функция обратного вызова 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.
Возвращаемый код | Описание |
---|---|
|
Объект общей конечной точки был успешно создан и возвращен с помощью параметра *ppNdkSharedEndpoint. |
|
Операция ожидается и будет завершена позже. Поставщик вызовет функцию, указанную в параметре createCompletion (NDK_FN_CREATE_COMPLETION) для завершения ожидающей операции. |
|
Сбой запроса из-за нехватки ресурсов.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как указанный локальный адрес уже используется.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Сбой запроса, так как потребитель указал номер локального порта нулю, и поставщик Сетевого direct не смог выделить порт из эфемерного пространства портов (порты 49152-65535.) |
|
Сбой запроса, так как указанный локальный адрес не является допустимым адресом для адаптера.
Важные запрос может завершиться сбоем, а также асинхронно с этим кодом состояния.
|
|
Произошла ошибка. |
Замечания
Функция 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 |