Condividi tramite


MINIPORT_CANCEL_DIRECT_OID_REQUEST funzione di callback (ndis.h)

NDIS chiama la funzione MiniportCancelDirectOidRequest del driver miniport per annullare una richiesta OID diretta.

Nota È necessario dichiarare la funzione usando il tipo di MINIPORT_CANCEL_DIRECT_OID_REQUEST . Per altre informazioni, vedere la sezione Esempi seguente.
 

Sintassi

MINIPORT_CANCEL_DIRECT_OID_REQUEST MiniportCancelDirectOidRequest;

void MiniportCancelDirectOidRequest(
  [in] NDIS_HANDLE MiniportAdapterContext,
  [in] PVOID RequestId
)
{...}

Parametri

[in] MiniportAdapterContext

Handle per un'area di contesto allocata dal driver miniport nella funzione MiniportInitializeEx . Il driver miniport utilizza questa area di contesto per mantenere le informazioni sullo stato per un adattatore miniport.

[in] RequestId

Identificatore di annullamento per la richiesta. Questo identificatore specifica le richieste OID dirette che corrispondono a questo valore nel membro RequestId della struttura NDIS_OID_REQUEST .

Valore restituito

nessuno

Osservazioni

MiniportCancelDirectOidRequest è una funzione facoltativa. Un driver miniport registra questa funzione se gestisce le richieste OID dirette. Un driver specifica il punto di ingresso MiniportCancelDirectOidRequest quando chiama Funzione NdisMRegisterMiniportDriver . Un driver miniport che registra ilAnche la funzione MiniportDirectOidRequest deve registrare MiniportCancelDirectOidRequest.

Quando NDIS chiama MiniportCancelDirectOidRequest, il driver miniport deve tentare di chiamare Funzione NdisMDirectOidRequestComplete appena possibile.

NDIS chiama MiniportCancelDirectOidRequest quando l'originatore della richiesta annulla la richiesta. Per le richieste OID dirette, NDIS non chiama MiniportCancelDirectOidRequest se il timeout scade. Il timeout viene specificato nel membro Timeout di ogni struttura NDIS_OID_REQUEST .

Se l'elaborazione della richiesta non è ancora stata completata in un driver miniport, il driver chiama la funzione NdisMDirectOidRequestComplete con lo stato impostato su NDIS_STATUS_REQUEST_ABORTED.

Se l'elaborazione della richiesta non è ancora completa in un driver intermedio e la richiesta è stata propagata a un driver sottostante, il driver intermedio chiama Funzione NdisCancelDirectOidRequest con il parametro OidRequest impostato sul valore inviato al driver sottostante.

NDIS chiama MiniportCancelDirectOidRequest in IRQL <= DISPATCH_LEVEL.

Esempi

Per definire una funzione MiniportCancelDirectOidRequest , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.

Ad esempio, per definire una funzione MiniportCancelDirectOidRequest denominata "MyCancelDirectOidRequest", usare il tipo MINIPORT_CANCEL_DIRECT_OID_REQUEST come illustrato nell'esempio di codice seguente:

MINIPORT_CANCEL_DIRECT_OID_REQUEST MyCancelDirectOidRequest;

Implementare quindi la funzione come segue:

_Use_decl_annotations_
VOID
 MyCancelDirectOidRequest(
    NDIS_HANDLE  MiniportAdapterContext,
    PVOID  RequestId
    )
  {...}

Il tipo di funzione MINIPORT_CANCEL_DIRECT_OID_REQUEST è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano utilizzate le annotazioni applicate al tipo di funzione MINIPORT_CANCEL_DIRECT_OID_REQUEST nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.

Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.1 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

MiniportDirectOidRequest

MiniportInitializeEx

NDIS_OID_REQUEST

NdisCancelDirectOidRequest

NdisMDirectOidRequestComplete

NdisMRegisterMiniportDriver