PRJ_NOTIFICATION_CB 콜백 함수(projectedfslib.h)

파일 시스템 작업에 대한 알림을 공급자에게 전달합니다.

구문

PRJ_NOTIFICATION_CB PrjNotificationCb;

HRESULT PrjNotificationCb(
  [in]           const PRJ_CALLBACK_DATA *callbackData,
  [in]           BOOLEAN isDirectory,
  [in]           PRJ_NOTIFICATION notification,
  [in, optional] PCWSTR destinationFileName,
  [in, out]      PRJ_NOTIFICATION_PARAMETERS *operationParameters
)
{...}

매개 변수

[in] callbackData

작업에 대한 정보입니다. 이 콜백을 구현하려면 다음 callbackData 멤버가 필요합니다.

FilePathName 알림과 관련된 파일 또는 디렉터리의 경로를 식별합니다.

공급자는 콜백이 실행되는 동안에만 이 버퍼에 액세스할 수 있습니다. 작업을 보류하려고 하고 이 버퍼의 데이터가 필요한 경우 자체 복사본을 만들어야 합니다.

[in] isDirectory

callbackDataFilePathName 필드가 디렉터리를 참조하면 TRUE, 그렇지 않으면 FALSE입니다.

[in] notification

알림을 지정하는 PRJ_NOTIFICATION 값입니다.

[in, optional] destinationFileName

알림PRJ_NOTIFICATION_PRE_RENAME 또는 PRJ_NOTIFICATION_PRE_SET_HARDLINK 경우 이름 바꾸기 또는 set-hardlink 작업의 대상에 대한 가상화 루트를 기준으로 경로를 지정하는 null로 끝나는 유니코드 문자열을 가리킵니다.

[in, out] operationParameters

알림의 특정 값에 대한 추가 매개 변수를 지정하는 PRJ_NOTIFICATION_PARAMETERS 공용 구조체에 대한 포인터입니다.

PRJ_NOTIFICATION_FILE_OPENED, PRJ_NOTIFICATION_NEW_FILE_CREATED 또는 PRJ_NOTIFICATION_FILE_OVERWRITTEN

PostCreate 멤버의 필드가 지정됩니다. 이러한 필드는 다음과 같습니다.

NotificationMask

PRJ_NOTIFICATION_CB 콜백에서 돌아오면 공급자는 여기에 파일에 대해 수신하려는 새 알림 집합을 지정할 수 있습니다.

공급자가 이 값을 0으로 설정하면 PRJ_NOTIFY_USE_EXISTING_MASK 지정하는 것과 같습니다.

PRJ_NOTIFICATION_FILE_RENAMED

FileRenamed 멤버의 필드가 지정됩니다. 이러한 필드는 다음과 같습니다.

NotificationMask

PRJ_NOTIFICATION_CB 콜백에서 돌아오면 공급자는 여기에 파일에 대해 수신하려는 새 알림 집합을 지정할 수 있습니다.

공급자가 이 값을 0으로 설정하면 PRJ_NOTIFY_USE_EXISTING_MASK 지정하는 것과 같습니다.

PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED

  • FileDeletedOnHandleClose 멤버의 필드가 지정됩니다. 이러한 필드는 다음과 같습니다.

    NotificationMask

    공급자가 PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED 등록하고 PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED 경우 파일이 삭제되기 전에 수정된 경우 이 필드는 TRUE로 설정됩니다.

반환 값

반환 코드 Description
S_OK
공급자가 알림을 성공적으로 처리했습니다.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
공급자는 나중에 작업을 완료하려고 합니다.
 

공급자가 작업에 실패하는 경우 적절한 HRESULT 오류 코드입니다. 사전 작업 알림(이름에 "PRE"이 있는 작업)의 경우 공급자가 오류 코드를 반환하는 경우 ProjFS는 제공된 오류 코드로 해당 작업에 실패합니다.

설명

이 콜백은 선택 사항입니다. 공급자가 이 콜백의 구현을 제공하지 않으면 알림을 받지 않습니다.

공급자는 PrjStartVirtualizing을 호출할 때 수신하려는 알림을 등록합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1809[데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 projectedfslib.h