FileRecordSequence.BeginWriteRestartArea Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Começa uma operação de gravação de área de reinicialização assíncrona.
Sobrecargas
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Começa uma operação de gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Começa uma operação de gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado. |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Começa uma operação de gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.
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
Parâmetros
- data
- ArraySegment<Byte>
Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.
- newBaseSeqNum
- SequenceNumber
O novo número de sequência de base. O número de sequência especificado deve ser maior ou igual ao número de sequência de base atual.
- reservation
- ReservationCollection
Um ReservationCollection que contém a reserva que deve ser usada para esta área de reinicialização.
- callback
- AsyncCallback
Um retorno de chamada assíncrona opcional, a ser chamada quando a gravação da área de reinicialização for concluída.
- state
- Object
Um objeto fornecido pelo usuário que distingue essa solicitação de gravação de área de reinicialização assíncrona específica de outras solicitações.
Retornos
Um IAsyncResult que representa a operação de gravação da área de reinicialização assíncrona, que ainda pode estar pendente.
Implementações
Exceções
Um ou mais argumentos são null
.
newBaseSeqNum
não está entre os números de base e de última sequência dessa sequência.
- ou -
Uma cauda ou base de um arquivo novo ou existente do registro ativo é inválida.
reservations
não foi criado por essa sequência de registro.
- ou -
newBaseSeqNum
não é válido para essa sequência.
Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.
A solicitação não pode ser executada devido a uma exceção de E/S inesperada.
O método foi chamado depois que a sequência foi descartada.
Não há memória suficiente para continuar a execução do programa.
A sequência de registros está cheia.
Nenhuma reserva suficientemente grande para se ajustar a data
pode ser encontrada em reservations
.
Comentários
Você deve passar o IAsyncResult retornado por esse método para o EndWriteRestartArea método , para garantir que a operação de gravação da área de reinicialização tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante uma operação de gravação de área de reinicialização assíncrona, uma exceção não será gerada até que o EndWriteRestartArea método seja chamado com o IAsyncResult retornado por esse método.
Os dados contidos no data
parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.
Quando a operação for concluída com êxito, o número da sequência base será atualizado. Todos os registros de log com números de sequência menores que o novo número de sequência base são inacessíveis.
Se um ReservationCollection for especificado, a área de reinicialização por escrito consumirá o espaço que foi reservado anteriormente, usando uma reserva contida na coleção. Se o método for bem-sucedido, ele consumirá a menor reserva que pode conter os dados e essa reserva será removida da coleção.
Se uma sequência de registros tiver sido descartada ou se você passar um argumento inválido, as exceções serão lançadas imediatamente dentro dessa operação. Erros ocorridos durante uma solicitação de acréscimo assíncrona, por exemplo, uma falha de disco durante a solicitação de E/S, resultarão na geração de exceções quando o EndWriteRestartArea método for chamado.
Aplica-se a
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Começa uma operação de gravação de área de reinicialização assíncrona, usando o espaço reservado anteriormente na sequência. Esse método não pode ser herdado.
public:
virtual IAsyncResult ^ BeginWriteRestartArea(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ data, System::IO::Log::SequenceNumber newBaseSeqNum, System::IO::Log::ReservationCollection ^ reservation, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWriteRestartArea (System.Collections.Generic.IList<ArraySegment<byte>> data, System.IO.Log.SequenceNumber newBaseSeqNum, System.IO.Log.ReservationCollection reservation, 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, reservation As ReservationCollection, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- data
- IList<ArraySegment<Byte>>
Uma lista de segmentos de matriz de bytes que serão concatenados e acrescentados como o registro.
- newBaseSeqNum
- SequenceNumber
O novo número de sequência de base. O número de sequência especificado deve ser maior ou igual ao número de sequência de base atual.
- reservation
- ReservationCollection
Um ReservationCollection que contém a reserva que deve ser usada para esta área de reinicialização.
- callback
- AsyncCallback
Um retorno de chamada assíncrona opcional, a ser chamada quando a gravação da área de reinicialização for concluída.
- state
- Object
Um objeto fornecido pelo usuário que distingue essa solicitação de gravação de área de reinicialização assíncrona específica de outras solicitações.
Retornos
Um IAsyncResult que representa a operação de gravação da área de reinicialização assíncrona, que ainda pode estar pendente.
Implementações
Exceções
Um ou mais argumentos são null
.
newBaseSeqNum
não está entre os números de base e de última sequência dessa sequência.
- ou -
Uma cauda ou base de um arquivo novo ou existente do registro ativo é inválida.
reservations
não foi criado por essa sequência de registro.
- ou -
newBaseSeqNum
não é válido para essa sequência.
Não é possível executar a operação porque a sequência de registros foi aberta com acesso somente leitura.
A solicitação não pode ser executada devido a uma exceção de E/S inesperada.
O método foi chamado depois que a sequência foi descartada.
Não há memória suficiente para continuar a execução do programa.
A sequência de registros está cheia.
Nenhuma reserva suficientemente grande para se ajustar a data
pode ser encontrada em reservations
.
Comentários
Você deve passar o IAsyncResult retornado por esse método para o EndWriteRestartArea método , para garantir que a operação de gravação da área de reinicialização tenha sido concluída e que os recursos possam ser liberados adequadamente. Se ocorrer um erro durante uma operação de gravação de área de reinicialização assíncrona, uma exceção não será gerada até que o EndWriteRestartArea método seja chamado com o IAsyncResult retornado por esse método.
Os dados contidos no data
parâmetro serão concatenados em uma única matriz de bytes para acrescentar como o registro. No entanto, nenhuma provisão é feita para dividir dados novamente em segmentos de matriz quando o registro é lido.
Quando a operação for concluída com êxito, o número da sequência base será atualizado. Todos os registros de log com números de sequência menores que o novo número de sequência base são inacessíveis.
Se um ReservationCollection for especificado, a área de reinicialização por escrito consumirá o espaço que foi reservado anteriormente, usando uma reserva contida na coleção. Se o método for bem-sucedido, ele consumirá a menor reserva que pode conter os dados e essa reserva será removida da coleção.
Se uma sequência de registros tiver sido descartada ou se você passar um argumento inválido, as exceções serão lançadas imediatamente dentro dessa operação. Erros ocorridos durante uma solicitação de acréscimo assíncrona, por exemplo, uma falha de disco durante a solicitação de E/S, resultarão na geração de exceções quando o EndWriteRestartArea método for chamado.