Compartir a través de


Estructura DFMICS (shlobj_core.h)

Contiene argumentos adicionales usados por DFM_INVOKECOMMANDEX.

Sintaxis

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

Miembros

cbSize

Tipo: DWORD

Tamaño de esta estructura, en bytes.

fMask

Tipo: DWORD

Cero, o una o varias de las marcas siguientes que especifican cómo controlar los datos en la estructura CMINVOKECOMMANDINFO o CMINVOKECOMMANDINFOEX apuntada por pici.

CMIC_MASK_HOTKEY

El miembro dwHotKey es válido.

CMIC_MASK_ICON

No se usa.

CMIC_MASK_FLAG_NO_UI

La implementación de IContextMenu::InvokeCommand no puede mostrar elementos de la interfaz de usuario (por ejemplo, mensajes de error) mientras se lleva a cabo un comando.

CMIC_MASK_UNICODE

Se usa solo cuando pici apunta a una estructura CMINVOKECOMMANDINFOEX . Indica que el controlador de menú contextual debe usar miembros lpVerbW, lpParametersW, lpTitleW y lpDirectoryW en lugar de sus equivalentes ANSI. Dado que es posible que algunos controladores de menú contextual no admitan Unicode, también debe pasar cadenas ANSI válidas en los miembros lpVerb, lpParameters, lpTitleW y lpDirectory .

CMIC_MASK_NO_CONSOLE

Si un controlador de menú contextual necesita crear un nuevo proceso, normalmente crea una nueva consola. Al establecer la marca CMIC_MASK_NO_CONSOLE , se suprime la creación de una nueva consola.

CMIC_MASK_FLAG_SEP_VDM

Esta marca solo es válida cuando se hace referencia a una aplicación basada en Windows de 16 bits. Si se establece, la aplicación a la que apunta el acceso directo se ejecuta en una máquina VIRTUAL DOS privada (VDM). Vea la sección Comentarios.

CMIC_MASK_ASYNCOK

La implementación de IContextMenu::InvokeCommand puede poner en marcha un nuevo subproceso o proceso para controlar la llamada y no es necesario bloquear la finalización de la función que se está invocando. Por ejemplo, si el verbo es "delete", la llamada IContextMenu::InvokeCommand puede devolver antes de que se hayan eliminado todos los elementos. Puesto que se trata de un aviso, llamar a las aplicaciones que especifican esta marca no puede garantizar que esta solicitud se respetará si no están familiarizados con la implementación del verbo que invocan.

CMIC_MASK_NOASYNC

Windows Vista y versiones posteriores. La implementación de IContextMenu::InvokeCommand debe ser sincrónica, no devolver antes de que se complete. Puesto que esto se recomienda, llamar a las aplicaciones que especifican esta marca no puede garantizar que esta solicitud se respetará si no están familiarizados con la implementación del verbo que están invocando.

CMIC_MASK_SHIFT_DOWN

Se presiona la tecla MAYÚS. Úselo en lugar de sondear el estado actual del teclado que puede haber cambiado desde que se invocó el verbo.

CMIC_MASK_CONTROL_DOWN

Se presiona la tecla CTRL. Úselo en lugar de sondear el estado actual del teclado que puede haber cambiado desde que se invocó el verbo.

CMIC_MASK_FLAG_LOG_USAGE

Indica que la implementación de IContextMenu::InvokeCommand podría querer realizar un seguimiento del elemento que se invoca para características como el menú "Documentos recientes".

CMIC_MASK_NOZONECHECKS

No realice una comprobación de zona. Esta marca permite que ShellExecuteEx omita la comprobación de zona puesta en marcha por IAttachmentExecute.

CMIC_MASK_PTINVOKE

Se usa solo cuando pici apunta a una estructura CMINVOKECOMMANDINFOEX . El miembro ptInvoke es válido.

lParam

Tipo: LPARAM

Puntero a una cadena terminada en null que contiene argumentos adicionales para el comando de menú seleccionado. Este miembro puede ser NULL.

idCmdFirst

Tipo: UINT

Valor mínimo que el controlador puede especificar para un identificador de elemento de menú.

idDefMax

Tipo: UINT

Valor máximo que el controlador puede especificar para un identificador de elemento de menú.

pici

Tipo: LPCMINVOKECOMMANDINFO

Puntero a una estructura CMINVOKECOMMANDINFO o CMINVOKECOMMANDINFO .

punkSite

Tipo: IUnknown*

Puntero al sitio del controlador de menú contextual.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado shlobj_core.h (incluya Shlobj.h)