|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 13, 2004 03:34:26 Так а зачем атрибуты то менять? Тебе же картинки читать надо будет. Так и отображай себе спокойно. try {
pMdl = IoAllocateMdl( Address, cb, FALSE, FALSE, NULL );
if ( pMdl != NULL ) {
MmProbeAndLockPages( pMdl, KernelMode, IoReadAccess );
pBuffer = MmGetSystemAddressForMdlSafe( pMdl, NormalPagePriority );
if ( pBuffer != NULL ) {
Value = * (ULONG*) pBuffer;
MmUnlockPages( pMdl );
Status = STATUS_SUCCESS;
}
IoFreeMdl( pMdl );
}
} except(EXCEPTION_EXECUTE_HANDLER) {
if ( pMdl != NULL ) {
IoFreeMdl( pMdl );
}
Status = GetExceptionCode();
}
Странно, что MmProbeAndLockPages у тя бсодит. Точно я не уверен, но вроде при любом из флагов IoWriteAccess или IoModifyAccess она тоже самое делает. А именно ProbeForWrite. А это должно обрабатываться SEH, иначе можно было бы любому драйверу послать контрол с METHOD_OUT_DIRECT и указателем на read-only буфер... и кирдык, даже не доходя до драйвера. |
|
|
Дата: Авг 13, 2004 12:29:11 · Поправил: rsrc Four-F CПАСИБО! CПАСИБО! CПАСИБО! MmProbeAndLockPages(,,IoReadAccess) уже c этим флагом не бсодит и что самое интересное так это то, что можно даже и писАть в read-only user-mode страницы закрепленные с таким IoReadAccess флагом! |
|
|
Дата: Авг 13, 2004 16:26:02 Ну да. Та же получаешь свою собственную проекцию в ядре. А они по умолчанию всегда RW, вроде. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037 |