LogRecordSequence.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(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. |
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 ^ 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
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.
- reservationCollection
- 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
newBaseSeqNum
não é válido para essa sequência.
- ou -
O número de sequência de início de enumeração de log especificado é inválido.
- ou -
data
não pode ser anexado porque é maior que o tamanho máximo do registro.
- ou -
reservationCollection
não foi criado por essa sequência de registro.
Um ou mais dos parâmetros é null
.
Uma cauda ou base de um arquivo novo ou existente do registro ativo é inválida.
- ou -
newBaseSeqNum
não está entre os números de base e de última sequência dessa sequência.
A solicitação não pôde ser executada devido a uma exceção de E/S inesperada.
- ou -
Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.
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.
O acesso para a sequência de log especificada foi negado pelo sistema operacional.
A sequência de registros está cheia.
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 que ocorreram 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(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>
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
newBaseSeqNum
não é válido para essa sequência.
- ou -
O número de sequência de início de enumeração de log especificado é inválido.
- ou -
data
não pode ser anexado porque é maior que o tamanho máximo do registro.
- ou -
reservation
não foi criado por essa sequência de registro.
Um ou mais dos parâmetros é null
.
Uma cauda ou base de um arquivo novo ou existente do registro ativo é inválida.
- ou -
newBaseSeqNum
não está entre os números de base e de última sequência dessa sequência.
A solicitação não pôde ser executada devido a uma exceção de E/S inesperada.
- ou -
Não foi possível executar a solicitação devido a um erro de dispositivo de E/S.
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.
O acesso para a sequência de log especificada foi negado pelo sistema operacional.
A sequência de registros está cheia.
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 que ocorreram 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.