Compartir a través de


Método IShellChangeNotify::OnChange (shlobj_core.h)

Informa a una extensión de espacio de nombres de que se ha producido un evento que afecta a sus elementos.

Sintaxis

HRESULT OnChange(
                 LONG              lEvent,
  [in, optional] PCIDLIST_ABSOLUTE pidl1,
  [in, optional] PCIDLIST_ABSOLUTE pidl2
);

Parámetros

lEvent

Tipo: LONG

Valor que describe el evento que se ha producido. Normalmente, solo se especifica un evento a la vez. Si se especifica más de un evento, los valores contenidos en los parámetros pidl1 y pidl2 deben ser los mismos, respectivamente, para todos los eventos especificados. El parámetro lEvent puede contener una o varias de las marcas siguientes.

SHCNE_ALLEVENTS (0x7FFFFFFFL)

Se han producido todos los eventos.

SHCNE_ASSOCCHANGED (0x08000000L)

Ha cambiado una asociación de tipo de archivo. Los parámetros pidl1 y pidl2 no se usan y deben ser NULL.

SHCNE_ATTRIBUTES (0x00000800L)

Los atributos de un elemento o carpeta han cambiado. El parámetro pidl1 contiene el elemento o carpeta que ha cambiado. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_CREATE (0x00000002L)

Se ha creado un elemento nofolder. El parámetro pidl1 contiene el elemento que se creó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_DELETE (0x00000004L)

Se ha eliminado un elemento que no es de la carpeta. El parámetro pidl1 contiene el elemento que se eliminó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_DRIVEADD (0x00000100L)

Se ha agregado una unidad. El parámetro pidl1 contiene la raíz de la unidad que se agregó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_DRIVEADDGUI (0x00010000L)

Windows XP y versiones posteriores: no se usa.

SHCNE_DRIVEREMOVED (0x00000080L)

Se ha quitado una unidad. El parámetro pidl1 contiene la raíz de la unidad que se quitó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_FREESPACE (0x00040000L)

La cantidad de espacio libre en una unidad ha cambiado. El parámetro pidl1 contiene la raíz de la unidad en la que cambió el espacio libre. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_MEDIAINSERTED (0x00000020L)

Los medios de almacenamiento se han insertado en una unidad. El parámetro pidl1 contiene la raíz de la unidad que contiene el nuevo medio. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_MEDIAREMOVED (0x00000040L)

Los medios de almacenamiento se han quitado de una unidad. El parámetro pidl1 contiene la raíz de la unidad de la que se quitó el medio. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_MKDIR (0x00000008L)

Se ha creado una carpeta. El parámetro pidl1 contiene la carpeta que se creó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_NETSHARE (0x00000200L)

Una carpeta del equipo local se comparte a través de la red. El parámetro pidl1 contiene la carpeta que se comparte. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_NETUNSHARE (0x00000400L)

Ya no se comparte una carpeta en el equipo local a través de la red. El parámetro pidl1 contiene la carpeta que ya no se comparte. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_RENAMEFOLDER (0x00020000L)

El nombre de una carpeta ha cambiado. El parámetro pidl1 contiene el PIDL anterior o el nombre de la carpeta. El parámetro pidl2 contiene el nuevo PIDL o el nombre de la carpeta.

SHCNE_RENAMEITEM (0x00000001L)

El nombre de un elemento que no es de la carpeta ha cambiado. El parámetro pidl1 contiene el PIDL anterior o el nombre del elemento. El parámetro pidl2 contiene el nuevo PIDL o el nombre del elemento.

SHCNE_RMDIR (0x00000010L)

Se ha quitado una carpeta. El parámetro pidl1 contiene la carpeta que se quitó. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_SERVERDISCONNECT (0x00004000L)

El equipo se ha desconectado de un servidor. El parámetro pidl1 contiene el servidor desde el que se desconectó el equipo. El parámetro pidl2 no se usa y debe ser NULL.

SHCNE_UPDATEDIR (0x00001000L)

El contenido de una carpeta existente ha cambiado, pero la carpeta sigue existiendo y no se ha cambiado de nombre. El parámetro pidl1 contiene la carpeta que ha cambiado. El parámetro pidl2 no se usa y debe ser NULL. Si se ha creado, eliminado o cambiado el nombre de una carpeta, use SHCNE_MKDIR, SHCNE_RMDIR o SHCNE_RENAMEFOLDER, respectivamente.

SHCNE_UPDATEIMAGE (0x00008000L)

Ha cambiado una imagen de la lista de imágenes del sistema. El parámetro pidl2 contiene el índice de la lista de imágenes del sistema que ha cambiado.

SHCNE_UPDATEITEM (0x00002000L)

Un elemento existente (una carpeta o una nofolder) ha cambiado, pero el elemento sigue existiendo y no se ha cambiado el nombre. El parámetro pidl1 contiene el elemento que ha cambiado. El parámetro pidl2 no se usa y debe ser NULL. Si se ha creado, eliminado o cambiado el nombre de un elemento que no es de una carpeta, use SHCNE_CREATE, SHCNE_DELETE o SHCNE_RENAMEITEM, respectivamente.

Los valores siguientes especifican combinaciones de otros eventos.

SHCNE_DISKEVENTS (0x0002381FL)

Especifica una combinación de todos los identificadores de eventos de disco.

SHCNE_GLOBALEVENTS (0x0C0581E0L)

Especifica una combinación de todos los identificadores de eventos globales.

El valor siguiente modifica otros valores de evento y no se puede usar solo.

SHCNE_INTERRUPT (0x800000000L)

El evento especificado se produjo como resultado de una interrupción del sistema.

[in, optional] pidl1

Tipo: PCIDLIST_ABSOLUTE

El primer identificador de elemento dependiente del evento.

[in, optional] pidl2

Tipo: PCIDLIST_ABSOLUTE

Segundo identificador de elemento dependiente del evento.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Este método es similar en función y uso a SHChangeNotify.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlobj_core.h
Archivo DLL Shell32.dll (versión 4.71 o posterior)