SafeBuffer.AcquirePointer(Byte*) Methode

Definitie

Belangrijk

Deze API is niet CLS-conform.

Hiermee haalt u een aanwijzer op van een SafeBuffer object voor een blok geheugen.

public:
 void AcquirePointer(System::Byte* % pointer);
[System.CLSCompliant(false)]
public void AcquirePointer(ref byte* pointer);
[<System.CLSCompliant(false)>]
member this.AcquirePointer : Byte* -> unit

Parameters

pointer
Byte*

Een byte-aanwijzer, doorgegeven door verwijzing, om de aanwijzer vanuit het SafeBuffer object te ontvangen. U moet deze aanwijzer null instellen voordat u deze methode aanroept.

Kenmerken

Uitzonderingen

De Initialize methode is niet aangeroepen.

Opmerkingen

Wanneer AcquirePointer u terugkeert, moet u de begrenzing controleren door te controleren of de pointer parameter is null. Als dit niet nullhet is, moet u de SafeBuffer.ReleasePointer methode aanroepen in een beperkte uitvoeringsregio (CER).

AcquirePointer roept de SafeHandle.DangerousAddRef methode aan en toont de aanwijzer.

In het volgende voorbeeld ziet u hoe u de AcquirePointer methode gebruikt:

byte* pointer = null;
RuntimeHelpers.PrepareConstrainedRegions();
try {
    MySafeBuffer.AcquirePointer(ref pointer);
    // Use pointer here, with your own bounds checking.
    }
finally {
    if (pointer != null)
        MySafeBuffer.ReleasePointer();
    }

Als u pointer cast (een aanwijzer naar een byte) als aanwijzer naar een ander type (T*), hebt u mogelijk problemen met de uitlijning van de aanwijzer.

U moet de verantwoordelijkheid nemen voor alle grenzen die met deze aanwijzer worden gecontroleerd.

Van toepassing op