Googled mucho y no pude encontrar ninguna respuesta a este problema ...escritura de archivo de error # 5 "negado el acceso" en Win Vista/siete
Tengo una aplicación de consola de C++ que lee una tarjeta SD de 1 GB que corrige los archivos incorrectamente cerrados y escribe la tabla FAT en consecuencia. La tarjeta SD está escrita al principio por un firmware en un dispositivo hecho a medida. Funcionó bien hasta Xp y dejó de funcionar en Win Vista/seven. Intenté elevar privilegios: dentro de un tipo de cuenta de administrador, abrí una ventana de cmd usando el método "ejecutar como administrador" pero no tuve suerte. También probé con un manifiesto solicitando los privilegios más altos disponibles pero sin suerte.
Leí en una publicación que "Windows Vista no le permite acceder a los discos de los procesos en modo de usuario. ¿Alguien sabe sobre alguna forma de eludir este comportamiento?
estoy trabajando en una solución sin embargo me gustaría saber si esto es imposible o no
Editar:
Este es mi primer post aquí, así que no entiendo muy bien acerca de la la vinculación de tema ... Pero no estoy reated a ningún tipo de spam en absoluto ... sólo pedir en un sitio de comunidad impulsada :)
El código es el siguiente
hDevice = CreateFile(buffer,GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING,0,NULL);
Luego leo la información de BTB de la tarjeta SD y busco y archivo incorrectamente cerrado.
Finalmente cuando se trata de escribir en el SD
WriteFile(hDevice,buffer,SD_SECTOR_SIZE, &temp, 0)
consigo un acceso denegado (error # 5)
La cadena de CreateFile() es \ \ g:. Como la letra g corresponde a la tarjeta SD en mi máquina. Todo lo que funciona bien y como dije antes funciona en XP. También intenté usar: DeviceIoControl con FSCTL_LOCK_VOLUME, pero eso da un error de falla de mem.
Espero que esto ayude a entender y gracias por cualquier ayuda
+1 para: "trabajar en una solución" ... – Chubsdad
Tiene que haber una manera de acceder a los archivos de dispositivos en bruto de Vista/Seven - ¿Cómo podría utilidades para preparar las memorias USB de arranque linux instale su gestor de arranque? – bdonlan
@andy, ¿podría publicar un código de ejemplo que muestre lo que está haciendo para que podamos ver qué podría estar mal? – bdonlan