NDK_FN_GET_CONNECTION_DATA função de retorno de chamada (ndkpi.h)
A função NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) obtém valores de limite de leitura e os dados privados enviados pelo par.
Sintaxe
NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;
NTSTATUS NdkFnGetConnectionData(
[in] NDK_CONNECTOR *pNdkConnector,
[out, optional] ULONG *pInboundReadLimit,
[out, optional] ULONG *pOutboundReadLimit,
PVOID pPrivateData,
ULONG *pPrivateDataLength
)
{...}
Parâmetros
[in] pNdkConnector
Um ponteiro para um objeto de conector NDK (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
O número máximo de operações de leitura em andamento recebidas para permitir no QP é retornado nesse local.
[out, optional] pOutboundReadLimit
O número máximo de operações de leitura em andamento de saída para permitir no QP é retornado nesse local.
pPrivateData
Um ponteiro para dados privados retornados.
pPrivateDataLength
O comprimento, em bytes, dos dados privados fornecidos no parâmetro pPrivateData .
Retornar valor
A função NdkGetConnectionData retorna um dos seguintes códigos NTSTATUS.
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
O valor no parâmetro *pPrivateDataLength especificou um tamanho de buffer muito pequeno para manter os dados privados de conexão. *pPrivateDataLength é atualizado com o tamanho necessário. |
|
Ocorreu um erro. |
Comentários
A função NdkGetConnectionData obtém os dados privados enviados pelo par com solicitações de conexão, aceita ou rejeição e os valores efetivos de limite de leitura de entrada e saída. Esses valores são derivados dos valores solicitados dos pares locais e remotos e dos limites máximos do provedor.
Para acessar os dados privados e os valores efetivos de IRD (limite de leitura de entrada) e ORD (limite de leitura de saída) do lado ativo, um consumidor do NDK pode chamar NdkGetConnectionData para um objeto de conector que foi passado para a função NDK_FN_CONNECT_EVENT_CALLBACK .
Para acessar os dados privados e os valores efetivos de IRD e ORD do lado passivo, o consumidor pode chamar NdkGetConnectionData para um objeto de conector para o qual NDK_FN_CONNECT ou NDK_FN_CONNECT_WITH_SHARED_ENDPOINT concluído com êxito Um consumidor do NDK não chamará essa função depois de chamar a função NDK_FN_ACCEPT no lado passivo ou na função NDK_FN_COMPLETE_CONNECT no lado ativo.
Se o parâmetro pPrivateData for NULL e *pPrivateDataLength for zero, um provedor de NDK deverá retornar STATUS_SUCCESS e armazenar o tamanho necessário do buffer de dados privado (RDS) em *pPrivateDataLength.
Se pPrivateData não for NULL, o provedor deverá copiar os dados privados para o buffer em pPrivateData até o menor de *pPrivateDataLength ou RDS em bytes.
Se *pPrivateDataLength for maior ou igual a RDS, o provedor deverá retornar STATUS_SUCCESS. Caso contrário, o provedor deverá retornar STATUS_BUFFER_TOO_SMALL. Em ambos os casos, o provedor deve armazenar o RDS em *pPrivateDataLength antes de retornar.
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 |