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)