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 은 한 번에 하나의 작업(복사, 이동, 이름 바꾸기 또는 삭제)만 수행할 수 있습니다.
- 선택 사항입니다. Advise 및 Unadvise를 통해 진행률 상태 및 오류 알림에 대한 이벤트 싱크를 설정합니다.
- 필요에 따라 다음을 사용하여 작업 상태를 설정합니다.
- 필요에 따라 다음을 사용하여 수행할 항목을 지정합니다.
- PerformOperations를 호출하여 작업 실행
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 포함) |