FileRecordSequence.BeginWriteRestartArea Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicia una operación de escritura de área de reinicio asincrónica.
Sobrecargas
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar. |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.
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>
Una lista de segmentos de la matriz de bytes que se concatenarán y anexarán como el registro.
- newBaseSeqNum
- SequenceNumber
El nuevo número de secuencia base. El número de secuencia especificado debe ser mayor que o igual al número de secuencia base actual.
- reservation
- ReservationCollection
ReservationCollection que contiene la reserva que se debería utilizar para este área de reinicio.
- callback
- AsyncCallback
Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado la escritura del área de reinicio.
- state
- Object
Objeto proporcionado por el usuario que distingue esta solicitud de área de reinicio asincrónica de otras.
Devoluciones
IAsyncResult que representa la operación de escritura de área de reinicio asincrónica, que todavía podría estar pendiente.
Implementaciones
Excepciones
Uno o varios argumentos tienen el valor null
.
newBaseSeqNum
no está entre la base y últimos números de secuencia de esta secuencia.
O bien
Una cola de archivo nueva o existente o la base del registro activo no son válidas.
Esta secuencia del registro no creó reservations
.
O bien
newBaseSeqNum
no es válido para esta secuencia.
La operación no se puede realizar porque la secuencia del registro se abrió con acceso de solo lectura.
La solicitud no se puede realizar debido a una excepción de E/S inesperada.
Se llamó al método una vez eliminada la secuencia.
No hay bastante memoria para continuar la ejecución del programa.
La secuencia del registro está completa.
No se puede encontrar en data
ninguna reserva lo suficientemente grande para ajustar reservations
.
Comentarios
Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse de que la operación de escritura de área de reinicio ha finalizado y de que se pueden liberar los recursos apropiadamente. Si se produce un error durante la escritura asincrónica, no se producirá una excepción hasta que se llame a EndWriteRestartArea con el IAsyncResult que devuelve este método.
Los datos contenidos en el parámetro data
se concatenarán en una matriz de bytes única para anexarlos como el registro. Sin embargo, no se ha realizado ninguna disposición para dividir los datode nuevo en los segmentos de la matriz cuando se lee el registro.
Cuando la operación se completa correctamente, el número de secuencia base se actualiza. Todas las entradas de registro con números de secuencia menores que el nuevo número de secuencia base son inaccesibles.
Si se especifica una ReservationCollection, el área de reinicio escrita utilizará el espacio que se ha reservado previamente, utilizando una reserva contenida en la colección. Si el método tiene éxito, utilizará la reserva de menor tamaño que pueda contener los datos y esa reserva se quitará de la colección.
Si una secuencia del registro se ha eliminado, o si se pasa un argumento no válido, las excepciones se producen inmediatamente en esta operación. Los errores que se produjeron durante una solicitud de anexado asincrónica, como, por ejemplo, un error de disco durante la petición de E/S, producirá excepciones que se producen cuando se llama al método EndWriteRestartArea.
Se aplica a
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Comienza una operación de escritura de área de reinicio asincrónica, utilizando el espacio reservado previamente en la secuencia. Este método no se puede heredar.
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>>
Una lista de segmentos de la matriz de bytes que se concatenarán y anexarán como el registro.
- newBaseSeqNum
- SequenceNumber
El nuevo número de secuencia base. El número de secuencia especificado debe ser mayor que o igual al número de secuencia base actual.
- reservation
- ReservationCollection
ReservationCollection que contiene la reserva que se debería utilizar para este área de reinicio.
- callback
- AsyncCallback
Devolución de llamada asincrónica opcional, a la que se llamará cuando haya finalizado la escritura del área de reinicio.
- state
- Object
Objeto proporcionado por el usuario que distingue esta solicitud de área de reinicio asincrónica de otras.
Devoluciones
IAsyncResult que representa la operación de escritura de área de reinicio asincrónica, que todavía podría estar pendiente.
Implementaciones
Excepciones
Uno o varios argumentos tienen el valor null
.
newBaseSeqNum
no está entre la base y últimos números de secuencia de esta secuencia.
O bien
Una cola de archivo nueva o existente o la base del registro activo no son válidas.
Esta secuencia del registro no creó reservations
.
O bien
newBaseSeqNum
no es válido para esta secuencia.
La operación no se puede realizar porque la secuencia del registro se abrió con acceso de solo lectura.
La solicitud no se puede realizar debido a una excepción de E/S inesperada.
Se llamó al método una vez eliminada la secuencia.
No hay bastante memoria para continuar la ejecución del programa.
La secuencia del registro está completa.
No se puede encontrar en data
ninguna reserva lo suficientemente grande para ajustar reservations
.
Comentarios
Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse de que la operación de escritura de área de reinicio ha finalizado y de que se pueden liberar los recursos apropiadamente. Si se produce un error durante la escritura asincrónica, no se producirá una excepción hasta que se llame a EndWriteRestartArea con el IAsyncResult que devuelve este método.
Los datos contenidos en el parámetro data
se concatenarán en una matriz de bytes única para anexarlos como el registro. Sin embargo, no se ha realizado ninguna disposición para dividir los datode nuevo en los segmentos de la matriz cuando se lee el registro.
Cuando la operación se completa correctamente, el número de secuencia base se actualiza. Todas las entradas de registro con números de secuencia menores que el nuevo número de secuencia base son inaccesibles.
Si se especifica una ReservationCollection, el área de reinicio escrita utilizará el espacio que se ha reservado previamente, utilizando una reserva contenida en la colección. Si el método tiene éxito, utilizará la reserva de menor tamaño que pueda contener los datos y esa reserva se quitará de la colección.
Si una secuencia del registro se ha eliminado, o si se pasa un argumento no válido, las excepciones se producen inmediatamente en esta operación. Los errores que se produjeron durante una solicitud de anexado asincrónica, como, por ejemplo, un error de disco durante la petición de E/S, producirá excepciones que se producen cuando se llama al método EndWriteRestartArea.