IClosable.Close Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.