FileRecordSequence.ReserveAndAppend Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz automaticamente uma única reserva e acrescenta um registo à sequência.
Sobrecargas
| Name | Description |
|---|---|
| ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Faz automaticamente uma única reserva e acrescenta um registo à sequência. Este método não pode ser herdado. |
| ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[]) |
Faz automaticamente uma única reserva e acrescenta um registo à sequência. Este método não pode ser herdado. |
ReserveAndAppend(IList<ArraySegment<Byte>>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Faz automaticamente uma única reserva e acrescenta um registo à sequência. Este método não pode ser herdado.
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
Parâmetros
- data
- IList<ArraySegment<Byte>>
Uma lista de segmentos de array de bytes que serão concatenados e adicionados como registo.
- nextUndoRecord
- SequenceNumber
O número de sequência do registo seguinte na ordem especificada pelo utilizador.
- previousRecord
- SequenceNumber
O número de sequência do próximo registo na ordem Anterior.
- recordAppendOptions
- RecordAppendOptions
Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.
- reservationCollection
- ReservationCollection
A recolha de reservas para fazer reservas em.
- reservations
- Int64[]
As reservas a fazer, em bytes.
Devoluções
O número de sequência do registo de registo anexado.
Implementações
Exceções
Um ou mais dos argumentos são null.
Um ou mais dos argumentos estão fora do alcance.
reservations não foi criado por esta sequência de registos.
A operação não pode ser realizada porque a sequência de registos foi aberta com acesso apenas de leitura.
O pedido não pôde ser realizado devido a uma exceção inesperada de I/O.
O método era chamado depois de a sequência ter sido eliminada.
Não há memória suficiente para continuar a execução do programa.
A sequência de discos está cheia.
Observações
Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.
As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.
Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.
Aplica-se a
ReserveAndAppend(ArraySegment<Byte>, SequenceNumber, SequenceNumber, RecordAppendOptions, ReservationCollection, Int64[])
Faz automaticamente uma única reserva e acrescenta um registo à sequência. Este método não pode ser herdado.
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
Parâmetros
- data
- ArraySegment<Byte>
Uma lista de segmentos de array de bytes que serão concatenados e adicionados como registo.
- nextUndoRecord
- SequenceNumber
O número de sequência do registo seguinte na ordem especificada pelo utilizador.
- previousRecord
- SequenceNumber
O número de sequência do próximo registo na ordem Anterior.
- recordAppendOptions
- RecordAppendOptions
Um valor válido de RecordAppendOptions isso especifica como os dados devem ser escritos.
- reservationCollection
- ReservationCollection
A ReservationCollection que contém a coleção para fazer reservas.
- reservations
- Int64[]
As reservas a fazer, em bytes.
Devoluções
O número de sequência do registo de registo anexado.
Implementações
Exceções
Um ou mais dos argumentos são null.
Um ou mais dos argumentos estão fora do alcance.
reservations não foi criado por esta sequência de registos.
A operação não pode ser realizada porque a sequência de registos foi aberta com acesso apenas de leitura.
O pedido não pôde ser realizado devido a uma exceção inesperada de I/O.
O método era chamado depois de a sequência ter sido eliminada.
Não há memória suficiente para continuar a execução do programa.
A sequência de discos está cheia.
Observações
Os dados contidos no data parâmetro serão concatenados num array de um único byte para serem adicionados como registo. No entanto, não é prevista a divisão dos dados em segmentos de array quando o registo é lido.
As reservas especificadas são adicionadas à coleção de reservas fornecida numa operação atómica com uma operação de anexação de registos. Se o anexo falhar, não há espaço reservado.
Normalmente, este método pode concluir-se antes de o registo ter sido escrito. Para garantir que um registo foi escrito, especifique o ForceFlush flag usando o recordAppendOptions parâmetro ou chame o Flush método.