Этот фрагмент кода: invoke DeviceIoControl,hDevicePhysI,IOCTL_SCSI_PASS_THROUGH,Offset sptwb, 2Ch,Offset sptwb, 250h,cbBytesReturned, NULL 00401627 push 0 00401629 push dword ptr [cbBytesReturned (43CA46h)] 0040162F push 250h 00401634 push offset sptwb (43B000h) 00401639 push 2Ch 0040163B push offset sptwb (43B000h) 00401640 push 4D004h 00401645 push dword ptr [hDevicePhysI (43C9CDh)] 0040164B call _DeviceIoControl@32 (424ED4h) Вызвает Необработанное исключение в "0x7c80168e" в "DiskInspector.exe": 0xC0000005: Нарушение прав доступа при записи "0x00000018". Аналогичный код на VS: bRet = DeviceIoControl(hIoCtrl, IOCTL_SCSI_PASS_THROUGH, &sptwb, sizeof(SCSI_PASS_THROUGH), &sptwb, length, &dwReturned, NULL); 0041A911 mov esi,esp 0041A913 push 0 0041A915 lea eax,[ebp-30h] 0041A918 push eax 0041A919 mov ecx,dword ptr [ebp-3Ch] 0041A91C push ecx 0041A91D lea edx,[ebp-4A8h] 0041A923 push edx 0041A924 push 2Ch 0041A926 lea eax,[ebp-4A8h] 0041A92C push eax 0041A92D push 4D004h 0041A932 mov ecx,dword ptr [ebp-24h] 0041A935 push ecx 0041A936 call dword ptr [KERNEL32_NULL_THUNK_DATA (4243B0h)] 0041A93C cmp esi,esp 0041A93E call @ILT+1110(__RTC_CheckEsp) (41145Bh) 0041A943 mov dword ptr [ebp-18h],eax Работает без проблем. Может всезнающий All подскажит в чем проблема?
Код (Text): 00401629 push dword ptr [cbBytesReturned (43CA46h)] судя по всему должно быть: Код (Text): push offset cbBytesReturned