Partager via


énumération PRJ_NOTIFICATION (projectedfslib.h)

Valeur de notification spécifiée lors de l’envoi du rappel PRJ_NOTIFICATION_CB.

Syntax

typedef enum PRJ_NOTIFICATION {
  PRJ_NOTIFICATION_FILE_OPENED = 0x00000002,
  PRJ_NOTIFICATION_NEW_FILE_CREATED = 0x00000004,
  PRJ_NOTIFICATION_FILE_OVERWRITTEN = 0x00000008,
  PRJ_NOTIFICATION_PRE_DELETE = 0x00000010,
  PRJ_NOTIFICATION_PRE_RENAME = 0x00000020,
  PRJ_NOTIFICATION_PRE_SET_HARDLINK = 0x00000040,
  PRJ_NOTIFICATION_FILE_RENAMED = 0x00000080,
  PRJ_NOTIFICATION_HARDLINK_CREATED = 0x00000100,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
  PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
  PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL = 0x00001000
} ;

Constantes

 
PRJ_NOTIFICATION_FILE_OPENED
Valeur : 0x00000002
- Indique qu’un handle a été créé dans un fichier ou dossier existant.
- Le fournisseur peut spécifier un nouveau masque de notification pour ce fichier ou dossier lors de la réponse à la notification.
PRJ_NOTIFICATION_NEW_FILE_CREATED
Valeur : 0x00000004
- Un nouveau fichier ou dossier a été créé.
- Le fournisseur peut spécifier un nouveau masque de notification pour ce fichier ou dossier lors de la réponse à la notification.
PRJ_NOTIFICATION_FILE_OVERWRITTEN
Valeur : 0x00000008
- Un fichier existant a été remplacé ou remplacé.
- Le fournisseur peut spécifier un nouveau masque de notification pour ce fichier ou dossier lors de la réponse à la notification.
PRJ_NOTIFICATION_PRE_DELETE
Valeur : 0x00000010
- Un fichier ou un dossier est sur le point d’être supprimé.
- Si le fournisseur retourne un code HRESULT d’erreur à partir du rappel, la suppression ne prend pas effet.
PRJ_NOTIFICATION_PRE_RENAME
Valeur : 0x00000020
- Un fichier ou un dossier est sur le point d’être renommé.
- Si le fournisseur retourne un code HRESULT d’erreur à partir du rappel, le renommage ne prend pas effet.
- Si le paramètre callbackData-FilePathName> de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le renommage déplace le fichier/répertoire de l’extérieur du instance de virtualisation. Dans ce cas, cette notification est toujours envoyée si le fournisseur a inscrit un rappel PRJ_NOTIFICATION_CB , même si le fournisseur n’a pas spécifié ce bit lors de l’inscription de la sous-arborescence contenant le chemin de destination. Toutefois, si le fournisseur a spécifié PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS lors de l’inscription de la sous-arborescence contenant le chemin de destination, la notification est supprimée.
- Si le paramètre destinationFileName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le renommage déplace le fichier/dossier hors du instance de virtualisation.
- Si les paramètres callbackData-FilePathName> et destinationFileName de PRJ_NOTIFICATION_CB sont des chaînes non vides, cela indique que le renommage se trouve dans le instance de virtualisation. Si le fournisseur a spécifié différents masques de notification pour les chemins d’accès source et de destination dans le membre NotificationMappings du paramètre options de PrjStartVirtualizing, cette notification est envoyée si le fournisseur a spécifié ce bit lors de l’inscription des chemins d’accès source ou de destination.
PRJ_NOTIFICATION_PRE_SET_HARDLINK
Valeur : 0x00000040
- Un lien dur est sur le point d’être créé pour le fichier.
- Si le fournisseur retourne un code HRESULT d’erreur à partir du rappel, l’opération de liaison matérielle ne prend pas effet.
- Si le paramètre callbackData-FilePathName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le nom du lien dur sera créé à l’intérieur du instance de virtualisation, c’est-à-dire> qu’un nouveau lien dur est créé à l’intérieur du instance de virtualisation vers un fichier qui existe en dehors du instance de virtualisation. Dans ce cas, cette notification sera toujours envoyée si le fournisseur a inscrit un rappel PRJ_NOTIFICATION_CB , même si le fournisseur n’a pas spécifié ce bit lors de l’inscription de la sous-arborescence où se trouve le nouveau nom de lien dur. Toutefois, si le fournisseur a spécifié PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS lors de l’inscription de la sous-arborescence contenant le chemin de destination, la notification est supprimée.
- Si le paramètre destinationFileName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le nom du lien dur sera créé en dehors de l’instance de virtualisation, c’est-à-dire qu’un nouveau lien dur est créé en dehors de la instance de virtualisation pour un fichier qui existe à l’intérieur du instance de virtualisation.
- Si les paramètres callbackData-FilePathName> et destinationFileName de PRJ_NOTIFICATION_CB sont des chaînes non vides, cela indique que le nouveau lien dur sera créé dans le instance de virtualisation pour un fichier qui existe dans le instance de virtualisation. Si le fournisseur a spécifié différents masques de notification pour les chemins d’accès source et de destination dans le membre NotificationMappings du paramètre options de PrjStartVirtualizing, cette notification est envoyée si le fournisseur a spécifié ce bit lors de l’inscription des chemins d’accès source ou de destination.
PRJ_NOTIFICATION_FILE_RENAMED
Valeur : 0x00000080
- Indique qu’un fichier/dossier a été renommé. Le fichier/dossier a peut-être été déplacé dans le instance de virtualisation.
- Si le paramètre callbackData-FilePathName> de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le renommage a déplacé le fichier/répertoire de l’extérieur du instance de virtualisation. Dans ce cas, ProjFS envoie toujours cette notification si le fournisseur a inscrit un rappel PRJ_NOTIFICATION_CB, même si le fournisseur n’a pas spécifié ce bit lors de l’inscription de la sous-arborescence contenant le chemin de destination.
- Si le paramètre destinationFileName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le renommage a déplacé le fichier/répertoire hors du instance de virtualisation.
- Si les paramètres callbackData-FilePathName> et destinationFileName de PRJ_NOTIFICATION_CB sont des chaînes non vides, cela indique que le renommage se trouvait dans le instance de virtualisation. Si le fournisseur a spécifié des masques de notification différents pour les chemins d’accès source et de destination dans le membre NotificationMappings du paramètre options de PrjStartVirtualizing, ProjFS envoie cette notification si le fournisseur a spécifié ce bit lors de l’inscription des chemins d’accès source ou de destination.
- Le fournisseur peut spécifier un nouveau masque de notification pour ce fichier/répertoire lors de la réponse à la notification.
PRJ_NOTIFICATION_HARDLINK_CREATED
Valeur : 0x00000100
- Indique qu’un lien physique a été créé pour le fichier.
- Si le paramètre callbackData-FilePathName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le nom du lien dur a été créé à l’intérieur de l’instance de virtualisation, c’est-à-dire> qu’un nouveau lien dur a été créé à l’intérieur du instance de virtualisation vers un fichier qui existe en dehors du instance de virtualisation. Dans ce cas, ProjFS envoie toujours cette notification si le fournisseur a inscrit un rappel PRJ_NOTIFICATION_CB, même si le fournisseur n’a pas spécifié ce bit lors de l’inscription de la sous-arborescence où se trouve le nouveau nom de lien dur.
- Si le paramètre destinationFileName de PRJ_NOTIFICATION_CB est une chaîne vide, cela indique que le nom du lien dur a été créé en dehors du instance de virtualisation, c’est-à-dire qu’un nouveau lien dur a été créé en dehors de la instance de virtualisation pour un fichier qui existe à l’intérieur du instance de virtualisation.
- Si les paramètres callbackData-FilePathName> et destinationFileName de PRJ_NOTIFICATION_CB sont des chaînes non vides, cela indique qu’un nouveau lien dur a été créé dans le instance de virtualisation pour un fichier qui existe dans le instance de virtualisation. Si le fournisseur a spécifié des masques de notification différents pour les chemins d’accès source et de destination dans le membre NotificationMappings du paramètre options de PrjStartVirtualizing, ProjFS envoie cette notification si le fournisseur a spécifié ce bit lors de l’inscription des chemins d’accès source ou de destination.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION
Valeur : 0x00000200
- Un handle a été fermé sur le fichier/dossier, et le contenu du fichier n’a pas été modifié pendant l’ouverture du handle, et le fichier/dossier n’a pas été supprimé
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED
Valeur : 0x00000400
- Un handle a été fermé sur le fichier et le contenu du fichier a été modifié pendant l’ouverture du handle.
PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED
Valeur : 0x00000800
- Un handle a été fermé sur le fichier/dossier et a été supprimé dans le cadre de la fermeture du handle.
- Si le fournisseur s’est également inscrit pour recevoir PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED notifications et que le fichier a été modifié à l’aide du handle dont la fermeture a entraîné la suppression du fichier, le paramètre operationParameters-FileDeletedOnHandleHandleClose.IsFileModified> de PRJ_NOTIFICATION_CB sera TRUE. Cela s’applique uniquement aux fichiers, pas aux répertoires
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL
Valeur : 0x00001000
- Le fichier est sur le point d’être développé d’un espace réservé à un fichier complet, c’est-à-dire que son contenu est susceptible d’être modifié.
- Si le fournisseur retourne un code HRESULT d’erreur à partir du rappel, le fichier n’est pas développé en fichier complet et les E/S qui ont déclenché la conversion échouent.
- S’il existe plusieurs E/S de course qui développeraient le même fichier, le fournisseur ne recevra cette valeur de notification qu’une seule fois pour le fichier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server [applications de bureau uniquement]
En-tête projectedfslib.h