Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Vista Newsgroups > Vista General

Vista Tutorial - WTSSendMessage fail with error Access Denied

Reply
 
Old 06-22-2007   #1 (permalink)
kalpesh
Guest


 
 

WTSSendMessage fail with error Access Denied

i describe my Issue that i am developing virtual printer driver DLL
which is run by
spooler service of operation system, means my driver is run under
spooler service.

Now i need to show one MessageBox from my this DLL in Window vista
but
vista not support any user interface from service thats why i use
this
WTSSendMessage function but this function give me error "ACCESS
DENIED"...


//Code i used


#define WTS_CURRENT_SERVER ((HANDLE)NULL)
#define WTS_CURRENT_SERVER_HANDLE ((HANDLE)NULL)
#define WTS_CURRENT_SERVER_NAME (NULL)


#define WTS_CURRENT_SESSION ((DWORD)-1)


//defination of WTSSendmessage Function pointer
typedef BOOL (*funPtr) ( HANDLE,
DWORD,
LPWSTR,
DWORD, LPWSTR, DWORD, DWORD, DWORD, DWORD*,
BOOL);


funPtr callFun;
HMODULE hModule = LoadLibrary(L"Wtsapi32.dll");
if(hModule)
{
callFun = (funPtr) GetProcAddress(hModule, "WTSSendMessageW");
if(callFun) {
DWORD result;
BOOL ret =
callFun( WTS_CURRENT_SERVER_HANDLE,


WTS_CURRENT_SESSION,


(LPWSTR)L"Thunder Driver",
38,
MB_OK,
FALSE,
&result,
0);


if(!ret) {
Print_Error();
}


}//end getproc
}//end loadlibrary


function return with "Error : Access Denied";;
WTSSendmesage function fail
and return with error "ACCESS DENIED".


This function failed is happening on Window vista only,
One more thing is this same code is running successfully On Window XP
means i think that
there is some problem arise due to Vista securtiy...


So please help me ....
Thanks in Advance....


My System SpecsSystem Spec
Old 06-23-2007   #2 (permalink)
Andrew McLaren
Guest


 
 

Re: WTSSendMessage fail with error Access Denied

"kalpesh" <kalpeshgedia@gmail.com> wrote ...
> callFun( WTS_CURRENT_SERVER_HANDLE,
> WTS_CURRENT_SESSION,
> (LPWSTR)L"Thunder Driver",
> function return with "Error : Access Denied";;
> WTSSendmesage function fail
> and return with error "ACCESS DENIED".


Hi Kalpesh,

I'm not sure if this is the full answer to your problem, but ... in your
code snippet, you are sending the Message to WTS_CURRENT_SESSION. Is this
what you really want to do? (actually, I'm pretty sure it's *not* what you
want to do). This will send the message to the current session. In the
context of the spooler service on Vista, that's going to be Session 0 -
exactly what you're trying to avoid!!

I suspect you'd need to list the current user sessions on the machine; eg,
by a call to WTSEnumerateSessions(). Then select one or more of these user
sessions to send the message to. Typically logged-in users will start from
session 1, but this isn't enforced by teh system - the logged-in user could
potentially be in be in session 7, 16 or 42. And if several users are logged
in at one (even on a desktop PC, there may be multiple "fast user switching"
sessions), you 'll need to decide which sessions (and which logged-in users)
you want to send your message to.

The user context of the process which is sending the message also needs the
Terminal Server "Message" permission, to send messages to another user's
session - otherwise, it would be vulnerable to shatter attacks. See
WTSSendMessage() in MSDN fo rdetails.

Hope it helps,
Andrew

My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Error: access is denied Vista General
Error: access is denied Vista General
WTSSendMessage return access denied! Vista security
WTSSendMessage fail with error Access Denied Vista security
getdrivelayout: create file fail! Access Denied (ERROR) Please he Vista General


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46