GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION Rückruffunktion (gpioclx.h)
Die CLIENT_QuerySetControllerInformation Ereignisrückruffunktion fragt den allgemeinen I/O-Controllertreiber (GPIO) für den angegebenen Satz von Attributen 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 der Attribute 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 |
---|---|
|
Die Funktion unterstützt nicht den Typ der attribute, die angefordert werden. |
Bemerkungen
Das RequestType Member 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.
Das Implementieren 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 nicht andere. Wenn der Aufrufer einen Attributtyp anfordert, den die Funktion nicht unterstützt, gibt die Funktion STATUS_NOT_SUPPORTEDzurück.
Beispiele
Um eine CLIENT_QuerySetControllerInformation Rückruffunktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Rückruffunktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Rückruffunktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.
Um beispielsweise eine CLIENT_QuerySetControllerInformation Rückruffunktion zu definieren, die MyEvtGpioQuerySetControllerInformation
benannt ist, 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 die 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 wird in der Headerdatei "Gpioclx.h" definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION in der Headerdatei angewendet werden, verwendet 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_annotationsfinden Sie unter Annotating Function Behavior.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 8 unterstützt. |
Zielplattform- | Desktop |
Header- | gpioclx.h |
IRQL- | Wird bei PASSIVE_LEVEL aufgerufen. |
Siehe auch
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT