SHCreateShellItemArrayFromDataObject 함수(shobjidl_core.h)
데이터 개체에서 Shell 항목 배열 개체를 만듭니다.
구문
SHSTDAPI SHCreateShellItemArrayFromDataObject(
[in] IDataObject *pdo,
[in] REFIID riid,
[out] void **ppv
);
매개 변수
[in] pdo
형식: IDataObject*
IDataObject 인터페이스에 대한 포인터입니다.
[in] riid
형식: REFIID
원하는 인터페이스 ID에 대한 참조입니다.
[out] ppv
형식: void**
이 메서드가 반환되면 riid에서 요청된 인터페이스 포인터가 포함됩니다. 일반적으로 IShellItemArray입니다.
반환 값
형식: HRESULT
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 함수는 IShellExtInit 를 구현하고 데이터 개체를 IShellExtInit::Initialize 메서드에 전달하는 셸 확장에 유용합니다. 예를 들어 상황에 맞는 메뉴 처리기가 있습니다.
이 API를 사용하면 데이터 개체를 처리기에서 사용할 수 있는 Shell 항목으로 변환할 수 있습니다. 처리기는 CF_HDROP 및CFSTR_SHELLIDLIST(HIDA라고도 함)와 같은 클립보드 형식이 아닌 셸 항목 배열을 사용하는 것이 좋습니다. 이 배열은 코드가 더 간단하고 성능이 향상될 수 있습니다.
결과 셸 항목 배열은 원본 데이터 개체에 대한 참조를 보유합니다. 따라서 해당 데이터 개체는 셸 항목 배열의 수명 동안 유효한 상태를 유지해야 합니다. 특히 IDropTarget 메서드에 전달된 데이터 개체는 삭제 작업이 완료된 후 더 이상 유효하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |
DLL | Shell32.dll |
API 세트 | ext-ms-win-shell-shell32-l1-2-2(Windows 10 버전 10.0.14393에 도입됨) |