GpioChangeReader Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um buffer circular compartilhado entre o modo kernel e o modo de usuário no qual os carimbos de data/hora de alta resolução são colocados quando um pino de E/S de uso geral (GPIO) altera o valor.
public ref class GpioChangeReader sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(Windows.Devices.Gpio.IGpioChangeReaderFactory, 196608, "Windows.Devices.DevicesLowLevelContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Devices.DevicesLowLevelContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class GpioChangeReader final : IClosable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Devices.Gpio.IGpioChangeReaderFactory), 196608, "Windows.Devices.DevicesLowLevelContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Devices.DevicesLowLevelContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class GpioChangeReader : System.IDisposable
function GpioChangeReader(pin, minCapacity)
Public NotInheritable Class GpioChangeReader
Implements IDisposable
- Herança
- Atributos
- Implementações
Requisitos do Windows
Família de dispositivos |
Windows 10 Creators Update (introduzida na 10.0.15063.0)
|
API contract |
Windows.Devices.DevicesLowLevelContract (introduzida na v3.0)
|
Comentários
O modo kernel coloca um carimbo de data/hora no buffer quando um pino altera o valor e o modo de usuário remove os itens do buffer. Um estouro ocorre quando não há mais espaço suficiente no buffer para colocar carimbos de data/hora adicionais. Após o estouro, outros eventos não são registrados e a propriedade IsOverflowed retornará true.
Essa classe não é thread-safe. Chamar funções dessa classe simultaneamente de vários threads terá resultados imprevisíveis.
Construtores
GpioChangeReader(GpioPin) |
Cria um novo GpioChangeReader associado ao pin especificado. Somente um único GpioChangeReader pode ser associado a um pino a qualquer momento. |
GpioChangeReader(GpioPin, Int32) |
Cria um novo GpioChangeReader associado ao pin especificado e com a capacidade mínima especificada para registros de alteração. Somente um único GpioChangeReader pode ser associado a um pino a qualquer momento. |
Propriedades
Capacity |
Obtém o número máximo de registros de alteração que o GpioChangeReader pode armazenar ao mesmo tempo. |
IsEmpty |
Obtém se atualmente não há registros de alteração no leitor. |
IsOverflowed |
Obtém se uma tentativa de colocar um registro de alteração no buffer do leitor falhou devido ao buffer estar cheio. |
IsStarted |
Obtém se a gravação de alteração de pino está ativa no momento. |
Length |
Obtém o número de registros atualmente no leitor de alterações. |
Polarity |
Obtém ou define a polaridade das transições que serão registradas. A polaridade só pode ser alterada quando a gravação de alteração de pino não é iniciada. |
Métodos
Clear() |
Descarta todos os registros de alteração do buffer do leitor. |
Close() |
Fecha o leitor de alteração, liberando o buffer de memória associado e desassociando o leitor de seu pino. |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. |
GetAllItems() |
Remove e retorna todos os itens atuais no buffer do leitor. |
GetNextItem() |
Recupera e remove o registro de alteração inserido mais antigo do buffer do leitor. |
PeekNextItem() |
Recupera o registro de alteração inserido anteriormente do buffer do leitor, sem removê-lo. |
Start() |
Inicia a gravação de alterações na polaridade do pino. Esse método só pode ser chamado quando a gravação de alteração ainda não estiver ativa. |
Stop() |
Interrompa as alterações de gravação na polaridade do pino. Esse método só pode ser chamado quando a gravação de alteração estiver ativa no momento. |
WaitForItemsAsync(Int32) |
Aguarda que o buffer seja preenchido com pelo menos o número de contagem de itens, momento em que a ação assíncrona será concluída. Essa ação é cancelável. |