NDK_FN_CONNECT_WITH_SHARED_ENDPOINT função de retorno de chamada (ndkpi.h)
A função NdkConnectWithSharedEndpoint (NDK_FN_CONNECT_WITH_SHARED_ENDPOINT) inicia uma solicitação de conexão NDK de um endereço local compartilhado para um endereço remoto.
Sintaxe
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
)
{...}
Parâmetros
[in] pNdkConnector
Um ponteiro para um objeto de conector NDK (NDK_CONNECTOR).
[in] pNdkQp
Um ponteiro para um objeto de QP (par de filas) NDK (NDK_QP) a ser associado à conexão.
[in] pNdkSharedEndpoint
Um ponteiro para um objeto de ponto de extremidade compartilhado NDK (NDK_SHARED_ENDPOINT) que determina o endereço local da conexão.
pDestAddress
Um endereço de destino. Para AF_INET ou AF_INET6 pDestAddress é o endereço IP de destino e a porta ND de destino.
[in] DestAddressLength
O tamanho, em bytes, dos dados de endereço de destino no parâmetro pDestAddress.
[in] InboundReadLimit
O número máximo de operações de leitura em andamento fornecidas pelo consumidor para permitir no QP. Se o provedor subjacente tiver um valor MaxInboundReadLimit menor na estrutura NDK_ADAPTER_INFO , o provedor limitará o valor fornecido pelo consumidor ao máximo do provedor. Se o par tiver um valor OutboundReadLimit menor, o provedor usará esse valor como o InboundReadLimit efetivo. O consumidor pode recuperar o InboundReadLimit efetivo chamando a função NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[in] OutboundReadLimit
O número máximo fornecido pelo consumidor de operações de leitura em andamento de saída para permitir no QP. Se o provedor subjacente tiver um valor MaxOutboundReadLimit menor na estrutura NDK_ADAPTER_INFO , o provedor limitará o valor fornecido pelo consumidor ao máximo do provedor. Se o par tiver um InboundReadLimit menor, o provedor usará esse valor como o OutboundReadLimit efetivo. O consumidor pode recuperar o OutboundReadLimit efetivo chamando a função NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
Um ponteiro para dados privados enviados com a solicitação de conexão.
[in] PrivateDataLength
O comprimento, em bytes, dos dados privados fornecidos no parâmetro pPrivateData .
[in] RequestCompletion
Um ponteiro para uma rotina de retorno de chamada de conclusão de solicitação NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
[in, optional] RequestContext
Um valor de contexto a ser passado para o parâmetro Context da função de retorno de chamada especificada no parâmetro RequestCompletion .
Retornar valor
A função NdkConnectWithSharedEndpoint retorna um dos seguintes códigos NTSTATUS.
Código de retorno | Descrição |
---|---|
|
A solicitação de conexão foi concluída com êxito. |
|
A operação está pendente e será concluída posteriormente. O driver chamará a função RequestCompletion (NDK_FN_REQUEST_COMPLETION) especificada para concluir a operação pendente. |
|
A solicitação falhou devido a recursos insuficientes.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
A solicitação falhou porque a rede remota não estava acessível. A tentativa de conexão pode ser repetida.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
A solicitação falhou porque o sistema remoto não estava acessível. A tentativa de conexão pode ser repetida.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
A solicitação falhou porque o sistema remoto recusou a solicitação de conexão. Isso pode ocorrer devido à falta de ouvinte, limites de lista de pendências ou ao par rejeitar ativamente a solicitação de conexão. A tentativa de conexão pode ser repetida.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
A solicitação falhou porque a solicitação de conexão atingiu o tempo limite. A tentativa de conexão pode ser repetida. Os valores de tempo limite são selecionados pelos provedores diretos de rede para corresponder às respectivas características de rede.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
A solicitação falhou porque já existe uma conexão com a combinação de endereço local, porta local, endereço remoto e porta remota.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código status.
|
|
Ocorreu um erro. |
Comentários
NdkConnectWithSharedEndpoint inicia uma solicitação de conexão de um endereço local compartilhado para um endereço remoto específico. NdkConnectWithSharedEndpoint permite que um consumidor de NDK use o mesmo endereço local (por exemplo, 10.1.1.1:9999) para muitas conexões de saída quando os endereços de destino para as conexões são diferentes.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum com suporte, com suporte no NDIS 6.30 e posterior. |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Windows |
Cabeçalho | ndkpi.h (inclua Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |