다음을 통해 공유


PRJ_NOTIFICATION 열거형(projectedfslib.h)

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
} ;

상수

 
PRJ_NOTIFICATION_FILE_OPENED
값: 0x00000002
- 핸들이 기존 파일 또는 폴더에 만들어졌는지 나타냅니다.
- 공급자는 알림에 응답할 때 이 파일 또는 폴더에 대한 새 알림 마스크를 지정할 수 있습니다.
PRJ_NOTIFICATION_NEW_FILE_CREATED
값: 0x00000004
- 새 파일 또는 폴더가 만들어졌습니다.
- 공급자는 알림에 응답할 때 이 파일 또는 폴더에 대한 새 알림 마스크를 지정할 수 있습니다.
PRJ_NOTIFICATION_FILE_OVERWRITTEN
값: 0x00000008
- 기존 파일을 덮어쓰거나 대체했습니다.
- 공급자는 알림에 응답할 때 이 파일 또는 폴더에 대한 새 알림 마스크를 지정할 수 있습니다.
PRJ_NOTIFICATION_PRE_DELETE
값: 0x00000010
- 파일 또는 폴더를 삭제하려고 합니다.
- 공급자가 콜백에서 오류 HRESULT 코드를 반환하는 경우 삭제가 적용되지 않습니다.
PRJ_NOTIFICATION_PRE_RENAME
값: 0x00000020
- 파일 또는 폴더의 이름을 바꾸려고 합니다.
- 공급자가 콜백에서 오류 HRESULT 코드를 반환하는 경우 이름 바꾸기가 적용되지 않습니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 매개 변수가 빈 문자열인 경우 이름 바꾸기가 가상화 instance 외부에서 파일/디렉터리를 이동하고 있음을 나타냅니다. 이 경우 공급자가 대상 경로를 포함하는 하위 트리를 등록할 때 공급자가 이 비트를 지정하지 않은 경우에도 공급자가 PRJ_NOTIFICATION_CB 콜백을 등록한 경우 항상 이 알림이 전송됩니다. 그러나 공급자가 대상 경로를 포함하는 하위 트리를 등록할 때 PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS 지정하면 알림이 표시되지 않습니다.
- PRJ_NOTIFICATION_CB destinationFileName 매개 변수가 빈 문자열인 경우 이름이 가상화 instance 파일/폴더를 이동하고 있음을 나타냅니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 및 destinationFileName 매개 변수가 모두 비어 있지 않은 문자열인 경우 이름 바꾸기가 가상화 instance 내에 있음을 나타냅니다. 공급자가 PrjStartVirtualizing의 options 매개 변수의 NotificationMappings 멤버에서 원본 및 대상 경로에 대해 다른 알림 마스크를 지정한 경우 공급자가 원본 또는 대상 경로를 등록할 때 이 비트를 지정하면 이 알림이 전송됩니다.
PRJ_NOTIFICATION_PRE_SET_HARDLINK
값: 0x00000040
- 파일에 대한 하드 링크가 만들어질 예정입니다.
- 공급자가 콜백에서 오류 HRESULT 코드를 반환하는 경우 하드 링크 작업이 적용되지 않습니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 매개 변수가 빈 문자열인 경우 이는 가상화 instance 내부에 하드 링크 이름이 생성됨을 나타냅니다. 즉, 가상화 instance 내부에 가상화 instance 외부에 있는 파일에 대한 새 하드 링크가 만들어집니다. 이 경우 공급자가 새 하드 링크 이름이 될 하위 트리를 등록할 때 공급자가 이 비트를 지정하지 않은 경우에도 공급자가 PRJ_NOTIFICATION_CB 콜백을 등록한 경우 항상 이 알림이 전송됩니다. 그러나 공급자가 대상 경로를 포함하는 하위 트리를 등록할 때 PRJ_NOTIFICATION_SUPPRESS_NOTIFICATIONS 지정하면 알림이 표시되지 않습니다.
- PRJ_NOTIFICATION_CB destinationFileName 매개 변수가 빈 문자열인 경우 이는 가상화 instance 외부에서 하드 링크 이름이 생성됨을 나타냅니다. 즉, 가상화 instance 내에 있는 파일에 대한 가상화 instance 외부에서 새 하드 링크가 만들어집니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 및 destinationFileName 매개 변수가 모두 비어 있지 않은 문자열인 경우 가상화 instance 내에 있는 파일에 대한 가상화 instance 내에 새 하드 링크가 생성됨을 나타냅니다. 공급자가 PrjStartVirtualizing의 options 매개 변수의 NotificationMappings 멤버에서 원본 및 대상 경로에 대해 다른 알림 마스크를 지정한 경우 공급자가 원본 또는 대상 경로를 등록할 때 이 비트를 지정하면 이 알림이 전송됩니다.
PRJ_NOTIFICATION_FILE_RENAMED
값: 0x00000080
- 파일/폴더의 이름이 변경되었음을 나타냅니다. 파일/폴더가 가상화 instance 이동되었을 수 있습니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 매개 변수가 빈 문자열인 경우 이름이 가상화 instance 외부에서 파일/디렉터리를 이동했음을 나타냅니다. 이 경우 공급자가 대상 경로를 포함하는 하위 트리를 등록할 때 공급자가 이 비트를 지정하지 않은 경우에도 공급자가 PRJ_NOTIFICATION_CB 콜백을 등록한 경우 ProjFS는 항상 이 알림을 보냅니다.
- PRJ_NOTIFICATION_CB destinationFileName 매개 변수가 빈 문자열인 경우 이름 바꾸기가 파일/디렉터리를 가상화 instance 밖으로 이동했음을 나타냅니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 및 destinationFileName 매개 변수가 모두 비어 있지 않은 문자열인 경우 이름 바꾸기가 가상화 instance 내에 있음을 나타냅니다. 공급자가 PrjStartVirtualizing의 options 매개 변수의 NotificationMappings 멤버에서 원본 및 대상 경로에 대해 다른 알림 마스크를 지정한 경우 공급자가 원본 또는 대상 경로를 등록할 때 이 비트를 지정하면 ProjFS에서 이 알림을 보냅니다.
- 공급자는 알림에 응답할 때 이 파일/디렉터리에 대한 새 알림 마스크를 지정할 수 있습니다.
PRJ_NOTIFICATION_HARDLINK_CREATED
값: 0x00000100
- 파일에 대한 하드 링크가 생성되었음을 나타냅니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 매개 변수가 빈 문자열인 경우 이는 하드 링크 이름이 가상화 instance 내에 만들어졌는지를 나타냅니다. 즉, 가상화 instance 내부에 가상화 instance 외부에 있는 파일에 대한 새 하드 링크가 만들어졌습니다. 이 경우 공급자가 새 하드 링크 이름이 될 하위 트리를 등록할 때 공급자가 이 비트를 지정하지 않은 경우에도 공급자가 PRJ_NOTIFICATION_CB 콜백을 등록한 경우 ProjFS는 항상 이 알림을 보냅니다.
- PRJ_NOTIFICATION_CB destinationFileName 매개 변수가 빈 문자열인 경우 가상화 instance 외부에서 하드 링크 이름이 생성되었음을 나타냅니다. 즉, 가상화 instance 내에 있는 파일에 대한 가상화 instance 외부에서 새 하드 링크가 만들어졌습니다.
- PRJ_NOTIFICATION_CB callbackData-FilePathName> 및 destinationFileName 매개 변수가 모두 비어 있지 않은 문자열인 경우 가상화 instance 내에 있는 파일에 대한 가상화 instance 내에 새 하드 링크가 생성되었음을 나타냅니다. 공급자가 PrjStartVirtualizing의 options 매개 변수의 NotificationMappings 멤버에서 원본 및 대상 경로에 대해 다른 알림 마스크를 지정한 경우 공급자가 원본 또는 대상 경로를 등록할 때 이 비트를 지정하면 ProjFS에서 이 알림을 보냅니다.
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_HANDLE_CLOSED_FILE_MODIFIED 알림을 수신하도록 등록하고 닫기로 인해 파일을 삭제한 핸들을 사용하여 파일이 수정된 경우 PRJ_NOTIFICATION_CB OperationParameters-FileDeletedOnHandleClose.IsFileModified> 매개 변수가 TRUE 가 됩니다. 디렉터리를 사용하지 않고 파일에만 적용됩니다.
PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL
값: 0x00001000
- 파일이 자리 표시자에서 전체 파일로 확장됩니다. 즉, 해당 내용이 수정될 가능성이 높습니다.
- 공급자가 콜백에서 오류 HRESULT 코드를 반환하면 파일이 전체 파일로 확장되지 않고 변환을 트리거한 I/O가 실패합니다.
- 동일한 파일을 확장하는 여러 레이싱 I/O가 있는 경우 공급자는 파일에 대해 이 알림 값을 한 번만 받습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809[데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server [데스크톱 앱만 해당]
머리글 projectedfslib.h