다음을 통해 공유


IFileOperation 인터페이스(shobjidl_core.h)

셸 항목을 복사, 이동, 이름 바꾸기, 만들기 및 삭제하는 메서드와 진행률 및 오류 대화 상자를 제공하는 메서드를 노출합니다. 이 인터페이스는 SHFileOperation 함수를 대체합니다 .

상속

IFileOperation 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IFileOperation 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IFileOperation 인터페이스에는 이러한 메서드가 있습니다.

 
IFileOperation::Advise

처리기가 모든 작업에 대한 상태 및 오류 정보를 제공할 수 있도록 합니다.
IFileOperation::ApplyPropertiesToItem

속성 값을 설정할 단일 항목을 선언합니다.
IFileOperation::ApplyPropertiesToItems

공통 속성 값 집합을 적용할 항목 집합을 선언합니다.
IFileOperation::CopyItem

지정된 대상에 복사할 단일 항목을 선언합니다.
IFileOperation::CopyItems

지정된 대상에 복사할 항목 집합을 선언합니다.
IFileOperation::D eleteItem

삭제할 단일 항목을 선언합니다.
IFileOperation::D eleteItems

삭제할 항목 집합을 선언합니다.
IFileOperation::GetAnyOperationsAborted

IFileOperation::P erformOperations 호출에 의해 시작된 파일 작업이 완료되기 전에 중지되었는지 여부를 나타내는 값을 가져옵니다. 사용자 작업 또는 시스템에서 자동으로 작업을 중지할 수 있습니다.
IFileOperation::MoveItem

지정된 대상으로 이동할 단일 항목을 선언합니다.
IFileOperation::MoveItems

지정된 대상으로 이동할 항목 집합을 선언합니다.
IFileOperation::NewItem

지정된 위치에 만들 새 항목을 선언합니다.
IFileOperation::P erformOperations

선택한 모든 작업을 실행합니다.
IFileOperation::RenameItem

새 표시 이름을 지정할 단일 항목을 선언합니다.
IFileOperation::RenameItems

새 표시 이름을 지정할 항목 집합을 선언합니다. 모든 항목에는 동일한 이름이 지정됩니다.
IFileOperation::SetOperationFlags

현재 작업에 대한 매개 변수를 설정합니다.
IFileOperation::SetOwnerWindow

진행률 및 대화 상자 창에 대한 부모 또는 소유자 창을 설정합니다.
IFileOperation::SetProgressDialog

작업의 진행률을 표시하는 데 사용되는 대화 상자를 지정합니다.
IFileOperation::SetProgressMessage

구현되지 않았습니다. (IFileOperation.SetProgressMessage)
IFileOperation::SetProperties

항목 또는 항목에 설정할 속성 및 값 집합을 선언합니다.
IFileOperation::Unadvise

IFileOperation::Advise를 통해 이전에 설정된 권고 연결을 종료합니다.

설명

Shell 항목은 파일 및 폴더와 같은 파일 시스템 개체뿐만 아니라 가상 개체를 포함하여 네임스페이스의 모든 개체일 수 있습니다. IFileOperation 메서드 topics "item"이라는 용어는 일반적으로 모든 네임스페이스 개체를 참조하는 데 사용됩니다.

IFileOperation 은 이전 SHFileOperation 함수에 비해 많은 이점을 제공합니다.

  • IShellItem을 사용하여 문자열 경로가 아닌 항목을 식별합니다. SHFileOperation 은 문자열의 여러 경로를 구분하는 데 사용된 표준 단일 null 문자가 아닌 두 개의 null 문자로 끝나는 경로 및 대상 문자열이 필요했습니다. IShellItem을 통해 항목을 식별하는 것은 더 강력하고 프로그래밍 오류가 발생하기 쉽습니다. 또한 가상 폴더와 같은 비 파일 시스템 항목에 액세스할 수 있습니다. 한 작업의 여러 항목을 문자열이 아닌 IEnumShellItems를 통해 액세스하는 IShellItemArray, IDataObject 또는 컬렉션으로 전달할 수 있습니다.
  • FormatMessage와 같은 API와 함께 HRESULT 값을 통해 보다 정확한 오류 보고 SHFileOperation의 반환 코드는 오해의 소지가 있거나 부정확할 수 있습니다.
  • 확장성. COM(구성 요소 개체 모델) 인터페이스인 IFileOperation 은 타사에서 특정 요구 사항을 충족하기 위해 기능을 확장할 수 있지만 매우 드문 경우여야 합니다. Windows는 대부분의 사용자의 요구를 충족해야 하는 IFileOperation 의 기본 구현을 제공합니다.
  • 더 나은 진행 피드백. 개별 항목에서 특정 작업이 시작 및 종료될 때의 알림과 전체 진행률을 포함한 자세한 작업 진행 상황을 작업 중에 수신할 수 있습니다. SHFileOperation은 진행률 UI를 제공하지만 자세한 내용은 아닙니다.
  • 추가 기능. IFileOperation을 사용하면 SHFileOperation에서 제공하는 복사, 삭제, 이동 및 이름 바꾸기 기능 외에도 속성 값을 적용하고 새 항목을 만들 수 있습니다.
  • 작업에 대한 더 많은 제어. SHFileOperation에서 인식하는 작업 플래그 외에도 확장 작업 옵션을 지정하는 IFileOperation::SetOperationFlags에서 새 플래그가 인식됩니다.
  • 한 번의 호출로 다른 작업을 수행할 수 있습니다. instance 경우 파일 집합을 이동하고, 다른 파일을 복사하고, 폴더 이름을 바꾸고, 속성을 다른 항목에 적용할 수 있습니다. SHFileOperation 은 한 번에 하나의 작업(복사, 이동, 이름 바꾸기 또는 삭제)만 수행할 수 있습니다.
이 인터페이스를 사용하여 파일 작업을 수행하려면 일련의 호출을 수행해야 합니다.
  1. 선택 사항입니다. AdviseUnadvise를 통해 진행률 상태 및 오류 알림에 대한 이벤트 싱크를 설정합니다.
  2. 필요에 따라 다음을 사용하여 작업 상태를 설정합니다.
  3. 필요에 따라 다음을 사용하여 수행할 항목을 지정합니다.
  4. PerformOperations를 호출하여 작업 실행
IFileOperation 은 STA(단일 스레드 아파트) 상황에서만 적용할 수 있습니다. MTA(다중 스레드 아파트) 상황에는 사용할 수 없습니다. MTA의 경우 여전히 SHFileOperation을 사용해야 합니다.

IFileOperation의 확장을 보여 주는 전체 샘플은 SDK(Windows SDK(소프트웨어 개발 키트))에 포함되어 있습니다. 기본 설치에서는 %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\FileOperations에서 찾을 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)