# UpdateFileStates
**EventNames:**
- UpdateFileStates_Restrictions
- UpdateFileStates_Pre
- UpdateFileStates_Post
**Parameters**
| Type | Name | Description |
| ------------------------------------------------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [File[]](powervault:code_reference/objects/file) | files | The updated / updating files for a LifeCycle.
**Restrictions and Pre:**
In *Restrictions* and *Pre* you have the future data set on this object like `_NewComment`, `_NewLifeCycleDefinition` and `_NewState`.
**Post:**
In *POST* you can retrieve the information from previous events by using the properties `_OldComment`, `_OldState` and `_OldLifeCycleDefinition`. |
| bool | successful | **Post**:
The information whether the Web Service call was successful or not is only available in *Post* events. |
**Examples:**\
UpdateFileStates_Restrictions:
```PowerShell
Register-VaultEvent -EventName UpdateFileStates_Restrictions -Action 'RestrictUpdateFileStates'
function RestrictUpdateFileStates($files) {
#Write event code here
}
```
UpdateFileStates_Pre:
```PowerShell
Register-VaultEvent -EventName UpdateFileStates_Pre -Action 'PreUpdateFileStates'
function PreUpdateFileStates($files) {
#Write event code here
}
```
UpdateFileStates_Post:
```PowerShell
Register-VaultEvent -EventName UpdateFileStates_Post -Action 'PostUpdateFileStates'
function PostUpdateFileStates($files, $successful) {
#Write event code here
}
```