2011-07-30 17 views
5

Estoy modificando la tabla de particiones de un dispositivo USB con fines de cifrado.Cómo conectar y reconectar mediante programación el dispositivo usb

El código funciona bien pero necesito desenchufar y enchufar el dispositivo usb para ver los cambios ¿cómo puedo hacer esto programáticamente?

Sé que es posible porque algunas otras aplicaciones lo hacen. Actualmente utilizo DeviceIoCtrl para eliminar el dispositivo usb y decirle al usuario que haga la operación manualmente pero no es profesional.

He intentado usar IOCTL_INTERNAL_USB_CYCLE_PORT pero eso no es compatible, supongo que solo se puede invocar desde el modo kernel.

+2

En Linux hay una ioctl para volver a cargar la tabla de particiones después de los cambios. ¿Tiene algo similar Windows o debe simular una reconexión de dispositivo? –

+0

En ventanas que serían IOCTL_DISK_UPDATE_PROPERTIES. – Brian

Respuesta

2

Los Observaciones para IOCTL_DISK_UPDATE_PROPERTIES sugieren que es el IOCTL correcta de utilizar cuando se ha modificado directamente la tabla de particiones y el deseo de volver a cargarlo.

Esta operación se utiliza para sincronizar la vista del sistema del dispositivo de disco especificado cuando la tabla de particiones del disco se modifica directamente. Asegúrese de realizar esta operación cuando actualice el espacio útil de un disco para que el sistema actualice su tabla de partición.

+0

¡Muchas gracias, funciona! – opc0de

Cuestiones relacionadas