LogRecordSequence.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(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. |
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 ^ 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>>
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.
- reservationCollection
- 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
newBaseSeqNum
no es válido para esta secuencia.
o bien
La secuencia de inicio de enumeración del registro especificada no es válida.
o bien
No se pueden anexar data
porque es mayor que el tamaño de registro máximo.
o bien
Esta secuencia del registro no creó reservationCollection
.
Uno o más de los parámetros tienen el valor null
.
Una cola de archivo nueva o existente o la base del registro activo no son válidas.
o bien
newBaseSeqNum
no está entre la base y últimos números de secuencia de esta secuencia.
La solicitud no se pudo realizar debido a una excepción de E/S inesperada.
o bien
La solicitud no se pudo realizar debido a un error de dispositivo de E/S.
Se llamó al método una vez eliminada la secuencia.
No hay bastante memoria para continuar la ejecución del programa.
El sistema operativo ha denegado el acceso a la secuencia de registro especificado.
La secuencia del registro está completa.
Comentarios
Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse que la operación de escritura de área de reinicio ha finalizado y 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(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>
Segmentos de la matriz de bytes que se concatenarán y se 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
newBaseSeqNum
no es válido para esta secuencia.
o bien
La secuencia de inicio de enumeración del registro especificada no es válida.
o bien
No se pueden anexar data
porque es mayor que el tamaño de registro máximo.
o bien
Esta secuencia del registro no creó reservation
.
Uno o más de los parámetros tienen el valor null
.
Una cola de archivo nueva o existente o la base del registro activo no son válidas.
o bien
newBaseSeqNum
no está entre la base y últimos números de secuencia de esta secuencia.
La solicitud no se pudo realizar debido a una excepción de E/S inesperada.
o bien
La solicitud no se pudo realizar debido a un error de dispositivo de E/S.
Se llamó al método una vez eliminada la secuencia.
No hay bastante memoria para continuar la ejecución del programa.
El sistema operativo ha denegado el acceso a la secuencia de registro especificado.
La secuencia del registro está completa.
Comentarios
Debería pasar IAsyncResult devuelto por este método al método EndWriteRestartArea para asegurarse que la operación de escritura de área de reinicio ha finalizado y 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.