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) |