Недокументированные функции NTDLL

10 декабря 2001



KiUserApcDispatcher

NTSYSAPI
VOID
NTAPI

KiUserApcDispatcher(

IN PVOID Unused1, IN PVOID Unused2, IN PVOID Unused3, IN PVOID ContextStart, IN PVOID ContextBody );




  • Unused1     Неиспользуемые параметры. Иногда один из них содержит адрес модуля ntdll.dll.
  • Unused2     См. Unused1.
  • Unused3     См. Unused1.
  • ContextStart     Здесь сохраняется начало ContextStart структуры CONTEXT.
  • ContextBody     Четыре байта из структуры CONTEXT по смещению 0x04.


    KiUserApcDispatcher это не стандартная функция ntdll. Она используется ядром для обработки очереди APC для вызова потока. Пять параметров указаны только для совместимости с экспортом из ntdll.lib (_KiUserApcDispatcher@20). Функция сначала запускает код, помещённый после вызова, затем вызывает NtContinue с структурой CONTEXT на месте 4-х параметров (Внимание: Не указатель на CONTEXT, а тело структуры CONTEXT должно быть в стеке).


    Документировал:
    Томаш Новак



    Зависимости:
    Библиотека: ntdll.lib


    См. также:
    NtAlertThread
    NtContinue
    NtQueueApcThread
    NtTestAlert