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