Freigeben über


GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION Rückruffunktion (gpioclx.h)

Die CLIENT_QuerySetControllerInformation Ereignisrückruffunktion fragt den GPIO-Controllertreiber (General Purpose E/O) nach dem angegebenen Attributsatz des GPIO-Controllers ab.

Syntax

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
)
{...}

Parameter

[in] Context

Ein Zeiger auf den Gerätekontext des GPIO-Controllertreibers.

[in] InputBuffer

Ein Zeiger auf eine CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT Struktur, die den Typ von Attributen beschreibt, die der Aufrufer anfordert.

[out, optional] OutputBuffer

Ein optionaler Zeiger auf eine CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT-Struktur , in die die Funktion die Werte der angeforderten Attribute schreibt.

Rückgabewert

Die CLIENT_QuerySetControllerInformation-Funktion gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Rückgabewerte sind der folgende Fehlercode.

Rückgabecode Beschreibung
STATUS_NOT_SUPPORTED
Die Funktion unterstützt den Typ der angeforderten Attribute nicht.

Hinweise

Das RequestType-Element der CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT-Struktur , auf die von InputBuffer verwiesen wird, gibt den Typ der angeforderten Attribute an. Eine Liste der Typen von Attributen, die angefordert werden können, finden Sie unter CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE.

Die Implementierung einer CLIENT_QuerySetControllerInformation-Funktion ist optional. Wenn ein GPIO-Controllertreiber eine CLIENT_QuerySetControllerInformation-Funktion implementiert, unterstützt diese Funktion möglicherweise einige Arten von Attributanforderungen, aber keine anderen. Wenn der Aufrufer einen Attributtyp anfordert, den die Funktion nicht unterstützt, gibt die Funktion STATUS_NOT_SUPPORTED zurück.

Beispiele

Um eine CLIENT_QuerySetControllerInformation Rückruffunktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Rückruffunktion angibt. Windows bietet eine Reihe von Rückruffunktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine CLIENT_QuerySetControllerInformation Rückruffunktion namens MyEvtGpioQuerySetControllerInformationzu definieren, verwenden Sie den GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION-Funktionstyp, wie in diesem Codebeispiel gezeigt:

GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION MyEvtGpioQuerySetControllerInformation;

Implementieren Sie dann Ihre Rückruffunktion wie folgt:

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

Der GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION Funktionstyp ist in der Headerdatei Gpioclx.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für KMDF-Treiber. Weitere Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Wird ab Windows 8 unterstützt.
Zielplattform Desktop
Kopfzeile gpioclx.h
IRQL Wird bei PASSIVE_LEVEL aufgerufen.

Weitere Informationen

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE