다음을 통해 공유


PRJ_CANCEL_COMMAND_CB 콜백 함수(projectedfslib.h)

이전 콜백 호출에 의한 작업을 취소해야 한다는 것을 공급자에게 알릴 수 있습니다.

구문

PRJ_CANCEL_COMMAND_CB PrjCancelCommandCb;

void PrjCancelCommandCb(
  [in] const PRJ_CALLBACK_DATA *callbackData
)
{...}

매개 변수

[in] callbackData

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

Commandid 취소할 작업을 식별합니다.

반환 값

없음

설명

공급자 콜백의 모든 호출에는 CommandId 필드가 있는 callbackData 매개 변수가 있습니다. 공급자가 이 콜백의 구현을 제공하는 경우 비동기적으로 처리하는 콜백의 CommandId 값( 즉, HRESULT_FROM_WIN32(ERROR_IO_PENDING) 을 반환했지만 PrjCompleteCommand를 호출하여 아직 완료되지 않은 콜백을 추적해야 합니다. 공급자가 이 콜백을 수신하는 경우 이전 콜백을 호출한 I/O가 명시적으로 또는 종료 시 발급된 스레드 때문에 취소되었음을 나타냅니다. 공급자는 CommandId 로 식별된 콜백 호출 처리를 가능한 한 빨리 취소해야 합니다.

이 콜백의 callbackData에서 CommandId에 대해 PrjCompleteCommand를 호출하는 것은 오류가 아니지만 CommandId로 식별된 콜백 호출을 발생시킨 I/O가 이미 종료되었기 때문에 no-op입니다.

ProjFS는 취소할 콜백이 호출된 후에만 지정된 CommandId에 대한 PRJ_CANCEL_COMMAND_CB 호출합니다. 그러나 둘 이상의 동시에 실행되는 작업자 스레드를 허용하도록 공급자가 구성된 경우 취소 및 원래 호출이 동시에 실행될 수 있습니다. 공급자는 이 상황을 처리할 수 있어야 합니다.

이 콜백은 선택 사항입니다. 공급자가 이 콜백의 구현을 제공하지 않으면 다른 콜백을 취소할 수 없습니다. 공급자는 모든 콜백을 동기적으로 처리합니다.

요구 사항

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