Estrutura DEFCONTEXTMENU (shlobj_core.h)
Contém informações de menu de contexto usadas por SHCreateDefaultContextMenu.
Sintaxe
typedef struct {
HWND hwnd;
IContextMenuCB *pcmcb;
PCIDLIST_ABSOLUTE pidlFolder;
IShellFolder *psf;
UINT cidl;
PCUITEMID_CHILD_ARRAY apidl;
IUnknown *punkAssociationInfo;
UINT cKeys;
const HKEY *aKeys;
} DEFCONTEXTMENU;
Membros
hwnd
Digite: HWND
Um identificador para o menu de contexto. Defina esse membro como o identificador retornado de CreateMenu.
pcmcb
Tipo: IContextMenuCB*
Um ponteiro para a interface IContextMenuCB compatível com o objeto de retorno de chamada. Esse valor é opcional e pode ser NULL.
pidlFolder
Tipo: PCIDLIST_ABSOLUTE
O PIDL da pasta que contém os objetos de arquivo selecionados ou a pasta do menu de contexto se nenhum objeto de arquivo estiver selecionado. Esse valor é opcional e pode ser NULL, nesse caso, o PIDL é calculado do membro psf .
psf
Tipo: IShellFolder*
Um ponteiro para a interface IShellFolder do objeto folder que contém os objetos de arquivo selecionados ou a pasta que contém o menu de contexto se nenhum objeto de arquivo estiver selecionado.
cidl
Tipo: UINT
A contagem de itens no apidl de membro.
apidl
Tipo: PCUITEMID_CHILD_ARRAY
Um ponteiro para uma matriz constante de estruturas ITEMIDLIST . Cada entrada na matriz descreve um item filho ao qual o menu de contexto se aplica, por exemplo, um arquivo selecionado que o usuário deseja abrir.
punkAssociationInfo
Tipo: IUnknown*
Um ponteiro para a interface IQueryAssociations no objeto do qual carregar extensões. Esse parâmetro é opcional e, portanto, pode ser NULL. Se esse valor for NULL e os membros aKeys e cKeys também forem NULL (consulte Comentários), punkAssociationInfo será calculado do membro apidl e cidl por meio de uma solicitação para IQueryAssociations por meio de IShellFolder::GetUIObjectOf.
Se IShellFolder::GetUIObjectOf retornar E_NOTIMPL, uma implementação padrão será fornecida com base nos atributos SFGAO_FOLDER e SFGAO_FILESYSTEM retornados de IShellFolder::GetAttributesOf.
cKeys
Tipo: UINT
A contagem de itens em aKeys membro. Esse valor pode ser zero. Se o valor for zero, as extensões serão carregadas com base no objeto que dá suporte a IQueryAssociations de interface, conforme especificado pelo membro punkAssociationInfo. Se o valor não for NULL, as extensões serão carregadas com base apenas no membro aKeys e não no membro punkAssociationInfo.
aKeys
Tipo: const HKEY*
Um ponteiro para um HKEY que especifica a chave do Registro da qual carregar extensões. Esse parâmetro é opcional e pode ser NULL. Se o valor for NULL, as extensões serão carregadas com base no objeto que dá suporte a IQueryAssociations de interface, conforme especificado em punkAssociationInfo.
Comentários
Se os membros aKeys e cKeys forem válidos e o membro punkAssociationInfo também for válido (não NULL), o sistema construirá o menu usando os valores de aKeys e cKeys e ignorará o membro punkAssociationInfo (IQueryAssociations).
Os membros apidl e cidl podem ser usados como parâmetros para o método IShellFolder::GetUIObjectOf para recuperar IDataObject.
Requisitos
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) |