Condividi tramite


GPIO_CLIENT_WRITE_PINS_MASK funzione di callback (gpioclx.h)

La funzione di callback degli eventi CLIENT_WriteGpioPinsUsingMask scrive in un set di pin di I/O per utilizzo generico (GPIO) configurati come output dei dati.

Sintassi

GPIO_CLIENT_WRITE_PINS_MASK GpioClientWritePinsMask;

NTSTATUS GpioClientWritePinsMask(
  [in] PVOID Context,
  [in] PGPIO_WRITE_PINS_MASK_PARAMETERS WriteParameters
)
{...}

Parametri

[in] Context

Puntatore al contesto di dispositivo del driver del controller GPIO .

[in] WriteParameters

Puntatore a una struttura GPIO_WRITE_PINS_MASK_PARAMETERS che descrive una banca di pin GPIO e che contiene i dati da scrivere in questi pin.

Valore restituito

La funzione CLIENT_WriteGpioPinsUsingMask restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Osservazioni:

Questa funzione di callback viene implementata dal driver del controller GPIO. GpioClx chiama questa funzione per scrivere in un set designato di pin GPIO.

I pin GPIO in cui scrivere questa funzione sono designati da due maschere a 64 bit. La prima maschera specifica un gruppo di pin GPIO da impostare su 1; un po' in questa maschera è 1 se il pin GPIO corrispondente deve essere impostato su 1. La seconda maschera specifica un gruppo di pin GPIO da impostare su 0; un bit in questa maschera è 1 se il pin GPIO corrispondente deve essere impostato su 0.

Per registrare il CLIENT_WriteGpioPinsUsingMask funzione di callback del driver, chiamare il metodo GPIO_CLX_RegisterClient. Questo metodo accetta, come parametro di input, un puntatore a una struttura GPIO_CLIENT_REGISTRATION_PACKET che contiene un puntatore a funzione CLIENT_WriteGpioPinsUsingMask.

La funzione CLIENT_WriteGpioPinsUsingMask può essere chiamata dalla routine del servizio interrupt (ISR) in GpioClx. Questo ISR viene eseguito 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 bit flag MemoryMappedController è impostato nel membro flag di questa struttura, GpioClx ISR viene eseguito in DIRQL e chiama la funzione CLIENT_WriteGpioPinsUsingMask in DIRQL. In caso contrario, l'ISR viene eseguito in PASSIVE_LEVEL e chiama la funzione in PASSIVE_LEVEL. Per altre informazioni su questo bit di flag, vedere Funzioni di callback GPIO facoltative e obbligatorie.

Esempi

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

Ad esempio, per definire una funzione di callback CLIENT_WriteGpioPinsUsingMask denominata MyEvtGpioWriteGpioPinsUsingMask, usare il tipo di funzione GPIO_CLIENT_WRITE_PINS_MASK, come illustrato nell'esempio di codice seguente:

GPIO_CLIENT_WRITE_PINS_MASK  MyEvtGpioWritePinsUsingMask;

Implementare quindi la funzione di callback come segue:

_Use_decl_annotations_
VOID
  MyEvtGpioWritePinsUsingMask(
    PVOID Context,
    PGPIO_WRITE_PINS_MASK_PARAMETERS WriteParameters
    )
{ ... }

Il tipo di funzione GPIO_CLIENT_WRITE_PINS_MASK è 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_WRITE_PINS_MASK nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite i tipi di ruolo della funzione per i driver KMDF. Per altre informazioni su Use_decl_annotations, vedere l'annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Piattaforma di destinazione Schermo
intestazione gpioclx.h
IRQL Vedere la sezione Osservazioni.

Vedere anche

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_QueryControllerBasicInformation

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient

GPIO_WRITE_PINS_MASK_PARAMETERS