Freigeben über


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)