|
I have a ISAPI extension, which I suppose run in security account
of IUSR_MACHINENAME. For accessing a database located on
another server, I must change the user to an account which has rights in database.
Is this possible? I know is possible to "create a process as user"
but I don't know about changing the user during process running.
If I'm on a wrong way of thinking, which are the possibilities?
Regards,
Don
|
|
|
|
|
It is not possible to change the security context of a running process. However, you could use impersonation to change the context of your current thread, which is actually what you want to do
For this you have to get a proper impersonation token from somewhere. You can get such a token via some IPC mechanisms (like NamedPipes, RPC, DCOM) or by calling LogonUser(). However, I doubt that IUSR_MACHINENAME has the necessary privileges to call LogonUser().
--
Daniel Lohmann
http://www.losoft.de
|
|
|
|
|
Thanks Daniel,
You give me some good ideeas, with LogonUser(). If IUSR_... has not enough ritghts, I'll include it in Administrators group, and maybe
will work.
The other ideea, to
Daniel Lohmann wrote:
get such a token via some IPC mechanisms
I simply don't understand: from where to request the token?? With who
shall I communicate via IPC?
... and what is this "Impersonation" means???
Thanks again.
|
|
|
|
|
Don Miguel wrote:
You give me some good ideeas, with LogonUser(). If IUSR_... has not enough ritghts, I'll include it in Administrators group, and maybe
will work.
Uh, oh - I would double think about that. It's the sense of special IUSR_xxx accounts that they are low privileged and therefore your Inet apps do open a big security hole. I don't have much knowledge about all this IIS stuff, but maybe you could configure it to run your ISAPI in another user context than IUSR_xxx. That would be much better, because no other extensions are affected.
--
Daniel Lohmann
http://www.losoft.de
|
|
|
|
|
I've a COM object in VC++ that has setData(PBYE* pdata, int nsize) function. What's the equivalent of it in IDL, so in VB it can pass the data to the COM.
Moreover, what's the way VB pass the data to it ?
|
|
|
|
|
what is PBYE ? If you want to pass a string into COM it will need to be a BSTR. VB will convert a string literal or value for you, AFAIK.
Christian
come on all you MS suckups, defend your sugar-daddy now. - Chris Losinger - 11/07/2002
|
|
|
|
|
Sorry, it should be PBYTE (in C++, a pointer to byte). I'm not going to pass String values, I want to pass binary data to an COM object.
|
|
|
|
|
Dear friends, How to get properties of any control ie created by any application (not window styles, extended styles) eg: Delphi.
waiting for reply
Thanks,
Raman.
|
|
|
|
|
I want to make a serial port communication program. I define a STRUCT variable
struct _COMM_PACK
{
char sID[PACK_ID_LEN];
BYTE cCmdCode;
UINT nVerifySum;
int nDataLen;
BYTE cData[MAX_DATA_LEN];
}aSendPack;
and want to send 'aSendPack'in the Mscomm control-comm like:
comm.SetOutput(aSendPack);
but the SetOutput need a VARIANT variable
how can I do that?
thanx!
|
|
|
|
|
! DONT use the MSCOMM control !
If you have to one would...
aSendPack var;
ZeroMemory(&var,sizeof(var));
var.cCmdCode = 0x0100;
etc. etc.....
and finally
comm.SetOutput((char*) &var);
Normski. - the next bit of code is self modifying ... jmp 0xCODE
|
|
|
|
|
Hello,
I am using Installshield for VC++ 6.0 to build a setup program for my program. I was wondering how can I add a shortcut in the startmenu for my programs exe file in the start menu.
Right now .. I am using the follwing code to make the icon in the startmenu
svPath = TARGETDIR ^ "TDMS2000.exe";
LongPathToQuote ( svPath , TRUE );
AddFolderIcon (FOLDER_PROGRAMS^SHELL_OBJECT_FOLDER , "TDMS2000" , svPath , "" , "" , 0 , "" , REPLACE );
But there is a problem with this code. My program needs a .dat file to start that resides in the same directory as the exe file. So when I follow the link created in my start meny using the code above .. the program fails to see that .dat file. When I create a shortcut manually and place it in the start menu .. the program works file.
I will really appreciate any solution to this problem. Thanks!
Sincerely,
Anjum.
|
|
|
|
|
I think the problem is not with the insatalshield but in ur application code..
Ur reading for sat file may be wrong..(i.e)The path u have given for reading the .dat file is relative with ur exe....So the application is searching is the oath where start menu short cut resides....
U have to explictily give the full path of ur exe dor reading the .dat file..
If u can give the code for reading of .dat file and i can clearly analaysis the problem
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|
|
Mani,
Thanks for your response. Yes, I am using a relative path, but I was doing it thinking that since the user may choose to install the my program under any folder, I should give a relative so that it will be able to open the my .dat file as long as they are together in one folder regardless of the folder chosen by the user during installation.
When I manually create a short cut of my EXE file and put it on the desktop or in the start menu .. it reads the .dat file fine. I was thinking that an icon created by the setup program should work the same way.
I am attaching my code. Thanks for looking into it.
<br />
char *pszFileName="config.dat";<br />
char pszIName[256];<br />
CFile myFile;<br />
CFileException fileException;<br />
if ( !myFile.Open( pszFileName, CFile::modeRead, &fileException ))<br />
{<br />
::MessageBox(NULL, "File doesnt exist ","Warning",MB_OK);<br />
<br />
}
Also I have a trivial question. Why do I have to put :: before Messagebox function sometimes to make it work. Sometimes it is works without the dots.
As you can probably see that I do lack some of basic knowledge of MFC.
Thanks for your help!
Sincerely,
Anjum.
|
|
|
|
|
Yeah thats the problem.......
U should nver give the relative path..I will not work...In this code when u run with start menu it will search the folder of startmenu and never the exe..So its better u use Absolute path of exe...
So use this piece of code..
<br />
CString StrLaunched;<br />
TCHAR szFullPath[MAX_PATH];<br />
TCHAR szDir[_MAX_DIR];<br />
TCHAR szDrive[_MAX_DRIVE];<br />
::GetModuleFileName(NULL,szFullPath,MAX_PATH);<br />
_splitpath(szFullPath, szDrive, szDir, NULL, NULL);<br />
StrLaunched.Format(_T("%s%s"), szDrive, szDir);<br />
char *pszFileName=StrLaunched+"config.dat";<br />
This will work.....
Then :: means ur calling an Windows Sdk function
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|
|
I can't seem to get the scroll bar of my edit box to display on the left. I've tried using the left scroll bar style but the scroll bar stays on the right. How do I get it to display on the left.
-Raffi
|
|
|
|
|
Scroll bars can be aligned to the left (using the WS_EX_LEFTSCROLLBAR style), but they take effect only in Hebrew and Arabic versions of Windows 95 (and any languages whose characters can be read from the right).
You give no reason for which a left-aligned scroll bar would be beneficial.
Peter O.
|
|
|
|
|
I get the following error when I use DAO with a text file:
<filename> is not a valid file path. ...
Could someone tell me what I am doing wrong?
CString sFile = "c:\\ashish.txt";
CDaoDatabase db;
CDaoRecordset rs;
db.Open(sFile,FALSE,TRUE,"Text;");
.
.
.
Thanks
ashish
|
|
|
|
|
Hello,
The msdn document says the insertion mark is available for windows XP
Visual Styles. But I don't see this the insertion mark present even I have
a manifests in my program. Do you have any idea how to enable it?
Thanks,
Hiusing
|
|
|
|
|
|
I need to get VK_RIGHT but I cant seem to figure this out...
void CAlienMemoryDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// key is pressed
int x;
x = -1;
CDC *xDC=GetDC();
switch(nChar)
{
case VK_DOWN: // down arrow key
{
break;
}
case VK_UP: // up arrow key
{
break;
}
case VK_RIGHT: // right arrow key
{
m_CurrSelected++;
if (m_CurrSelected > 11)
m_CurrSelected = 0;
x = 0;
break;
}
case VK_LEFT: // left arrow key
{
m_CurrSelected--;
if (m_CurrSelected < 0)
m_CurrSelected = 11;
x = 1;
break;
}
}
if (x > -1) {
Game.SelectImage(m_CurrSelected,xDC,x);
}
CDialog::OnKeyDown(nChar, nRepCnt, nFlags);
}
VK_LEFT works but VK_RIGHT doesnt
|
|
|
|
|
|
Hi!
can anybody help me out with it? I need to write a MFC-free app that supports drag-drop via OLE (I use the WM_DROPFILES method already but it's not sufficient). I have a hard time figuring it out. Even MSDN says use COleDataSource as if nobody ever programmed for WinAPI (Is there anybody out there/Pink Floyd). Can anybody give me some clues? A snippet would be COOL. Thanks a lot
|
|
|
|
|
I seem to be losing my 'stdin' when I redirect my stdout/stderr (using freopen). Better put, the stdin seems to become flaky...
Does this make sense to anyone?
Is there a better way to get keystrokes from a (DOS/console/Win2k) app than using getch()? w/o using an event loop?
Thanks in advance....!
|
|
|
|
|
has anyone here ever sucessfully implemented smooth drag-n-drop for a listctrl in 'icon' view ?
i've searched the web for days for a way to do it (yes, i've seen codeguru) , but everything i've found and everything i've tried results in horrible flicker.
fyi, the flicker is casued because, in MouseMove, UpdateWindow on the listctrl to redraw what the drag image has uncovered, then i redraw the drag image in the new spot. so, each move, i have to redraw the list, the redraw the drag image.
i've tried all kinds of variations on LockWindowUpdate, DragShowNolock, UpdateWindow, etc... nothing seems to get rid of the flicker.
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
there are some articels called flicker free MFC or what. you double buffer your listview and it doesn flicker no more...
btw. anyone knows how to do drag and drop WITHOUT MFC (pure WinAPI)?
|
|
|
|