Метод IHolder::Close (comsvcs.h)
Закрывает держатель.
Синтаксис
HRESULT Close();
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
При этом закроется держатель диспенсера ресурсов, после чего, вероятно, он освобождается.
Перед закрытием все оставшиеся запасы уничтожаются путем вызова метода IDispenserDriver::D eкистратор ресурсов.
В следующей последовательности описывается, как закрыть диспенсер ресурсов:
- Получите ссылку на средство распределения ресурсов (объект, предоставляющий IDispenserDriver).
- Вызовите метод в диспенсере ресурсов, реализация которого вызывает IHolder::Close.
- IHolder::Close уничтожает все оставшиеся запасы, вызывая метод IDispenserDriver::D etraitsResource в диспенсере ресурсов.
- IHolder::Close вызывает диспетчер диспенсеров, чтобы удалить этого владельца из списка держателей. (Если держателей не остается, объект Диспетчера дозатора удаляется сам.)
- IHolder::Close освобождает ссылку на интерфейс IDispenserDriver для диспенсера ресурсов. Это причина, по которой требуется ссылка на шаге 1; В противном случае средство распределения ресурсов удалит себя преждевременно, прежде чем можно будет выполнить последующие действия.
- IHolder::Close возвращается к диспенсеру ресурсов.
- Диспенсер ресурсов вызывает IDispenserDriver::D etraitsResource. Теперь владелец удаляет себя.
- Теперь возвращается метод, вызываемый на шаге 2.
- Опубликуйте последнюю ссылку на диспенсер ресурсов, который теперь удаляет себя.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |