Compartilhar via


estrutura NDIS_STATUS_INDICATION (ndis.h)

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

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 NDIS_STATUS_INDICATION. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_STATUS_INDICATION, o membro Revision como NDIS_STATUS_INDICATION_REVISION_1 e o membro Size como NDIS_SIZEOF_STATUS_INDICATION_REVISION_1.

SourceHandle

A origem da indicação 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 status não for específica para uma porta, defina PortNumber como zero.

StatusCode

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

Flags

O tipo de informações no buffer status em StatusBuffer. Os drivers de miniporte definem esse membro como zero. Esse membro é reservado para o NDIS.

DestinationHandle

Um identificador que identifica o driver overlying que deve receber a indicação status. Se NULL, o NDIS indicará a status para cada driver de protocolo associado ao adaptador de miniporte. Se não for NULL, o NDIS indicará o status somente para o driver que DestinationHandle identifica. 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 miniporte 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 será sizeof(NDIS_LINK_STATE).

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

StatusBufferSize

O comprimento, em bytes, do buffer de informações 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.

Comentários

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

Algumas solicitações de OID permitem que um driver de miniporte forneça uma status de conclusão de 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 miniporte 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 status deverá definir os membros DestinationHandle e RequestId na estrutura NDIS_STATUS_INDICATION.

Nesse caso, o driver define os membros DestinationHandle e RequestId para os valores dos membros RequestHandle e RequestId 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 status posteriormente para fornecer o resultado final para a solicitação OID.

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

Requisitos

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

Confira 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