Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A motor három visszahívási COM-szerű felületet használ: az IDebugEventCallbacks a hibakereső bővítményeinek és a motor vagy a cél módosításainak alkalmazásainak értesítésére, az IDebugInputCallbacks a bemenet igénylésére, és az IDebugOutputCallbacks a kimenet küldésére.
A visszahívási objektumok regisztrálva vannak az ügyfeleknél. Legfeljebb a három visszahívási felület egy-egy példánya regisztrálható minden ügyféllel (a felület Unicode és ASCII-verziói azonos felületnek számítanak).
Az ügyfél létrehozásakor a motor megjegyzi azt a szálat, amelyben létrejött. A motor ugyanazt a szálat használja, amikor megvalósít egy hívást az ügyfél által regisztrált visszahívási példányhoz. Ha a szál használatban van, a motor sorba állítja a szükséges hívásokat. Annak érdekében, hogy a motor kezdeményezhesse ezeket a hívásokat, a DispatchCallbacks metódust kell meghívni, amikor egy ügyfél szála tétlen. Az ExitDispatch metódus a DispatchCallbacks visszatérését okozza. Ha a szál ugyanaz a szál, amelyet a hibakereső munkamenet elindításához használtak, akkor a motor a WaitForEvent metódus során kezdeményezheti a visszahívási hívásokat, és a DispatchCallbackeket nem kell meghívni.
A FlushCallbacks metódus arra utasítja a motort, hogy küldje el az összes pufferelt kimenetet a kimeneti visszahívásoknak.
Eseményvisszahívási objektumok
A motor az IDebugEventCallbacks felületet használja a hibakereső bővítményeinek és alkalmazásainak értesítésére a motor és a cél eseményeiről és változásairól. Az IDebugEventCallbacks implementációja regisztrálható egy ügyféllel a SetEventCallbacks használatával. Az ügyfélhez regisztrált jelenlegi implementáció a GetEventCallbacks használatával érhető el. Az összes ügyfélen regisztrált eseményvisszahívások száma a GetNumberEventCallbacks használatával található.
Az események kezelésével kapcsolatos részletekért lásd: Események monitorozása.
Bemeneti visszahívási objektumok
A motor az IDebugInputCallbacks felületet használja a hibakereső bővítmények és alkalmazások bemenetének lekérésére. Az IDebugInputCallbacks implementációja regisztrálható egy ügyféllel a SetInputCallbacks használatával. Az ügyfélnél regisztrált jelenlegi implementáció a GetInputCallbacks használatával érhető el. Az összes ügyfélen regisztrált bemeneti visszahívások száma a GetNumberInputCallbacks használatával érhető el.
A motor bemenetének kezelésével kapcsolatos részletekért lásd: Bemenet és kimenet.
Kimeneti visszahívási objektumok
A motor az IDebugOutputCallbacks felületet használja a hibakereső bővítmények és alkalmazások kimenetének küldéséhez. Az IDebugOutputCallbacks implementációja regisztrálható egy ügyféllel a SetOutputCallbacks használatával. Az ügyfélhez regisztrált jelenlegi implementáció a GetOutputCallbacks használatával érhető el. Az összes ügyfélen regisztrált kimeneti visszahívások száma a GetNumberOutputCallbacks használatával található.
A motor kimenetének kezelésével kapcsolatos részletekért lásd: Bemenet és kimenet.
Jegyzet A COM-objektumokhoz hasonlóan a motor meghívja az IUnknown::AddRef parancsot egy visszahívási COM-objektumon, amikor regisztrálva van egy ügyfélnél, és az IUnknown::Release parancsot az objektum cseréjekor vagy az ügyfél törlésekor.