Compartilhar via


ProtocolStatus

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Essa função é um exigido função driver que lida com status-notificações alteração geradas por um subjacente sem conexão driver adaptador rede ou pela NDIS.

Syntax

VOID ProtocolStatus(
  NDIS_HANDLE ProtocolBindingContext,
  NDIS_STATUS GeneralStatus,
  PVOID StatusBuffer,
  UINT StatusBufferSize
);

Parameters

  • ProtocolBindingContext
    [no] Especifica o identificador para uma área Protocol-allocated contexto no qual o driver protocolo mantém por-tempo de execução ligação estado. O driver fornecido este identificador quando ele chamado NdisOpenAdapter.
  • GeneralStatus
    [no] Indica a codificar geral status, gerado por NDIS ou propagados a partir de subjacente chamar do driver para NdisMIndicateStatus.
  • StatusBuffer
    [no] Aponta para uma reserva contendo dados Medium-specific que dependem de valor de GeneralStatus.

    De exemplo, se a GeneralStatus argumento é NDIS_STATUS_RING_STATUS, este parâmetro aponta para um máscara de bits ULONG-sized e StatusBufferSize é quatro. Como outro exemplo, se GeneralStatus é NDIS_STATUS_WAN_LINE_UP, este parâmetro aponta para um NDIS_WAN_LINE_UP estrutura e StatusBufferSize é sizeof (NDIS_STATUS_WAN_LINE_UP).

    Para alguns NDIS_STATUS_XXX Valores, esse ponteiro é NULL e StatusBufferSize é definido como zero.

  • StatusBufferSize
    [no] Especifica o número de bytes em StatusBuffer.

Return Value

Nenhum.

Remarks

Um chamar para ProtocolStatus Notifica o protocolo sobre as alterações no status do subjacente rede adaptador ou seu driver.

ProtocolStatus interpreta uma codificar status gerais. Codificar o General Status é definido pela NDIS como um NDIS_STATUS_XXX valor e indica uma alteração em adaptador de rede a subjacente ou driver

Se tiver NDIS chamado o subjacente do driver MiniportReset função em uma tentativa restaurar adaptador de rede para um estado operacional, NDIS pode substituir NDIS_STATUS_RESET_START para a GeneralStatus indicado no chamar de miniporta para NdisMIndicateStatus.

Depending on o status em GeneralStatus, informações adicionais sobre o motivo específico para a alteração no status, que pode ser Medium-specific

De exemplo, falhas de anel-Inserir são específicas para redes Token Ring (802.5) e não aplicar para redes Ethernet (802.3).

NDIS notifica todos ligado protocolos quando um subjacente driver está redefinindo o adaptador rede pelo chamado seus ProtocolStatus funções, primeira com NDIS_STATUS_RESET_START e posteriores, quando a operação redefinir é concluída, com NDIS_STATUS_RESET_END. Após cada tal chamar para um ProtocolStatus função, NDIS também chama do o driver ProtocolStatusComplete função.

Porque NDIS será não envia protocolo-iniciada aceitar e solicitações para uma miniporta enquanto um redefinir é avisa a notificação NDIS_STATUS_RESET_START em andamento, ligado protocolos para manter logoff em suas chamadas para NdisSendPackets, NdisSend, e NdisRequest Sobre a ligação designada pelos respectivos ProtocolBindingContext dado a seus ProtocolStatus funções até que recebem o correspondente notificação NDIS_STATUS_RESET_END.

Se o protocolo próprio iniciou a operação redefinir com um chamar para NdisReset, seu ProtocolStatus função recebe as notificações NDIS_STATUS_RESET_START e NDIS_STATUS_RESET_END como qualquer outro protocolo ligado para a mesma subjacente driver. No entanto, se NdisReset Retorna NDIS_STATUS_PENDING, somente o ProtocolStatusComplete função do driver que iniciou a operação redefinir é chamado.

Do Conseqüentemente, cada protocolo ProtocolStatus função deve tomar qualquer ação é exigido para evitar que o protocolo de envio envia e solicitações assim ProtocolStatus recebe a notificação NDIS_STATUS_RESET_START deve reabilitar envia subseqüente e solicita quando ProtocolStatus recebe a notificação NDIS_STATUS_RESET_END. Geralmente, ProtocolStatus Simplesmente Define e limpa um sinalizador ResetInProgress in a ProtocolBindingContext área que outros verificar funções driver antes que eles iniciar envia ou solicita na ligação.

Como outro exemplo, o ProtocolStatus função de qualquer protocolo ligado acima adaptador recebe uma notificação fila sempre que o subjacente rede de longa distância (WAN) adaptador de rede miniporta é estabelecer um novo link. Após tal um protocolo foi negociado com alças contexto link-specific com adaptador, seu ProtocolStatus função possa receber fila adicional de conexão específico, de linha para baixo e indicações de fragmento, que o protocolo pode usar para a taxa de transferência otimizar e / ou desempenho sobre o link.

Quando o subjacente driver adaptador rede sinaliza uma alteração status, ele não associado alteração evento contadores e limites.

Requirements

Header ndis.h
Library Ndislib.lib
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

MiniportReset
NdisMIndicateStatus
NdisOpenAdapter
NdisRequest
NdisReset
NdisSend
ProtocolStatusComplete