DFMICS-Struktur (shlobj_core.h)
Enthält zusätzliche Argumente, die von DFM_INVOKECOMMANDEX verwendet werden.
Syntax
typedef struct {
DWORD cbSize;
DWORD fMask;
LPARAM lParam;
UINT idCmdFirst;
UINT idDefMax;
LPCMINVOKECOMMANDINFO pici;
IUnknown *punkSite;
} DFMICS, *PDFMICS;
Member
cbSize
Art: DWORD
Die Größe dieser Struktur in Bytes.
fMask
Art: DWORD
Null oder mindestens eins der folgenden Flags, die angeben, wie die Daten in der STRUKTUR CMINVOKECOMMANDINFO oder CMINVOKECOMMANDINFOEX behandelt werden sollen, auf die pici verweist.
CMIC_MASK_HOTKEY
Das dwHotKey-Element ist gültig.
CMIC_MASK_ICON
Wird nicht verwendet.
CMIC_MASK_FLAG_NO_UI
Die Implementierung von IContextMenu::InvokeCommand wird daran gehindert, Benutzeroberflächenelemente (z. B. Fehlermeldungen) beim Ausführen eines Befehls anzuzeigen.
CMIC_MASK_UNICODE
Wird nur verwendet, wenn pici auf eine CMINVOKECOMMANDINFOEX-Struktur zeigt. Gibt an, dass der Kontextmenühandler die Member lpVerbW, lpParametersW, lpTitleW und lpDirectoryW anstelle ihrer ANSI-Entsprechungen verwenden soll. Da einige Kontextmenühandler Unicode möglicherweise nicht unterstützen, sollten Sie auch gültige ANSI-Zeichenfolgen in den Membern lpVerb, lpParameters, lpTitleW und lpDirectory übergeben.
CMIC_MASK_NO_CONSOLE
Wenn ein Kontextmenühandler einen neuen Prozess erstellen muss, wird normalerweise eine neue Konsole erstellt. Das Festlegen des CMIC_MASK_NO_CONSOLE-Flags unterdrückt die Erstellung einer neuen Konsole.
CMIC_MASK_FLAG_SEP_VDM
Dieses Flag ist nur gültig, wenn auf eine 16-Bit-Windows-basierte Anwendung verwiesen wird. Wenn festgelegt, wird die Anwendung, auf die die Verknüpfung verweist, auf einen privaten virtuellen DOS-Computer (VDM) ausgeführt. Siehe Hinweise.
CMIC_MASK_ASYNCOK
Die Implementierung von IContextMenu::InvokeCommand kann einen neuen Thread oder Prozess zur Verarbeitung des Aufrufs ausgliedern und muss beim Abschluss der aufgerufenen Funktion nicht blockieren. Wenn das Verb beispielsweise "delete" ist, kann der IContextMenu::InvokeCommand-Aufruf zurückgegeben werden, bevor alle Elemente gelöscht wurden. Da dies eine Empfehlung ist, kann das Aufrufen von Anwendungen, die dieses Flag angeben, nicht garantieren, dass diese Anforderung berücksichtigt wird, wenn sie mit der Implementierung des Von ihnen aufgerufenen Verbs nicht vertraut sind.
CMIC_MASK_NOASYNC
Windows Vista und höher. Die Implementierung von IContextMenu::InvokeCommand sollte synchron sein und nicht zurückgegeben werden, bevor sie abgeschlossen ist. Da dies empfohlen wird, kann das Aufrufen von Anwendungen, die dieses Flag angeben, nicht garantieren, dass diese Anforderung berücksichtigt wird, wenn sie mit der Implementierung des Von ihnen aufgerufenen Verbs nicht vertraut sind.
CMIC_MASK_SHIFT_DOWN
Die UMSCHALTTASTE wird gedrückt. Verwenden Sie dies, anstatt den aktuellen Status der Tastatur abzurufen, der sich seit dem Aufrufen des Verbs möglicherweise geändert hat.
CMIC_MASK_CONTROL_DOWN
Die STRG-TASTE wird gedrückt. Verwenden Sie dies, anstatt den aktuellen Status der Tastatur abzurufen, der sich seit dem Aufrufen des Verbs möglicherweise geändert hat.
CMIC_MASK_FLAG_LOG_USAGE
Gibt an, dass die Implementierung von IContextMenu::InvokeCommand möglicherweise das Element nachverfolgen möchte, das für Features wie das Menü "Zuletzt verwendete Dokumente" aufgerufen wird.
CMIC_MASK_NOZONECHECKS
Führen Sie keine Zonenüberprüfung aus. Dieses Flag ermöglicht ShellExecuteEx die Umgehung der Zonenüberprüfung, die von IAttachmentExecute eingerichtet wurde.
CMIC_MASK_PTINVOKE
Wird nur verwendet, wenn pici auf eine CMINVOKECOMMANDINFOEX-Struktur zeigt. Das ptInvoke-Element ist gültig.
lParam
Typ: LPARAM
Ein Zeiger auf eine NULL-endende Zeichenfolge, die zusätzliche Argumente für den ausgewählten Menübefehl enthält. Dieser Member kann NULL sein.
idCmdFirst
Typ: UINT
Der Mindestwert, den der Handler für einen Menüelementbezeichner angeben kann.
idDefMax
Typ: UINT
Der Maximalwert, den der Handler für einen Menüelementbezeichner angeben kann.
pici
Typ: LPCMINVOKECOMMANDINFO
Ein Zeiger auf eine CMINVOKECOMMANDINFO - oder CMINVOKECOMMANDINFO-Struktur .
punkSite
Typ: IUnknown*
Ein Zeiger auf den Standort des Kontextmenühandlers.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | shlobj_core.h (shlobj.h einschließen) |