GPIO_CLIENT_REGISTRATION_PACKET-Struktur (gpioclx.h)
Die GPIO_CLIENT_REGISTRATION_PACKET-Struktur enthält Registrierungsinformationen, die der GPIO-Controllertreiber (Universelle E/A) an die GPIO-Frameworkerweiterung (GpioClx) übergibt.
Syntax
typedef struct _GPIO_CLIENT_REGISTRATION_PACKET {
USHORT Version;
USHORT Size;
ULONG Flags;
ULONG ControllerContextSize;
ULONG64 Reserved;
PGPIO_CLIENT_PREPARE_CONTROLLER CLIENT_PrepareController;
PGPIO_CLIENT_RELEASE_CONTROLLER CLIENT_ReleaseController;
PGPIO_CLIENT_START_CONTROLLER CLIENT_StartController;
PGPIO_CLIENT_STOP_CONTROLLER CLIENT_StopController;
PGPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION CLIENT_QueryControllerBasicInformation;
PGPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION CLIENT_QuerySetControllerInformation;
PGPIO_CLIENT_ENABLE_INTERRUPT CLIENT_EnableInterrupt;
PGPIO_CLIENT_DISABLE_INTERRUPT CLIENT_DisableInterrupt;
PGPIO_CLIENT_UNMASK_INTERRUPT CLIENT_UnmaskInterrupt;
PGPIO_CLIENT_MASK_INTERRUPTS CLIENT_MaskInterrupts;
PGPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS CLIENT_QueryActiveInterrupts;
PGPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS CLIENT_ClearActiveInterrupts;
PGPIO_CLIENT_CONNECT_IO_PINS CLIENT_ConnectIoPins;
PGPIO_CLIENT_DISCONNECT_IO_PINS CLIENT_DisconnectIoPins;
union {
PGPIO_CLIENT_READ_PINS CLIENT_ReadGpioPins;
PGPIO_CLIENT_READ_PINS_MASK CLIENT_ReadGpioPinsUsingMask;
};
union {
PGPIO_CLIENT_WRITE_PINS CLIENT_WriteGpioPins;
PGPIO_CLIENT_WRITE_PINS_MASK CLIENT_WriteGpioPinsUsingMask;
};
PGPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT CLIENT_SaveBankHardwareContext;
PGPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT CLIENT_RestoreBankHardwareContext;
PGPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT CLIENT_PreProcessControllerInterrupt;
PGPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION CLIENT_ControllerSpecificFunction;
PGPIO_CLIENT_RECONFIGURE_INTERRUPT CLIENT_ReconfigureInterrupt;
PGPIO_CLIENT_QUERY_ENABLED_INTERRUPTS CLIENT_QueryEnabledInterrupts;
PGPIO_CLIENT_CONNECT_FUNCTION_CONFIG_PINS CLIENT_ConnectFunctionConfigPins;
PGPIO_CLIENT_DISCONNECT_FUNCTION_CONFIG_PINS CLIENT_DisconnectFunctionConfigPins;
} GPIO_CLIENT_REGISTRATION_PACKET, *PGPIO_CLIENT_REGISTRATION_PACKET;
Member
Version
Die Versionsnummer für die GPIO-Schnittstelle, die vom GPIO-Controllertreiber unterstützt wird. Legen Sie diesen Member auf den Wert GPIO_CLIENT_VERSION fest, der in der Gpioclx.h-Headerdatei definiert ist.
Size
Die Größe (in Bytes) dieser Struktur. Legen Sie dieses Element auf sizeof(GPIO_CLIENT_REGISTRATION_PACKET) fest.
Flags
Eine Reihe von Flags, die angeben, welche Registrierungsoptionen ausgewählt sind. Für Registrierungsoptionen sind derzeit keine Flags definiert. Legen Sie dieses Element auf 0 (null) fest.
ControllerContextSize
Die erforderliche Größe des Gerätekontexts in Bytes. Die GPIO_CLX_RegisterClient-Methode ordnet einen Gerätekontext dieser Größe zu. Wenn GpioClx eine registrierte Rückruffunktion in der GPIO_CLIENT_REGISTRATION_PACKET-Struktur aufruft, übergibt GpioClx diesen Gerätekontext als Parameter an die Rückruffunktion. Die Rückruffunktionen verwenden diesen Kontext, um auf die Treiberinformationen über den Zustand des GPIO-Controllergeräts zuzugreifen und diese zu aktualisieren. Weitere Informationen finden Sie unter GPIO-Gerätekontexte.
Reserved
Für die zukünftige Verwendung reserviert. Legen Sie dieses Element auf 0 (null) fest.
CLIENT_PrepareController
Ein Zeiger auf die CLIENT_PrepareController Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ReleaseController
Ein Zeiger auf die CLIENT_ReleaseController Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_StartController
Ein Zeiger auf die CLIENT_StartController Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_StopController
Ein Zeiger auf die CLIENT_StopController Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_QueryControllerBasicInformation
Ein Zeiger auf die CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_QuerySetControllerInformation
Ein Zeiger auf die CLIENT_QuerySetControllerInformation Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_EnableInterrupt
Ein Zeiger auf die CLIENT_EnableInterrupt Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_DisableInterrupt
Ein Zeiger auf die CLIENT_DisableInterrupt Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_UnmaskInterrupt
Ein Zeiger auf die CLIENT_UnmaskInterrupt Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_MaskInterrupts
Ein Zeiger auf die CLIENT_MaskInterrupts Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_QueryActiveInterrupts
Ein Zeiger auf die CLIENT_QueryActiveInterrupts Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ClearActiveInterrupts
Ein Zeiger auf die CLIENT_ClearActiveInterrupts Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ConnectIoPins
Ein Zeiger auf die CLIENT_ConnectIoPins Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_DisconnectIoPins
Ein Zeiger auf die CLIENT_DisconnectIoPins Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ReadGpioPins
Ein Zeiger auf die CLIENT_ReadGpioPins Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ReadGpioPinsUsingMask
Ein Zeiger auf die CLIENT_ReadGpioPinsUsingMask Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_WriteGpioPins
Ein Zeiger auf die CLIENT_WriteGpioPins Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_WriteGpioPinsUsingMask
Ein Zeiger auf die CLIENT_WriteGpioPinsUsingMask Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_SaveBankHardwareContext
Ein Zeiger auf die CLIENT_SaveBankHardwareContext Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_RestoreBankHardwareContext
Ein Zeiger auf die CLIENT_RestoreBankHardwareContext Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_PreProcessControllerInterrupt
Ein Zeiger auf die CLIENT_PreProcessControllerInterrupt Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ControllerSpecificFunction
Ein Zeiger auf die CLIENT_ControllerSpecificFunction Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_ReconfigureInterrupt
Ein Zeiger auf die CLIENT_ReconfigureInterrupt Ereignisrückruffunktion des GPIO-Controllertreibers.
CLIENT_QueryEnabledInterrupts
Ein Zeiger auf die CLIENT_QueryEnabledInterrupts Ereignisrückruffunktion des GPIO-Controllertreibers. Dieses Element wird ab Windows 8.1 unterstützt.
CLIENT_ConnectFunctionConfigPins
CLIENT_DisconnectFunctionConfigPins
Hinweise
Der GPIO-Controllertreiber übergibt einen Zeiger auf eine GPIO_CLIENT_REGISTRATION_PACKET-Struktur als Eingabeparameter an die GPIO_CLX_RegisterClient-Methode . Diese Methode registriert den Treiber, um die von GpioClx bereitgestellten Dienste zu verwenden. In der Regel ruft der Treiber diese Methode aus seiner DriverEntry-Routine auf.
Die GPIO_CLIENT_REGISTRATION_PACKET-Struktur enthält zwei unbenannte Unions. Jede Union kann einen Zeiger auf einen von zwei alternativen Typen von Ereignisrückruffunktionen enthalten. In jedem Fall sollte Ihr GPIO-Controllertreiber den Typ der Rückruffunktion implementieren, der am besten für die GPIO-Controllerhardware geeignet ist. Die CLIENT_QueryControllerBasicInformation Rückruffunktion des GPIO-Controllertreibers informiert GpioClx, welche Rückruffunktionen implementiert sind.
Nachdem der GPIO-Controllertreiber GPIO_CLX_RegisterClient aufruft, um eine Reihe von Rückrufen zu registrieren, ruft GpioClx die CLIENT_QueryControllerBasicInformation Rückruffunktion des Treibers auf, um eine CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur abzurufen, die GPIO-Controllerhardwareattribute und Konfigurationsdaten enthält. GpioClx verwendet diese Informationen, um zu bestimmen, welche Rückruffunktionen der GPIO-Controllertreiber implementiert hat.
Wenn der GPIO-Controllertreiber CLIENT_ReadGpioPins und CLIENT_WriteGpioPins Rückruffunktionen implementiert, sollte die CLIENT_QueryControllerBasicInformation Rückruffunktion das FormatIoRequestsAsMasks-Flagbit im Flags-Member dieser CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur auf 0 festlegen.
Wenn die CLIENT_QueryControllerBasicInformation Rückruffunktion das FormatIoRequestsAsMasks-Flagbit auf 1 festlegt, gibt dieser Wert an, dass der Treiber CLIENT_ReadGpioPinsUsingMask und CLIENT_WriteGpioPinsUsingMask Rückruffunktionen implementiert.
GpioClx erfordert einen GPIO-Controllertreiber, um bestimmte Rückruffunktionen zu implementieren, aber die Unterstützung für andere Rückruffunktionen ist optional. Weitere Informationen finden Sie unter Optionale und erforderliche GPIO-Rückruffunktionen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt ab Windows 8. |
Kopfzeile | gpioclx.h |
Weitere Informationen
CLIENT_CONTROLLER_BASIC_INFORMATION
CLIENT_ControllerSpecificFunction
CLIENT_PreProcessControllerInterrupt
CLIENT_QueryControllerBasicInformation
CLIENT_RestoreBankHardwareContext