Struktur DEFCONTEXTMENU (shlobj_core.h)

Berisi informasi menu konteks yang digunakan oleh SHCreateDefaultContextMenu.

Sintaks

typedef struct {
  HWND                  hwnd;
  IContextMenuCB        *pcmcb;
  PCIDLIST_ABSOLUTE     pidlFolder;
  IShellFolder          *psf;
  UINT                  cidl;
  PCUITEMID_CHILD_ARRAY apidl;
  IUnknown              *punkAssociationInfo;
  UINT                  cKeys;
  const HKEY            *aKeys;
} DEFCONTEXTMENU;

Anggota

hwnd

Jenis: HWND

Handel ke menu konteks. Atur anggota ini ke handel yang dikembalikan dari CreateMenu.

pcmcb

Jenis: IContextMenuCB*

Penunjuk ke antarmuka IContextMenuCB yang didukung oleh objek panggilan balik. Nilai ini bersifat opsional dan dapat berupa NULL.

pidlFolder

Jenis: PCIDLIST_ABSOLUTE

PIDL folder yang berisi objek file yang dipilih atau folder menu konteks jika tidak ada objek file yang dipilih. Nilai ini bersifat opsional dan dapat berupa NULL, dalam hal ini PIDL dihitung dari anggota psf .

psf

Jenis: IShellFolder*

Penunjuk ke antarmuka IShellFolder objek folder yang berisi objek file yang dipilih, atau folder yang berisi menu konteks jika tidak ada objek file yang dipilih.

cidl

Jenis: UINT

Jumlah item dalam apidl anggota.

apidl

Jenis: PCUITEMID_CHILD_ARRAY

Penunjuk ke array konstan struktur ITEMIDLIST . Setiap entri dalam array menjelaskan item anak tempat menu konteks diterapkan, misalnya, file yang dipilih yang ingin dibuka pengguna.

punkAssociationInfo

Jenis: IUnknown*

Penunjuk ke antarmuka IQueryAssociations pada objek tempat memuat ekstensi. Parameter ini bersifat opsional dan dengan demikian dapat berupa NULL. Jika nilai ini NULL dan anggota aKeys dan cKeys juga NULL (lihat Remarks), punkAssociationInfo dihitung dari anggota apidl dan cidl melalui permintaan IQueryAssociations melalui IShellFolder::GetUIObjectOf.

Jika IShellFolder::GetUIObjectOf mengembalikan E_NOTIMPL, implementasi default disediakan berdasarkan atribut SFGAO_FOLDER dan SFGAO_FILESYSTEM yang dikembalikan dari IShellFolder::GetAttributesOf.

cKeys

Jenis: UINT

Jumlah item dalam aKeys anggota. Nilai ini bisa nol. Jika nilainya nol, ekstensi dimuat berdasarkan objek yang mendukung antarmuka IQueryAssociations seperti yang ditentukan oleh anggota punkAssociationInfo. Jika nilainya non-NULL, ekstensi dimuat hanya berdasarkan aKeys anggota dan bukan anggota punkAssociationInfo.

Catatan Jumlah maksimum kunci adalah 16. Penelepon harus memberlakukan batas ini karena API tidak berlaku. Gagal melakukannya dapat mengakibatkan kerusakan memori.
 

aKeys

Jenis: const HKEY*

Penunjuk ke HKEY yang menentukan kunci registri untuk memuat ekstensi. Parameter ini bersifat opsional dan dapat berupa NULL. Jika nilainya NULL, ekstensi dimuat berdasarkan objek yang mendukung antarmuka IQueryAssociations seperti yang ditentukan dalam punkAssociationInfo.

Keterangan

Jika anggota aKeys dan cKeys valid dan anggota punkAssociationInfo juga valid (bukan NULL), sistem membuat menu menggunakan nilai aKeys dan cKeys, dan mengabaikan anggota punkAssociationInfo (IQueryAssociations).

Members apidl dan cidl dapat digunakan sebagai parameter untuk metode IShellFolder::GetUIObjectOf untuk mengambil IDataObject.

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header shlobj_core.h (termasuk Shlobj.h)