NDIS_STATUS_INDICATION struttura (ndis.h)

I driver NDIS e sottostanti usano la struttura NDIS_STATUS_INDICATION per fornire indicazioni sullo stato per i driver di protocollo overlying.

Sintassi

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;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_STATUS_INDICATION. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_STATUS_INDICATION, il membro Revision su NDIS_STATUS_INDICATION_REVISION_1 e il membro Size su NDIS_SIZEOF_STATUS_INDICATION_REVISION_1.

SourceHandle

Origine dell'indicazione dello stato. Se l'origine è una scheda miniport, deve essere l'handle passato al parametro MiniportAdapterHandle della funzione MiniportInitializeEx . Se l'origine è un modulo di filtro, deve essere l'handle passato al parametro NdisFilterHandle della funzione FilterAttach .

PortNumber

Porta di origine dell'indicazione dello stato. Se l'indicazione di stato non è specifica di una porta, impostare PortNumber su zero.

StatusCode

Codice di stato, fornito da NDIS o propagato dai driver sottostanti. Il valore è un codice NDIS_STATUS_XXX . Per altre informazioni sui codici NDIS_STATUS_XXX , vedere Indicazioni sullo stato.

Flags

Tipo di informazioni nel buffer di stato in StatusBuffer . I driver miniport impostano questo membro su zero. Questo membro è riservato per NDIS.

DestinationHandle

Handle che identifica il driver overlying che deve ricevere l'indicazione di stato. Se NULL, NDIS indica lo stato di ogni driver di protocollo associato all'adattatore miniport. Se non NULL, NDIS indica lo stato solo al driver identificato da DestinationHandle . In questo caso, il driver deve anche impostare il membro RequestId . Per altre informazioni sulle richieste OID, vedere la sezione Osservazioni.

RequestId

Richiesta OID associata all'indicazione di stato. Se non è presente alcuna richiesta OID associata all'indicazione dello stato, RequestId è NULL. I driver Miniport devono impostare il membro RequestId se l'indicazione di stato è associata a una richiesta OID completata dal driver miniport con stato restituito di NDIS_STATUS_INDICATION_REQUIRED. In questo caso, il driver deve anche impostare il membro DestinationHandle .

Per altre informazioni sulle richieste OID, vedere la sezione Osservazioni seguenti.

StatusBuffer

Puntatore a un buffer che contiene dati specifici di medie dimensioni che dipendono dal valore in StatusCode .

Ad esempio, se StatusCode è NDIS_STATUS_LINK_STATE, questo parametro punta a una struttura NDIS_LINK_STATE e StatusBufferSize è sizeof(NDIS_LINK_STATE).

Per alcuni valori NDIS_STATUS_XXX , questo puntatore è NULL e StatusBufferSize è impostato su zero.

StatusBufferSize

Lunghezza, in byte, del buffer delle informazioni di stato in StatusBuffer .

Guid

GUID privato usato da NDIS per generare una notifica WMI. Per altre informazioni sui GUID privati, vedere OID_GEN_SUPPORTED_GUIDS.

NdisReserved[4]

Riservato per NDIS.

Commenti

I driver Miniport indicano lo stato chiamando la funzione NdisMIndicateStatusEx . I driver di filtro chiamano la funzione NdisFIndicateStatus .

Alcune richieste OID consentono a un driver miniport di fornire uno stato di completamento OID con un'indicazione di stato. In questo caso, il driver miniport restituisce NDIS_STATUS_INDICATION_REQUIRED per lo stato di completamento della richiesta OID. Un driver miniport non può restituire questo stato a meno che l'OID specifico non lo consenta. Per determinare se questo stato è consentito, vedere la pagina di riferimento dell'OID.

Se un'indicazione di stato è associata a una richiesta OID in cui il driver miniport ha restituito NDIS_STATUS_INDICATION_REQUIRED, il driver che effettua l'indicazione di stato deve impostare i membri DestinationHandle e RequestId nella struttura NDIS_STATUS_INDICATION.

In questo caso, il driver imposta rispettivamente i membri DestinationHandle e RequestId sui valori dei membri RequestHandle e RequestId nella struttura NDIS_OID_REQUEST.

Ad esempio, nella rete wireless, l'elaborazione di una richiesta OID può richiedere molto tempo per completare. In questo caso, il driver miniport può completare immediatamente la richiesta OID e fornire un'indicazione di stato in seguito per fornire il risultato finale per la richiesta OID.

I driver di protocollo ricevono indicazioni sullo stato nella funzione ProtocolStatusEx . I driver di filtro ricevono indicazioni sullo stato nella funzione FilterStatus .

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis.h (includere Ndis.h)

Vedi anche

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