none
Advertencias con AxWindowsMediaPlayer1 RRS feed

  • Pregunta

  • Desearía que alguien me ayudara a saber qué debo hacer para que no me ocurra que nada más utilizar AxWindowsMediaPlayer1 y con un simple programa de prueba que expongo a continuación, me aparecen las Advertencias de más abajo con la consiguiente imposibilidad de Publicar la aplicación:

    Public Class Form1

        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

            AxWindowsMediaPlayer1.URL = "Beatles-Michelle.mp3"

        End Sub

        Private Sub BtnSalir_Click(sender As System.Object, e As System.EventArgs) Handles BtnSalir.Click

            End

        End Sub

    End Class

     

    Advertencia   1 CA2122: Microsoft.Security: 'Form1.InitializeComponent()' llama a 'AxHost.Enabled.Set(Boolean)' que tiene LinkDemand. Al realizar esta llamada, 'AxHost.Enabled.Set(Boolean)' se expone indirectamente al código de usuario. Revise la siguiente pila de llamadas que podrían exponer en cierta forma una manera de sortear la protección de seguridad:

       ->'Form1.InitializeComponent()'

       ->'Form1.InitializeComponent()'

       ->'Form1.New()'   C:\Users\Alvarado\Desktop\Prueba\Form1.Designer.vb         24        Prueba

     

    Advertencia   2 CA2122: Microsoft.Security: 'Form1.InitializeComponent()' llama a 'AxHost.OcxState.Set(AxHost.State)' que tiene LinkDemand. Al realizar esta llamada, 'AxHost.OcxState.Set(AxHost.State)' se expone indirectamente al código de usuario. Revise la siguiente pila de llamadas que podrían exponer en cierta forma una manera de sortear la protección de seguridad:

       ->'Form1.InitializeComponent()'

       ->'Form1.InitializeComponent()'

       ->'Form1.New()'      C:\Users\Alvarado\Desktop\Prueba\Form1.Designer.vb      24        Prueba

     

    Advertencia   3 Procesando la referencia COM "WMPLib" desde la ruta de acceso "C:\Windows\system32\wmp.dll". El importador de la biblioteca de tipos detectó una función getter de propiedad 'sessionPlaylistCount' en el tipo 'WMPLib.IWMPNowPlayingHelperDispatch' sin un tipo de valor devuelto válido. El importador intentará importar esta propiedad como un método. Prueba

    Advertencia   4 Procesando la referencia COM "WMPLib" desde la ruta de acceso "C:\Windows\system32\wmp.dll". El contador de referencias en tiempo de ejecución no puede calcular las referencias de al menos uno de los argumentos para 'IWMPGraphEventHandler.NotifyAcquireCredentials'. Estos argumentos se pasarán como puntero y puede que requieran código no seguro para la manipulación.      Prueba

    Gracias anticipadas.
    viernes, 17 de julio de 2015 8:09

Todas las respuestas

  • Yo haría lo siguiente para evitar esas advertencias y me dices si funcionan o no.

    En Referencias, marcas WMPLib y establece Isolatesd a true.

    Para la Advertencia   3 Si haces desde la consola de Visual Studio

    Oleview.exe c:\windows\system32\wmp.dll

    Verás en el código algo parecido

    [id(0x00000b9f), propget] HRESULT remoted([out, retval] VARIANT_BOOL* pVal); [id(0x00000ba0), propget] HRESULT glassEnabled([out, retval] VARIANT_BOOL* pVal); [id(0x00000ba1), propget] HRESULT highContrast([out, retval] VARIANT_BOOL* pVal);

    [id(0x00000ba2), propput]
    HRESULT testHighContrast([in] BSTR rhs);

    [id(0x00000ba3), propget]
    HRESULT sessionPlaylistCount([out] long* pVal);


    Como ves en negrita, no existe [out, retval] que hay en otras propiedades. En tu código deberías usar en vez de la propiedad lo siguiente

    get_sessionPlaylistCount(out count)

     Comenta tu avance ok?

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    viernes, 17 de julio de 2015 10:49
  • Sergio, primeramente gracias por tu interés.

    Respecto a lo primero que me propones de marcar la Referencia WMPLib, al añadir el  AxWindowsMediaPlayer1 ya me aparecen por defecto Interop.WMPLib.dll y AxInterop.WMPLib.dll, pero también he marcado WMPLib abajo donde dice “Espacios de nombres importados”. No sé si cuando hablas de establece Isolatesd a True te refieres a lo que ya también me viene por defecto en la columna de “Copia local” (que de todos modos no se me permite cambiarlo a False).

    Y al introducir la línea que me señalas desde la Consola, el resultado que me aparece es el expresado en el dibujo de abajo. Me está dando buenos quebraderos de cabeza el AxWindowsMediaPlayer1, cosa que no me ocurría con el MMControl del VS 2005. Seguiremos sobre él. Gracias nuevamente.



    viernes, 17 de julio de 2015 18:09
  • hola, con respecto al comando decirte que debes ejecutar la consola de visual Studio. Debes encontrar su acceso directo en Inicio/Programas /visual Studio 2013/Tools (o algo así, no estoy en mi equipo)/developer console(o algo así). Con respecto a la propiedad en la referencia al ensamblado, tomé el de esa ruta porque pensaba que esa era tu referencia. De todas formas son unos warnings a los que creo puedes no tenerlos en cuenta.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 17 de julio de 2015 19:25
  • Gracias por la rapidez. Se me olvidó decir que trabajo con la versión 2010, no con la 2013. Tal vez por eso no encuentro el modo como dices de ejecutar la Consola. Lo más parecido es “Package Manager Console”, pero aquí lo que medice es:

    PM> Oleview.exe c:\windows\system32\wmp.dll

    El término 'Oleview.exe' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.

    En línea: 1 Carácter: 12

    + Oleview.exe <<<<  c:\windows\system32\wmp.dll

        + CategoryInfo          : ObjectNotFound: (Oleview.exe:String) [], CommandNotFoundException

        + FullyQualifiedErrorId : CommandNotFoundException

     

    PM>

    Yo la Consola anterior la cogí siguiendo las instrucciones de:

    http://translate.google.de/translate?hl=es&sl=en&u=http://www.mathworks.com/matlabcentral/answers/95351-how-can-i-display-dos-console-outputs-in-the-visual-studio-environment-for-debugging-purposes&prev=search

    No sé si eso es válido o incluso si lo hice bien. Gracias. No hay que rendirse. Un saludo.


    viernes, 17 de julio de 2015 20:16
  • Sergio, según lo que me pides, te comento mis progresos. Bueno, en este caso mis retrocesos. Lo que me decías sobre establecer Isolated a True ya averigüé que se hacía con un doble clic sobre WMPLib.dll, tras lo cual aparecen sus Propiedades, pero al poner Isolated a True, como me decías, me salen aún más Advertencias. Un saludo.

    domingo, 19 de julio de 2015 7:47