Funzione FindFirstChangeNotificationW (fileapi.h)
Crea un handle di notifica delle modifiche e configura le condizioni di filtro delle notifiche delle modifiche iniziali. Un'attesa su un handle di notifica ha esito positivo quando si verifica una modifica corrispondente alle condizioni di filtro nella directory o nel sottoalbero specificato. La funzione non segnala le modifiche apportate alla directory specificata.
Questa funzione non indica la modifica che ha soddisfatto la condizione di attesa. Per recuperare informazioni sulla modifica specifica come parte della notifica, usare
Funzione ReadDirectoryChangesW .
Sintassi
HANDLE FindFirstChangeNotificationW(
[in] LPCWSTR lpPathName,
[in] BOOL bWatchSubtree,
[in] DWORD dwNotifyFilter
);
Parametri
[in] lpPathName
Percorso completo della directory da controllare.
Non può trattarsi di un percorso relativo o di una stringa vuota.
Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, anteporre "\\?\" al percorso. Per altre informazioni, vedere Denominazione di file, percorsi e spazi dei nomi.
Suggerimento
A partire da Windows 10, versione 1607, è possibile acconsentire esplicitamente a rimuovere la limitazione MAX_PATH senza anteporre "\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima della lunghezza del percorso" di Denominazione di file, percorsi e spazi dei nomi .
[in] bWatchSubtree
Se questo parametro è TRUE, la funzione monitora l'albero della directory rooted nella directory specificata; se è FALSE, monitora solo la directory specificata.
[in] dwNotifyFilter
Condizioni di filtro che soddisfano un'attesa di notifica di modifica. Questo parametro può essere uno o più dei valori seguenti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle per un oggetto di notifica di modifica della ricerca.
Se la funzione ha esito negativo, il valore restituito viene INVALID_HANDLE_VALUE. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Le funzioni di attesa possono monitorare la directory o il sottoalbero specificato usando l'handle restituito dalla funzione FindFirstChangeNotification . Un'attesa viene soddisfatta quando si verifica una delle condizioni di filtro nella directory monitorata o nel sottoalbero.
Dopo aver soddisfatto l'attesa, l'applicazione può rispondere a questa condizione e continuare a monitorare la directory chiamando la funzione FindNextChangeNotification e la funzione di attesa appropriata. Quando l'handle non è più necessario, può essere chiuso usando la funzione FindCloseChangeNotification .
Le notifiche potrebbero non essere restituite quando si chiama FindFirstChangeNotification per un file system remoto.
Comportamento del collegamento simbolico: se il percorso punta a un collegamento simbolico, l'handle di notifica viene creato per la destinazione.
Se un'applicazione è stata registrata per ricevere notifiche di modifica per una directory che contiene collegamenti simbolici, l'applicazione riceve una notifica solo quando i collegamenti simbolici sono stati modificati, non i file di destinazione.
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Vedere la nota |
Resilient File System (ReFS) | Sì |
L'applicazione potrebbe riscontrare falsi positivi in csvFs in pausa/ripresa.
Esempi
Per un esempio, vedere Ottenere Change_Notifications directory.
Nota
L'intestazione fileapi.h definisce FindFirstChangeNotification come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | fileapi.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |