Partager via


IClosable.Close Méthode

Définition

Libère les ressources système exposées par un objet Windows Runtime.

.NET Cette interface apparaît sous la forme System.IDisposable.

C++/CX Cette interface apparaît sous la forme Platform::IDisposable.

public:
 void Close();
void Close();
public void Close();
function close()
Public Sub Close ()

Remarques

Les notes d’implémentation/d’appelant qui suivent sont principalement pertinentes pour WRL.

Remarques aux implémenteurs

Implémentez cette méthode pour libérer les ressources système exclusives utilisées, telles que les handles de fichiers, les flux et les sockets réseau. La méthode doit également libérer d’autres ressources en cours d’utilisation, notamment les références d’objets et la mémoire, pour les préparer à la réutilisation.

Cette méthode doit appeler la méthode Close de tout objet qu’elle contient qui implémente IClosable.

La méthode Close doit libérer les ressources système le plus rapidement possible, sans bloquer l’exécution des opérations asynchrones. Pour s’assurer que toutes les ressources sont complètement libérées, l’appelant doit attendre que toutes les opérations asynchrones en cours se terminent avant d’appeler Close.

Une fois close retourné, l’objet est toujours en mémoire, mais sans les ressources système dont il a besoin ; par conséquent, la plupart de ses membres ne sont pas utilisables. Un membre qui dépend d’une ressource système libérée peut retourner RO_E_CLOSED pour indiquer que l’objet est fermé et qu’il ne peut pas terminer l’opération demandée.

Notes aux appelants

Si vous appelez Close plusieurs fois, il n’y a aucun effet ; la méthode retourne S_OK.

Les méthodes closes ne peuvent pas être appelées via C++/CX sur Windows Runtime instances de classe où la classe a implémenté IClosable, mais sont automatiquement appelées à la fin de l’étendue actuelle. Le code C++/CX pour les classes runtime doit appeler le destructeur ou définir la dernière référence sur null.

En C#, cette méthode est exposée en tant que Dispose. Vous pouvez appeler Disposer directement ou utiliser une instruction using.

S’applique à