Bagikan melalui


Struktur DFMICS (shlobj_core.h)

Berisi argumen tambahan yang digunakan oleh DFM_INVOKECOMMANDEX.

Sintaks

typedef struct {
  DWORD                 cbSize;
  DWORD                 fMask;
  LPARAM                lParam;
  UINT                  idCmdFirst;
  UINT                  idDefMax;
  LPCMINVOKECOMMANDINFO pici;
  IUnknown              *punkSite;
} DFMICS, *PDFMICS;

Anggota

cbSize

Jenis: DWORD

Ukuran struktur ini, dalam byte.

fMask

Jenis: DWORD

Nol, atau satu atau beberapa bendera berikut yang menentukan cara menangani data dalam struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFOEX yang ditujukkan oleh pici.

CMIC_MASK_HOTKEY

Anggota dwHotKey valid.

CMIC_MASK_ICON

Tidak digunakan.

CMIC_MASK_FLAG_NO_UI

Implementasi IContextMenu::InvokeCommand dicegah untuk menampilkan elemen antarmuka pengguna (misalnya, pesan kesalahan) saat melakukan perintah.

CMIC_MASK_UNICODE

Digunakan hanya ketika pici menunjuk ke struktur CMINVOKECOMMANDINFOEX . Menunjukkan bahwa penangan menu pintasan harus menggunakan anggota lpVerbW, lpParametersW, lpTitleW, dan lpDirectoryW alih-alih setara DENGAN ANSI mereka. Karena beberapa penangan menu pintasan mungkin tidak mendukung Unicode, Anda juga harus meneruskan string ANSI yang valid di anggota lpVerb, lpParameters, lpTitleW, dan lpDirectory .

CMIC_MASK_NO_CONSOLE

Jika penangan menu pintasan perlu membuat proses baru, biasanya membuat konsol baru. Mengatur bendera CMIC_MASK_NO_CONSOLE menekan pembuatan konsol baru.

CMIC_MASK_FLAG_SEP_VDM

Bendera ini hanya valid jika mengacu pada aplikasi berbasis Windows 16-bit. Jika diatur, aplikasi yang disortir pintasan untuk berjalan di Virtual DOS Machine (VDM) privat. Lihat Keterangan.

CMIC_MASK_ASYNCOK

Implementasi IContextMenu::InvokeCommand dapat memutar utas atau proses baru untuk menangani panggilan dan tidak perlu memblokir penyelesaian fungsi yang dipanggil. Misalnya, jika kata kerja "hapus" panggilan IContextMenu::InvokeCommand dapat kembali sebelum semua item dihapus. Karena ini adalah saran, memanggil aplikasi yang menentukan bendera ini tidak dapat menjamin bahwa permintaan ini akan dihormati jika mereka tidak terbiasa dengan implementasi kata kerja yang mereka panggil.

CMIC_MASK_NOASYNC

Windows Vista dan yang lebih baru. Implementasi IContextMenu::InvokeCommand harus sinkron, tidak kembali sebelum selesai. Karena ini direkomendasikan, memanggil aplikasi yang menentukan bendera ini tidak dapat menjamin bahwa permintaan ini akan dihormati jika mereka tidak terbiasa dengan implementasi kata kerja yang mereka panggil.

CMIC_MASK_SHIFT_DOWN

Tombol SHIFT ditekan. Gunakan ini alih-alih polling status keyboard saat ini yang mungkin telah berubah sejak kata kerja dipanggil.

CMIC_MASK_CONTROL_DOWN

Tombol CTRL ditekan. Gunakan ini alih-alih polling status keyboard saat ini yang mungkin telah berubah sejak kata kerja dipanggil.

CMIC_MASK_FLAG_LOG_USAGE

Menunjukkan bahwa implementasi IContextMenu::InvokeCommand mungkin ingin melacak item yang dipanggil untuk fitur seperti menu "Dokumen terbaru".

CMIC_MASK_NOZONECHECKS

Jangan lakukan pemeriksaan zona. Bendera ini memungkinkan ShellExecuteEx untuk melewati pemeriksaan zona yang diberlakukan oleh IAttachmentExecute.

CMIC_MASK_PTINVOKE

Digunakan hanya ketika pici menunjuk ke struktur CMINVOKECOMMANDINFOEX . Anggota ptInvoke valid.

lParam

Jenis: LPARAM

Penunjuk ke string yang dihentikan null yang berisi argumen tambahan ke perintah menu yang dipilih. Anggota ini bisa NULL.

idCmdFirst

Jenis: UINT

Nilai minimum yang dapat ditentukan handler untuk pengidentifikasi item menu.

idDefMax

Jenis: UINT

Nilai maksimum yang dapat ditentukan handler untuk pengidentifikasi item menu.

pici

Jenis: LPCMINVOKECOMMANDINFO

Pointer ke struktur CMINVOKECOMMANDINFO atau CMINVOKECOMMANDINFO .

punkSite

Jenis: IUnknown*

Penunjuk ke situs penangan menu konteks.

Persyaratan

Persyaratan Nilai
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)