Função SHChangeNotify (shlobj_core.h)
Notifica o sistema de um evento que um aplicativo executou. Um aplicativo deverá usar essa função se executar uma ação que possa afetar o Shell.
Sintaxe
void SHChangeNotify(
LONG wEventId,
UINT uFlags,
[in, optional] LPCVOID dwItem1,
[in, optional] LPCVOID dwItem2
);
Parâmetros
wEventId
Tipo: LONG
Descreve o evento que ocorreu. Normalmente, apenas um evento é especificado por vez. Se mais de um evento for especificado, os valores contidos nos parâmetros dwItem1 e dwItem2 deverão ser os mesmos, respectivamente, para todos os eventos especificados. Esse parâmetro pode usar um dos valores a seguir:
SHCNE_ALLEVENTS
Todos os eventos ocorreram.
SHCNE_ASSOCCHANGED
Uma associação de tipo de arquivo foi alterada. SHCNF_IDLIST deve ser especificado no parâmetro uFlags . dwItem1 e dwItem2 não são usados e devem ser NULL. Esse evento também deve ser enviado para protocolos registrados.
SHCNE_ATTRIBUTES
Os atributos de um item ou pasta foram alterados. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o item ou pasta que foi alterado. dwItem2 não é usado e deve ser NULL.
SHCNE_CREATE
Um item não de pasta foi criado. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o item que foi criado. dwItem2 não é usado e deve ser NULL.
SHCNE_DELETE
Um item não de pasta foi excluído. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o item que foi excluído. dwItem2 não é usado e deve ser NULL.
SHCNE_DRIVEADD
Uma unidade foi adicionada. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a raiz da unidade que foi adicionada. dwItem2 não é usado e deve ser NULL.
SHCNE_DRIVEADDGUI
Windows XP e posterior: não usado.
SHCNE_DRIVEREMOVED
Uma unidade foi removida. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a raiz da unidade que foi removida. dwItem2 não é usado e deve ser NULL.
SHCNE_EXTENDED_EVENT
Não usado no momento.
SHCNE_FREESPACE
A quantidade de espaço livre em uma unidade foi alterada. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a raiz da unidade na qual o espaço livre foi alterado. dwItem2 não é usado e deve ser NULL.
SHCNE_MEDIAINSERTED
A mídia de armazenamento foi inserida em uma unidade. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a raiz da unidade que contém a nova mídia. dwItem2 não é usado e deve ser NULL.
SHCNE_MEDIAREMOVED
A mídia de armazenamento foi removida de uma unidade. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a raiz da unidade da qual a mídia foi removida. dwItem2 não é usado e deve ser NULL.
SHCNE_MKDIR
Uma pasta foi criada. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a pasta que foi criada. dwItem2 não é usado e deve ser NULL.
SHCNE_NETSHARE
Uma pasta no computador local está sendo compartilhada por meio da rede. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a pasta que está sendo compartilhada. dwItem2 não é usado e deve ser NULL.
SHCNE_NETUNSHARE
Uma pasta no computador local não está mais sendo compartilhada por meio da rede. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a pasta que não está mais sendo compartilhada. dwItem2 não é usado e deve ser NULL.
SHCNE_RENAMEFOLDER
O nome de uma pasta foi alterado. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o PIDL anterior ou o nome da pasta. dwItem2 contém o novo PIDL ou o nome da pasta.
SHCNE_RENAMEITEM
O nome de um item não de pasta foi alterado. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o PIDL anterior ou o nome do item. dwItem2 contém o novo PIDL ou o nome do item.
SHCNE_RMDIR
Uma pasta foi removida. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a pasta que foi removida. dwItem2 não é usado e deve ser NULL.
SHCNE_SERVERDISCONNECT
O computador se desconectou de um servidor. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o servidor do qual o computador foi desconectado. dwItem2 não é usado e deve ser NULL.
SHCNE_UPDATEDIR
O conteúdo de uma pasta existente foi alterado, mas a pasta ainda existe e não foi renomeada. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém a pasta que foi alterada. dwItem2 não é usado e deve ser NULL. Se uma pasta tiver sido criada, excluída ou renomeada, use SHCNE_MKDIR, SHCNE_RMDIR ou SHCNE_RENAMEFOLDER, respectivamente.
SHCNE_UPDATEIMAGE
Uma imagem na lista de imagens do sistema foi alterada. SHCNF_DWORD deve ser especificado em uFlags.
dwItem2 contém o índice na lista de imagens do sistema que foi alterada. dwItem1 não é usado e deve ser NULL.
SHCNE_UPDATEITEM
Um item existente (uma pasta ou uma não pasta) foi alterado, mas o item ainda existe e não foi renomeado. SHCNF_IDLIST ou SHCNF_PATH devem ser especificados em uFlags. dwItem1 contém o item que foi alterado. dwItem2 não é usado e deve ser NULL. Se um item não pasta tiver sido criado, excluído ou renomeado, use SHCNE_CREATE, SHCNE_DELETE ou SHCNE_RENAMEITEM, respectivamente.
SHCNE_DISKEVENTS
Especifica uma combinação de todos os identificadores de evento de disco.
SHCNE_GLOBALEVENTS
Especifica uma combinação de todos os identificadores de eventos globais.
SHCNE_INTERRUPT
O evento especificado ocorreu como resultado de uma interrupção do sistema. Como esse valor modifica outros valores de evento, ele não pode ser usado sozinho.
uFlags
Tipo: UINT
Sinalizadores que, quando combinados bit a bit com SHCNF_TYPE, indicam o significado dos parâmetros dwItem1 e dwItem2 . O parâmetro uFlags deve ser um dos valores a seguir.
SHCNF_DWORD
Os parâmetros dwItem1 e dwItem2 são valores DWORD .
SHCNF_IDLIST
dwItem1 e dwItem2 são os endereços das estruturas ITEMIDLIST que representam os itens afetados pela alteração. Cada ITEMIDLIST deve ser relativo à pasta da área de trabalho.
SHCNF_PATH
dwItem1 e dwItem2 são os endereços de cadeias de caracteres terminadas em nulo de comprimento máximo MAX_PATH que contêm os nomes de caminho completos dos itens afetados pela alteração.
SHCNF_PRINTER
dwItem1 e dwItem2 são os endereços de cadeias de caracteres terminadas em nulo que representam os nomes amigáveis das impressoras afetadas pela alteração.
SHCNF_FLUSH
A função não deve retornar até que a notificação seja entregue a todos os componentes afetados. Como esse sinalizador modifica outros sinalizadores de tipo de dados, ele não pode ser usado por si só.
SHCNF_FLUSHNOWAIT
A função deve começar a fornecer notificações a todos os componentes afetados, mas deve retornar assim que o processo de notificação for iniciado. Como esse sinalizador modifica outros sinalizadores de tipo de dados, ele não pode ser usado por si só. Esse sinalizador inclui SHCNF_FLUSH.
SHCNF_NOTIFYRECURSIVE
Notifique os clientes registrados para todos os filhos.
[in, optional] dwItem1
Tipo: LPCVOID
Opcional. Primeiro valor dependente de evento.
[in, optional] dwItem2
Tipo: LPCVOID
Opcional. Segundo valor dependente de evento.
Retornar valor
Nenhum
Comentários
Os aplicativos que registram novos manipuladores de qualquer tipo devem chamar SHChangeNotify com o sinalizador SHCNE_ASSOCCHANGED para instruir o Shell a invalidar o ícone e o cache em miniatura. Isso também carregará novos manipuladores de miniaturas e ícones que foram registrados. Observe, no entanto, que os manipuladores de sobreposição de ícones não são recarregados.
As cadeias de caracteres apontadas por dwItem1 e dwItem2 podem ser ANSI ou Unicode.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlobj_core.h (inclua Shlobj.h) |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 4.0 ou posterior) |
Conjunto de APIs | ext-ms-win-shell-shell32-l1-2-0 (introduzido no Windows 8.1) |