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 の場合、シェルによってドロップ ソース オブジェクトが自動的に作成されます。

[in] dwEffect

型: DWORD

ドラッグ アンド ドロップ操作でソースで許容される効果。 最も重要な効果は、ドラッグ アンド ドロップ操作で移動が許可されるかどうかです。 使用可能な値の一覧については、「 DROPEFFECT」を参照してください。

[out] pdwEffect

型: DWORD*

ドラッグ アンド ドロップ操作がソース データに与えた影響を示す値へのポインター。 pdwEffect パラメーターは、操作が取り消されない場合にのみ設定されます。 使用可能な値の一覧については、「 DROPEFFECT」を参照してください。

戻り値

型: HRESULT

この関数は、標準の戻り値E_OUTOFMEMORYと、次の値をサポートしています。

リターン コード 説明
DRAGDROP_S_DROP
ドラッグ アンド ドロップ操作が成功しました。
DRAGDROP_S_CANCEL
ドラッグ アンド ドロップ操作が取り消されました。
E_UNSPEC
Unexpected error occurred. (予期しないエラーが発生しました。)

注釈

Windows Vista の時点で、ドラッグ イメージがまだデータ オブジェクト pdtobj に格納されておらず、 hwnd で指定されたウィンドウからドラッグ イメージを取得できない場合、シェルは一般的なドラッグ イメージを提供します。 hwndNULL であるか、指定したウィンドウがDI_GETDRAGIMAGE メッセージをサポートしていないため、指定したウィンドウからドラッグ イメージを取得できない場合があります。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlobj_core.h (Shlobj.h を含む)
Library Shell32.lib
[DLL] Shell32.dll (バージョン 6.0 以降)
API セット ext-ms-win-shell-shell32-l1-2-1 (Windows 10 バージョン 10.0.10240 で導入)