ISSAsynchStatus::WaitForAsynchCompletion (OLE DB)
Czeka, aż do zakończenia operacji wykonywania asynchronicznie, lub do momentu wystąpienia limit czas.
HRESULT WaitForAsynchCompletion(
DWORD dwMillisecTimeOut);
Argumenty
- dwMillisecTimeOut[w]
Limit czas (w milisekundach).
Wartości kodów powrotnych
S_OK
metoda powiodło się.E_UNEXPECTED
Jest w stanie nieużywanych zestawu wierszy, ponieważ Metody ITransaction::zatwierdzanie or ITransaction::Abort została wywołana lub zestaw wierszy zostało anulowane podczas jego inicjowania.DB_E_CANCELED
Przetwarzanie asynchroniczne zostało anulowane podczas zestawu zestaw wierszy zapełnianie i dane źródłowe obiektu inicjowania.DB_S_ASYNCHRONOUS
Operacja nie została jeszcze ukończona mimo, że osiągnięto limit określony.
Uwaga
Oprócz wymienionych powyżej, wartości zwracane kody ISSAsynchStatus::WaitForAsynchCompletion metoda obsługuje także wartości zwracane kody zwracane przez podstawowy OLEDB ICommand::wykonać and IDBInitialize::Initialize metody.
Remarks
The ISSAsynchStatus::WaitForAsynchCompletion metoda will not return until the czas-out value (in milliseconds) has passed or the pending operation is done.The Command object has a CommandTimeout właściwość that controls the number of seconds a query will run before timing out.The CommandTimeout właściwość will be ignored if used in conjunction with ISSAsynchStatus::WaitForAsynchCompletion metoda.
Właściwość limit czas jest ignorowany w przypadku operacji asynchronicznych.Parametr limitu czas ISSAsynchStatus::WaitForAsynchCompletion określa maksymalną ilość czas, jaki upłynie przed formantu jest zwracana do obiektu wywołującego.Jeżeli ten limit czas upłynie, zostaną zwrócone DB_S_ASYNCHRONOUS.Limity czas nie anulowanie operacji asynchronicznych.Jeśli aplikacja musi anulować operację asynchroniczną, które nie zostało ukończone wewnątrz okresu limitu czas, należy poczekać, aż limit czas i następnie jawnie anulować operację, jeśli zostanie zwrócony DB_S_ASYNCHRONOUS.
Uwaga
W przypadku składników usługa DB OLE S_OK mogą być zwracane, gdy DB_S_ASYNCHRONOUS oczekuje się, więc aplikacji powinna wywołać ISSAsynchStatus::GetStatus , aby sprawdzić, czy zakończenia zwracane S_OK lub DB_S_ASYNCHRONOUS.
Jeśli dwMillisecTimeOut wartość zestaw do INFINITE ISSAsynchStatus::WaitForAsynchCompletion metoda bloków, dopóki nie zakończy działania.Jeśli dwMillisecTimeOut ma wartość 0, a następnie natychmiast zwraca metoda o stanie Oczekujące operacje.Jeżeli limit czas wygasa przed zakończeniem operacji DB_S_ASYNCHRONOUS zostaną zwrócone.
Jeśli zakończeniu operacji przed upływem limitu czas, zwrócona wartość HRESULT jest HRESULT, zwrócony przez operację (HRESULT, która będzie zwracana miał operacja została wykonana synchronicznie).
Ponadto właściwość SSPROP_ISSAsynchStatus został dodany do zestaw właściwości DBPROPSET_SQLSERVERROWSET.Dostawcy, które obsługują ISSAsynchStatus interfejs musi implementować tej właściwość wartość VARIANT_TRUE.