LogRecordSequence.BeginWriteRestartArea 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.
Startet einen asynchronen Neustartbereich-Schreibvorgang.
Überlädt
| Name | Beschreibung |
|---|---|
| BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Startet einen asynchronen Neustartbereichsschreibvorgang unter Verwendung des zuvor reservierten Speicherplatzes in der Sequenz. Diese Methode kann nicht geerbt werden. |
| BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Startet einen asynchronen Neustartbereichsschreibvorgang unter Verwendung des zuvor reservierten Speicherplatzes in der Sequenz. Diese Methode kann nicht geerbt werden. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Startet einen asynchronen Neustartbereichsschreibvorgang unter Verwendung des zuvor reservierten Speicherplatzes in der Sequenz. Diese Methode kann nicht geerbt werden.
public:
virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservationCollection, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservationCollection, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As IList(Of ArraySegment(Of Byte)), newBaseSeqNum As SequenceNumber, reservationCollection As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- data
- IList<ArraySegment<Byte>>
Eine Liste der Bytearraysegmente, die als Datensatz verkettet und angefügt werden.
- newBaseSeqNum
- SequenceNumber
Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.
- reservationCollection
- ReservationCollection
A ReservationCollection that contains the reservation that should be used for this restart area.
- callback
- AsyncCallback
Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn der Schreibvorgang des Neustartbereichs abgeschlossen ist.
- state
- Object
Ein vom Benutzer bereitgestelltes Objekt, das diese spezielle asynchrone Schreibanforderung für den Neustartbereich von anderen Anforderungen unterscheidet.
Gibt zurück
Ein IAsyncResult Wert, der den asynchronen Neustartbereich-Schreibvorgang darstellt, der noch aussteht.
Implementiert
Ausnahmen
newBaseSeqNum ist für diese Sequenz ungültig.
-oder-
Die angegebene Startsequenznummer der Protokollaufzählung ist ungültig.
-oder-
data kann nicht angefügt werden, da sie größer als die maximale Datensatzgröße ist.
-oder-
reservationCollection wurde nicht von dieser Datensatzsequenz erstellt.
Mindestens ein Parameter ist null.
Ein neuer oder vorhandener Archivschwanz oder eine Basis des aktiven Protokolls ist ungültig.
-oder-
newBaseSeqNum ist nicht zwischen der Basis- und der letzten Sequenznummer dieser Sequenz.
Die Anforderung konnte aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.
-oder-
Die Anforderung konnte aufgrund eines E/A-Gerätefehlers nicht ausgeführt werden.
Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.
Der Zugriff auf die angegebene Protokollsequenz wird vom Betriebssystem verweigert.
Die Datensatzsequenz ist voll.
Hinweise
Sie sollten die IAsyncResult von dieser Methode zurückgegebene Methode an die EndWriteRestartArea Methode übergeben, um sicherzustellen, dass der Schreibvorgang für den Neustartbereich abgeschlossen ist und Ressourcen entsprechend freigegeben werden können. Wenn während eines asynchronen Neustartbereich-Schreibvorgangs ein Fehler aufgetreten ist, wird eine Ausnahme erst ausgelöst, wenn die EndWriteRestartArea Methode mit der IAsyncResult von dieser Methode zurückgegebenen Methode aufgerufen wird.
Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.
Wenn der Vorgang erfolgreich abgeschlossen wurde, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern kleiner als die neue Basissequenznummer kann nicht zugegriffen werden.
Wenn ein ReservationCollection Wert angegeben ist, verbraucht der geschriebene Neustartbereich Speicherplatz, der zuvor reserviert wurde, unter Verwendung einer Reservierung in der Sammlung. Wenn die Methode erfolgreich ist, verbraucht sie die kleinste Reservierung, die die Daten enthalten kann, und diese Reservierung wird aus der Sammlung entfernt.
Wenn eine Datensatzsequenz verworfen wurde oder Wenn Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort innerhalb dieses Vorgangs ausgelöst. Fehler, die während einer asynchronen Anfügeanforderung aufgetreten sind, z. B. ein Datenträgerfehler während der E/A-Anforderung, führen dazu, dass Ausnahmen ausgelöst werden, wenn die EndWriteRestartArea Methode aufgerufen wird.
Gilt für:
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Startet einen asynchronen Neustartbereichsschreibvorgang unter Verwendung des zuvor reservierten Speicherplatzes in der Sequenz. Diese Methode kann nicht geerbt werden.
public:
virtual IAsyncResult ^ BeginWriteRestartArea(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea(ArraySegment<byte> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, AsyncCallback callback, object state);
abstract member BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
override this.BeginWriteRestartArea : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.ReservationCollection * AsyncCallback * obj -> IAsyncResult
Public Function BeginWriteRestartArea (data As ArraySegment(Of Byte), newBaseSeqNum As SequenceNumber, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- data
- ArraySegment<Byte>
Bytearraysegmente, die als Datensatz verkettet und angefügt werden.
- newBaseSeqNum
- SequenceNumber
Die neue Basissequenznummer. Die angegebene Sequenznummer muss größer oder gleich der aktuellen Basissequenznummer sein.
- reservation
- ReservationCollection
A ReservationCollection that contains the reservation that should be used for this restart area.
- callback
- AsyncCallback
Ein optionaler asynchroner Rückruf, der aufgerufen werden soll, wenn der Schreibvorgang des Neustartbereichs abgeschlossen ist.
- state
- Object
Ein vom Benutzer bereitgestelltes Objekt, das diese spezielle asynchrone Schreibanforderung für den Neustartbereich von anderen Anforderungen unterscheidet.
Gibt zurück
Ein IAsyncResult Wert, der den asynchronen Neustartbereich-Schreibvorgang darstellt, der noch aussteht.
Implementiert
Ausnahmen
newBaseSeqNum ist für diese Sequenz ungültig.
-oder-
Die angegebene Startsequenznummer der Protokollaufzählung ist ungültig.
-oder-
data kann nicht angefügt werden, da sie größer als die maximale Datensatzgröße ist.
-oder-
reservation wurde nicht von dieser Datensatzsequenz erstellt.
Mindestens ein Parameter ist null.
Ein neuer oder vorhandener Archivschwanz oder eine Basis des aktiven Protokolls ist ungültig.
-oder-
newBaseSeqNum ist nicht zwischen der Basis- und der letzten Sequenznummer dieser Sequenz.
Die Anforderung konnte aufgrund einer unerwarteten E/A-Ausnahme nicht ausgeführt werden.
-oder-
Die Anforderung konnte aufgrund eines E/A-Gerätefehlers nicht ausgeführt werden.
Die Methode wurde aufgerufen, nachdem die Sequenz verworfen wurde.
Es ist nicht genügend Arbeitsspeicher vorhanden, um die Ausführung des Programms fortzusetzen.
Der Zugriff auf die angegebene Protokollsequenz wird vom Betriebssystem verweigert.
Die Datensatzsequenz ist voll.
Hinweise
Sie sollten die IAsyncResult von dieser Methode zurückgegebene Methode an die EndWriteRestartArea Methode übergeben, um sicherzustellen, dass der Schreibvorgang für den Neustartbereich abgeschlossen ist und Ressourcen entsprechend freigegeben werden können. Wenn während eines asynchronen Neustartbereich-Schreibvorgangs ein Fehler aufgetreten ist, wird eine Ausnahme erst ausgelöst, wenn die EndWriteRestartArea Methode mit der IAsyncResult von dieser Methode zurückgegebenen Methode aufgerufen wird.
Daten, die data im Parameter enthalten sind, werden als Datensatz in ein einzelnes Bytearray verkettet. Beim Lesen des Datensatzes werden jedoch keine Daten wieder in Arraysegmente aufgeteilt.
Wenn der Vorgang erfolgreich abgeschlossen wurde, wurde die Basissequenznummer aktualisiert. Auf alle Protokolldatensätze mit Sequenznummern kleiner als die neue Basissequenznummer kann nicht zugegriffen werden.
Wenn ein ReservationCollection Wert angegeben ist, verbraucht der geschriebene Neustartbereich Speicherplatz, der zuvor reserviert wurde, unter Verwendung einer Reservierung in der Sammlung. Wenn die Methode erfolgreich ist, verbraucht sie die kleinste Reservierung, die die Daten enthalten kann, und diese Reservierung wird aus der Sammlung entfernt.
Wenn eine Datensatzsequenz verworfen wurde oder Wenn Sie ein ungültiges Argument übergeben, werden Ausnahmen sofort innerhalb dieses Vorgangs ausgelöst. Fehler, die während einer asynchronen Anfügeanforderung aufgetreten sind, z. B. ein Datenträgerfehler während der E/A-Anforderung, führen dazu, dass Ausnahmen ausgelöst werden, wenn die EndWriteRestartArea Methode aufgerufen wird.