Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Important
De SQL Server Native Client (vaak afgekort SNAC) is verwijderd uit SQL Server 2022 (16.x) en SQL Server Management Studio 19 (SSMS). Zowel de SQL Server Native Client OLE DB-provider (SQLNCLI of SQLNCLI11) als de verouderde Microsoft OLE DB-provider voor SQL Server (SQLOLEDB) worden niet aanbevolen voor nieuwe ontwikkeling. Schakel over naar het nieuwe Microsoft OLE DB-stuurprogramma (MSOLEDBSQL) voor SQL Server.
Wacht tot de asynchroon uitgevoerde operatie is voltooid of totdat er een time-out optreedt.
Syntax
HRESULT WaitForAsynchCompletion(
DWORD dwMillisecTimeOut);
Arguments
dwMillisecTimeOut[in]
Time-out in milliseconden.
Retourcodewaarden
S_OK
De methode slaagde.
E_UNEXPECTED
Een rijset bevindt zich in een ongebruikte staat omdat ITransaction::Commit of ITransaction::Abort is aangeroepen of de rijset is geannuleerd tijdens de initialisatiefase.
DB_E_CANCELED
Asynchrone verwerking werd geannuleerd tijdens de invulling van rijsets of de initialisatie van databronobjecten.
DB_S_ASYNCHRONOUS
De operatie is nog niet voltooid, hoewel de gespecificeerde time-out is bereikt.
Note
Naast de hierboven genoemde retourcodewaarden ondersteunt de ISSAsynchStatus::WaitForAsynchCompletion methode ook de retourcodewaarden die worden teruggegeven door de kern van de OLEDB ICommand::Execute en IDBInitialize::Initialize methoden.
Remarks
De ISSAsynchStatus::WaitForAsynchCompletion methode keert pas terug als de time-outwaarde (in milliseconden) is verstreken of de wachtende operatie is uitgevoerd. Het Command-object heeft een CommandTimeout-eigenschap die het aantal seconden aanstuurt dat een query wordt uitgevoerd voordat het time-out gaat. De eigenschap CommandTimeout wordt genegeerd als deze wordt gebruikt in combinatie met de methode ISSAsynchStatus::WaitForAsynchComplete.
De time-out eigenschap wordt genegeerd voor asynchrone bewerkingen. De time-outparameter van ISSAsynchStatus::WaitForAsynchCompletion specificeert de maximale tijd die verstrijkt voordat de controle wordt teruggegeven aan de aanroeper. Als deze time-out verloopt, wordt DB_S_ASYNCHRONOUS teruggegeven. Time-outs annuleren nooit asynchrone operaties. Als de applicatie een asynchrone bewerking moet annuleren die niet binnen een time-out periode wordt voltooid, moet deze wachten op de time-out en vervolgens expliciet de operatie annuleren als DB_S_ASYNCHRONOUS wordt teruggegeven.
Note
Wanneer de OLE DB Service Components worden gebruikt, kunnen S_OK worden teruggegeven wanneer DB_S_ASYNCHRONOUS wordt verwacht, dus applicaties moeten ISSAsynchStatus::GetStatus aanroepen om te controleren of het voltooid is wanneer S_OK of DB_S_ASYNCHRONOUS wordt teruggegeven.
Als de waarde dwMillisecTimeOut is ingesteld op INFINITE, blokkeert de ISSAsynchStatus::WaitForAsynchCompletion methode totdat de bewerking is voltooid. Als de dwMillisecTimeOut-waarde op 0 is gezet, zal de methode onmiddellijk terugkeren met de status van de in behandeling zijnde operatie. Als de time-out verloopt voordat de operatie is voltooid, wordt DB_S_ASYNCHRONOUS teruggegeven.
Als de operatie wordt voltooid voordat de time-out verloopt, is het teruggestuurde HRESULT het HRESULT dat door de operatie wordt teruggegeven (het HRESULT dat zou zijn teruggegeven als de operatie synchroon was uitgevoerd).
Daarnaast is de SSPROP_ISSAsynchStatus-eigenschap toegevoegd aan de set van de DBPROPSET_SQLSERVERROWSET-eigenschappen. Providers die de ISSAsynchStatus-interface ondersteunen, moeten deze eigenschap implementeren met een waarde van VARIANT_TRUE.