Поделиться через


Интерфейс IHostIoCompletionManager

Обновлен: Ноябрь 2007

Предоставляет методы, позволяющие среде CLR взаимодействовать с портами завершения ввода-вывода, предоставленными основным приложением.

interface IHostIoCompletionManager : IUnknown {
    HRESULT Bind (
        [in] HANDLE hPort,
        [in] HANDLE hHandle
    );
    HRESULT CloseIoCompletionPort (
        [in] HANDLE hPort
    );
    HRESULT CreateIoCompletionPort (
        [out] HANDLE *phPort
    );
    HRESULT GetAvailableThreads (
        [out] DWORD *pdwAvailableIOCompletionThreads
    );
    HRESULT GetHostOverlappedSize (
        [out] DWORD *pcbSize
    );
    HRESULT GetMaxThreads (
        [out] DWORD *pdwMaxIOCompletionThreads
    );
    HRESULT GetMinThreads (
        [out] DWORD *dwMinIOCompletionThreads
    );
    HRESULT InitializeHostOverlapped (
        [in] void* pvOverlapped
    );
    HRESULT SetCLRIoCompletionManager (
        [in] ICLRIoCompletionManager* pManager
    );
    HRESULT SetMaxThreads (
        [in] DWORD dwMaxIOCompletionThreads
    );
    HRESULT SetMinThreads (
        [in] DWORD dwMinIOCompletionThreads
    );
};

Методы

Метод

Описание

Метод IHostIoCompletionManager::Bind

Привязывает дескриптор к порту завершения ввода-вывода.

Метод IHostIoCompletionManager::CloseIoCompletionPort

Закрывает порт, который был создан в результате предыдущего вызова функции CreateIoCompletionPort.

Метод IHostIoCompletionManager::CreateIoCompletionPort

Запрашивает создание основным приложением нового порта завершения ввода-вывода.

Метод IHostIoCompletionManager::GetAvailableThreads

Получает число потоков завершения ввода-вывода, которые в данный момент не обрабатывают запросы.

Метод IHostIoCompletionManager::GetHostOverlappedSize

Получает размер любых пользовательских данных, которые основное приложение намерено добавить в конец запросов ввода-вывода.

Метод IHostIoCompletionManager::GetMaxThreads

Получает максимальное количество потоков, которое основное приложение может выделить для обработки запросов ввода-вывода.

Метод IHostIoCompletionManager::GetMinThreads

Возвращает или задает минимальное количество потоков, предоставляемых основным приложением для получения запросов ввода-вывода.

Метод IHostIoCompletionManager::InitializeHostOverlapped

Предоставляет основному приложению возможность инициализировать любые пользовательские данные, связанные с запросом ввода-вывода.

Метод IHostIoCompletionManager::SetCLRIoCompletionManager

Предоставляет основному приложению указатель интерфейса на экземпляр ICLRIoCompletionManager, реализованный средой CLR.

Метод IHostIoCompletionManager::SetMaxThreads

Устанавливает максимальное количество потоков, выделяемых основным приложением для обслуживания запросов ввода-вывода.

Метод IHostIoCompletionManager::SetMinThreads

Задает минимальное количество потоков, которые основное приложение должно выделить для завершения ввода-вывода.

Заметки

Интерфейс IHostIoCompletionManager соответствует интерфейсу ICLRIoCompletionManager, реализованному средой CLR. Среда CLR вызывает методы интерфейса IHostIoCompletionManager для привязки дескрипторов к портам, предоставленным основным приложением, а само основное приложение вызывает методы интерфейса ICLRIoCompletionManager для уведомления о завершении запросов ввода-вывода.

Требования

Платформы: см. раздел Требования к системе для .NET Framework.

Заголовок: MSCorEE.idl

Библиотека: включена как ресурс в MSCorEE.dll

Версии платформы .NET Framework: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

См. также

Другие ресурсы

Интерфейсы размещения