OpenVirtualDisk Функция возврата error_file_corrupt (1392) с ISO -файломC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 OpenVirtualDisk Функция возврата error_file_corrupt (1392) с ISO -файлом

Сообщение Anonymous »

Я запустил функцию OpenVirtualDisk в соответствии с прикрепленным кодом. Однако, он сбой с ошибкой 1392 (ERROR_FILE_CORRUPT).
Согласно MSDN, ошибка возвращается в следующих случаях. Error_file_corrupt (1392) Если открывается виртуальный диск ISO и размер файла не равен 2 кб (2048 байтов), не менее 34 KB (34 816 байтов), или дескриптор структуры объема не содержит известного идентификатора объема CDFS или UDFS. 1809.
Размер используемого в настоящее время файла ISO составляет 3,19 ГБ, а дескриптор структуры объема не является проблемой. < /p>

Что еще мне нужно проверить? Есть ли проблема с кодом? < /P>

OPEN_VIRTUAL_DISK_PARAMETERS openParameters;
openParameters.Version = OPEN_VIRTUAL_DISK_VERSION_1;
openParameters.Version1.RWDepth = OPEN_VIRTUAL_DISK_RW_DEPTH_DEFAULT;

VIRTUAL_STORAGE_TYPE storageType;
storageType.DeviceID = VIRTUAL_STORAGE_TYPE_DEVICE_VHD;
storageType.VendorId = VIRTUAL_STORAGE_TYPE_VENDOR_MICROSOFT;

ATTACH_VIRTUAL_DISK_PARAMETERS attachParameters;
attachParameters.Version = ATTACH_VIRTUAL_DISK_VERSION_1;

HANDLE vhdHandle;

if (OpenVirtualDisk(&openStorageType, "{VHD PATH GOES HERE}",
VIRTUAL_DISK_ACCESS_ALL, OPEN_VIRTUAL_DISK_FLAG_NONE,
&openParameters, &vhdHandle) != ERROR_SUCCESS) {
// If return value of OpenVirtualDisk isn't ERROR_SUCCESS, there was a problem opening the VHD
}

// Warning: AttachVirtualDisk requires elevation
if (AttachVirtualDisk(vhdHandle, 0, ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME,
0, &attachParameters, 0) != ERROR_SUCCESS) {
// If return value of AttachVirtualDisk isn't ERROR_SUCCESS, there was a problem attach the disk
}


Подробнее здесь: https://stackoverflow.com/questions/553 ... h-iso-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»