次の方法で共有


GpioChangeReader クラス

定義

汎用 I/O (GPIO) ピンの値が変更されたときに高解像度タイムスタンプが設定されるカーネル モードとユーザー モードの間の共有循環バッファーを表します。

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
継承
Object Platform::Object IInspectable GpioChangeReader
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 Creators Update (10.0.15063.0 で導入)
API contract
Windows.Devices.DevicesLowLevelContract (v3.0 で導入)

注釈

カーネル モードでは、ピンの値が変更されたときにタイムスタンプがバッファーに格納され、ユーザー モードではバッファーから項目が削除されます。 オーバーフローは、バッファーに追加のタイムスタンプを配置するのに十分な空きがない場合に発生します。 オーバーフローすると、それ以降のイベントは記録されず、 IsOverflowed プロパティは true を返します。

このクラスはスレッド セーフではありません。 このクラスの関数を複数のスレッドから同時に呼び出すと、予期しない結果になります。

コンストラクター

GpioChangeReader(GpioPin)

指定したピンに関連付けられた新しい GpioChangeReader を作成します。 特定の時点でピンに関連付けられる GpioChangeReader は 1 つだけです。

GpioChangeReader(GpioPin, Int32)

指定したピンに関連付けられた新しい GpioChangeReader を作成し、変更レコードの最小容量を指定します。 特定の時点でピンに関連付けられる GpioChangeReader は 1 つだけです。

プロパティ

Capacity

GpioChangeReader が一度に格納できる変更レコードの最大数を取得します。

IsEmpty

リーダーに現在 0 個の変更レコードがあるかどうかを取得します。

IsOverflowed

バッファーがいっぱいであるために、リーダーのバッファーに変更レコードを配置しようとして失敗したかどうかを取得します。

IsStarted

ピン変更の記録が現在アクティブかどうかを取得します。

Length

変更リーダーに現在存在するレコードの数を取得します。

Polarity

記録される遷移の極性を取得または設定します。 極性は、ピン交換記録が開始されていない場合にのみ変更できます。

メソッド

Clear()

リーダーのバッファーからすべての変更レコードを破棄します。

Close()

変更リーダーを閉じ、関連付けられているメモリ バッファーを解放し、リーダーをピンから関連付け解除します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

GetAllItems()

リーダーのバッファー内の現在のすべての項目を削除して返します。

GetNextItem()

挿入された最も古い変更レコードを取得し、リーダーのバッファーから削除します。

PeekNextItem()

以前に挿入された変更レコードを削除せずに、リーダーのバッファーから取得します。

Start()

ピンの極性の変化の記録を開始します。 このメソッドは、変更記録がまだアクティブでない場合にのみ呼び出されます。

Stop()

ピンの極性の変更の記録を停止します。 このメソッドは、変更記録が現在アクティブな場合にのみ呼び出されます。

WaitForItemsAsync(Int32)

バッファーが少なくとも 項目数 を入力するまで待機します。この時点で非同期アクションが完了します。 このアクションは取り消し可能です。

適用対象