|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Asynchronous Procedure Calls
An asynchronous procedure call (APC) is a function that executes asynchronously in the context of a particular thread. When an APC is queued to a thread, the system issues a software interrupt. The next time the thread is scheduled, it will run the APC function. APCs made by the system are called "kernel-mode APCs." APCs made by an application are called "user-mode APCs." A thread must be in an alertable state to run a user-mode APC.
Each thread has its own APC queue. An application queues an APC to a thread by calling the QueueUserAPC function. The calling thread specifies the address of an APC function in the call to QueueUserAPC. The queuing of an APC is a request for the thread to call the APC function. When a user-mode APC is queued, the thread to which it is queued is not directed to call the APC function unless it is in an alertable state. A thread enters an alertable state when it calls the SleepEx, SignalObjectAndWait, MsgWaitForMultipleObjectsEx, WaitForMultipleObjectsEx, or WaitForSingleObjectEx function.
Note that the ReadFileEx and WriteFileEx functions are implemented using an APC as the completion notification callback mechanism.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Асинхронная Процедура Вызовов
Асинхронный вызов процедуры (APC), - функция, которая выполняется асинхронно в контексте конкретной резьбы. Когда APC поставлен в очередь в резьбу, система выпускает программное прерывание. Следующий раз резьба запланирована, она запустит функцию APC. APCs СДЕЛАННЫЙ системой названы "зерно-способ APCs." APCs СДЕЛАННЫЙ приложением названы "потребитель-способ APCs." Резьба должна быть в состоянии alertable запускать потребителя-способа APC.
Каждая резьба имеет собственную очередь APC. Приложение ставит в очередь APC в резьбу вызывая функцию QueueUserAPC. Вызов резьбы определяет адрес функции APC на вызове на QueueUserAPC. Организация очереди APC является просьбой о резьбе, чтобы называть функцию APC. Когда потребитель-способ APC поставлен в очередь, резьба на которую он поставлен в очередь, не направленн, чтобы называть функцию APC если она не - в состоянии alertable. Резьба вводит состояние alertable когда она называет SleepEx, SignalObjectAndWait, MsgWaitForMultipleObjectsEx, WaitForMultipleObjectsEx, или функцию WaitForSingleObjectEx.
Отметьте, что ReadFileEx и функции WriteFileEx осуществлены используя APC как механизм возврата уведомления завершения.
|
|
|
|
| |