W_INITIATE_OFFLOAD_HANDLER función de devolución de llamada (ndischimney.h)
[La característica de descarga de chimenea TCP está en desuso y no se debe usar.]
MiniportInitiateOffload descarga el estado de chimenea TCP de la pila de hosts.
Sintaxis
W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;
void WInitiateOffloadHandler(
[in] IN NDIS_HANDLE MiniportAdapterContext,
[in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}
Parámetros
[in] MiniportAdapterContext
Identificador de un área de contexto asignada de destino de descarga en la que el destino de descarga mantiene información de estado sobre esta instancia del adaptador. El controlador de minipuerto proporcionó este identificador a NDIS cuando llamó NdisMSetMiniportAttributes de su Función MiniportInitializeEx .
[in, out] OffloadBlockList
Puntero a un NDIS_MINIPORT_OFFLOAD_BLOCK_LIST estructura que puede ser una estructura independiente o la raíz de una lista vinculada de estas estructuras.
Valor devuelto
None
Observaciones
La función MiniportInitiateOffload almacena el puntero OffloadBlockList y, a continuación, devuelve. El destino de descarga siempre completa la operación de descarga de forma asincrónica mediante una llamada a . NdisMInitiateOffloadComplete. El árbol de estado al que apunta el puntero OffloadBlockList es válido hasta que el controlador de miniporte llama a NdisMInitiateOffloadComplete.
Después de volver de su función MiniportInitiateOffload , el estado de descarga de destino descarga desde el árbol de estado. Estructura NDIS_MINIPORT_OFFLOAD_BLOCK_LIST cuyo miembro MiniportOffloadContext apunta a una ubicación de memoria que contiene un valor NULL va seguido del estado que se va a descargar. Para obtener más información, vea Almacenar y hacer referencia al estado descargado. El miembro Header de una estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST contiene un miembro Type que especifica el tipo de estado de descarga y, por implicación, la estructura o estructuras del estado de descarga , que siguen inmediatamente la estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST en memoria.
El destino de descarga el estado de descarga asociado a una estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST en un área de contexto de descarga. Para obtener más información, vea Almacenar y hacer referencia al estado descargado.
Cuando se descarga el estado, el destino de descarga debe atravesar el árbol de estado de la manera más profunda y amplia. Es fundamental que un estado de descarga de destino descargue de esta manera.
Algunas de las estructuras de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST del árbol de estado que se pasan a la función MiniportInitiateOffload pueden ser marcadores de posición o nodos de vinculación que no tienen el estado complementario que se va a descargar. Para obtener más información, vea Marcadores de posición , enlazadores y Nuevas descargas.
El destino de descarga puede recibir datos almacenados en búfer de la pila de hosts para una conexión que se está descargando. El destino de descarga debe copiar estos datos en su propio búfer antes de completar la operación de descarga. Para obtener más información sobre el procesamiento de datos de recepción almacenados en búfer, consulte Controlar los datos de recepción almacenados en búfer durante y después de una operación de descarga.
Para cada objeto de estado que descarga, el destino de descarga también debe proporcionar un valor PVOID que haga referencia al área de contexto de descarga en la que el destino de descarga almacena el objeto de estado. El destino de descarga escribe este valor PVOID en la ubicación de memoria a la que apunta el miembro *MiniportOffloadContext de la estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST asociada al estado. Si el destino de descarga no ha descargado correctamente el estado asociado a la estructura de NDIS_MINIPORT_OFFLOAD_BLOCK_LIST, no debe escribir un valor en la ubicación de memoria a la que apunta el miembro *MiniportOffloadContext . Para obtener más información, vea Almacenar y hacer referencia al estado descargado.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | ndischimney.h (incluya Ndischimney.h) |
IRQL | Cualquier nivel |