Langue

IRecordSequence.BeginReserveAndAppend Méthode

Définition

En cas de substitution dans une classe dérivée, commence une opération de réserve asynchrone et d’ajout.

Surcharges

Nom Description
BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

En cas de substitution dans une classe dérivée, commence une opération de réserve asynchrone et d’ajout.

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

En cas de substitution dans une classe dérivée, commence une opération de réserve asynchrone et d’ajout.

BeginReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

En cas de substitution dans une classe dérivée, commence une opération de réserve asynchrone et d’ajout.

public:
 IAsyncResult ^ BeginReserveAndAppend(ArraySegment<System::Byte> data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

data
ArraySegment<Byte>

Liste des segments de tableau d’octets qui seront concaténés et ajoutés en tant qu’enregistrement.

nextUndoRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre spécifié par l’utilisateur.

previousRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre précédent.

recordAppendOptions
RecordAppendOptions

Valeur valide de RecordAppendOptions ce qui spécifie la façon dont les données doivent être écrites.

reservationCollection
ReservationCollection

Collection de réservations dans laquelle effectuer des réservations.

reservations
Int64[]

Réservations à effectuer, en octets.

callback
AsyncCallback

Rappel asynchrone facultatif, à appeler une fois l’ajout terminé.

state
Object

Objet fourni par l’utilisateur qui distingue cette demande d’ajout asynchrone particulière d’autres requêtes.

Retours

Qui IAsyncResult représente cette opération asynchrone, qui peut toujours être en attente.

Exceptions

Un ou plusieurs arguments ne sont pas valides.

Une erreur d’E/S s’est produite lors de l’ajout de l’enregistrement.

La séquence d’enregistrements n’a pas pu libérer suffisamment d’espace pour contenir le nouvel enregistrement ou pour effectuer la réservation.

La méthode a été appelée après la suppression de la séquence.

Remarques

Vous devez transmettre le IAsyncResult retour de cette méthode à la EndReserveAndAppend méthode pour vous assurer que l’opération d’ajout est terminée et que les ressources peuvent être libérées de manière appropriée. Si une erreur s’est produite lors d’un ajout asynchrone, une exception n’est pas levée tant que la EndReserveAndAppend méthode n’est pas appelée avec la IAsyncResult méthode retournée par cette méthode.

Les données contenues dans le data paramètre sont concaténées dans un tableau d’octets unique pour l’ajout en tant qu’enregistrement. Toutefois, aucune disposition n’est effectuée pour fractionner les données en segments de tableau lorsque l’enregistrement est lu.

Les réservations spécifiées sont ajoutées à la collection de réservations fournie dans une opération atomique avec une opération d’ajout d’enregistrement. Si l’ajout échoue, aucun espace n’est réservé.

Normalement, cette méthode peut se terminer avant l’écriture de l’enregistrement. Pour vous assurer qu’un enregistrement a été écrit, spécifiez l’indicateur ForceFlush à l’aide du recordAppendOptions paramètre ou appelez la Flush méthode.

Si une séquence d’enregistrements a été supprimée ou si vous transmettez un argument non valide, les exceptions sont levées immédiatement dans cette opération. Les erreurs qui se sont produites lors d’une demande d’ajout asynchrone, par exemple une défaillance de disque pendant la requête d’E/S, entraînent la levée d’exceptions lorsque la EndReserveAndAppend méthode est appelée.

S’applique à

BeginReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[], AsyncCallback, Object)

En cas de substitution dans une classe dérivée, commence une opération de réserve asynchrone et d’ajout.

public:
 IAsyncResult ^ BeginReserveAndAppend(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber nextUndoRecord, System::IO::Log::SequenceNumber previousRecord, System::IO::Log::RecordAppendOptions recordAppendOptions, System::IO::Log::ReservationCollection ^ reservationCollection, cli::array <long> ^ reservations, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReserveAndAppend(System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, long[] reservations, AsyncCallback callback, object state);
abstract member BeginReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] * AsyncCallback * obj -> IAsyncResult
Public Function BeginReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, reservations As Long(), callback As AsyncCallback, state As Object) As IAsyncResult

Paramètres

data
IList<ArraySegment<Byte>>

Liste des segments de tableau d’octets qui seront concaténés et ajoutés en tant qu’enregistrement.

nextUndoRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre spécifié par l’utilisateur.

previousRecord
SequenceNumber

Numéro de séquence de l’enregistrement suivant dans l’ordre précédent.

recordAppendOptions
RecordAppendOptions

Valeur valide de RecordAppendOptions ce qui spécifie la façon dont les données doivent être écrites.

reservationCollection
ReservationCollection

Collection de réservations dans laquelle effectuer des réservations.

reservations
Int64[]

Réservations à effectuer, en octets.

callback
AsyncCallback

Rappel asynchrone facultatif, à appeler une fois l’ajout terminé.

state
Object

Objet fourni par l’utilisateur qui distingue cette demande d’ajout asynchrone particulière d’autres requêtes.

Retours

Qui IAsyncResult représente cette opération asynchrone, qui peut toujours être en attente.

Exceptions

Un ou plusieurs arguments ne sont pas valides.

Une erreur d’E/S s’est produite lors de l’ajout de l’enregistrement.

La séquence d’enregistrements n’a pas pu libérer suffisamment d’espace pour contenir le nouvel enregistrement ou pour effectuer la réservation.

La méthode a été appelée après la suppression de la séquence.

Remarques

Vous devez transmettre le IAsyncResult retour de cette méthode à la EndReserveAndAppend méthode pour vous assurer que l’opération d’ajout est terminée et que les ressources peuvent être libérées de manière appropriée. Si une erreur s’est produite lors d’un ajout asynchrone, une exception n’est pas levée tant que la EndReserveAndAppend méthode n’est pas appelée avec la IAsyncResult méthode retournée par cette méthode.

Les données contenues dans le data paramètre sont concaténées dans un tableau d’octets unique pour l’ajout en tant qu’enregistrement. Toutefois, aucune disposition n’est effectuée pour fractionner les données en segments de tableau lorsque l’enregistrement est lu.

Les réservations spécifiées sont ajoutées à la collection de réservations fournie dans une opération atomique avec une opération d’ajout d’enregistrement. Si l’ajout échoue, aucun espace n’est réservé.

Normalement, cette méthode peut se terminer avant l’écriture de l’enregistrement. Pour vous assurer qu’un enregistrement a été écrit, spécifiez l’indicateur ForceFlush à l’aide du recordAppendOptions paramètre ou appelez la Flush méthode.

Si une séquence d’enregistrements a été supprimée ou si vous transmettez un argument non valide, les exceptions sont levées immédiatement dans cette opération. Les erreurs qui se sont produites lors d’une demande d’ajout asynchrone, par exemple une défaillance de disque pendant la requête d’E/S, entraînent la levée d’exceptions lorsque la EndReserveAndAppend méthode est appelée.

S’applique à