Método IShellChangeNotify::OnChange (shlobj_core.h)
Informa a uma extensão de namespace que ocorreu um evento que afeta seus itens.
Sintaxe
HRESULT OnChange(
LONG lEvent,
[in, optional] PCIDLIST_ABSOLUTE pidl1,
[in, optional] PCIDLIST_ABSOLUTE pidl2
);
Parâmetros
lEvent
Tipo: LONG
Um valor que 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 pidl1 e pidl2 deverão ser os mesmos, respectivamente, para todos os eventos especificados. O parâmetro lEvent pode conter um ou mais dos sinalizadores a seguir.
SHCNE_ALLEVENTS (0x7FFFFFFFL)
Todos os eventos ocorreram.
SHCNE_ASSOCCHANGED (0x08000000L)
Uma associação de tipo de arquivo foi alterada. Os parâmetros pidl1 e pidl2 não são usados e devem ser NULL.
SHCNE_ATTRIBUTES (0x00000800L)
Os atributos de um item ou pasta foram alterados. O parâmetro pidl1 contém o item ou pasta que foi alterado. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_CREATE (0x00000002L)
Um item não de pasta foi criado. O parâmetro pidl1 contém o item que foi criado. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_DELETE (0x00000004L)
Um item não de pasta foi excluído. O parâmetro pidl1 contém o item que foi excluído. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_DRIVEADD (0x00000100L)
Uma unidade foi adicionada. O parâmetro pidl1 contém a raiz da unidade que foi adicionada. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_DRIVEADDGUI (0x00010000L)
Windows XP e posterior: não usado.
SHCNE_DRIVEREMOVED (0x00000080L)
Uma unidade foi removida. O parâmetro pidl1 contém a raiz da unidade que foi removida. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_FREESPACE (0x00040000L)
A quantidade de espaço livre em uma unidade foi alterada. O parâmetro pidl1 contém a raiz da unidade na qual o espaço livre foi alterado. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_MEDIAINSERTED (0x00000020L)
A mídia de armazenamento foi inserida em uma unidade. O parâmetro pidl1 contém a raiz da unidade que contém a nova mídia. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_MEDIAREMOVED (0x00000040L)
A mídia de armazenamento foi removida de uma unidade. O parâmetro pidl1 contém a raiz da unidade da qual a mídia foi removida. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_MKDIR (0x00000008L)
Uma pasta foi criada. O parâmetro pidl1 contém a pasta que foi criada. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_NETSHARE (0x00000200L)
Uma pasta no computador local está sendo compartilhada pela rede. O parâmetro pidl1 contém a pasta que está sendo compartilhada. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_NETUNSHARE (0x00000400L)
Uma pasta no computador local não está mais sendo compartilhada pela rede. O parâmetro pidl1 contém a pasta que não está mais sendo compartilhada. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_RENAMEFOLDER (0x00020000L)
O nome de uma pasta foi alterado. O parâmetro pidl1 contém o PIDL ou o nome anterior da pasta. O parâmetro pidl2 contém o novo PIDL ou o nome da pasta.
SHCNE_RENAMEITEM (0x00000001L)
O nome de um item não de pasta foi alterado. O parâmetro pidl1 contém o PIDL ou o nome anterior do item. O parâmetro pidl2 contém o novo PIDL ou o nome do item.
SHCNE_RMDIR (0x00000010L)
Uma pasta foi removida. O parâmetro pidl1 contém a pasta que foi removida. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_SERVERDISCONNECT (0x00004000L)
O computador se desconectou de um servidor. O parâmetro pidl1 contém o servidor do qual o computador foi desconectado. O parâmetro pidl2 não é usado e deve ser NULL.
SHCNE_UPDATEDIR (0x00001000L)
O conteúdo de uma pasta existente foi alterado, mas a pasta ainda existe e não foi renomeada. O parâmetro pidl1 contém a pasta que foi alterada. O parâmetro pidl2 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 (0x00008000L)
Uma imagem na lista de imagens do sistema foi alterada. O parâmetro pidl2 contém o índice na lista de imagens do sistema que foi alterada.
SHCNE_UPDATEITEM (0x00002000L)
Um item existente (uma pasta ou uma não pasta) foi alterado, mas o item ainda existe e não foi renomeado. O parâmetro pidl1 contém o item que foi alterado. O parâmetro pidl2 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.
Os valores a seguir especificam combinações de outros eventos.
SHCNE_DISKEVENTS (0x0002381FL)
Especifica uma combinação de todos os identificadores de evento de disco.
SHCNE_GLOBALEVENTS (0x0C0581E0L)
Especifica uma combinação de todos os identificadores de eventos globais.
O valor a seguir modifica outros valores de evento e não pode ser usado sozinho.
SHCNE_INTERRUPT (0x80000000L)
O evento especificado ocorreu como resultado de uma interrupção do sistema.
[in, optional] pidl1
Tipo: PCIDLIST_ABSOLUTE
O primeiro identificador de item dependente de evento.
[in, optional] pidl2
Tipo: PCIDLIST_ABSOLUTE
O segundo identificador de item dependente de evento.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Esse método é semelhante na função e no uso de SHChangeNotify.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional, 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 |
DLL | Shell32.dll (versão 4.71 ou posterior) |