다음을 통해 공유


SHDoDragDrop 함수(shlobj_core.h)

끌어서 놓기 작업을 실행합니다. 요청 시 원본 끌어서 만들기와 끌어서 이미지를 지원합니다.

구문

SHSTDAPI SHDoDragDrop(
  [in]  HWND        hwnd,
  [in]  IDataObject *pdata,
  [in]  IDropSource *pdsrc,
  [in]  DWORD       dwEffect,
  [out] DWORD       *pdwEffect
);

매개 변수

[in] hwnd

형식: HWND

끌기 이미지를 가져오는 데 사용되는 창의 핸들입니다. 이 값은 NULL일 수 있습니다. 자세한 내용은 설명을 참조하세요.

[in] pdata

형식: IDataObject*

끌 데이터를 포함하는 데이터 개체의 IDataObject 인터페이스에 대한 포인터입니다.

[in] pdsrc

형식: IDropSource*

끌기 작업 중에 원본과 통신하는 데 사용되는 IDropSource 인터페이스 구현에 대한 포인터입니다.

Windows Vista를 기준으로 이 값이 NULL이면 Shell에서 드롭 소스 개체를 만듭니다.

[in] dwEffect

형식:DWORD

원본이 끌어서 놓기 작업에서 허용하는 효과입니다. 가장 중요한 효과는 끌어서 놓기 작업에서 이동을 허용하는지 여부입니다. 가능한 값 목록은 DROPEFFECT를 참조하세요.

[out] pdwEffect

형식: DWORD*

끌어서 놓기 작업이 원본 데이터에 미치는 영향을 나타내는 값에 대한 포인터입니다. pdwEffect 매개 변수는 작업이 취소되지 않은 경우에만 설정됩니다. 가능한 값 목록은 DROPEFFECT를 참조하세요.

반환 값

형식: HRESULT

이 함수는 E_OUTOFMEMORY 표준 반환 값과 다음 값을 지원합니다.

반환 코드 설명
DRAGDROP_S_DROP
끌어서 놓기 작업이 성공했습니다.
DRAGDROP_S_CANCEL
끌어서 놓기 작업이 취소되었습니다.
E_UNSPEC
예기치 않은 오류가 발생했습니다.

설명

Windows Vista를 기준으로 끌기 이미지가 데이터 개체 pdtobj 에 아직 저장되어 있지 않고 hwnd로 지정된 창에서 끌기 이미지를 가져올 수 없는 경우 셸은 제네릭 끌기 이미지를 제공합니다. hwndNULL이거나 지정된 창이 DI_GETDRAGIMAGE 메시지를 지원하지 않으므로 지정된 창에서 끌기 이미지를 가져오지 못할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h(Shlobj.h 포함)
라이브러리 Shell32.lib
DLL Shell32.dll(버전 6.0 이상)
API 세트 ext-ms-win-shell-shell32-l1-2-1(Windows 10 버전 10.0.10240에 도입됨)