Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Hay varios problemas comunes que podrían impedir que un controlador WIA existente (que se ejecutó correctamente en LocalSystem) se ejecute correctamente en la cuenta localService .
Los problemas más comunes se producen con:
Acceso al sistema de archivos
La cuenta de LocalService tiene acceso a archivos gravemente restringido. Por ejemplo, los controladores ya no pueden escribir en el directorio% %windir .
Acceso al registro
Muchas claves del Registro que estaban abiertas a las cuentas de LocalSystem son de solo lectura en LocalService. Por ejemplo, los controladores ya no pueden escribir en las claves del Registro en el subárbol HKLM.
Objetos de kernel con nombre
Asegúrese de que los objetos con nombre (por ejemplo, eventos y mutexes) a los que acceden tanto el controlador WIA como los componentes externos, como las aplicaciones agrupadas, tengan las ACL adecuadas. Si una aplicación crea un objeto de evento con nombre, pero no concede específicamente acceso a una cuenta de LocalService , el controlador no podrá usarlo. Del mismo modo, si un minidriver crea un objeto de evento con nombre, debe conceder el mismo acceso o la aplicación no podrá usar el objeto de evento.
Objetos COM fuera de proceso
Cualquier intento de crear o usar una interfaz COM fuera de proceso producirá un error a menos que ese componente conceda explícitamente los permisos adecuados a una cuenta de LocalService . Por ejemplo, las llamadas a CoCreateInstance o CoCreateInstanceEx (ambas se describen en la documentación del SDK de Microsoft Windows) con el conjunto de marcas de CLSCTX_LOCAL_SERVER pueden producir un error si el componente no concede permiso a una cuenta de LocalService . Del mismo modo, el intento del controlador de usar un puntero a una interfaz COM que no está en proceso para el controlador puede fallar. Esto puede ocurrir si un componente llama al controlador y le entrega un puntero a una interfaz por la que el controlador puede volver a llamar a la interfaz.
Creación y apertura de procesos
Los controladores WIA no deben iniciar manualmente otros procesos (por ejemplo, llamando a CreateProcess o CreateProcessAsUser). Aunque este comportamiento habría tenido éxito para los controladores en cuentas LocalSystem, ya no es posible para los controladores hacerlo bajo la nueva cuenta LocalService. Para obtener más información sobre CreateProcess y CreateProcessAsUser, consulte la documentación de Windows SDK.