From: Mike Carlisle on
Hi,

In sample for Kmdf\kbFiltr & Kmdf\kbtest elevation is required on vista in
order for the demo to work. Why is this and is there a way to get it to work
without elevation?

I'm writting an application that runs as the current user and the
application needs to communicate with the driver.

Thanks,

Mike
From: Doron Holan [MS] on
you need to set the SDDL on the raw PDO to be more open. the sample
currently uses SDDL_DEVOBJ_SYS_ALL_ADM_ALL, from wdmsec.h

//
// SDDL_DEVOBJ_SYS_ALL_ADM_ALL allows the kernel, system, and admin complete
// control over the device. No other users may access the device
//

look in the same header for other SDDL strings that may be more appropriate
for what you want

d


--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Mike Carlisle" <MikeCarlisle(a)discussions.microsoft.com> wrote in message
news:738F8D3D-560E-4A65-AEA9-57CCED10C0FB(a)microsoft.com...
> Hi,
>
> In sample for Kmdf\kbFiltr & Kmdf\kbtest elevation is required on vista in
> order for the demo to work. Why is this and is there a way to get it to
> work
> without elevation?
>
> I'm writting an application that runs as the current user and the
> application needs to communicate with the driver.
>
> Thanks,
>
> Mike


From: Mike Carlisle on
Thanks that's exactly what I was looking for!

Could you help me interpret the input buffer. I've defined my own custom IO
and trying to pass a USHORT value simplified as follows:

USHORT data = 4;

DeviceIoControl (
file,
IOCTL_CHANGE_LEVEL,
&data,
sizeof(USHORT),
NULL,
0,
&bytes,
NULL)

I'm then reading this as follows:

USHORT data;
size_t bufSize;

if (IoControlCode == IOCTL_CHANGE_LEVEL)
{

status = WdfRequestRetrieveInputBuffer(
Request,
sizeof(USHORT),
&buffer,
&bufSize
);

data = (USHORT)buffer;
DbgPrint("IOCTL_CHANGE_LEVEL success data %x. \n", data);
}

I get status success, but for some reason I get some weird values in the
debug for data such as be48.

How do I get my value 4 out the other end?

Many thanks,

Mike

"Doron Holan [MS]" wrote:

> you need to set the SDDL on the raw PDO to be more open. the sample
> currently uses SDDL_DEVOBJ_SYS_ALL_ADM_ALL, from wdmsec.h
>
> //
> // SDDL_DEVOBJ_SYS_ALL_ADM_ALL allows the kernel, system, and admin complete
> // control over the device. No other users may access the device
> //
>
> look in the same header for other SDDL strings that may be more appropriate
> for what you want
>
> d
>
>
> --
> Please do not send e-mail directly to this alias. this alias is for
> newsgroup purposes only.
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Mike Carlisle" <MikeCarlisle(a)discussions.microsoft.com> wrote in message
> news:738F8D3D-560E-4A65-AEA9-57CCED10C0FB(a)microsoft.com...
> > Hi,
> >
> > In sample for Kmdf\kbFiltr & Kmdf\kbtest elevation is required on vista in
> > order for the demo to work. Why is this and is there a way to get it to
> > work
> > without elevation?
> >
> > I'm writting an application that runs as the current user and the
> > application needs to communicate with the driver.
> >
> > Thanks,
> >
> > Mike
>
>
>
From: Eliyas Yakub [MSFT] on
> How do I get my value 4 out the other end?

By doing this:

data = *(USHORT *)buffer;

instead of

data = (USHORT)buffer;


-Eliyas

From: Mike Carlisle on
Woohoo, thank you very much!

"Eliyas Yakub [MSFT]" wrote:

> > How do I get my value 4 out the other end?
>
> By doing this:
>
> data = *(USHORT *)buffer;
>
> instead of
>
> data = (USHORT)buffer;
>
>
> -Eliyas
>
>