Compartilhar via


GpioChangeReader Classe

Definição

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
Object Platform::Object IInspectable GpioChangeReader
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.

Aplica-se a