다음을 통해 공유


CDefFolderMenu_Create2 함수(shlobj_core.h)

선택한 파일 폴더 개체 그룹에 대한 상황에 맞는 메뉴를 만듭니다.

구문

SHSTDAPI CDefFolderMenu_Create2(
  [in, optional] PCIDLIST_ABSOLUTE     pidlFolder,
  [in, optional] HWND                  hwnd,
                 UINT                  cidl,
  [in, optional] PCUITEMID_CHILD_ARRAY apidl,
  [in, optional] IShellFolder          *psf,
  [in, optional] LPFNDFMCALLBACK       pfn,
                 UINT                  nKeys,
  [in, optional] const HKEY            *ahkeys,
  [out]          IContextMenu          **ppcm
);

매개 변수

[in, optional] pidlFolder

형식: PCIDLIST_ABSOLUTE

부모 폴더에 대한 ITEMIDLIST 구조체입니다. 이 값은 NULL일 수 있습니다.

[in, optional] hwnd

형식: HWND

부모 창에 대한 핸들입니다. 이 값은 NULL일 수 있습니다.

cidl

형식: UINT

apidl이 가리키는 배열의 ITEMIDLIST 구조체 수입니다.

[in, optional] apidl

형식: PCUITEMID_CHILD_ARRAY*

ITEMIDLIST 구조체의 배열에 대한 포인터로, 선택한 각 항목에 대해 하나씩 지정합니다.

[in, optional] psf

형식: IShellFolder*

부모 폴더의 IShellFolder 인터페이스에 대한 포인터입니다. 이 IShellFolder는IDataObject 인터페이스를 지원해야 합니다. 그렇지 않으면 CDefFolderMenu_Create2 실패하고 E_NOINTERFACE 반환합니다. 이 값은 NULL일 수 있습니다.

[in, optional] pfn

형식: LPFNDFMCALLBACK

LPFNDFMCALLBACK 콜백 개체입니다. 콜백 개체가 필요하지 않은 경우 이 값은 NULL 일 수 있습니다.

nKeys

형식: UINT

ahkeys가 가리키는 배열의 레지스트리 키 수입니다.

참고 최대 레지스트리 키 수는 16개입니다. 호출자는 API가 적용하지 않으므로 이 제한을 적용해야 합니다. 이렇게 하지 않으면 메모리가 손상될 수 있습니다.
 

[in, optional] ahkeys

형식: const HKEY*

메뉴 항목과 함께 사용되는 상황에 맞는 메뉴 처리기를 지정하는 레지스트리 키 배열에 대한 포인터입니다. 상황에 맞는 메뉴 처리기에 대한 자세한 내용은 상황에 맞는 메뉴 처리기 만들기를 참조하세요. 이 배열에는 최대 16개의 레지스트리 키가 포함될 수 있습니다.

[out] ppcm

형식: IContextMenu**

이 함수가 성공적으로 반환될 때 상황에 맞는 메뉴를 나타내는 IContextMenu 개체를 가리키는 IContextMenu 인터페이스 포인터의 주소입니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 성공하지 않으면 HRESULT 오류 코드를 반환합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h(Shlobj.h 포함)
라이브러리 Shell32.lib
DLL Shell32.dll(버전 5.00 이상)

추가 정보

SHCreateDefaultContextMenu