MINIPORT_DISABLE_MESSAGE_INTERRUPT funzione di callback (ndis.h)
NDIS può chiamare il gestore MiniportDisableMessageInterrupt di un driver miniport per disabilitare un interrupt di messaggio per scopi di diagnostica e risoluzione dei problemi.
Sintassi
MINIPORT_DISABLE_MESSAGE_INTERRUPT MiniportDisableMessageInterrupt;
void MiniportDisableMessageInterrupt(
[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 che il driver miniport passato al Funzione NdisMRegisterInterruptEx .
[in] MessageId
Interrupt segnalato 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 nel membro MessageInfoTable quando il driver esegue correttamente la registrazione per MSI con la funzione NdisMRegisterInterruptEx .
Valore restituito
nessuno
Osservazioni
Un driver miniport deve fornire una funzione MiniportDisableMessageInterrupt se il driver chiama la funzione NdisMRegisterInterruptEx per registrare un interrupt.
I driver Miniport devono disabilitare e abilitare un interrupt di messaggio come illustrato in MiniportMessageInterrupt e Pagine di riferimento miniportMessageInterruptDpc .
NDIS chiama Funzioni MiniportEnableMessageInterrupt e MiniportDisableMessageInterrupt per abilitare e disabilitare gli interrupt a scopo 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 MiniportDisableMessageInterrupt , è 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 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 MiniportDisableMessageInterrupt denominata "MyDisableMessageInterrupt", usare il tipo di MINIPORT_DISABLE_MESSAGE_INTERRUPT come illustrato nell'esempio di codice seguente:
MINIPORT_DISABLE_MESSAGE_INTERRUPT MyDisableMessageInterrupt;
Implementare quindi la funzione come segue:
_Use_decl_annotations_
VOID
MyDisableMessageInterrupt(
NDIS_HANDLE MiniportInterruptContext,
ULONG MessageId
)
{...}
Il tipo di funzione MINIPORT_DISABLE_MESSAGE_INTERRUPT è 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 assicura che vengano utilizzate le annotazioni applicate al tipo di funzione MINIPORT_DISABLE_MESSAGE_INTERRUPT 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 | DIRQL (vedere la sezione Osservazioni) |