Estoy tratando de habilitar mediante programación el uso compartido del tipo público público en un dispositivo que coincida con un GUID conocido en una máquina con Windows 7.INetSharingConfiguration-> EnableSharing (ICSSHARINGTYPE_PUBLIC) devuelve 0x80040201
API en: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365944(v=vs.85).aspx
La lista de errores mostrar lo siguiente: E_ABORT, E_FAIL, E_INVALIDARG, E_NOINTERFACE, E_NOTIMPL, E_OUTOFMEMORY, E_POINTER y E_UNEXPECTED.
El código de error que obtengo es 0x80040201 y resuelve: "Un evento no pudo invocar a ninguno de los suscriptores". que no parece coincidir con ninguno de los códigos de error enumerados anteriormente.
Si voy manualmente a las propiedades de los adaptadores de red y voy a la pestaña de compartir y habilito el uso compartido y selecciono la red privada y hago clic en Aceptar, compartir se habilita correctamente.
Después de esto mi código anterior se ejecuta sin problema.
Incluso puedo configurar de forma manual el uso compartido en otro adaptador (público) y una red privada diferente y luego ejecutar mi código y ver que mi código actualice las redes públicas y privadas a lo que deseo. Esto parece funcionar después de la primera habilitación manual de compartir a través del panel de propiedades de la red.
El problema se ha duplicado en dos computadoras diferentes con Windows 7 de 64 bits. Parece suceder después de desinstalar el controlador del adaptador de red del sistema cuando se habilita el uso compartido y luego reinstalar el controlador del adaptador de red.
He intentado hacer que el desinstalador deshabilite el uso compartido durante la desinstalación, pero esto parece ser impredecible.
El panel de propiedades para compartir red de Windows está haciendo algo detrás de escena que esta llamada a API no hace ya que la configuración manual de compartir en el adaptador funciona siempre.
¿Alguien tiene alguna idea de lo que podría ser?
El error es poco probable que el mensaje/significado que encontraste para el código sea correcto. Como dice [Códigos en FACILITY_ITF] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms679751%28v=vs.85%29.aspx), este código es específico de la fuente. Quizás puedas usar la API 'GetErrorInfo' y obtener una descripción correcta que arroje luz sobre el origen del problema. –
Me encontré con esto también. Me pregunto si tiene algo que ver con esto? 'Una conexión compartida públicamente tiene habilitado el Servidor de seguridad de conexión a Internet. ¿Tal vez habilitarlo desde el panel de propiedades configura el firewall de manera que EnableSharing pueda funcionar? –
No estoy seguro de si este hotfix puede ser útil para .NET 2.0, pero vale la pena intentarlo: http://support.microsoft.com/kb/926997/en-us – utapyngo