GPIO_CLIENT_RECONFIGURE_INTERRUPT funzione di callback (gpioclx.h)
La funzione di callback degli eventi CLIENT_ReconfigureInterrupt riconfigura un pin di I/O per utilizzo generico (GPIO) usato come input di interrupt.
Sintassi
GPIO_CLIENT_RECONFIGURE_INTERRUPT GpioClientReconfigureInterrupt;
NTSTATUS GpioClientReconfigureInterrupt(
[in] PVOID Context,
[in] PGPIO_RECONFIGURE_INTERRUPTS_PARAMETERS ReconfigureParameters
)
{...}
Parametri
[in] Context
Puntatore al contesto di dispositivo del driver del controller GPIO.
[in] ReconfigureParameters
Puntatore a una struttura GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS che specifica come riconfigurare il pin di interrupt GPIO.
Valore restituito
La funzione CLIENT_ReconfigureInterrupt restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, restituisce un codice di errore appropriato.
Commenti
L'estensione del framework GPIO (GpioClx) potrebbe chiamare la funzione CLIENT_ReconfigureInterrupt per modificare la modalità di interruzione o interrompere la polarità di un pin GPIO usato come input di interrupt.
Ad esempio, se l'hardware del controller GPIO non supporta direttamente interrupt attivi-entrambi, ma può essere configurato per supportare interruzioni attive e di basso livello attivo, GpioClx può emulare un pin di interrupt attivo-entrambi chiamando la funzione CLIENT_ReconfigureInterrupt per configurare in alternativa un pin GPIO per interrupt attivo-alto e attivo-basso livello. Per altre informazioni sugli interrupt attivi-entrambi, vedere la descrizione del flag EmulateActiveBoth in CONTROLLER_ATTRIBUTE_FLAGS.
GpioClx chiama la funzione di callback CLIENT_ReconfigureInterrupt in PASSIVE_LEVEL o DIRQL, a seconda delle informazioni sul dispositivo fornite dalla funzione di callback CLIENT_QueryControllerBasicInformation a GpioClx. La funzione CLIENT_QueryControllerBasicInformation fornisce informazioni sul dispositivo sotto forma di struttura CLIENT_CONTROLLER_BASIC_INFORMATION . Se il flag MemoryMappedController bit viene impostato nel membro Flags di questa struttura, GpioClx chiama la funzione CLIENT_ReconfigureInterrupt in DIRQL, ovvero l'IRQL in cui viene eseguito l'ISR in GpioClx. In caso contrario, questa funzione viene chiamata in PASSIVE_LEVEL. Per altre informazioni su questo bit di flag, vedere Funzioni di callback GPIO facoltative e necessarie.
Esempio
Per definire una funzione di callback CLIENT_ReconfigureInterrupt, è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione di callback che si sta definendo. Windows fornisce un set di tipi di funzione di callback per i driver. La dichiarazione di una funzione tramite i tipi di funzione di callback consente di analizzare il codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica di trovare errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.
Ad esempio, per definire una funzione di callback CLIENT_ReconfigureInterrupt denominata MyEvtGpioReconfigureInterrupt
, usare il tipo di funzione GPIO_CLIENT_RECONFIGURE_INTERRUPT, come illustrato nell'esempio di codice seguente:
GPIO_CLIENT_RECONFIGURE_INTERRUPT MyEvtGpioReconfigureInterrupt;
Implementare quindi la funzione di callback come indicato di seguito:
_Use_decl_annotations_
NTSTATUS
MyEvtGpioReconfigureInterrupt(
PVOID Context,
PGPIO_RECONFIGURE_INTERRUPTS_PARAMETERS ReconfigureParameters
)
{ ... }
Il tipo di funzione GPIO_CLIENT_RECONFIGURE_INTERRUPT è definito nel file di intestazione Gpioclx.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 GPIO_CLIENT_RECONFIGURE_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 KMDF. Per altre informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 8. |
Piattaforma di destinazione | Desktop |
Intestazione | gpioclx.h |
IRQL | Vedere la sezione Osservazioni. |
Vedi anche
CLIENT_CONTROLLER_BASIC_INFORMATION
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per