SafeBuffer.AcquirePointer(Byte*) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
重要
この API は CLS 準拠ではありません。
SafeBuffer オブジェクトからメモリ ブロックのポインターを取得します。
public:
void AcquirePointer(System::Byte* % pointer);
[System.CLSCompliant(false)]
public void AcquirePointer (ref byte* pointer);
[<System.CLSCompliant(false)>]
member this.AcquirePointer : Byte* -> unit
パラメーター
- pointer
- Byte*
SafeBuffer オブジェクト内からポインターを受け取るための参照渡しされるバイト ポインター。 このポインターは、このメソッドを呼び出す前に null
に設定する必要があります。
- 属性
例外
Initialize メソッドが呼び出されていません。
注釈
が返されたらAcquirePointer、 パラメーターnull
が であることを確認して境界チェックを実行するpointer
必要があります。 でない null
場合は、制約付き実行領域 (CER) で メソッドを呼び出す SafeBuffer.ReleasePointer 必要があります。
AcquirePointer は メソッドを SafeHandle.DangerousAddRef 呼び出し、ポインターを公開します。
次の例では、 メソッドの使用方法を AcquirePointer 示します。
byte* pointer = null;
RuntimeHelpers.PrepareConstrainedRegions();
try {
MySafeBuffer.AcquirePointer(ref pointer);
// Use pointer here, with your own bounds checking.
}
finally {
if (pointer != null)
MySafeBuffer.ReleasePointer();
}
(バイトへのポインター) を別の型 (T*) へのポインターとしてキャスト pointer
すると、ポインターの配置に問題がある可能性があります。
このポインターを使用して、すべての境界チェックを行う必要があります。
適用対象
.NET