PROTOCOL_CO_STATUS_EX função de retorno de chamada (ndis.h)

A função ProtocolCoStatusEx indica status alterações de drivers subjacentes orientados à conexão ou do NDIS.

Nota Você deve declarar a função usando o tipo PROTOCOL_CO_STATUS_EX . Para obter mais informações, consulte a seção Exemplos a seguir.
 

Sintaxe

PROTOCOL_CO_STATUS_EX ProtocolCoStatusEx;

void ProtocolCoStatusEx(
  [in] NDIS_HANDLE ProtocolBindingContext,
  [in] NDIS_HANDLE ProtocolVcContext,
  [in] PNDIS_STATUS_INDICATION StatusIndication
)
{...}

Parâmetros

[in] ProtocolBindingContext

Um identificador para uma área de contexto alocada pelo driver de protocolo. O driver de protocolo mantém as informações de contexto por associação nessa área de contexto. O driver forneceu esse identificador para o NDIS quando o driver chamou a função NdisOpenAdapterEx .

[in] ProtocolVcContext

Um identificador para uma área de contexto alocada pelo driver de protocolo na qual o driver de protocolo mantém informações de estado de tempo de execução de VC (conexão virtual). Se a indicação status não for específica de VC, esse parâmetro será NULL. Caso contrário, o driver de protocolo originalmente forneceu esse identificador quando chamou a função NdisCoCreateVc ou de sua função ProtocolCoCreateVc .

[in] StatusIndication

Um ponteiro para uma estrutura NDIS_STATUS_INDICATION que contém as informações de status.

Retornar valor

Nenhum

Comentários

O NDIS chama ProtocolCoStatusEx para notificar um driver de protocolo sobre as alterações no status de um driver CoNDIS subjacente. Um identificador DE VC NULL para o parâmetro ProtocolVcContext indica uma alteração status que não é específica de uma VC. Para um identificador VC não NULL, o NDIS restringe a notificação de status a clientes ou gerentes de chamadas que compartilham esse identificador de VC.

O NDIS serializa status indicações para cada associação de protocolo. Para determinar status de link, use as indicações de status de drivers subjacentes em vez de consultas OID. Essas status indicações melhorarão o desempenho do sistema e evitarão possíveis condições de corrida.

O NDIS chama ProtocolCoStatusEx em IRQL <= DISPATCH_LEVEL.

Exemplos

Para definir uma função ProtocolCoStatusEx , primeiro você deve fornecer uma declaração de função que identifique o tipo de função que você está definindo. O Windows fornece um conjunto de tipos de função para drivers. Declarar uma função usando os tipos de função ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função ProtocolCoStatusEx chamada "MyCoStatusEx", use o tipo PROTOCOL_CO_STATUS_EX conforme mostrado neste exemplo de código:

PROTOCOL_CO_STATUS_EX MyCoStatusEx;

Em seguida, implemente sua função da seguinte maneira:

_Use_decl_annotations_
VOID
 MyCoStatusEx(
    NDIS_HANDLE  ProtocolBindingContext,
    NDIS_HANDLE  ProtocolVcContext,
    PNDIS_STATUS_INDICATION  StatusIndication
    )
  {...}

O tipo de função PROTOCOL_CO_STATUS_EX é definido no arquivo de cabeçalho Ndis.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função PROTOCOL_CO_STATUS_EX no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers NDIS.

Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Plataforma de Destino Windows
Cabeçalho ndis.h (inclua Ndis.h)
IRQL <= DISPATCH_LEVEL (consulte a seção Comentários)

Confira também

NDIS_STATUS_INDICATION

NdisCoCreateVc

NdisOpenAdapterEx

ProtocolCoCreateVc