LogRecordSequence.BeginWriteRestartArea Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania.
Przeciążenia
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody. |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody. |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.
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
Parametry
- data
- IList<ArraySegment<Byte>>
Lista segmentów tablic bajtowych, które będą łączone i dołączane jako rekord.
- newBaseSeqNum
- SequenceNumber
Nowy numer sekwencji podstawowej. Określony numer sekwencji musi być większy lub równy bieżącemu numerowi sekwencji bazowej.
- reservationCollection
- ReservationCollection
Element ReservationCollection zawierający rezerwację, która powinna być używana dla tego obszaru ponownego uruchamiania.
- callback
- AsyncCallback
Opcjonalne wywołanie zwrotne asynchroniczne, które ma być wywoływane po zakończeniu zapisu obszaru ponownego uruchamiania.
- state
- Object
Obiekt udostępniony przez użytkownika, który rozróżnia ten konkretny asynchroniczny żądanie zapisu obszaru ponownego uruchamiania z innych żądań.
Zwraca
Element IAsyncResult reprezentujący asynchroniczną operację zapisu obszaru ponownego uruchamiania, która nadal może być oczekująca.
Implementuje
Wyjątki
newBaseSeqNum
jest nieprawidłowa dla tej sekwencji.
-lub-
Określony numer sekwencji początkowej wyliczenia dziennika jest nieprawidłowy.
-lub-
data
nie można dołączyć, ponieważ jest on większy niż maksymalny rozmiar rekordu.
-lub-
reservationCollection
ta sekwencja rekordów nie została utworzona.
Co najmniej jeden z parametrów to null
.
Nowy lub istniejący archiwum ogon lub baza aktywnego dziennika jest nieprawidłowa.
-lub-
newBaseSeqNum
nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.
Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.
-lub-
Nie można wykonać żądania z powodu błędu urządzenia we/wy.
Metoda została wywołana po usunięciu sekwencji.
Za mało pamięci, aby kontynuować wykonywanie programu.
Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.
Sekwencja rekordów jest pełna.
Uwagi
Należy przekazać wartość zwróconą IAsyncResult przez tę metodę do EndWriteRestartArea metody, aby upewnić się, że operacja zapisu obszaru ponownego uruchomienia została ukończona, a zasoby można zwolnić odpowiednio. Jeśli wystąpił błąd podczas asynchronicznej operacji zapisu obszaru ponownego uruchamiania, wyjątek nie zostanie zgłoszony, dopóki EndWriteRestartArea metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.
Dane zawarte w parametrze data
będą łączone w jedną tablicę bajtów do dołączania jako rekordu. Jednak podczas odczytywania rekordu nie jest wprowadzana żadna aprowizacja dzielenia danych z powrotem na segmenty tablic.
Po pomyślnym zakończeniu operacji numer sekwencji podstawowej został zaktualizowany. Wszystkie rekordy dziennika z numerami sekwencji mniejszymi niż nowy numer sekwencji podstawowej są niedostępne.
Jeśli zostanie ReservationCollection określony, zapisany obszar ponownego uruchamiania będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji zawartej w kolekcji. Jeśli metoda powiedzie się, będzie korzystać z najmniejszej rezerwacji, która może przechowywać dane, a rezerwacja zostanie usunięta z kolekcji.
Jeśli sekwencja rekordów została usunięta lub jeśli przekazano nieprawidłowy argument, wyjątki są zgłaszane natychmiast w ramach tej operacji. Błędy, które wystąpiły podczas asynchronicznego żądania dołączania, na przykład błąd dysku podczas żądania we/wy, spowoduje zgłaszanie wyjątków po EndWriteRestartArea wywołaniu metody.
Dotyczy
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
Rozpoczyna asynchroniczną operację zapisu obszaru ponownego uruchamiania przy użyciu miejsca zarezerwowanego wcześniej w sekwencji. Nie można dziedziczyć tej metody.
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
Parametry
- data
- ArraySegment<Byte>
Segmenty tablic bajtów, które będą łączone i dołączane jako rekord.
- newBaseSeqNum
- SequenceNumber
Nowy numer sekwencji podstawowej. Określony numer sekwencji musi być większy lub równy bieżącemu numerowi sekwencji bazowej.
- reservation
- ReservationCollection
Element ReservationCollection zawierający rezerwację, która powinna być używana dla tego obszaru ponownego uruchamiania.
- callback
- AsyncCallback
Opcjonalne wywołanie zwrotne asynchroniczne, które ma być wywoływane po zakończeniu zapisu obszaru ponownego uruchamiania.
- state
- Object
Obiekt udostępniony przez użytkownika, który rozróżnia ten konkretny asynchroniczny żądanie zapisu obszaru ponownego uruchamiania z innych żądań.
Zwraca
Element IAsyncResult reprezentujący asynchroniczną operację zapisu obszaru ponownego uruchamiania, która nadal może być oczekująca.
Implementuje
Wyjątki
newBaseSeqNum
jest nieprawidłowa dla tej sekwencji.
-lub-
Określony numer sekwencji początkowej wyliczenia dziennika jest nieprawidłowy.
-lub-
data
nie można dołączyć, ponieważ jest on większy niż maksymalny rozmiar rekordu.
-lub-
reservation
ta sekwencja rekordów nie została utworzona.
Co najmniej jeden z parametrów to null
.
Nowy lub istniejący archiwum ogon lub baza aktywnego dziennika jest nieprawidłowa.
-lub-
newBaseSeqNum
nie znajduje się między numerami podstawowymi i ostatnimi sekwencjami tej sekwencji.
Nie można wykonać żądania z powodu nieoczekiwanego wyjątku we/wy.
-lub-
Nie można wykonać żądania z powodu błędu urządzenia we/wy.
Metoda została wywołana po usunięciu sekwencji.
Za mało pamięci, aby kontynuować wykonywanie programu.
Dostęp do określonej sekwencji dzienników jest odrzucany przez system operacyjny.
Sekwencja rekordów jest pełna.
Uwagi
Należy przekazać wartość zwróconą IAsyncResult przez tę metodę do EndWriteRestartArea metody, aby upewnić się, że operacja zapisu obszaru ponownego uruchomienia została ukończona, a zasoby można zwolnić odpowiednio. Jeśli wystąpił błąd podczas asynchronicznej operacji zapisu obszaru ponownego uruchamiania, wyjątek nie zostanie zgłoszony, dopóki EndWriteRestartArea metoda nie zostanie wywołana przy użyciu metody zwróconej IAsyncResult przez tę metodę.
Dane zawarte w parametrze data
będą łączone w jedną tablicę bajtów do dołączania jako rekordu. Jednak podczas odczytywania rekordu nie jest wprowadzana żadna aprowizacja dzielenia danych z powrotem na segmenty tablic.
Po pomyślnym zakończeniu operacji numer sekwencji podstawowej został zaktualizowany. Wszystkie rekordy dziennika z numerami sekwencji mniejszymi niż nowy numer sekwencji podstawowej są niedostępne.
Jeśli zostanie ReservationCollection określony, zapisany obszar ponownego uruchamiania będzie zużywać miejsce, które zostało wcześniej zarezerwowane, przy użyciu rezerwacji zawartej w kolekcji. Jeśli metoda powiedzie się, będzie korzystać z najmniejszej rezerwacji, która może przechowywać dane, a rezerwacja zostanie usunięta z kolekcji.
Jeśli sekwencja rekordów została usunięta lub jeśli przekazano nieprawidłowy argument, wyjątki są zgłaszane natychmiast w ramach tej operacji. Błędy, które wystąpiły podczas asynchronicznego żądania dołączania, na przykład błąd dysku podczas żądania we/wy, spowoduje zgłaszanie wyjątków po EndWriteRestartArea wywołaniu metody.