Compartilhar via


NDIS_STATUS_INDICATION estrutura (ndis.h)

O NDIS e os drivers subjacentes usam a estrutura NDIS_STATUS_INDICATION para fornecer indicações de status para drivers de protocolo sobressociá-lo.

Sintaxe

typedef struct _NDIS_STATUS_INDICATION {
  NDIS_OBJECT_HEADER Header;
  NDIS_HANDLE        SourceHandle;
  NDIS_PORT_NUMBER   PortNumber;
  NDIS_STATUS        StatusCode;
  ULONG              Flags;
  NDIS_HANDLE        DestinationHandle;
  PVOID              RequestId;
  PVOID              StatusBuffer;
  ULONG              StatusBufferSize;
  GUID               Guid;
  PVOID              NdisReserved[4];
} NDIS_STATUS_INDICATION, *PNDIS_STATUS_INDICATION;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura de NDIS_STATUS_INDICATION. Defina o membro tipo de da estrutura que de Cabeçalho especifica para NDIS_OBJECT_TYPE_STATUS_INDICATION, o membro de Revisão de para NDIS_STATUS_INDICATION_REVISION_1 e o membro tamanho do para NDIS_SIZEOF_STATUS_INDICATION_REVISION_1.

SourceHandle

A origem da indicação de status. Se a origem for um adaptador de miniporto, deverá ser o identificador que o NDIS passou para o parâmetro MiniportAdapterHandle da função MiniportInitializeEx. Se a origem for um módulo de filtro, deverá ser o identificador que o NDIS passou para o parâmetro NdisFilterHandle da função FilterAttach.

PortNumber

A porta de origem da indicação de status. Se a indicação de status não for específica a uma porta, defina PortNumber como zero.

StatusCode

O código de status, fornecido pelo NDIS ou propagado dos drivers subjacentes. O valor é um códigoXXX NDIS_STATUS_. Para obter mais informações sobre NDIS_STATUS_códigos de XXX, consulte de Indicações de Status.

Flags

O tipo de informação no buffer de status em StatusBuffer . Os drivers de miniporto definem esse membro como zero. Este membro é reservado para NDIS.

DestinationHandle

Um identificador que identifica o driver em excesso que deve receber a indicação de status. Se NULL, o NDIS indicará o status para cada driver de protocolo associado ao adaptador de miniporto. Se nãoNULL, o NDIS indicará o status somente para o driver identificado DestinationHandle. Nesse caso, o driver também deve definir o membro RequestId. Para obter mais informações sobre solicitações de OID, consulte a seção Comentários.

RequestId

A solicitação OID associada à indicação de status. Se não houver nenhuma solicitação OID associada à indicação de status, RequestId será NULL. Os drivers de miniport devem definir o membro RequestId se a indicação de status estiver associada a uma solicitação OID que o driver de miniporto concluiu com um status retornado de NDIS_STATUS_INDICATION_REQUIRED. Nesse caso, o driver também deve definir o membro DestinationHandle.

Para obter mais informações sobre solicitações de OID, consulte a seção Comentários a seguir.

StatusBuffer

Um ponteiro para um buffer que contém dados específicos médios que dependem do valor em StatusCode .

Por exemplo, se StatusCode for NDIS_STATUS_LINK_STATE, esse parâmetro apontará para uma estrutura NDIS_LINK_STATE e StatusBufferSize for sizeof(NDIS_LINK_STATE).

Para alguns NDIS_STATUS_valores de XXX, esse ponteiro é NULL e StatusBufferSize está definido como zero.

StatusBufferSize

O comprimento, em bytes, do buffer de informações de status em StatusBuffer .

Guid

Um GUID privado que o NDIS usa para gerar uma notificação WMI. Para obter mais informações sobre GUIDs privados, consulte OID_GEN_SUPPORTED_GUIDS.

NdisReserved[4]

Reservado para NDIS.

Observações

Os drivers de miniport indicam o status chamando a função NdisMIndicateStatusEx. Os drivers de filtro chamam a função NdisFIndicateStatus.

Algumas solicitações OID permitem que um driver de miniporto forneça um status de conclusão OID com uma indicação de status. Nesse caso, o driver de miniporto retorna NDIS_STATUS_INDICATION_REQUIRED para o status de conclusão da solicitação OID. Um driver de miniporto não pode retornar esse status, a menos que o OID específico o permita. Para determinar se esse status é permitido, consulte a página de referência OID.

Se uma indicação de status estiver associada a uma solicitação OID em que o driver de miniporto retornou NDIS_STATUS_INDICATION_REQUIRED, o driver que está fazendo a indicação de status deverá definir os membros DestinationHandle e RequestId membros na estrutura NDIS_STATUS_INDICATION.

Nesse caso, o driver define os membros DestinationHandle e RequestId para os valores dos membros RequestHandle e RequestId membros na estrutura NDIS_OID_REQUEST, respectivamente.

Por exemplo, na rede sem fio, o processamento de uma solicitação OID pode levar muito tempo para ser concluído. Nesse caso, o driver de miniporto pode concluir a solicitação OID imediatamente e fornecer uma indicação de status posteriormente para fornecer o resultado final da solicitação OID.

Os drivers de protocolo recebem indicações de status na função ProtocolStatusEx. Os drivers de filtro recebem indicações de status na função FilterStatus.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.0 e posterior.
cabeçalho ndis.h (inclua Ndis.h)

Consulte também

FilterAttach

FilterStatus

MiniportInitializeEx

NDIS_LINK_STATE

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_STATUS_LINK_STATE

NDIS_TAPI_EVENT

NdisFindicateStatus

NdisMIndicateStatusEx

NdisOpenAdapterEx

OID_GEN_SUPPORTED_GUIDS

ProtocolStatusEx