Re[2]: Сравнение FILE_OBJECT
От: ononim  
Дата: 04.03.12 23:41
Оценка:
O>А разве бывают копии FILE_OBJECT ?
O>По-моему, если у нас есть два различающихся по значению указателя на FILE_OBJECT,
O>то мы имеем два разных объекта.
    HANDLE f1 = ::CreateFile("foo", GENERIC_ALL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, 
        OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE, 0);
    HANDLE f2 = ::CreateFile("foo", GENERIC_ALL, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, 0, 
        OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_DELETE_ON_CLOSE, 0);
    printf("f1=0x%x f2=0x%x\n",f1, f2);
    getch();

lkd> !handle 0x79c f
processor number 0, process 8b515230
PROCESS 8b515230 SessionId: 0 Cid: 0704 Peb: 7ffdd000 ParentCid: 0f24
DirBase: dfebb700 ObjectTable: e2b68678 HandleCount: 27.
Image: contest.exe

Handle table at e51a1000 with 27 Entries in use
079c: Object: 8b523840 GrantedAccess: 001f01ff Entry: e51a1f38
Object: 8b523840 Type: (8d343730) File
ObjectHeader: 8b523828 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \Projects\contest\Release\foo {HarddiskVolume4}

lkd> !handle 0x798 f
processor number 0, process 8b515230
PROCESS 8b515230 SessionId: 0 Cid: 0704 Peb: 7ffdd000 ParentCid: 0f24
DirBase: dfebb700 ObjectTable: e2b68678 HandleCount: 27.
Image: contest.exe

Handle table at e51a1000 with 27 Entries in use
0798: Object: 8b4ebe58 GrantedAccess: 001f01ff Entry: e51a1f30
Object: 8b4ebe58 Type: (8d343730) File
ObjectHeader: 8b4ebe40 (old version)
HandleCount: 1 PointerCount: 1
Directory Object: 00000000 Name: \Projects\contest\Release\foo {HarddiskVolume4}


разные эти объекты или нет? ТС не конкретизировал что значит разные
Как много веселых ребят, и все делают велосипед...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.