Интерфейс IHostTaskManager
Обновлен: Ноябрь 2007
Предоставляет методы, позволяющие среде CLR работать с задачами посредством основного приложения, не используя стандартные функции потоков или нитей операционной системы.
interface IHostTaskManager : IUnknown
{
HRESULT GetCurrentTask (
[out] IHostTask **pTask
);
HRESULT CreateTask (
[in] DWORD dwStackSize,
[in] LPTHREAD_START_ROUTINE pStartAddress,
[in] PVOID pParameter,
[out] IHostTask **ppTask
);
HRESULT Sleep (
[in] DWORD dwMilliseconds,
[in] DWORD option
);
HRESULT SwitchToTask (
[in] DWORD option
);
HRESULT SetUILocale (
[in] LCID lcid
);
HRESULT SetLocale (
[in] LCID lcid
);
HRESULT CallNeedsHostHook (
[in] SIZE_T target,
[out] BOOL *pbCallNeedsHostHook
);
HRESULT LeaveRuntime (
[in] SIZE_T target
);
HRESULT EnterRuntime ();
HRESULT ReverseLeaveRuntime ();
HRESULT ReverseEnterRuntime ();
HRESULT BeginDelayAbort ();
HRESULT EndDelayAbort ();
HRESULT BeginThreadAffinity ();
HRESULT EndThreadAffinity ();
HRESULT SetStackGuarantee (
[in] ULONG guarantee
);
HRESULT GetStackGuarantee (
[out] ULONG *pGuarantee
);
HRESULT SetCLRTaskManager (
[in] ICLRTaskManager *ppManager
);
}
Методы
Метод |
Описание |
---|---|
Уведомляет основное приложение о переходе управляемого кода к периоду, в котором прерывание текущей задачи недопустимо. |
|
Уведомляет основное приложение о переходе управляемого кода к периоду, в котором перемещение текущей задачи в другой поток операционной системы недопустимо. |
|
Позволяет основному приложению указать, сможет ли среда CLR вводить заданный вызов в неуправляемую функцию. |
|
Запрашивает создание новой задачи основным приложением. |
|
Уведомляет основное приложение о завершении в управляемом коде периода, во время которого прерывание текущей задачи недопустимо, после любого вызова метода BeginDelayAbort. |
|
Уведомляет основное приложение о завершении в управляемом коде периода, во время которого перемещение текущей задачи в другой поток операционной системы недопустимо, после любого вызова метода BeginThreadAffinity. |
|
Уведомляет основное приложение о том, что в результате вызова неуправляемого кода, например метода вызова неуправляемого кода, управление выполнением возвращено среде CLR. |
|
Получает указатель интерфейса на задачу, выполняемую в настоящий момент для потока операционной системы, из которого был осуществлен этот вызов. |
|
Получает количество места в стеке, которое гарантированно будет доступно после завершения операций в стеке до закрытия процесса. |
|
Уведомляет основное приложение о том, что управляемый код намерен вызвать неуправляемую функцию. |
|
Уведомляет основное приложение о выполнении вызова среды CLR из неуправляемого кода. |
|
Уведомляет основное приложение о передаче управления средой CLR неуправляемой функции, которая, в свою очередь, была вызвана из управляемого кода. |
|
Предоставляет основному приложению указатель интерфейса на экземпляр ICLRTaskManager, реализованный средой CLR. |
|
Уведомляет основное приложение о том, что среда CLR изменила языковой стандарт для текущей задачи. |
|
Зарезервирован только для внутреннего использования. |
|
Уведомляет основное приложение об изменении языкового стандарта пользовательского интерфейса для текущей задачи. |
|
Уведомляет основное приложение о том, что текущая задача собирается выполнить переход в спящий режим. |
|
Уведомляет основное приложение о необходимости отключения текущей задачи. |
Заметки
Интерфейс IHostTaskManager позволяет среде CLR создавать задачи и управлять их выполнением с целью предоставления обработчиков, которые будут выполнять определенные действия при взаимной передаче управления между управляемым и неуправляемым кодом, а также назначения определенных действий, которые основное приложение может и не может выполнять во время выполнения кода.
Требования
Платформы: см. раздел Требования к системе для .NET Framework.
Заголовок: MSCorEE.idl
Библиотека: включена как ресурс в MSCorEE.dll
Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0