FileRecordSequence.BeginWriteRestartArea 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始執行非同步的重新啟動區域寫入作業。
多載
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
使用先前保留在順序中的空間,開始執行非同步的重新啟用區域寫入作業。 這個方法無法被繼承。 |
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object) |
使用先前保留在順序中的空間,開始執行非同步的重新啟用區域寫入作業。 這個方法無法被繼承。 |
BeginWriteRestartArea(ArraySegment<Byte>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
使用先前保留在順序中的空間,開始執行非同步的重新啟用區域寫入作業。 這個方法無法被繼承。
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
參數
- data
- ArraySegment<Byte>
即將串連並附加成記錄之位元組陣列區段的清單。
- newBaseSeqNum
- SequenceNumber
新的基底序號。 指定的序號必須大於或等於目前基底序號。
- reservation
- ReservationCollection
ReservationCollection,其中包含此重新啟動區域所應使用的保留區。
- callback
- AsyncCallback
選擇性的非同步回呼 (Callback),在重新啟動區域寫入完成時呼叫。
- state
- Object
使用者所提供的物件,可區別此特定非同步重新啟動區域寫入要求與其他要求。
傳回
IAsyncResult,表示可能還在暫止中的非同步重新啟動區域寫入作業。
實作
例外狀況
一或多個引數為 null
。
記錄順序是以唯讀存取所開啟,無法執行作業。
因為意外的 I/O 例外狀況,所以無法執行要求。
已在處置序列之後呼叫此方法。
沒有足夠的記憶體可以繼續執行程式。
記錄順序已滿。
在 data
找不到有足夠空間可以容納 reservations
的保留區。
備註
您應該將這個方法所傳回的 IAsyncResult 傳遞給 EndWriteRestartArea 方法,以確定重新啟動區域寫入作業已完成,而且可以適當地釋放資源。 如果在非同步重新啟動區域寫入作業期間發生錯誤,就要等到系統以這個方法傳回的 EndWriteRestartArea 呼叫 IAsyncResult 方法時,才會擲回例外狀況。
包含在 data
參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。
當這個作業成功完成時,基底序號已經更新。 只要是序號小於新基底序號的所有記錄都無法存取。
如果已指定 ReservationCollection,寫入的重新啟動區域將會使用包含在集合中的保留區,以取用先前所保留的空間。 如果此方法成功,便會取用可以保存資料的最小保留區,而且該保留區將會從集合移除。
如果處置了記錄順序,或是您傳遞了無效的引數,就會立即在此作業中擲回例外狀況。 在非同步附加要求期間發生的錯誤 (例如,在 I/O 要求期間發生的磁碟錯誤) 會導致在呼叫 EndWriteRestartArea 方法時擲回例外狀況。
適用於
BeginWriteRestartArea(IList<ArraySegment<Byte>>, SequenceNumber, ReservationCollection, AsyncCallback, Object)
使用先前保留在順序中的空間,開始執行非同步的重新啟用區域寫入作業。 這個方法無法被繼承。
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
參數
- data
- IList<ArraySegment<Byte>>
即將串連並附加成記錄之位元組陣列區段的清單。
- newBaseSeqNum
- SequenceNumber
新的基底序號。 指定的序號必須大於或等於目前基底序號。
- reservation
- ReservationCollection
ReservationCollection,其中包含此重新啟動區域所應使用的保留區。
- callback
- AsyncCallback
選擇性的非同步回呼 (Callback),在重新啟動區域寫入完成時呼叫。
- state
- Object
使用者所提供的物件,可區別此特定非同步重新啟動區域寫入要求與其他要求。
傳回
IAsyncResult,表示可能還在暫止中的非同步重新啟動區域寫入作業。
實作
例外狀況
一或多個引數為 null
。
記錄順序是以唯讀存取所開啟,無法執行作業。
因為意外的 I/O 例外狀況,所以無法執行要求。
已在處置序列之後呼叫此方法。
沒有足夠的記憶體可以繼續執行程式。
記錄順序已滿。
在 data
找不到有足夠空間可以容納 reservations
的保留區。
備註
您應該將這個方法所傳回的 IAsyncResult 傳遞給 EndWriteRestartArea 方法,以確定重新啟動區域寫入作業已完成,而且可以適當地釋放資源。 如果在非同步重新啟動區域寫入作業期間發生錯誤,就要等到系統以這個方法傳回的 EndWriteRestartArea 呼叫 IAsyncResult 方法時,才會擲回例外狀況。
包含在 data
參數中的資料將串連至單一位元組陣列中,以便附加成記錄。 不過,在讀取記錄時,並不會將資料分割回陣列區段。
當這個作業成功完成時,基底序號已經更新。 只要是序號小於新基底序號的所有記錄都無法存取。
如果已指定 ReservationCollection,寫入的重新啟動區域將會使用包含在集合中的保留區,以取用先前所保留的空間。 如果此方法成功,便會取用可以保存資料的最小保留區,而且該保留區將會從集合移除。
如果處置了記錄順序,或是您傳遞了無效的引數,就會立即在此作業中擲回例外狀況。 在非同步附加要求期間發生的錯誤 (例如,在 I/O 要求期間發生的磁碟錯誤) 會導致在呼叫 EndWriteRestartArea 方法時擲回例外狀況。