ISSAsynchStatus::GetStatus (OLE DB)
Zaman uyumsuz olarak yürütülen işlem durumunu verir.
HRESULT GetStatus(
HCHAPTER hChapter,
DBASYNCHOP eOperation,
DBCOUNTITEM *pulProgress,
DBCOUNTITEM *pulProgressMax,
DBASYNCHPHASE *peAsynchPhase,
LPOLESTR *ppwszStatusText);
Bağımsız değişkenler
hChapter[]
Bölüm tanıtıcısı.Yoklamalı nesne, bir satır kümesi nesnesi değil veya bu işlemi, bir bölüm için geçerli değildir, bu sağlayıcı tarafından yok sayılır; DB_NULL_HCHAPTER ayarlanmalıdır.eOperation[]
Zaman uyumsuz durum istenmekte işlem.Bu, aşağıdaki değeri olmalıdır:DBASYNCHOP_OPEN — tüketici, zaman uyumsuz olarak açılıyor veya satır kümesi popülasyonunu veya zaman uyumsuz bir veri kaynağı nesnesi başlatılması hakkında bilgi ister.Tüketici, sağlayıcı doğrudan URL bağlama destekleyen bir OLE DB uyumlu 2.5 sağlayıcısı, zaman uyumsuz başlatma ya da veri popülasyon hakkında bilgi istekleri kaynak, satır kümesi kümesi, satır kümesi kümesi veya akış nesnesi.
pulProgress[Çıkış]
Belirtilen bellek içinde göreli olarak beklenen en yüksek zaman uyumsuz işlem geçerli durumunu gösteren BIR işaretçi pulProgressMax parametresi.Anlamı hakkında daha fazla bilgi için pulProgress açıklamasına bakınpeAsynchPhase.If pulProgress olan bir boş işaretçi, hiçbir ilerleme durumunu döndürdü.
pulProgressMax[Çıkış]
Beklenen en yüksek değeri döndürmek için bellekte BIR işaretçi pulProgress parametresi.Bu değer, bu yöntem çağrıları arasında değişebilir.Anlamı hakkında daha fazla bilgi için pulProgressMax açıklamasına bakınpeAsynchPhase.If pulProgressMax olan bir boş işaretçi, beklenen en yüksek değer döndürdü.
peAsynchPhase[Çıkış]
Bellek içinde zaman uyumsuz işlem ilerleme ile ilgili ek bilgi için BIR işaretçi.Geçerli değerler şunlardır:DBASYNCHPHASE_INITIALIZATION — nesneyi bir başlatma aşamasındadır.Bağımsız değişkenler pulProgress and pulProgressMax bir tahmini tamamlanma oranını gösterir.Nesne henüz tam olarak materialized değil.Çağrı hiçbir arabirim başarısız olabilir ve tam deneyen küme arabirimleri nesne üzerinde kullanılabilir durumda değil.Zaman uyumsuz işlem ise bir arama sonucu ICommand::yürütmek güncelleştirir, siler veya satırlar ekler bir komutu ve cParamSets 1'den büyükpulProgress and pulProgressMax parametre kümesi tam bir dizi veya tek bir parametre kümesi için ilerleme durumunu gösterebilir.
DBASYNCHPHASE_POPULATION — nesneyi popülasyon aşamasındadır.satır kümesi kümesi tamamen başlatıldı ve tam arabirimler nesne üzerinde kullanılabilir aralık, ancak henüz satır kümesi kümesi doldurulan ek satır kümesi kümesi olabilir.saat pulProgress and pulProgressMax doldurulan satır kümesi kümesi sayısına göre genellikle saat veya satır kümesi kümesi doldurmak için gereken çaba dayanır.Işlemin ne kadar süreyle kaba bir tahmini alabilir, ileride satır sayısı olarak arayanın, bu nedenle bu bilgileri kullanmalısınız.Bu aşamada, yalnızca bir satır kümesi popülasyon sırasında döndürülür; hiçbir zaman başlatılmasında, veri kaynağı nesnesi ya da güncelleştirir, siler veya satırlar ekler bir komutun yürütülmesi tarafından döndürülür.
DBASYNCHPHASE_COMPLETE — nesnenin tüm zaman uyumsuz işlem tamamlandı.ISSAsynchStatus::GetStatus işlem sonucunu gösteren bir HRESULT döndürür.Genellikle, bu işlem zaman uyumlu olarak adlı önceden vardı iade edilmiş HRESULT olacaktır.Zaman uyumsuz işlem ise bir arama sonucu ICommand::yürütmek güncelleştirir, siler veya satır ( ekler bir komutupulProgress and pulProgressMax komutu tarafından etkilenen satırların sayısını eşit.If cParamSets 1'den büyük, bu yürütme için belirtilen parametreler kümesi tarafından etkilenen satırların toplam sayısı.If peAsynchPhase null bir işaretçidir, hiçbir durum kodu döndürüldü.
DBASYNCHPHASE_CANCELED — nesnenin zaman uyumsuz işlem iptal edildi.ISSAsynchStatus::GetStatus DB_E_CANCELED döndürür.Zaman uyumsuz işlem ise bir arama sonucu ICommand::yürütmek güncelleştirir, siler veya satır ( ekler bir komutupulProgress komutu iptal önce etkilenen tüm parametre kümesi için satır sayısı eşittir.
ppwszStatusText[içinde/çıkış]
Bellek işlemi hakkında ek bilgi içeren BIR işaretçi.Bir sağlayıcı bu değer, bir işlemin farklı öğeler arasında ayrım yapmak için kullanabilirsiniz — örneğin, erişilen farklı kaynaklar.Bu dize için verileri DBPROP_INIT_LCID özelliği göre yerelleştirilmiştir kaynak nesne.If ppwszStatusText null, girdi sağlayıcı tarafından tanımlanan belirli bir öğeyle ilgili durum döndürür.ppwszStatusText.If ppwszStatusText öğe belirtineOperation ile sağlayıcı S_OK döndürürpulProgress and pulProgressMax küme için aynı değeri.Sağlayıcı bir metin tanımlayıcısını temel alarak öğeler arasında ayırım yapmaz, bu ayarlar. ppwszStatusText NULL ve döndürür; bir bütün olarak işlem bilgilerine başka türlü if ppwszStatusText null, girdi sağlayıcı bırakırppwszStatusText untouched.
If ppwszStatusText girdi null, sağlayıcı ayarlar ppwszStatusText işlemi hakkında daha fazla bilgi gösteren bir değer veya böyle bir bilgi varsa veya yoksa NULL ISSAsynchStatus::GetStatus hata verir.Ne zaman ppwszStatusText girişini null ise, sağlayıcı durum dizesi için bellek ayırır ve bu bellek adresini döndürür.Tüketici ile bu belleği serbest bırakır. IMalloc::Free artık dize gerektiğinde.
If ppwszStatusText girdi NULL olan durum dize döndürülür ve sağlayıcı operasyonun herhangi bir öğe hakkında veya operasyonla ilgili bilgileri genel olarak verir.
Dönüş Kodu Değerleri
s_ok
Yöntem başarıyla döndürdü.If peAsynchPhase DBASYNCHPHASE_INITIALIZATION için eşittir nesne henüz tam olarak başlatılmadı; diğer bir arabirimlerini çağırırlar girişiminde başarısız olabilir ve tüm arabirimleri kümesi nesnede kullanılamaz durumda olabilir.
If peAsynchPhase eşittir DBASYNCHPHASE_POPULATION için satır kümesi kümesi tamamen başlatıldı ve tam arabirimler nesne üzerinde kullanılabilir aralık; ancak olabilir henüz satır kümesi kümesi doldurulan ek satır kümesi kümesi.
If peAsynchPhase DBASYNCHPHASE_COMPLETE için eşitse, nesnenin tüm zaman uyumsuz işlem tamamlandı.Nesneyi tam olarak doldurulan ve başlatılan.
db_e_canceled
Zaman uyumsuz işleme sırasında satır kümesi kümesi popülasyon iptal edildi.Popülasyon durdurur, ancak önceden doldurulan satırlar için geçerli satır kümesi kümesi kalır.Zaman uyumsuz işleme sırasında veri iptal edildi kaynak nesne başlatma.Verileri kaynak nesne başlatılmamış bir durumda.
e_invalidarg
The hChapter parameter is incorrect.e_unexpected
ISSAsynchStatus::GetStatus veri üzerinde çağrıldı kaynak nesnesi ve IDBInitialize::Initialize verileri çağrılmadı kaynak nesne.ISSAsynchStatus::GetStatus yerine satır kümesi kümesi üzerinde çağrıldııişlem::Kaydet or ITransaction::Abort çağrıldı ve nesne henüz kaldırılmamış durumudur.
ISSAsynchStatus::GetStatus , satır kümesi, başlatma aşamasında zaman uyumsuz olarak iptal edildi olarak adlandırılıyordu.satır kümesi kümesi henüz kaldırılmamış durumda.
e_fail
A sağlayıcı-belirli bir hata oluştu.
Remarks
The ISSAsynchStatus::GetStatus yöntem behaves exactly as the IDBAsynchStatus::GetStatus yöntem except that if initialization of a data kaynak nesne is aborted, E_UNEXPECTED is returned rather than DB_E_CANCELED (although ISSAsynchStatus::WaitForAsynchCompletion will return DB_E_CANCELED).Daha fazla başlatma işlem yapılmaya sağlamak, veri kaynağı nesnesi iptal etme, izleyen her zamanki henüz kaldırılmamış durumda kalır olmasıdır.
satır kümesi kümesi başlatıldı veya zaman uyumsuz olarak doldurulan, bu yöntem geçersiz desteklemelidir.
Listede, dönüş değerlerini yanında ISSAsynchStatus::GetStatus başarısını veya başarısızlığını operasyonun gösteren zaman uyumsuz işlemi başlatan yöntem tarafından iade edilmiş herhangi bir HRESULT döndürebilir.
Bazı zaman uyumsuz işlemler herhangi "tamamlandı" dışındaki durumlar ve "tamamlanmadı" döndürmek mümkün olmayabilir.Bunlar gereken küme pulProgressMax yanıtlarını 0/1 veya 1/1 olur; böylece all-or-nothing taneciklik ', bir tahmin, belirten, 1 değeri için.
Bir sağlayıcı değişebilir pulProgressMax birbirini izleyen aramalar ve hatta bu tahmini geliştir görevin tamamlanma derecesini gösterdiğinden, daha önce daha küçük bir oranı döndürür.
Sağlayıcı herhangi bir başka doğruluğunu garanti etmesi değil ancak tamamlanma makul tahminleri mümkün olduğu durumlarda bunu kullanmaları.Ana kullanım amacı, bu işlev, kullanıcıya ilerleme görüşü için büyük olasılıkla olduğundan gibi çalışmalarını kullanıcı arabirim kalitesini artırır.Geribildirim görünmez, uzun süre çalışan bir görev üzerinde kalitesi ile kullanıcı memnuniyet artırır.
Arama ISSAsynchStatus::GetStatus bir başlatılan bir veri kaynağı nesnesi veya doldurulan satır kümesi kümesi küme, veya bir değer iletmeeOperation farklı DBASYNCHOP_OPEN, ile S_OK döndürür.pulProgress and pulProgressMax küme için aynı değeri.If ISSAsynchStatus::GetStatus yürütülmesini güncelleştirir, siler veya satırlar, her iki ekler bir komut oluşturulan bir nesne yeniden adlandırılırpulProgress and pulProgressMax bu komut tarafından etkilenen satırların sayısını gösterir.