Freigeben über


GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION Rückruffunktion (gpioclx.h)

Die CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion ruft die Hardwareattribute des GPIO-Controllers (General Purpose E/O) ab.

Syntax

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION GpioClientQueryControllerBasicInformation;

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

Parameter

[in] Context

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

[out] Information

Ein Zeiger auf eine aufruferseitig zugewiesene CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur . Die CLIENT_QueryControllerBasicInformation-Funktion schreibt die Hardwareattribute und Konfigurationsinformationen des GPIO-Controllers in diese Struktur.

Rückgabewert

Die CLIENT_QueryControllerBasicInformation-Funktion gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Hinweise

Diese Rückruffunktion wird vom GPIO-Controllertreiber implementiert. Die GPIO-Frameworkerweiterung (GpioClx) ruft diese Funktion auf.

Die CLIENT_QueryControllerBasicInformation Rückruffunktion sollte alle Elemente der CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur festlegen, einschließlich der Elemente Version und Größe . GpioClx initialisiert das Size-Element nicht vor dem Aufrufen dieser Funktion, aber der Puffer, auf den der Parameter Information verweist, ist garantiert groß genug, um die Version dieser Struktur zu enthalten, die der GPIO-Controllertreiber verwendet.

Um die CLIENT_QueryControllerBasicInformation Rückruffunktion Ihres Treibers zu registrieren, rufen Sie die GPIO_CLX_RegisterClient-Methode auf. Diese Methode akzeptiert als Eingabeparameter einen Zeiger auf eine GPIO_CLIENT_REGISTRATION_PACKET-Struktur , die einen CLIENT_QueryControllerBasicInformation Funktionszeiger enthält.

Beispiele

Um eine CLIENT_QueryControllerBasicInformation 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_QueryControllerBasicInformation Rückruffunktion namens MyEvtGpioQueryControllerBasicInformationzu definieren, verwenden Sie den GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION-Funktionstyp, wie in diesem Codebeispiel gezeigt:

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION MyEvtGpioQueryDeviceInformation;

Implementieren Sie dann Ihre Rückruffunktion wie folgt:

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

Der GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION Funktionstyp wird 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_CONTROLLER_BASIC_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_BASIC_INFORMATION

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient