また、使用後にディレクトリのタイムスタンプを変更しようとしていFILE_FLAG_BACKUP_SEMANTICS
ます。私のコードスニペットは以下の通りです
int SetDirectoryTime(char *Path)
{
FILETIME ftCreate, ftAccess, ftWrite;
Handle = CreateFile(Path, GENERIC_WRITE, FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (Handle == INVALID_HANDLE_VALUE)
{
//Unable to open directory
return FALSE;
}
if (SetFileTime(Handle, &ftCreate, &ftAccess, &ftWrite) == 0)
{
//Unable to set directory time
CloseHandle(Handle);
return FALSE;
}
}
有効なハンドルを取得できましたが、SetFileTime がアクセス拒否を返していました。EnablePrivilege を試しましたがSE_BACKUP_NAME
、SE_RESTORE_NAME
アクセスが拒否されました。