Condividi tramite


MINIPORT_CANCEL_OID_REQUEST funzione di callback (ndis.h)

NDIS chiama la funzione MiniportCancelOidRequest di un driver miniport per annullare una richiesta OID.

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

Sintassi

MINIPORT_CANCEL_OID_REQUEST MiniportCancelOidRequest;

void MiniportCancelOidRequest(
  [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 strutture NDIS_OID_REQUEST annullate.

Valore restituito

nessuno

Osservazioni

Un driver specifica il punto di ingresso MiniportCancelOidRequest quando chiama Funzione NdisMRegisterMiniportDriver .

Quando NDIS chiama MiniportCancelOidRequest, il driver miniport deve tentare di chiamare la funzione NdisMOidRequestComplete appena possibile.

I parametri della richiesta vengono definiti nella struttura NDIS_OID_REQUEST in OidRequest .

NDIS chiama MiniportCancelOidRequest quando l'originatore della richiesta annulla la richiesta o quando scade il timeout, specificato al membro Timeout .

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

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

NDIS chiama MiniportCancelOidRequest in IRQL <= DISPATCH_LEVEL.

Esempi

Per definire una funzione MiniportCancelOidRequest , è 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 MiniportCancelOidRequest denominata "MyCancelOidRequest", usare il tipo di MINIPORT_CANCEL_OID_REQUEST come illustrato nell'esempio di codice seguente:

MINIPORT_CANCEL_DIRECT_OID_REQUEST MyCancelOidRequest;

Implementare quindi la funzione come segue:

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

Il tipo di funzione MINIPORT_CANCEL_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_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.0 e versioni successive.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

MiniportInitializeEx

NDIS_OID_REQUEST

NdisCancelOidRequest

NdisMOidRequestComplete

NdisMRegisterMiniportDriver