1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| HANDLE fk = INVALID_HANDLE_VALUE;
HANDLE f1 = CreateFileA("c:\\Storage-Test\\acl\\f1.bin", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
err = GetLastError();
if (f1 != INVALID_HANDLE_VALUE)
{
PSECURITY_DESCRIPTOR ds1 = (PSECURITY_DESCRIPTOR)malloc(4096);
BOOL bb = FALSE;
DWORD cc = 0;
bb = GetUserObjectSecurity(f1, &info, ds1, 4096, &cc);
CloseHandle(f1);
dump("c:\\tmp\\ACLDATA.BIN", (BYTE*)ds1, cc);
{
HANDLE f2 = CreateFileA("c:\\Storage-Test\\acl\\fdf2.bin", GENERIC_ALL, 0, NULL, OPEN_EXISTING, 0, NULL);
if (f2 != INVALID_HANDLE_VALUE)
{
BOOL bb = SetUserObjectSecurity(f2, &info, ds1);
if (bb == FALSE)
{
err = GetLastError(); /////ERR=1307
printf("SetUserObjectSecurity echec avec code erreur:%d\n", err);
}
CloseHandle(f2);
}
}
free(ds1); |
Partager