Función FwpsReferenceNetBufferList0 (fwpsk.h)
La función FwpsReferenceNetBufferList0 incrementa el recuento de referencias de una estructura de NET_BUFFER_LIST .
Sintaxis
void FwpsReferenceNetBufferList0(
[in, out] NET_BUFFER_LIST *netBufferList,
[in] BOOLEAN intendToModify
);
Parámetros
[in, out] netBufferList
Puntero a la estructura NET_BUFFER_LIST para la que se incrementa el recuento de referencias.
[in] intendToModify
Valor que indica si una llamada pretende modificar la lista de búferes de red clonada, cuyo elemento primario apunta al parámetro netBufferList , después de que se haya devuelto la función classifyFn . Si es TRUE, la llamada pretende modificar la lista de búferes neto clonados después de que classifyFn haya devuelto (una modificación fuera de banda). De lo contrario, establezca en FALSE.
Valor devuelto
None
Observaciones
Un controlador de llamada llama a la función FwpsReferenceNetBufferList0 para incrementar el recuento de referencias de una estructura de NET_BUFFER_LIST de modo que la lista de búferes de red permanezca válida fuera de la función classifyFn .
Por ejemplo, cuando un controlador de llamada realiza el reaensamblaje de paquetes, incrementa el recuento de referencias de cada una de las estructuras de NET_BUFFER_LIST recibidas que describen los fragmentos de paquetes que componen un paquete individual. Esto permite que la nueva estructura de NET_BUFFER_LIST que describe el paquete reensamblado haga referencia de forma segura a las listas de descriptores de memoria (MDL) a las que apuntan las estructuras de NET_BUFFER_LIST que describen los fragmentos de paquetes. Una vez que el controlador de llamada ha insertado la nueva estructura de NET_BUFFER_LIST en la pila de red, disminuye el recuento de referencias para cada una de las estructuras de NET_BUFFER_LIST que describen los fragmentos de paquetes de su rutina de finalización de inyección de paquetes.
Un controlador de llamada debe llamar a la función FwpsDereferenceNetBufferList0 para la estructura de NET_BUFFER_LIST después de que el controlador de llamada haya terminado de hacer referencia a la estructura.
Directrices para administrar paquetes a los que se hace referencia
Un controlador de llamada no debe contener paquetes a los que se hace referencia indefinidamente. Un paquete al que se hace referencia puede interferir con las operaciones de administración de energía en un equipo inactivo.El uso previsto para los paquetes a los que se hace referencia en EL PMA es obtener aclaraciones de una aplicación en modo de usuario u otra operación relativamente rápida. El controlador de llamada no debe contener paquetes a los que se hace referencia mientras, por ejemplo, esperando la entrada del usuario, la autorización del servicio web o cualquier otra operación que pueda tardar un tiempo arbitrario.
Si el controlador de llamada debe esperar una operación potencialmente larga, debe realizar una copia profunda del paquete mediante FwpsAllocateNetBufferAndNetBufferList0 y bloquear y absorber el paquete original.
Los controladores de llamada siempre deben devolver los paquetes retenidos lo antes posible.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Plataforma de destino | Universal |
Encabezado | fwpsk.h (incluya Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |