Geri Çağırma Nesnelerini Kullanma

Altyapı tarafından kullanılan arabirimler gibi üç geri çağırma COM'u vardır: Hata ayıklayıcı uzantılarını ve uygulamalarına altyapı veya hedefte yapılan değişiklikleri bildirmek için IDebugEventCallbacks, giriş istemek için IDebugInputCallbacks ve çıkış göndermek için IDebugOutputCallbacks.

Geri çağrı nesneleri istemcilere kayıt edilir. En fazla, üç geri çağırma arabiriminin her birinin bir örneği her istemciye kaydedilebilir (bir arabirimin Unicode ve ASCII sürümleri aynı arabirim olarak sayılır).

bir istemci oluşturulduğunda, altyapı oluşturulduğu iş parçacığını hatırlar. Altyapı, istemciyle kaydedilen bir geri çağırma örneğine her çağrı yaptığında aynı iş parçacığını kullanır. İş parçacığı kullanımdaysa, altyapı yapması gereken çağrıları kuyruğa alır. Altyapının bu çağrıları yapmasına izin vermek için, istemcinin iş parçacığı boşta olduğunda DispatchCallbacks yöntemi çağrılmalıdır. ExitDispatch yöntemi DispatchCallbacks'in dönmesine neden olur. İş parçacığı, hata ayıklayıcı oturumunu başlatmak için kullanılan iş parçacığı ise, altyapı WaitForEvent yöntemi sırasında geri çağrıları yapabilir ve DispatchCallbacks'in çağrılması gerekmez.

FlushCallbacks yöntemi altyapıya tüm arabelleğe alınan çıkışı çıkış geri çağırmalarına göndermesini söyler.

Olay Geri Çağırma Nesneleri

IDebugEventCallbacks arabirimi, altyapı tarafından hata ayıklayıcı uzantılarına ve uygulamalarına, altyapı ve hedefte yapılan olayların ve değişikliklerin bildirilmesi için kullanılır. IDebugEventCallbacks uygulaması, SetEventCallbacks kullanılarak bir istemciye kaydedilebilir. İstemciyle kaydedilen geçerli uygulama GetEventCallbacks kullanılarak bulunabilir. Tüm istemciler arasında kaydedilen olay geri çağırmalarının sayısı GetNumberEventCallbacks kullanılarak bulunabilir.

Altyapının olayları nasıl yönettiği hakkında ayrıntılı bilgi için bkz. Olayları İzleme.

Giriş Geri Çağırma Nesneleri

IDebugInputCallbacks arabirimi, altyapı tarafından hata ayıklayıcı uzantılarından ve uygulamalarından giriş istemek için kullanılır. IDebugInputCallbacks uygulaması, SetInputCallbacks kullanılarak bir istemciye kaydedilebilir. İstemciye kaydedilmiş olan geçerli uygulama GetInputCallbacks kullanılarak bulunabilir. Tüm istemciler arasında kaydedilen giriş geri çağırmalarının sayısı GetNumberInputCallbacks kullanılarak bulunabilir.

Altyapının girişi nasıl yönettiği hakkında ayrıntılı bilgi için bkz. Giriş ve Çıkış.

Çıkış Geri Çağırma Nesneleri

IDebugOutputCallbacks arabirimi, altyapı tarafından hata ayıklayıcı uzantılarına ve uygulamalarına çıkış göndermek için kullanılır. IDebugOutputCallbacks uygulaması, SetOutputCallbacks kullanılarak bir istemciye kaydedilebilir. İstemciyle kaydedilen mevcut uygulama, GetOutputCallbacks kullanılarak bulunabilir. Tüm istemciler arasında kaydedilen çıkış geri çağırmalarının sayısı GetNumberOutputCallbacks kullanılarak bulunabilir.

Motorun çıkışı nasıl yönettiği hakkında ayrıntılı bilgi için bkz. Giriş ve Çıkış.

Not COM nesneleri için tipik olduğu gibi, motor bir istemciye kaydedildiği zaman geri arama COM nesnesinde IUnknown::AddRef'i çağırır ve nesnenin değiştirildiği veya istemcinin silindiği zaman IUnknown::Release'ı çağırır.