SafeBuffer.AcquirePointer(Byte*) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wichtig
Diese API ist nicht CLS-kompatibel.
Ruft einen Zeiger aus einem SafeBuffer-Objekt für einen Speicherblock ab.
public:
void AcquirePointer(System::Byte* % pointer);
[System.CLSCompliant(false)]
public void AcquirePointer (ref byte* pointer);
[<System.CLSCompliant(false)>]
member this.AcquirePointer : Byte* -> unit
Parameter
- pointer
- Byte*
Ein als Verweis übergebener Bytezeiger zum Abrufen des Zeigers aus dem SafeBuffer-Objekt. Sie müssen diesen Zeiger auf null
festlegen, bevor diese Methode aufgerufen werden kann.
- Attribute
Ausnahmen
Die Initialize-Methode wurde nicht aufgerufen.
Hinweise
Wenn AcquirePointer sie zurückgegeben werden, sollten Sie die Begrenzungsüberprüfung durchführen, indem Sie überprüfen, ob der pointer
Parameter ist null
. Andernfalls null
müssen Sie die SafeBuffer.ReleasePointer Methode in einer eingeschränkten Ausführungsregion (CER) aufrufen.
AcquirePointer ruft die SafeHandle.DangerousAddRef -Methode auf und macht den Zeiger verfügbar. Read Im Gegensatz zur -Methode ändert sie nicht die aktuelle Position des Zeigers.
Im folgenden Beispiel wird die Verwendung der AcquirePointer -Methode veranschaulicht:
byte* pointer = null;
RuntimeHelpers.PrepareConstrainedRegions();
try {
MySafeBuffer.AcquirePointer(ref pointer);
// Use pointer here, with your own bounds checking.
}
finally {
if (pointer != null)
MySafeBuffer.ReleasePointer();
}
Wenn Sie (ein Zeiger auf ein Byte) als Zeiger auf einen anderen Typ (T*) umwandeln pointer
, treten möglicherweise Probleme mit der Zeigerausrichtung auf.
Sie müssen die Verantwortung für alle Grenzen übernehmen, die mit diesem Zeiger überprüft werden.
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für