struttura NDIS_STATUS_INDICATION (ndis.h)
I driver NDIS e sottostanti usano la struttura NDIS_STATUS_INDICATION per fornire indicazioni sullo stato per l'overlying dei driver di protocollo.
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;
Membri
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_STATUS_INDICATION. Impostare il membro Type della struttura che Header specifica 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 è un adattatore miniport, deve essere l'handle passato a miniportAdapterHandle parametro della funzione MiniportInitializeEx. Se l'origine è un modulo di filtro, deve essere l'handle passato NDIS al parametro NdisFilterHandle della funzione FilterAttach.
PortNumber
Porta di origine dell'indicazione di 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 codiceNDIS_STATUS_ XXX. Per altre informazioni sui codici diXXX NDIS_STATUS_, 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 dello stato. Se NULL, NDIS indica lo stato di ogni driver di protocollo associato all'adattatore miniport. Se nonNULL, NDIS indica lo stato solo per il driver che DestinationHandle identifica. 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 dello stato. Se non è presente alcuna richiesta OID associata all'indicazione di stato, RequestId è NULL. I driver Miniport devono impostare il membro RequestId se l'indicazione di stato è associata a una richiesta OID che il driver miniport ha completato con lo 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 seguente.
StatusBuffer
Puntatore a un buffer contenente dati specifici del supporto 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 sullo 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.
Osservazioni
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 dello stato deve impostare il DestinationHandle e RequestId membri nella struttura NDIS_STATUS_INDICATION.
In questo caso, il driver imposta i membri DestinationHandle e RequestId sui valori dei membri RequestHandle e requestId rispettivamente nella struttura NDIS_OID_REQUEST.
Ad esempio, nella rete wireless, l'elaborazione di una richiesta OID può richiedere molto tempo per il completamento. In questo caso, il driver miniport può completare immediatamente la richiesta OID e fornire un'indicazione di stato in un secondo momento 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.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
intestazione | ndis.h (include Ndis.h) |