Compartilhar via


Estrutura DFMICS (shlobj_core.h)

Contém argumentos adicionais usados por DFM_INVOKECOMMANDEX.

Sintaxe

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

Membros

cbSize

Tipo: DWORD

O tamanho dessa estrutura, em bytes.

fMask

Tipo: DWORD

Zero ou um ou mais dos sinalizadores a seguir que especificam como lidar com os dados na estrutura CMINVOKECOMMANDINFO ou CMINVOKECOMMANDINFOEX apontada por pici.

CMIC_MASK_HOTKEY

O membro dwHotKey é válido.

CMIC_MASK_ICON

Não usado.

CMIC_MASK_FLAG_NO_UI

A implementação de IContextMenu::InvokeCommand é impedida de exibir elementos de interface do usuário (por exemplo, mensagens de erro) durante a execução de um comando.

CMIC_MASK_UNICODE

Usado somente quando pici aponta para uma estrutura CMINVOKECOMMANDINFOEX . Indica que o manipulador de menu de atalho deve usar membros lpVerbW, lpParametersW, lpTitleW e lpDirectoryW em vez de seus equivalentes ANSI. Como alguns manipuladores de menu de atalho podem não dar suporte ao Unicode, você também deve passar cadeias de caracteres ANSI válidas nos membros lpVerb, lpParameters, lpTitleW e lpDirectory .

CMIC_MASK_NO_CONSOLE

Se um manipulador de menu de atalho precisar criar um novo processo, ele normalmente criará um novo console. Definir o sinalizador CMIC_MASK_NO_CONSOLE suprime a criação de um novo console.

CMIC_MASK_FLAG_SEP_VDM

Esse sinalizador é válido somente ao se referir a um aplicativo baseado no Windows de 16 bits. Se definido, o aplicativo para o qual o atalho aponta é executado em uma VDM (Máquina virtual dos DOS) privada. Consulte Observações.

CMIC_MASK_ASYNCOK

A implementação de IContextMenu::InvokeCommand pode desativar um novo thread ou processo para lidar com a chamada e não precisa bloquear a conclusão da função que está sendo invocada. Por exemplo, se o verbo for "delete" a chamada IContextMenu::InvokeCommand poderá retornar antes que todos os itens sejam excluídos. Como isso é aviso, chamar aplicativos que especificam esse sinalizador não pode garantir que essa solicitação será respeitada se eles não estiverem familiarizados com a implementação do verbo que estão invocando.

CMIC_MASK_NOASYNC

Windows Vista e posteriores. A implementação de IContextMenu::InvokeCommand deve ser síncrona, não retornando antes de ser concluída. Como isso é recomendado, chamar aplicativos que especificam esse sinalizador não pode garantir que essa solicitação será respeitada se eles não estiverem familiarizados com a implementação do verbo que estão invocando.

CMIC_MASK_SHIFT_DOWN

A tecla SHIFT está pressionada. Use isso em vez de sondar o estado atual do teclado que pode ter sido alterado desde que o verbo foi invocado.

CMIC_MASK_CONTROL_DOWN

A tecla CTRL está pressionada. Use isso em vez de sondar o estado atual do teclado que pode ter sido alterado desde que o verbo foi invocado.

CMIC_MASK_FLAG_LOG_USAGE

Indica que a implementação de IContextMenu::InvokeCommand pode querer acompanhar o item que está sendo invocado para recursos como o menu "Documentos recentes".

CMIC_MASK_NOZONECHECKS

Não execute um marcar de zona. Esse sinalizador permite que ShellExecuteEx ignore a verificação de zona colocada em prática por IAttachmentExecute.

CMIC_MASK_PTINVOKE

Usado somente quando pici aponta para uma estrutura CMINVOKECOMMANDINFOEX . O membro ptInvoke é válido.

lParam

Tipo: LPARAM

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém argumentos adicionais para o comando de menu selecionado. Esse membro pode ser NULL.

idCmdFirst

Tipo: UINT

O valor mínimo que o manipulador pode especificar para um identificador de item de menu.

idDefMax

Tipo: UINT

O valor máximo que o manipulador pode especificar para um identificador de item de menu.

pici

Tipo: LPCMINVOKECOMMANDINFO

Um ponteiro para uma estrutura CMINVOKECOMMANDINFO ou CMINVOKECOMMANDINFO .

punkSite

Tipo: IUnknown*

Um ponteiro para o site do manipulador de menu de contexto.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho shlobj_core.h (inclua Shlobj.h)