IFileOperationProgressSink 인터페이스(shobjidl_core.h)
IFileOperation 호출자가 해당 인터페이스를 통해 수행하는 작업의 세부 정보를 모니터링하는 데 사용하는 풍부한 알림 시스템을 제공하는 메서드를 노출합니다.
상속
IFileOperationProgressSink 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IFileOperationProgressSink 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IFileOperationProgressSink 인터페이스에는 이러한 메서드가 있습니다.
IFileOperationProgressSink::FinishOperations IFileOperation 호출에 의해 수행된 마지막 작업이 완료된 후 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P auseTimer 지원되지 않습니다. (IFileOperationProgressSink.PauseTimer) |
IFileOperationProgressSink::P ostCopyItem 각 항목에 대한 복사 프로세스가 완료된 후 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P ostDeleteItem 각 항목에 대한 삭제 프로세스가 완료된 후 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P ostMoveItem 각 항목에 대한 이동 프로세스가 완료된 후 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P ostNewItem 새 항목을 만든 후 호출자가 구현한 작업을 수행합니다. |
IFileOperationProgressSink::P ostRenameItem 각 항목에 대한 이름 바꾸기 프로세스가 완료된 후 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P reCopyItem 각 항목에 대한 복사 프로세스가 시작되기 전에 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P reDeleteItem 각 항목에 대한 삭제 프로세스가 시작되기 전에 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P reMoveItem 각 항목에 대한 이동 프로세스가 시작되기 전에 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::P reNewItem 프로세스가 시작되기 전에 호출자가 구현한 작업을 수행하여 새 항목을 만듭니다. |
IFileOperationProgressSink::P reRenameItem 각 항목의 이름 바꾸기 프로세스가 시작되기 전에 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::ResetTimer 지원되지 않습니다. (IFileOperationProgressSink.ResetTimer) |
IFileOperationProgressSink::ResumeTimer 지원되지 않습니다. (IFileOperationProgressSink.ResumeTimer) |
IFileOperationProgressSink::StartOperations 특정 파일 작업을 수행하기 전에 호출자 구현 작업을 수행합니다. |
IFileOperationProgressSink::UpdateProgress 총 작업량과 관련하여 현재 수행된 총 작업량의 추정치를 제공합니다. |
설명
구현 시기
애플리케이션은 IFileOperationProgressSink 자체를 구현해야 합니다. Windows는 기본 구현을 제공하지 않습니다.사용 시기
IFileOperationProgressSink 는 기본적으로 특정 이벤트에 대한 처리기입니다. 일반적으로 파일 이름, 원본 및 대상, 대상에 있는 항목의 새 이름과 같이 처리되는 특정 작업에 대한 정보를 표시하는 데 사용됩니다. Post 메서드는 호출자가 프로세스 실패 위치를 구체적으로 결정할 수 있도록 작업의 각 부분의 HRESULT를 받습니다. IFileOperation 메서드 매개 변수 값은 동일한 정보에 액세스할 수 있도록 적절한 IFileOperationProgressSink 메서드에 전달됩니다.IFileOperationProgressSink의 구현을 IFileOperation 호출에 연결하려면 다음 두 가지 옵션이 있습니다.
- IFileOperation 호출에서 수행하는 모든 작업에 대해 알려면 IFileOperation::Advise 메서드를 사용합니다.
- 특정 작업에 대한 진행률만 알리려면 다음 개별 IFileOperation 메서드 중 하나 이상에 IFileOperationProgressSink를 전달합니다.
IFileOperationProgressSink를 전달하여 메서드를 선택하도록 선택하는 경우 IFileOperationProgressSink의 동일한 instance 모두 사용할 수 있습니다.
예제
다음 예제에서는 Advise 메서드를 호출하여 IFileOperationProgressSink를 IFileOperation의 instance 전달합니다.IFileOperation *pfo;
CoCreateInstance(CLSID_FileOperation, NULL, CLSCTX_ALL, IID_IFileOperation, (void **)&m_pFO)
HRESULT hr = SHCreateFileOperation(hwnd, 0, IID_PPV_ARGS(&pfo));
if (SUCCEEDED(hr))
{
// Advise to get notifications
DWORD dwCookie;
hr = pfo->Advise(SAFECAST(this, IFileOperationProgressSink*), &dwCookie);
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |