Pregunta

Siempre configure mi imagen de controladores directamente. (C: Windows System32 Drivers ABC.Sys)

Pero solo sabía que muchos controladores de dispositivos establecieron su ImagePath en %Systemroot% System32 svchost.exe -k netsvcs
enter image description here
Este es LanmanworkStation Driver Registry Hive.
Supongo que el archivo de imagen del conductor de LanmanworkStation es mrxsmb.sys
Pero no pusieron 'System32 Drivers Mrxsmb.sys'. Por qué.

Que hace svchost.exe -k netsvcs ¿significar?
A pesar de que no hay una ruta segura, la función de servicio de inicio funciona bien.
¿Cómo se encuentra el administrador de servicio (? No estoy seguro) encuentra la ruta de imagen del conductor?

¿Hay alguna ventaja usando esto?
¿Qué pasa si decido usar de esta manera? ¿Hay mis códigos de controlador que deberían modificarse?

¿Fue útil?

Solución

Usted está confundiendo entre controladores y servicios de dispositivos.
svchost.exe se utiliza para compartir el mismo proceso entre múltiples servicios. La implementación es interna a Windows, por lo que el uso fuera de Windows no es compatible.

Si escribe un controlador de dispositivo (para hardware o un controlador de filtro) o no funciona para Microsoft, no puede usar SVCHOST.

La razón de la confusión es porque los controladores de estilo antiguo (NT4), que no son de plug and play se pueden comenzar a utilizar las API del administrador de control de servicio.

Otros consejos

SVCHOST es un proceso de host para otros servicios, contenido en DLLS. La parte después del "-K" indica el grupo de servicio. Puede encontrar la ruta DLL de servicio en HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters en el ServiceDll valor. Supongo que la razón por la que todavía comienza correctamente si elimina la ruta de la imagen es porque el tipo de servicio está configurado en SERVICE_WIN32_SHARE_PROCESS, y el SCM probablemente ignora la ruta de la imagen (no estoy seguro de esto).

svchost.exe es un servicio de "múltiples usos". Incorpora múltiples servicios en un solo archivo EXE, cada uno de los cuales puede controlarse separadamente utilizando la consola de administración de servicios de EG. Los parámetros a svchost.exe establecen el "subservicio" dentro del archivo exe.

Como StartService () no es un mensaje de control para el servicio en sí, sino solo la solicitud de iniciar un cierto ejecutable (que en sí mismo debe "saber" que es un servicio (y el servicio) y luego se registrará con el administrador de control de servicio), Windows simplemente ejecutará el binario que ImagePath puntos a.

En este caso (LanmanworkStation) este binario es svchost.exe, el parámetro dado es -k netsvc. Esto le permite a svchost.exe saber cuál de los muchos servicios que proporciona debe iniciarse.

Como de costumbre, el binario no necesita contener toda la función en sí misma, pero también puede cargar bibliotecas adicionales. mrxsmb.sys Bien puede ser una biblioteca así, aunque no estoy seguro de este punto.

Entonces, esta respuesta es más un "cómo funciona en general" que "sí, NETSVC y MRXSMB.Sys son LanmanworkStation".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top