IClosable.Close Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Освобождает системные ресурсы, предоставляемые объектом среда выполнения Windows.
.ЧИСТАЯ Этот интерфейс отображается как System.IDisposable.
C++/CX Этот интерфейс отображается как Platform::IDisposable.
public:
void Close();
void Close();
public void Close();
function close()
Public Sub Close ()
Комментарии
Примечания о реализации и вызывающем объекте, приведенные ниже, в основном относятся к WRL.
Примечания для разработчиков
Реализуйте этот метод, чтобы освободить используемые эксклюзивные системные ресурсы, такие как дескрипторы файлов, потоки и сетевые сокеты. Метод также должен освободить другие используемые ресурсы, включая ссылки на объекты и память, чтобы подготовить их к повторному использованию.
Этот метод должен вызывать метод Close любого объекта, который он содержит, реализующий IClosable.
Метод Close должен освободить системные ресурсы как можно быстрее, не блокируя выполнение асинхронных операций. Чтобы убедиться, что все ресурсы полностью освобождены, вызывающий объект должен дождаться завершения всех невыполненных асинхронных операций перед вызовом close.
После возврата Close объект по-прежнему находится в памяти, но без необходимых системных ресурсов; следовательно, большинство его членов не являются пригодными для использования. Элемент, зависящий от освобожденного системного ресурса, может возвращать RO_E_CLOSED , указывающие, что объект закрыт и он не может завершить запрошенную операцию.
Примечания для вызывающих абонентов
Если вы вызываете close несколько раз, это не повлияет. Метод возвращает S_OK.
Методы Close не вызываются через C++/CX в экземплярах среда выполнения Windows класса, где класс реализовал IClosable, но автоматически вызываются в конце текущего область. Код C++/CX для классов среды выполнения должен вызывать деструктор или присваивать последней ссылке значение NULL.
В C# этот метод предоставляется как Dispose. Вы можете вызвать Dispose напрямую или использовать оператор using.