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 호출에 연결하려면 다음 두 가지 옵션이 있습니다.

Advise를 호출하는 경우 IFileOperationProgressSink 메서드 및 중복 알림에 대한 중복 호출이 발생하므로 IFileOperationProgressSink를 특정 IFileOperation 메서드에 전달할 필요가 없습니다.

IFileOperationProgressSink를 전달하여 메서드를 선택하도록 선택하는 경우 IFileOperationProgressSink의 동일한 instance 모두 사용할 수 있습니다.

예제

다음 예제에서는 Advise 메서드를 호출하여 IFileOperationProgressSinkIFileOperation의 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 포함)

추가 정보

IFileOperation