roStorageHotplug
10 min
este objeto proporciona mensajes rostorageattached cuando aparecen dispositivos de almacenamiento y mensajes rostoragedetached cuando desaparecen dispositivos de almacenamiento un evento de rostorageattached no se entrega hasta que el sistema de archivos está montado el equivalente en javascript es node js fs watch() actualmente no hay forma de realizar polling para medios consulte esta página docid\ pduz9paqtnjrkfbukhupc para obtener más información sobre las rutas de almacenamiento de dispositivos creación de objetos el objeto rostoragehotplug se crea sin parámetros createobject("rostoragehotplug") ifstoragehotplug getstorages() as object devuelve un arreglo ordenado de cadenas donde cada cadena es un especificador de unidad en el que el so buscará un script de ejecución automática por ejemplo \[ "usb1 /", "sd /", "sd2 /", "ssd /", "flash /" ] tenga en cuenta que no todos los especificadores de unidad pueden estar presentes o incluso ser posiblemente compatibles en el reproductor en particular getstoragestatus(drive as string) as roassociativearray devuelve el estado actual de un dispositivo de almacenamiento ("usb ", "sd ", "ssd ", "sd2 /", "flash "), incluso si no está montado este método devuelve un arreglo asociativo que contiene lo siguiente clave tipo de valor descripción presente boolean indica si el dispositivo especificado está presente montado boolean indica si el dispositivo especificado está montado corrupto boolean indica si se considera que el dispositivo especificado está dañado comprobando boolean indica si el dispositivo especificado se está comprobando actualmente los resultados del método getstoragestatus() no son confiables cuando se llama con un parámetro "usbn ", donde "n" es un entero positivo que indica un dispositivo de almacenamiento usb cuando varios dispositivos usb están conectados al reproductor ejemplo status = createobject("rostoragehotplug") getstoragestatus("ssd ") if not status mounted and not status checking and status present then ' should ask for confirmation here formatdrive("ssd ") end if iffailurereason getfailurereason() as string devuelve información de diagnóstico adicional si un método devuelve falso ifuserdata setuserdata(user data as object) establece los datos de usuario que se devolverán cuando se generen eventos getuserdata() as object devuelve los datos de usuario que se establecieron previamente mediante setuserdata() devolverá invalid si no se ha establecido ningún dato ifmessageport setport(port as romessageport) publica mensajes de tipo rostorageattached y rostoragedetached en el puerto de mensajes adjunto para evitar condiciones de carrera durante el inicio, debe comprobar si existe algún dispositivo de almacenamiento que pudiera haber existido antes de que se estableciera el puerto de mensajes recomendamos hacer esto después de que se cree el objeto y se establezca el puerto de mensajes, pero antes de indicar al script que espere cualquier evento ejemplo sub main() mp = createobject("romessageport") sh = createobject("rostoragehotplug") gpio = createobject("rocontrolport", "brightsign") sh setport(mp) gpio setport(mp) finished = false while not finished ev = mp waitmessage(0) if type(ev) = "rocontroldown" finished = true else if type(ev) = "rostorageattached" print "attached "; ev getstring() else if type(ev) = "rostoragedetached" print "detached "; ev getstring() else print type(ev) stop end if end while end sub