GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION funzione di callback (gpioclx.h)

La funzione di callback degli eventi CLIENT_QuerySetControllerInformation esegue query sul driver controller I/O (GPIO) per il set specificato di attributi del controller GPIO.

Sintassi

GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION GpioClientQuerySetControllerInformation;

NTSTATUS GpioClientQuerySetControllerInformation(
  [in]            PVOID Context,
  [in]            PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
  [out, optional] PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
)
{...}

Parametri

[in] Context

Puntatore al contesto del dispositivo del controller GPIO.

[in] InputBuffer

Puntatore a una struttura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT che descrive il tipo di attributi richiesti dal chiamante.

[out, optional] OutputBuffer

Puntatore facoltativo a una struttura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT in cui la funzione scrive i valori degli attributi richiesti.

Valore restituito

La funzione CLIENT_QuerySetControllerInformation restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti possibili includono il codice di errore seguente.

Codice restituito Descrizione
STATUS_NOT_SUPPORTED
La funzione non supporta il tipo di attributi richiesti.

Commenti

Il membro RequestType della struttura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT a cui fa riferimento InputBuffer specifica il tipo di attributi richiesti. Per un elenco dei tipi di attributi che possono essere richiesti, vedere CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE.

L'implementazione di una funzione CLIENT_QuerySetControllerInformation è facoltativa. Se un driver del controller GPIO implementa una funzione CLIENT_QuerySetControllerInformation , questa funzione potrebbe supportare alcuni tipi di richieste di attributo, ma non supportare altri. Se il chiamante richiede un tipo di attributo che la funzione non supporta, la funzione restituisce STATUS_NOT_SUPPORTED.

Esempio

Per definire una funzione di callback CLIENT_QuerySetControllerInformation , è prima necessario specificare 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 callback 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 di callback CLIENT_QuerySetControllerInformation denominata MyEvtGpioQuerySetControllerInformation, usare il tipo di funzione GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION, come illustrato nell'esempio di codice seguente:

GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION MyEvtGpioQuerySetControllerInformation;

Implementare quindi la funzione di callback come indicato di seguito:

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioQuerySetControllerInformation(
    PVOID Context,
    PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
    PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
    )
{ ... }

Il tipo di funzione GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION è definito nel file di intestazione Gpioclx.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 GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION 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 KMDF. Per altre informazioni su 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 Chiamato in PASSIVE_LEVEL.

Vedi anche

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE