FileRecordSequence.ReserveAndAppend Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fait automatiquement une réservation unique et ajoute un enregistrement à la séquence.
Surcharges
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Fait automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée. |
ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Fait automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée. |
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Fait automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.
public:
virtual System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend (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, params long[] reservations);
abstract member ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : System.Collections.Generic.IList<ArraySegment<byte>> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As IList(Of ArraySegment(Of Byte)), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber
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
Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.
- reservationCollection
- ReservationCollection
Collection de réservations dans laquelle les réservations sont effectuées.
- reservations
- Int64[]
Réservations à effectuer, en octets.
Retours
Numéro de séquence de l'enregistrement du journal ajouté.
Implémente
Exceptions
Un ou plusieurs arguments ont la valeur null
.
Un ou plusieurs des arguments sont hors limite.
reservations
n'a pas été créé par cette séquence d'enregistrement.
L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.
La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.
La méthode a été appelée après la suppression de la séquence.
La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.
La séquence d'enregistrement est complète.
Remarques
Les données contenues dans le paramètre data
seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.
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 doit se terminer avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions
ou appelez la méthode Flush.
S’applique à
ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Fait automatiquement une réservation unique et ajoute un enregistrement à la séquence. Cette méthode ne peut pas être héritée.
public:
virtual System::IO::Log::SequenceNumber ReserveAndAppend(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);
public System.IO.Log.SequenceNumber ReserveAndAppend (ArraySegment<byte> data, System.IO.Log.SequenceNumber nextUndoRecord, System.IO.Log.SequenceNumber previousRecord, System.IO.Log.RecordAppendOptions recordAppendOptions, System.IO.Log.ReservationCollection reservationCollection, params long[] reservations);
abstract member ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
override this.ReserveAndAppend : ArraySegment<byte> * System.IO.Log.SequenceNumber * System.IO.Log.SequenceNumber * System.IO.Log.RecordAppendOptions * System.IO.Log.ReservationCollection * int64[] -> System.IO.Log.SequenceNumber
Public Function ReserveAndAppend (data As ArraySegment(Of Byte), nextUndoRecord As SequenceNumber, previousRecord As SequenceNumber, recordAppendOptions As RecordAppendOptions, reservationCollection As ReservationCollection, ParamArray reservations As Long()) As SequenceNumber
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
Une valeur valide de RecordAppendOptions qui spécifie comment les données doivent être écrites.
- reservationCollection
- ReservationCollection
ReservationCollection qui contient la collection dans laquelle sont effectuées les réservations.
- reservations
- Int64[]
Réservations à effectuer, en octets.
Retours
Numéro de séquence de l'enregistrement du journal ajouté.
Implémente
Exceptions
Un ou plusieurs arguments ont la valeur null
.
Un ou plusieurs des arguments sont hors limite.
reservations
n'a pas été créé par cette séquence d'enregistrement.
L'opération ne peut pas être effectuée car la séquence d'enregistrement a été ouverte en lecture seule.
La requête n'a pas pu être exécutée en raison d'une exception d'E/S inattendue.
La méthode a été appelée après la suppression de la séquence.
La mémoire disponible n'est pas suffisante pour continuer l'exécution du programme.
La séquence d'enregistrement est complète.
Remarques
Les données contenues dans le paramètre data
seront concaténées dans un tableau d'octets unique pour l'ajouter en tant qu'enregistrement. Toutefois, il n'est pas possible de rétablir les segments du tableau en fractionnant les données lors de la lecture de l'enregistrement.
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 doit se terminer avant que l'enregistrement ait été écrit. Pour vous assurer de l'écriture d'un enregistrement, spécifiez l'indicateur ForceFlush à l'aide du paramètre recordAppendOptions
ou appelez la méthode Flush.