NDK_FN_GET_CONNECTION_DATA función de devolución de llamada (ndkpi.h)
La función NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) obtiene valores de límite de lectura y los datos privados enviados por el mismo nivel.
Sintaxis
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
Puntero a un objeto de conector NDK (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
El número máximo de operaciones de lectura entrantes en curso que se permiten en el QP se devuelve en esta ubicación.
[out, optional] pOutboundReadLimit
El número máximo de operaciones de lectura en curso salientes para permitir en el QP se devuelve en esta ubicación.
pPrivateData
Puntero a datos privados que se devuelven.
pPrivateDataLength
Longitud, en bytes, de los datos privados que se proporcionan en el parámetro pPrivateData .
Valor devuelto
La función NdkGetConnectionData devuelve uno de los siguientes códigos NTSTATUS.
Código devuelto | Descripción |
---|---|
|
La operación se ha completado correctamente. |
|
El valor del parámetro *pPrivateDataLength especificó un tamaño de búfer demasiado pequeño para contener los datos privados de conexión. *pPrivateDataLength se actualiza con el tamaño necesario. |
|
Se produjo un error. |
Comentarios
La función NdkGetConnectionData obtiene los datos privados enviados por el mismo nivel con solicitudes de conexión, aceptación o rechazo y los valores efectivos de límite de lectura de entrada y salida. Estos valores se derivan de los valores solicitados de los pares locales y remotos y los límites máximos del proveedor.
Para acceder a los datos privados y a los valores efectivos de límite de lectura de entrada (IRD) y de límite de lectura saliente (ORD) del lado activo, un consumidor de NDK puede llamar a NdkGetConnectionData para un objeto de conector que se pasó a la función NDK_FN_CONNECT_EVENT_CALLBACK .
Para acceder a los datos privados y los valores de IRD y ORD efectivos desde el lado pasivo, el consumidor puede llamar a NdkGetConnectionData para un objeto de conector para el que NDK_FN_CONNECT o NDK_FN_CONNECT_WITH_SHARED_ENDPOINT completado correctamente Un consumidor NDK no llamará a esta función después de llamar a la función NDK_FN_ACCEPT en el lado pasivo o la función NDK_FN_COMPLETE_CONNECT en el lado activo.
Si el parámetro pPrivateData es NULL y *pPrivateDataLength es cero, un proveedor de NDK debe devolver STATUS_SUCCESS y almacenar el tamaño de búfer de datos privado necesario (RDS) en *pPrivateDataLength.
Si pPrivateData no es NULL, el proveedor debe copiar los datos privados en el búfer en pPrivateData hasta el menor de *pPrivateDataLength o RDS en bytes.
Si *pPrivateDataLength es mayor o igual que RDS, el proveedor debe devolver STATUS_SUCCESS. De lo contrario, el proveedor debe devolver STATUS_BUFFER_TOO_SMALL. En ambos casos, el proveedor debe almacenar el RDS en *pPrivateDataLength antes de devolverlo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Ninguno compatible, compatible con NDIS 6.30 y versiones posteriores. |
Servidor mínimo compatible | Windows Server 2012 |
Plataforma de destino | Windows |
Encabezado | ndkpi.h (incluya Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |