[wdmaudiodev] Re: Problem writing to endpoint property store using Standard user account on Vista

  • From: Frank Yerrace <Frank.Yerrace@xxxxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 21 Oct 2006 17:01:56 -0700

Correction to one statement below: "The hardware driver itself does have a 
reference to the endpoint property store and would not be able to read the 
custom settings." Should be, "The hardware driver itself does not have a 
reference to the endpoint property store and would not be able to read the 
custom settings."

Frank Yerrace
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Frank Yerrace
Sent: Saturday, October 21, 2006 4:50 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Problem writing to endpoint property store using 
Standard user account on Vista

Several of us were discussing this problem and are now curious why you desire 
write access to the endpoint property store. Can you tell us? We assumed it was 
to read/write custom device settings for your hardware, but then we recalled 
that the endpoint property store is not the intended mechanism for storing 
custom device settings. The hardware driver itself does have a reference to the 
endpoint property store and would not be able to read the custom settings.

If your intention is to store custom device settings, the IHV's audio control 
panel extension should activate IDeviceTopology on the endpoint passed to the 
extension and walk the topology up to the previous connected device (where 
"device" here means a Device Topology device). This device will represent one 
of the IHV driver's KS filter devices. The control panel extension can then 
read/write custom properties through IKsControl on one of the parts in this 
device. The driver receives KS control calls as a result of calls on IKsControl 
and handles these settings as necessary, persisting them if/when it wishes, 
probably in pnp interface registry keys.

Unfortunately we don't have a sample that demonstrates all of this, although 
clearly we should provide one. We'll see what we can do to work one up. Mitch 
Rundle might also be able to reword the above procedure in more precise Device 
Topology terminology. We're anxious to hear feedback on the viability of this 
solution for custom device settings.

Regards,
Frank Yerrace
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mitchell Rundle
Sent: Thursday, October 19, 2006 8:46 AM
To: 'wdmaudiodev@xxxxxxxxxxxxx'
Subject: [wdmaudiodev] Re: Problem writing to endpoint property store using 
Standard user account on Vista

I'll look into this and get back to you soon.

Thanks
Mitch

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Michael R. Preston
Sent: Thursday, October 19, 2006 8:39 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Problem writing to endpoint property store using 
Standard user account on Vista

Mitch,
    Is there any way to modify the permissions so the Sound control panel will 
run as administrator (without modifying RunDLL32 for the whole system - that 
wouldn't be a good idea).

Mike

Mitchell Rundle wrote:
> Correct.
>
> -- Sysfx propertystore is always read/write for the sysfx ui extensions.
> -- Endpoint propertystore permissions are determined by users permissions.
>
> BTW, the sample you are using must be outdated.  
> PKEY_AudioEndpoint_Disable_SysFx now lives in the sysfx propertystore.  It 
> was moved there so that sysfx ui extensions would always have write access to 
> it.
>
> There is currently no way to make the endpoint propertystore writable from 
> cpl propertypages running as limited user.
>
> Regards,
> Mitch
>
>
> -----Original Message-----
> From: wdmaudiodev-bounce@xxxxxxxxxxxxx
> [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Michael R.
> Preston
> Sent: Wednesday, October 18, 2006 10:37 AM
> To: wdmaudiodev@xxxxxxxxxxxxx
> Subject: [wdmaudiodev] Re: Problem writing to endpoint property store
> using Standard user account on Vista
>
> Well, that's only partly correct.  The prop page extension is only handed a 
> pointer to the system effects property store.  It isn't handed a pointer to 
> the endpoint property store.  For example in the Swap APO sample code, the 
> prop page extension code uses the system effects property store for the 
> "Enable Channel Swap GFX" and "Enable Channel Swap LFX" properties, but uses 
> the endpoint property store for the "Disable System Effects" property.  Since 
> the prop page extension isn't handed a pointer to the endpoint property 
> store, it has to get it from the MMDevice through the device enumerator.
>
> The call to OpenPropertyStore() fails when trying to open the endpoint 
> property store for writing.  This seems to be because when RunDLL32 is called 
> to open the control panel, it's run with the current user's username, not 
> administrator.  So even passing the prop page extension a pointer to the 
> endpoint property store might not even help, since it's not running in the 
> proper context.  How can we get the control panel to run as administrator 
> when RunDLL32 is called?  Otherwise, no prop page extensions that use the 
> endpoint property store will work when running in a Standard user account.
>
> On a related note, I was able to get an external applicaton to write to the 
> endpoint property store simply by installing the app under the "Program 
> Files" directory while running in an administrator account.
> Apparently, this causes the app to run as administrator even when running in 
> a Standard user account.
>
> Mike
>
> Larry Osterman wrote:
>
>>Signing the APO won't affect your ability to read or write to the
>>property store.
>>
>>If you use the IPropertyStore objects handed to your prop page
>>extension in the sound control panel, you should be able to read and
>>write properties to that store.
>>
>>
>>-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx
>>[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of
>>mike@xxxxxxxxxxxxxxxxxxx Sent: Wednesday, October 18, 2006 8:35 AM
>>To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Problem
>>writing to endpoint property store using Standard user account on
>>Vista
>>
>>Larry, Does this have anything to do with the fact that my APO isn't
>>signed, or just because the app isn't running as administrator?  Like
>>I said previously, I'm seing the same problem with the property page
>>extension for the endpoint in the Sound control panel.  Also, is this
>>just a problem with the endpoint property store and not the system
>>effects endpoint?
>>
>>Mike
>>
>>-----Original Message-----
>>
>>From:  Larry Osterman <Larry.Osterman@xxxxxxxxxxxxx> Subj:
>>[wdmaudiodev] Re: Problem writing to endpoint property store using
>>Standard user account on Vista Date:  Wed Oct 18, 2006 7:01 am Size:
>>2K To:  "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
>>
>>That's correct.  The endpoint property store is machine-wide and only
>>administrators can modify it.  If you need to modify the endpoint
>>property store outside the mmsys.cpl framework, you need to run your
>>applet elevated.
>>
>>
>>-----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx
>>[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Michael R.
>>Preston Sent: Tuesday, October 17, 2006 10:15 PM To:
>>wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Problem writing to
>>endpoint property store using Standard user account on Vista
>>
>>I'm seeing a problem writing to the endpoint property store from an
>>application or from a property page extension in the Sound control
>>panel when running on a Standard user account.  When doing an
>>OpenPropertyStore() on the default endpoint's MMDevice with either
>>STGM_READWRITE or STGM_WRITE, the call fails.  Opening the property
>>store with STGM_READ still works, though.  However, the exact same
>>code (with STGM_READWRITE specified) works on an administrator
>>account. Could this be a problem with unsigned drivers or APOs?  I
>>noticed the problem in RC1, and it's still there in RC2.  The problem
>>doesn't happen with the built-in system effects, but does happen with
>>my custom APO. Anyone have any ideas?
>>
>>Thanks, Mike --
>>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
>>Mike Preston          | Home/Office: (360)756-1655 | | E-mail:
>>mike@xxxxxxxxxxxxxxxxxxx |        Cell: (360)303-9331 |
>>|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |
>>The man who follows the crowd will usually get no         | |
>>further than the crowd.  The man who walks alone is       | |
>>likely to find himself in places no one has ever been.    | |
>>-- Alan Ashley-Pitt                       |
>>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>******************
>>
>>WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
>> Subscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
>>Unsubscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>>
>>URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
>>
>>******************
>>
>>WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
>> Subscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
>>Unsubscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>>
>>URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
>>
>>
>>
>>
>>******************
>>
>>WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
>> Subscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
>>Unsubscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>>
>>URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
>>
>>******************
>>
>>WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
>> Subscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
>>Unsubscribe:
>>mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
>>Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>>
>>URL to WDMAUDIODEV page: http://www.wdmaudiodev.com/
>>
>>
>>
>
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> |            Mike Preston          | Home/Office: (360)756-1655 |
> | E-mail: mike@xxxxxxxxxxxxxxxxxxx |        Cell: (360)303-9331 |
> |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
> |     The man who follows the crowd will usually get no         |
> |     further than the crowd.  The man who walks alone is       |
> |     likely to find himself in places no one has ever been.    |
> |                     -- Alan Ashley-Pitt                       |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ******************
>
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.com/
>
> ******************
>
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.com/
>
>
>

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|            Mike Preston          | Home/Office: (360)756-1655 |
| E-mail: mike@xxxxxxxxxxxxxxxxxxx |        Cell: (360)303-9331 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
|     The man who follows the crowd will usually get no         |
|     further than the crowd.  The man who walks alone is       |
|     likely to find himself in places no one has ever been.    |
|                     -- Alan Ashley-Pitt                       |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: