DispatchObject Classe
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.
Classe de base pour les objets dispatch.
public abstract class DispatchObject : CoreFoundation.NativeObject
type DispatchObject = class
inherit NativeObject
- Héritage
- Dérivé
Remarques
Les objets de répartition partagent des fonctions pour coordonner la gestion de la mémoire, la suspension, l’annulation et les pointeurs de texte con-text. Bien que tous les objets de répartition soient conservés, tous les objets ne prennent pas en charge la suspension, les pointeurs de contexte ou les finaliseurs (actuellement uniquement les files d’attente et les sources prennent en charge ces interfaces supplémentaires).
L’appel de blocs sur les files d’attente de distribution ou les sources de distribution peut être suspendu ou repris avec les méthodes Suspend() et Resume() respectivement. L’infrastructure de distribution vérifie toujours l’état de suspension avant d’exécuter un bloc, mais ces modifications n’affectent jamais un bloc pendant l’exécution (non préemptif). Par conséquent, la suspension d’un objet est asynchrone, sauf si elle est effectuée à partir du contexte de la file d’attente cible pour l’objet donné. Le résultat de la suspension ou de la reprise d’un objet qui n’est pas une file d’attente de distribution ou une source de distribution n’est pas défini.
Important : la suspension s’applique à tous les aspects du cycle de vie de l’objet de distribution, y compris la fonction finaliseur et le gestionnaire d’annulation. Par conséquent, il est important d’équilibrer les appels vers Suspend() et Resume() de telle sorte que l’objet dispatch soit entièrement repris lors de la publication de la dernière référence. Le résultat de la libération de toutes les références à un objet dispatch dans un état suspendu n’est pas défini.
Les files d’attente de distribution et les sources prennent en charge les pointeurs de contexte supplémentaires. La valeur du point de contexte peut être récupérée et mise à jour avec la Context propriété.
Le résultat de l’obtention ou de la définition du contexte d’un objet qui n’est pas une file d’attente de distribution ou une source de distribution n’est pas défini.
Propriétés
| Nom | Description |
|---|---|
| Handle |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| Owns |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
Méthodes
| Nom | Description |
|---|---|
| Activate() |
Classe de base pour les objets dispatch. |
| ClearHandle() |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| Dispose() |
Libère toutes les ressources utilisées par cet objet. (Hérité de DisposableObject) |
| Dispose(Boolean) |
Libère les ressources utilisées par cet objet. (Hérité de NativeObject) |
| Equals(Object) |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| GetCheckedHandle() |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| GetHashCode() |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| InitializeHandle(NativeHandle) |
Classe de base pour les objets dispatch. (Hérité de DisposableObject) |
| Release() |
Classe de base pour les objets dispatch. |
| Retain() |
Classe de base pour les objets dispatch. |
| SetTargetQueue(DispatchQueue) |
Classe de base pour les objets dispatch. |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetHandle(INativeObject) |
Classe de base pour les objets dispatch. |
| GetNonNullHandle(INativeObject, String) |
Classe de base pour les objets dispatch. |