Compartir a través de


Acceso a la memoria del espacio de usuario

Un controlador no puede acceder directamente a la memoria a través de direcciones virtuales en modo de usuario a menos que sea:

  • Se ejecuta en el contexto del subproceso en modo de usuario que provocó la operación de E/S actual del controlador.
  • Uso de las direcciones virtuales de ese subproceso.

Los controladores deben usar la interfaz Accesores en modo de usuario (UMA) para acceder a la memoria en modo de usuario de forma segura.

Solo los controladores de nivel más alto, como los FSDs, pueden estar seguros de que sus rutinas de despacho serán invocadas en el contexto de tal hilo en modo de usuario. Un controlador de nivel superior puede llamar a MmProbeAndLockPages para bloquear un búfer de usuario antes de configurar un IRP para controladores inferiores.

Los controladores de nivel más bajo e intermedios que configuran sus objetos de dispositivo para E/S con búfer o E/S directa pueden confiar en el administrador de E/S o en un controlador de nivel superior para pasar acceso válido a los búferes de usuario bloqueados o a los búferes de espacio del sistema en los IRP.