Función NdisEnumerateFilterModules (ndis.h)

La función NdisEnumerateFilterModules enumera todos los módulos de filtros y filtra instancias de controlador intermedio en una pila de filtros.

Sintaxis

NDIS_STATUS NdisEnumerateFilterModules(
  [in]      NDIS_HANDLE NdisHandle,
  [in]      PVOID       InterfaceBuffer,
  [in]      ULONG       InterfaceBufferLength,
  [in, out] PULONG      BytesNeeded,
  [in, out] PULONG      BytesWritten
);

Parámetros

[in] NdisHandle

Identificador NDIS que se obtuvo durante la inicialización del autor de la llamada. Para obtener más información sobre este identificador, consulte Obtención de identificadores de grupo.

Si el controlador es un controlador de adaptador de miniporte NDIS, NDIS devuelve información sobre todos los módulos de interfaz que están conectados actualmente al adaptador de miniporte, empezando por el módulo de filtro superior.

Si el identificador es un identificador de enlace NDIS, NDIS devuelve información sobre todos los módulos de filtro que están conectados actualmente al adaptador de minipuerto subyacente, empezando por el módulo de filtro superior.

Si el identificador es un identificador de módulo de filtro NDIS, NDIS devuelve información sobre todos los módulos de filtro que están conectados actualmente al adaptador de minipuerto subyacente al que está asociado el módulo de filtro especificado, empezando por el módulo de filtro superior.

[in] InterfaceBuffer

Puntero a un bloque de memoria asignado por el autor de la llamada en el que NDIS devuelve la información de todos los módulos de filtro de una pila de filtros, empezando por el filtro más alto. Este búfer contiene una estructura de NDIS_ENUM_FILTERS seguida de cero o más estructuras NDIS_FILTER_INTERFACE , una para cada módulo de filtro de la pila.

[in] InterfaceBufferLength

Longitud, en bytes, del bloque de memoria proporcionado por el autor de la llamada en el miembro InterfaceBuffer .

[in, out] BytesNeeded

Puntero a una variable proporcionada por el autor de la llamada donde NDIS escribe el número total de bytes que NDIS requiere para devolver correctamente la información de la interfaz para todos los filtros de la pila de filtros.

[in, out] BytesWritten

Puntero a una variable proporcionada por el autor de la llamada donde NDIS escribe el total de bytes que NDIS escribió en la memoria en InterfaceBuffer.

Valor devuelto

NdisEnumerateFilterModules devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
La operación se ha completado correctamente.
NDIS_STATUS_INVALID_PARAMETER
Error de NdisEnumerateFilterModules porque el parámetro NdisHandle no era un adaptador de miniporte NDIS válido, enlace de protocolo o identificador de módulo de filtro.
NDIS_STATUS_BUFFER_TOO_SHORT
Error de NdisEnumerateFilterModules porque el búfer proporcionado en el parámetro InterfaceBuffer era demasiado corto para que NDIS devuelva toda la información. Si se escribió un resultado parcial en InterfaceBuffer, el valor en el parámetro BytesWritten contiene la longitud de los resultados parciales.

Comentarios

Un controlador de miniporte NDIS, controlador de protocolo o controlador de filtro puede llamar a la función NdisEnumerateFilterModules para enumerar todos los filtros de una pila de filtros.

NdisEnumerateFilterModules devuelve la lista de módulos de filtro y filtra los controladores intermedios de la parte superior a la parte inferior de la pila de controladores. Por ejemplo, si los módulos de filtro (F1 y F2) están conectados al adaptador de minipuerto (M1) y si F2 está por encima de F1, NdisEnumerateFilterModules devuelve la lista en el orden siguiente: F2, F1. Si también hay un controlador intermedio de filtro (M2) enlazado a M1, si M2 está por encima de F2 y si otro filtro (F3) está asociado a M2, NdisEnumerateFilterModules devuelve la lista de filtros en el orden siguiente: F3, M2, F2, F1.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI Irql_Filter_Driver_Function(ndis)

Consulte también

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE