Condividi tramite


MINIPORT_ENABLE_MESSAGE_INTERRUPT funzione di callback (ndis.h)

NDIS può chiamare la funzione MiniportEnableMessageInterrupt di un driver miniport per abilitare un interruzione del messaggio per scopi di diagnostica e risoluzione dei problemi.

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

Sintassi

MINIPORT_ENABLE_MESSAGE_INTERRUPT MiniportEnableMessageInterrupt;

void MiniportEnableMessageInterrupt(
  [in] NDIS_HANDLE MiniportInterruptContext,
  [in] ULONG MessageId
)
{...}

Parametri

[in] MiniportInterruptContext

Handle a un blocco di informazioni di contesto. Il driver miniport ha fornito questo handle nel parametro MiniportInterruptContext passato al driver miniport Funzione NdisMRegisterInterruptEx .

[in] MessageId

Interruzione segnalata dal messaggio. MessageId è un indice dell'oggetto IO_INTERRUPT_MESSAGE_INFO_ENTRY strutture all'interno di un IO_INTERRUPT_MESSAGE_INFO struttura. NDIS passa un puntatore alla struttura di IO_INTERRUPT_MESSAGE_INFO associata al membro MessageInfoTable quando il driver registra correttamente per MSI con la funzione NdisMRegisterInterruptEx .

Valore restituito

nessuno

Osservazioni

Un driver miniport deve fornire una funzione MiniportEnableMessageInterrupt se il driver chiama la funzione NdisMRegisterInterruptEx per registrare un interruzione.

I driver Miniport devono disabilitare e abilitare un interruzione di messaggio come illustrato in MiniportMessageInterrupt ePagine di riferimento miniportMessageInterruptDpc.

NDIS chiama miniportEnableMessageInterrupt e Funzioni MiniportDisableMessageInterrupt per abilitare e disabilitare un interruzione del messaggio per scopi di diagnostica e risoluzione dei problemi. In genere, MiniportEnableMessageInterrupt e MiniportDisableMessageInterrupt accedono alle risorse del driver miniport condivise da Funzione MiniportMessageInterrupt . Di conseguenza, NDIS chiama questi gestori in DIRQL.

Esempi

Per definire una funzione MiniportEnableMessageInterrupt , è prima 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 usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione MiniportEnableMessageInterrupt denominata "MyEnableMessageInterrupt", usare il tipo di MINIPORT_ENABLE_MESSAGE_INTERRUPT come illustrato in questo esempio di codice:

MINIPORT_ENABLE_MESSAGE_INTERRUPT MyEnableMessageInterrupt;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
VOID
 MyEnableMessageInterrupt(
    __in  NDIS_HANDLE  MiniportInterruptContext,
    __in  ULONG  MessageId
    )
  {...}

Il tipo di funzione MINIPORT_ENABLE_MESSAGE_INTERRUPT è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli 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 usate le annotazioni applicate al tipo di funzione MINIPORT_ENABLE_MESSAGE_INTERRUPT nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver NDIS.

Per informazioni su 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 (includere Ndis.h)
IRQL DIRQL (vedere la sezione Osservazioni)

Vedi anche

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY MiniportDisableMessageInterrupt

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS

NdisMRegisterInterruptEx