SQLCompleteAsync İşlevi

Uygunluk
Tanıtılan Sürüm: ODBC 3.8 Standartlara Uyum: Yok

Summary
SQLCompleteAsync , bir asenkron fonksiyonun tamamlandığını bildirme veya anket tabanlı işleme kullanarak belirlemek için kullanılabilir. Asenkron işlemler hakkında daha fazla bilgi için Asenkron Yürütme bölümüne bakınız.

SQLCompleteAsync yalnızca ODBC Sürücü Yöneticisi'nde uygulanır.

Bildirim tabanlı asenkron işlem modunda, Sürücü Yöneticisi bildirim için kullanılan olay nesnesini yükselttikten sonra SQLCompleteAsync çağrılmalıdır. SQLCompleteAsync , asenkron işlemi tamamlar ve asenkron fonksiyon bir dönüş kodu oluşturur.

Anket tabanlı asenkron işlem modunda, SQLCompleteAsync , orijinal asenkron fonksiyonu çağırmanın alternatifidir; orijinal asenkron fonksiyon çağrısındaki argümanları belirtmek zorunda kalmaz. SQLCompleteAsync , ODBC İmleç Kütüphanesi etkin olsa da kullanılabilir.

Syntax

  
SQLRETURN SQLCompleteAsync(  
      SQLSMALLINT HandleType,  
      SQLHANDLE   Handle,  
      RETCODE *   AsyncRetCodePtr);  

Arguments

HandleType
[Giriş] Asenkron işlemenin tamamlanacağı tutamacın türü. Geçerli değerler SQL_HANDLE_DBC veya SQL_HANDLE_STMT.

Kulp
[Giriş] Asenkron işlemin tamamlanması için kullanılan kol. HandleType tarafından belirtilen türde geçerli bir handle değilse,SQLCompleteAsync SQL_INVALID_HANDLE döndürür.

HandleType tarafından belirtilen türde geçerli bir handle değilse,SQLCompleteAsync SQL_INVALID_HANDLE döndürür.

AsyncRetCodePtr
[Çıkış] Asenkron API'nin dönüş kodunu içeren bir tampona işaret eder. Eğer AsyncRetCodePtr NULL ise, SQLCompleteAsync SQL_ERROR döndürür.

İadeler

SQL_SUCCESS, SQL_ERROR, SQL_NO_DATA ya da SQL_INVALID_HANDLE.

Diagnostics

Eğer SQLCompleteAsync SQL_SUCCESS döndürürse, bir uygulama AsyncRetCodePtr tarafından işaretlenen tampondan asenkron fonksiyonun dönüş kodunu almalıdır. İlgili SQLSTATE, varsa, SQL_HANDLE_STMT HandleType ve bir ifade tutamacı ile SQLGetDiagRec çağrılarak veya SQL_HANDLE_DBC HandleType ve bağlantı tutucusu ile elde edilebilir. Bu tanı kayıtları, bu SQLCompleteAsync fonksiyonuyla değil, asenkron fonksiyonla ilişkilidir.

SQLCompleteAsync , SQLCompleteAsync'in doğru çağrılmadığını belirtmek için SQL_SUCCESS dışında bir kod döndürür. SQLCompleteAsync bu durumda herhangi bir tanı kaydı paylaşmaz. Olası dönüş kodları şunlardır:

  • SQL_INVALID_HANDLE: HandleType ve Handle ile belirtilen tutmaç geçerli bir tutamak değildir.

  • SQL_ERROR: AsyncRetCodePtr NULL veya asenkron işlem tutma olarak kullanılmamıştır.

  • SQL_NO_DATA: Bildirim modunda, asenkron bir işlem devam etmiyor veya Sürücü Yöneticisi uygulamaya bildirimde bulunmamıştır. Anket modunda, asenkron bir işlem devam etmiyor.

Comments

Anket tabanlı asenkron işleme modunda, SQLCompleteAsync SQL_SUCCESS döndürdüğünde AsyncRetCodePtr SQL_STILL_EXECUTING olabilir. Uygulama, AsyncRetCodePtr SQL_STILL_EXECUTING olmayana kadar anket yapmaya devam etmeli. Bildirim tabanlı asenkron işlem modunda, AsyncRetCodePtr asla SQL_STILL_EXECUTING olmayacak.