PRJ_NOTIFY_TYPES 열거형(projectedfslib.h)
파일 또는 폴더의 변경 사항을 설명하는 알림 유형입니다.
Syntax
typedef enum PRJ_NOTIFY_TYPES {
PRJ_NOTIFY_NONE = 0x00000000,
PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS = 0x00000001,
PRJ_NOTIFY_FILE_OPENED = 0x00000002,
PRJ_NOTIFY_NEW_FILE_CREATED = 0x00000004,
PRJ_NOTIFY_FILE_OVERWRITTEN = 0x00000008,
PRJ_NOTIFY_PRE_DELETE = 0x00000010,
PRJ_NOTIFY_PRE_RENAME = 0x00000020,
PRJ_NOTIFY_PRE_SET_HARDLINK = 0x00000040,
PRJ_NOTIFY_FILE_RENAMED = 0x00000080,
PRJ_NOTIFY_HARDLINK_CREATED = 0x00000100,
PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION = 0x00000200,
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED = 0x00000400,
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED = 0x00000800,
PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL = 0x00001000,
PRJ_NOTIFY_USE_EXISTING_MASK = 0xFFFFFFFF
} ;
상수
PRJ_NOTIFY_NONE 값: 0x00000000 알림이 없습니다. |
PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS 값: 0x00000001 가상화 instance 시작에 지정된 경우: - 가상화 instance 또는 instance 지정된 하위 트리에 대한 알림을 전송해서는 안 됨을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 지정된 파일 또는 폴더에 대한 모든 핸들이 닫혀 있을 때까지 알림을 보내서는 안 됨을 나타냅니다.
참고 이 비트가 알림 마스크에 표시되면 마스크의 다른 모든 비트를 재정의합니다. 예를 들어 이 비트가 있는 유효한 마스크는 PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS 포함하는 것으로 처리됩니다. |
PRJ_NOTIFY_FILE_OPENED 값: 0x00000002 가상화 instance 시작에 지정된 경우: - 기존 파일 또는 폴더에 핸들을 만들 때 공급자에게 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일 또는 폴더에 대한 추가 핸들이 만들어지면 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_NEW_FILE_CREATED 값: 0x00000004 가상화 instance 시작에 지정된 경우: - 새 파일 또는 폴더를 만들 때 공급자에게 알림을 보내야 합니다. 알림에 대한 응답으로 지정된 경우: - 효과가 없습니다. |
PRJ_NOTIFY_FILE_OVERWRITTEN 값: 0x00000008 가상화 instance 시작에 지정된 경우: - 기존 파일을 덮어쓰거나 교체할 때 기존 파일을 사용할 때 공급자에게 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일 또는 폴더를 덮어쓰거나 대체하면 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_PRE_DELETE 값: 0x00000010 가상화 instance 시작에 지정된 경우: - 파일 또는 폴더를 삭제하려고 할 때 공급자에게 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일 또는 폴더를 삭제하려고 할 때 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_PRE_RENAME 값: 0x00000020 가상화 instance 시작에 지정된 경우: - 파일 또는 폴더의 이름을 바꿀 때 공급자에게 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일 또는 폴더의 이름을 바꿀 때 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_PRE_SET_HARDLINK 값: 0x00000040 가상화 instance 시작에 지정된 경우: - 파일에 대한 하드 링크를 만들려는 경우 공급자에게 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일에 대한 하드 링크를 만들려는 경우 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_FILE_RENAMED 값: 0x00000080 가상화 instance 시작에 지정된 경우: - 공급자에게 파일 또는 폴더의 이름이 변경되었다는 알림을 받아야 했음을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일 또는 폴더의 이름을 바꿀 때 공급자에게 알림을 받아야 했음을 나타냅니다. |
PRJ_NOTIFY_HARDLINK_CREATED 값: 0x00000100 가상화 instance 시작에 지정된 경우: - 파일에 대한 하드 링크가 생성되었음을 공급자에게 알려야 임을 나타냅니다. 알림에 대한 응답으로 지정된 경우: - 파일에 대한 하드 링크가 생성되었음을 공급자에게 알려야 임을 나타냅니다. |
PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION 값: 0x00000200 가상화 instance 시작에 지정된 경우: - 파일/폴더에서 핸들이 닫히고 닫는 핸들이 수정되거나 삭제되지 않은 경우 공급자에게 알림을 받아야 합니다. 알림에 대한 응답으로 지정된 경우: - 파일/폴더에 대한 핸들이 닫혀 있고 닫는 핸들과 관련된 수정 또는 삭제가 없는 경우 공급자에게 알림을 받아야 합니다. |
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED 값: 0x00000400 가상화 instance 시작에 지정된 경우: - 파일/폴더에서 핸들이 닫히고 닫는 핸들을 사용하여 수정할 때 공급자에게 알림을 보내야 합니다. 알림에 대한 응답으로 지정된 경우: - 파일/폴더에서 핸들이 닫히고 닫는 핸들을 사용하여 수정할 때 공급자에게 알림을 보내야 합니다. |
PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED 값: 0x00000800 가상화 instance 시작에 지정된 경우: - 파일/폴더에서 핸들이 닫히고 핸들을 닫을 때 삭제될 때 공급자에게 알림을 받아야 합니다. 알림에 대한 응답으로 지정된 경우: - 파일/폴더에서 핸들이 닫히고 핸들을 닫을 때 삭제될 때 공급자에게 알림을 받아야 합니다. |
PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL 값: 0x00001000 가상화 instance 시작에 지정된 경우: - 자리 표시자를 전체 파일로 변환하려고 할 때 공급자에게 알림을 보내야 합니다. 알림에 대한 응답으로 지정된 경우: - 자리 표시자를 전체 파일로 변환하려고 할 때 공급자가 자리 표시자이며 아직 전체 파일이 아니라고 가정할 때 알림을 받아야 합니다. |
PRJ_NOTIFY_USE_EXISTING_MASK 값: 0xFFFFFFFF 가상화 instance 시작에 지정된 경우: - 이 값은 가상화 시작 instance 유효하지 않습니다. 알림에 대한 응답으로 지정된 경우: - 이 파일/폴더에 대한 기존 알림 집합을 계속 사용합니다. |
설명
ProjFS는 파일 시스템 활동에 대한 알림을 공급자에게 보낼 수 있습니다. 공급자가 instance 가상화를 시작하면 수신하려는 알림을 지정합니다. 파일을 만들거나 이름을 바꿀 때 파일에 대한 새 알림 집합을 지정할 수도 있습니다. 공급자는 알림을 받으려면 PrjStartVirtualizing의 콜백 매개 변수에 PRJ_NOTIFICATION_CB 알림 콜백 루틴을 등록해야 합니다.
ProjFS는 활성 가상화 루트 내의 파일 및 디렉터리에 대한 알림을 보냅니다. 즉, ProjFS는 가상화 루트 및 해당 하위 항목에 대한 알림을 보냅니다. 가상화 루트 내의 바로 가기 링크와 접합은 가상화 루트의 하위 항목을 구성하는 항목을 결정할 때 트래버스되지 않습니다.
ProjFS는 파일의 기본 데이터 스트림에 대해서만 알림을 보냅니다. ProjFS는 대체 데이터 스트림에 대한 작업에 대한 알림을 보내지 않습니다.
ProjFS는 비활성 가상화 instance 대한 알림을 보내지 않습니다. 다음 중 하나가 true인 경우 가상화 instance 비활성 상태입니다.
- 공급자가 PrjStartVirtualizing을 호출하여 아직 시작하지 않았습니다.
- 공급자가 PrjStopVirtualizing을 호출하여 instance 중지했습니다.
- 공급자 프로세스가 종료되었습니다.
공급자는 가상화 instance 시작할 때 수신하려는 알림을 지정하거나 새 알림 마스크를 설정할 수 있는 알림에 대한 응답으로 지정할 수 있습니다.
공급자는 Instance 시작할 때 ProjFS가 가상화 instance 보낼 기본 알림 집합을 지정합니다. 이 알림 집합은 PrjStartVirtualizing의 options 매개 변수의 NotificationMappings 멤버에 제공되며, 가상화 instance 다른 하위 트리에 대해 다른 알림 마스크를 지정할 수 있습니다.
공급자는 파일 열기, 만들기, 대체/덮어쓰기 또는 이름 바꾸기 알림에 대한 응답으로 다른 알림 마스크를 제공할 수 있습니다. ProjFS는 파일에 대한 모든 핸들이 닫히기 전까지 지정된 파일에 대해 이러한 알림을 계속 보냅니다. 그 후에는 기본 알림 집합으로 되돌리기. 기본적으로 기본 알림 집합에서 ProjFS가 열기, 만들기 등에 대해 알리도록 지정하지 않으면 공급자는 해당 작업에 대해 다른 마스크를 지정할 기회를 얻지 못합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1809[데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server [데스크톱 앱만 해당] |
머리글 | projectedfslib.h |