Недокументированные функции 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