функция обратного вызова 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), для завершения ожидающей операции. |
|
Запрос завершился сбоем из-за нехватки ресурсов.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
|
|
Запрос завершился ошибкой, так как указанный локальный адрес уже используется.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
|
|
Запрос завершился ошибкой, так как потребитель указал номер локального порта, равный нулю, а поставщику Network Direct не удалось выделить порт из временного пространства портов (порты 49152–65535). |
|
Запрос завершился ошибкой, так как указанный локальный адрес не является допустимым адресом для адаптера.
Важно Запрос может завершиться как встроенным, так и асинхронным с этим кодом состояния.
|
|
Произошла ошибка. |
Комментарии
Функция 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 |