Condividi tramite


GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION funzione di callback (gpioclx.h)

La funzione di callback degli eventi CLIENT_QueryControllerBasicInformation recupera gli attributi hardware del controller di I/O (GPIO) per utilizzo generico.

Sintassi

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION GpioClientQueryControllerBasicInformation;

NTSTATUS GpioClientQueryControllerBasicInformation(
  [in]  PVOID Context,
  [out] PCLIENT_CONTROLLER_BASIC_INFORMATION Information
)
{...}

Parametri

[in] Context

Puntatore al contesto di dispositivo del driver del controller GPIO .

[out] Information

Puntatore a una struttura di CLIENT_CONTROLLER_BASIC_INFORMATION allocata dal chiamante. La funzione CLIENT_QueryControllerBasicInformation scrive gli attributi hardware del controller GPIO e le informazioni di configurazione in questa struttura.

Valore restituito

La funzione CLIENT_QueryControllerBasicInformation 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. L'estensione del framework GPIO (GpioClx) chiama questa funzione.

La funzione di callback CLIENT_QueryControllerBasicInformation deve impostare tutti i membri della struttura CLIENT_CONTROLLER_BASIC_INFORMATION, inclusi i membri versione e dimensioni. GpioClx non inizializza il membro size prima di chiamare questa funzione, ma il buffer a cui punta il parametro Information garantisce una dimensione sufficiente per contenere la versione di questa struttura usata dal driver del controller GPIO.

Per registrare la funzione di callback CLIENT_QueryControllerBasicInformation 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_QueryControllerBasicInformation.

Esempi

Per definire una funzione di callback CLIENT_QueryControllerBasicInformation, è 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_QueryControllerBasicInformation denominata MyEvtGpioQueryControllerBasicInformation, usare il tipo di funzione GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION, come illustrato in questo esempio di codice:

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION MyEvtGpioQueryDeviceInformation;

Implementare quindi la funzione di callback come segue:

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioQueryDeviceInformation(
    PVOID Context,
    PCLIENT_CONTROLLER_BASIC_INFORMATION Information
    )
{ ... }

Il tipo di funzione GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION è 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 usate le annotazioni applicate al tipo di funzione GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION 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 Chiamato in PASSIVE_LEVEL.

Vedere anche

CLIENT_CONTROLLER_BASIC_INFORMATION

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient