Función FindFirstChangeNotificationA (fileapi.h)
Crea un identificador de notificación de cambio y configura las condiciones iniciales del filtro de notificación de cambio. Una espera en un identificador de notificación se realiza correctamente cuando se produce un cambio que coincida con las condiciones de filtro en el directorio o subárbol especificados. La función no notifica cambios en el propio directorio especificado.
Esta función no indica el cambio que cumplió la condición de espera. Para recuperar información sobre el cambio específico como parte de la notificación, use
Función ReadDirectoryChangesW .
Sintaxis
HANDLE FindFirstChangeNotificationA(
[in] LPCSTR lpPathName,
[in] BOOL bWatchSubtree,
[in] DWORD dwNotifyFilter
);
Parámetros
[in] lpPathName
Ruta de acceso completa del directorio que se va a inspeccionar.
No puede ser una ruta de acceso relativa ni una cadena vacía.
De forma predeterminada, el nombre está limitado a MAX_PATH caracteres. Para ampliar este límite a 32 767 caracteres anchos, anteponga "\\?\\ " a la ruta de acceso. Para obtener más información, vea Nomenclatura de archivos, rutas de acceso y espacios de nombres.
Sugerencia
A partir de Windows 10, versión 1607, puede optar por quitar la limitación de MAX_PATH sin prepending "\\?\". Consulte la sección "Limitación máxima de longitud de ruta de acceso" de Nombres de archivos, rutas de acceso y espacios de nombres para obtener más información.
[in] bWatchSubtree
Si este parámetro es TRUE, la función supervisa el árbol de directorios raíz en el directorio especificado; si es FALSE, solo supervisa el directorio especificado.
[in] dwNotifyFilter
Condiciones de filtro que satisfacen una espera de notificación de cambio. Este parámetro puede ser uno o más de los siguientes valores.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un identificador de un objeto de notificación de cambio de búsqueda.
Si se produce un error en la función, el valor devuelto es INVALID_HANDLE_VALUE. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Las funciones de espera pueden supervisar el directorio o subárbol especificado mediante el identificador devuelto por la función FindFirstChangeNotification . Se cumple una espera cuando se produce una de las condiciones de filtro en el directorio o subárbol supervisado.
Una vez satisfecho la espera, la aplicación puede responder a esta condición y continuar supervisando el directorio llamando a la función FindNextChangeNotification y a la función de espera adecuada. Cuando el identificador ya no es necesario, se puede cerrar mediante la función FindCloseChangeNotification .
Es posible que no se devuelvan notificaciones al llamar a FindFirstChangeNotification para un sistema de archivos remoto.
Comportamiento de vínculo simbólico: si la ruta de acceso apunta a un vínculo simbólico, se crea el identificador de notificación para el destino.
Si una aplicación se ha registrado para recibir notificaciones de cambio para un directorio que contiene vínculos simbólicos, la aplicación solo se notifica cuando se han cambiado los vínculos simbólicos, no los archivos de destino.
En Windows 8 y Windows Server 2012, esta función es compatible con las siguientes tecnologías.
Tecnología | Compatible |
---|---|
Protocolo bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de volumen compartido de clúster (CsvFS) | Ver comentarios |
Sistema de archivos resistente a errores (ReFS) | Sí |
Es posible que la aplicación experimente falsos positivos en csvFs pause/resume.
Ejemplos
Para obtener un ejemplo, vea Obtener Change_Notifications de directorio.
Nota:
El encabezado fileapi.h define FindFirstChangeNotification como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | fileapi.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |