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 satisface la condición de espera. Para recuperar información sobre el cambio específico como parte de la notificación, use el
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 o una cadena vacía.
De forma predeterminada, el nombre se limita 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 Archivos de nomenclatura, rutas de acceso y espacios de nombres.
Propina
A partir de Windows 10, versión 1607, puedes optar por quitar la limitación del MAX_PATH sin tener que prepending "\\?\". Consulte la sección "Limitación máxima de longitud de ruta de acceso" de Archivos de nomenclatura, 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, supervisa solo el directorio especificado.
[in] dwNotifyFilter
Condiciones de filtro que cumplen una espera de notificación de cambio. Este parámetro puede ser uno o varios 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 búsqueda de cambios.
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.
Observaciones
Las funciones de espera
Una vez que se haya 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 simbólico del vínculo: 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 | Soportado |
---|---|
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 comentario |
Sistema de archivos resistente (ReFS) | Sí |
Es posible que la aplicación experimente falsos positivos en csvFs pause/resume.
Ejemplos
Para obtener un ejemplo, vea obtener Change_Notificationsde 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
fileapi.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |
Consulte también
funciones de administración de directorios de