다음을 통해 공유


IXtfDeployCallback 인터페이스

IXtfApplicationClient::Deploy 작업 중 추적 가능한 작업이 수행될 때 호출되는 콜백을 제공합니다.

구문

interface IXtfDeployCallback : public IUnknown  

메서드

메서드 설명
OnDeployChangeEvaluation 전송하거나 삭제해야 하는 파일을 평가할 때 호출되는 콜백입니다.
OnDeployError 내부용으로 예약되어 있습니다.
OnDeployExtraFileDetected 추가 파일이 검색되었을 때 호출되는 콜백입니다.
OnDeployExtraFileRemoved 콘솔의 추가 파일이 제거된 것을 보고하기 위해 호출되는 콜백입니다.
OnDeployFileProgress 콘솔에 파일을 배포할 때 진행률을 보고하기 위해 호출된 콜백입니다.
OnDeployInitialized 배포를 시작할 때 호출되는 콜백입니다.
OnDeployMetrics 배포 메트릭이 보고될 때 호출되는 콜백입니다.

설명

모든 콜백 메서드가 해당 반환 값에 따라 동일하게 작동합니다. 콜백이 성공 HResult를 반환하면 배포 프로세스가 계속됩니다. 콜백이 실패 HResult를 반환하면 배포 프로세스가 즉시 취소됩니다. 이미 전송되었거나 삭제된 파일은 현재 상태 그대로 보존되고, 부분적으로 전송된 파일은 잘린 형식으로 닫힙니다.

콜백 프로세스는 간단합니다. 배포 개발 PC의 각 파일이 대상 콘솔에 있는 해당 파일과 비교됩니다.

  • 파일이 PC 및 콘솔 모두 동일하면 추가 작업이 수행되지 않습니다.
  • PC의 파일이 콘솔의 파일보다 새것이면 파일이 PC에서 콘솔로 복사됩니다.
  • 파일이 PC에 있고 콘솔에 없으면 콘솔에 복사됩니다.
  • 파일이 콘솔에 있고 PC에 없으면 선택적으로 콘솔에서 삭제됩니다. (삭제 여부는 Deploy에 대한 fRemoveExtraFiles 매개 변수 값에 따라 결정됩니다.)

콜백 메서드는 배포 프로세스 중 적절한 시간에 호출됩니다.

  1. OnDeployInitialized: 배포 시스템이 참여될 때 이 콜백이 호출되고, 이 콜백을 사용하여 타이밍 배포 또는 초기화 프로세스 대화 상자를 시작할 수 있습니다. 이 콜백이 호출되었으면, 모든 잠재적인 interop 및 DLL 경계 초과가 성공적으로 완료된 것입니다. 이 콜백은 배포마다 한 번씩 호출됩니다.
  2. OnDeployChangeEvaluation: 이 콜백은 배포 시스템이 콘솔에 배포해야 하는 파일 또는 콘솔에서 삭제해야 하는 파일을 평가할 때 호출됩니다. 이 콜백을 사용하면 진행률 표시기를 업데이트할 수 있습니다.
  3. OnDeployMetrics: 이 콜백은 평가 프로세스가 종료될 때 한 번 호출되며, 콘솔에 배포되는 파일 수 및 전송할 총 바이트 수를 보고합니다.
  4. OnDeployFileProgress: 이 콜백은 파일별로 버퍼 블록이 성공적으로 전송될 때마다 호출됩니다. 전송은 여러 스레드에서 동시에 수행되므로, 코드에서 진행률을 파일 이름별로 추적하는지 확인하고, 일반 다중 스레드 문제로부터 보호해야 합니다. 이 콜백은 전송이 시작될 때 한 번, 그리고 전송이 종료될 때 한 번 호출되므로, 길이가 0인 파일은 이 콜백이 2번 호출되도록 합니다.
  5. OnDeployExtraFileDetected: 파일이 PC가 아닌 콘솔에서 발견되었음을 나타냅니다.
  6. OnDeployExtraFileRemoved: Deploy에 대한 fRemoveExtraFiles 매개 변수가 TRUE로 설정된 경우, 파일이 콘솔에서 삭제될 때 이 콜백이 호출됩니다.
  7. OnDeployError는 현재 구현에서 사용되지 않지만, 이후 사용을 위해 예약되어 있습니다.

전체 배포 진행률을 표시하려면 해당 코드에서 지금까지 OnDeployFileProgress 콜백에서 이름이 지정된 여러 파일 수를 OnDeployMetrics 콜백에 보고된 총 파일 수의 비율로 보고해야 합니다.

요건

헤더: xtfapplication.h

라이브러리: xtfapplication.lib

지원되는 플랫폼: Windows(Xbox 콘솔 도구용)

참고 항목

참조

XtfApplication