locked
Vista, IMAPI, IE 7, and protected mode RRS feed

  • Question

  • Is it possible to use IMAPI under IE 7 on Vista when "Protected Mode" is enabled?  I have written unamanged C++ code that calls on IMAPI but when I try to retrieve the recorder information, the code does not find any recorders present.  If I turn off "Protected Mode" the code works meaning recorders are found.

     

    Thanks,

    Monday, September 15, 2008 9:15 PM

Answers

  • Hi Scott,

     

    Sorry for the delay in responding to this e-mail. Are you trying to implement some kind of applet or ActiveX control that uses IMAPI? If yes, then the behavior that you observe is correct. A secure browser such as IE7 will prevent untrusted applets from performing actions that compromise security. IMAPI uses the same system interface for recorder discovery and recording itself, so if applets were able to discover recorders with IMAPI, they would be able to erase data (which is not something people want to happen when they visit a web site). My expectation is that there are other browsers that will not allow you to use IMAPI from applets. Here is some information about the Protected Mode in IE7:

     

    http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx

     

    I'm not a Web applet developer so I do not know whether this is going to work, but you may want to explore the possibility of elevating the privileges of your applet at the execution time. The User Access Control (UAC) infrastructure of Windows Vista is responsible for OS-controlled elevation of privileges. The user will have to explicitly confirm elevation of privileges, however. If you go to MSDN and search for "UAC" and "elevation", you should get lots of articles on this topic.

     

    If there is another way to accomplish what you want, I would recommend doing so. Using IMAPI from applets is not something that IMAPI was designed for and there may be multiple factors preventing that: browser, security settings in the system, etc.

     

    With regards,

    Grigory.

    Tuesday, September 23, 2008 1:19 AM

All replies

  • Hi Scott,

     

    Sorry for the delay in responding to this e-mail. Are you trying to implement some kind of applet or ActiveX control that uses IMAPI? If yes, then the behavior that you observe is correct. A secure browser such as IE7 will prevent untrusted applets from performing actions that compromise security. IMAPI uses the same system interface for recorder discovery and recording itself, so if applets were able to discover recorders with IMAPI, they would be able to erase data (which is not something people want to happen when they visit a web site). My expectation is that there are other browsers that will not allow you to use IMAPI from applets. Here is some information about the Protected Mode in IE7:

     

    http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx

     

    I'm not a Web applet developer so I do not know whether this is going to work, but you may want to explore the possibility of elevating the privileges of your applet at the execution time. The User Access Control (UAC) infrastructure of Windows Vista is responsible for OS-controlled elevation of privileges. The user will have to explicitly confirm elevation of privileges, however. If you go to MSDN and search for "UAC" and "elevation", you should get lots of articles on this topic.

     

    If there is another way to accomplish what you want, I would recommend doing so. Using IMAPI from applets is not something that IMAPI was designed for and there may be multiple factors preventing that: browser, security settings in the system, etc.

     

    With regards,

    Grigory.

    Tuesday, September 23, 2008 1:19 AM
  • My apologies.  I left some details out.  I am instantiating my ActiveX control (an unmanaged C++ ATL DLL, with no GUI elements, that uses IMAPI) from Javascript embedded in an HTML page.

     

    You have confirmed what I suspected.  I wanted some comment from Microsoft in case I overlooked something.  As you have noted, in keeping with the "Protected Mode" security model, it makes perfect sense that IMAPI would be blocked from accessing the local machine and therefore return no information about recorders.

     

    I know that there is the concept of a "broker process", but I believe that in my case that will create more problems than it solves and of course a discussion about this technique is understandably outside the scope of this discussion group.

     

    Regarding your statement of "I'm not a Web applet developer so I do not know whether this is going to work..." thank you for your honesty.

     

    Lastly, Microsoft is to be commended for providing and documenting the IMAPI interface, which for my purposes is working quite well, as well as this discussion group.  Thank you, Grigory, for your response.

    Tuesday, September 23, 2008 2:36 PM