|
I am writing to a USB device using the WriteFile() API in synchrounos mode but it returns 0x05
error code which means that access is denied.This error occur on Windows 7 though i am an administrator.
The following is the code i am working with it.
CreateFile() successfully create a file.
then I check via DeviceIoControl()that disk is write able , it return true.
and after that when i write via WriteFile() , the api fails and return.
Any help would be appreciated.
|
|
|
|
|
You should show the exact code if you want help. Maybe there is a problem in your WriteFile call that we could see that you're overlooking.
|
|
|
|
|
Member 3903154 wrote: I check via DeviceIoControl()that disk is write able , it return true
that doesn't make much sense to me, for a couple of reasons.
1. The disk being writable does not imply you will be able to write the specific file.
2. If CreateFile succeeded, it already was able to modify the directory.
3. And anyways, DeviceIoControl returns true whenever it succeeds at executing what you ordered, so it returning true may or may not indicate the disk is writable.
As Richard suggested, show more of the code.
|
|
|
|
|
Does anyone know to quickly make a multiple search & replace app (in either C or C++)? Am not interested in searching multiple files, just one file. I want to translate a list of unicode characters into something else (pair-value lookup table) ... so it's basically a crude/naive translator!
I just need a quick pseudocode to get me started. Or maybe there's an opensource/free code already written?
PS: Or maybe it's easier quicker with sed/awk/perl?
|
|
|
|
|
Look like a FAQ question for any programming language. While this needs some C/C++ copy and paste skills, it's a Perl/Python/Lua/sed/awk three liner with regular expression. There is probably a very elegant monad transformer in Haskell too (that nobody understands).
What have you tried so far?
/M
|
|
|
|
|
I would use awk (just because I know a bit it). Go with Lua (check out the LPeg[^] library) to experience real power.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I was hoping you give a Haskell example.
|
|
|
|
|
Sorry man, I don't know Haskell .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
How to Get CMenu Rect?
CRect rectMenu;
::GetWindowRect((HWND)?, rectMenu);
if so, how to get HWND of CMenu.
I want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
to do this, first I have to get the shown rect of my CMenu(from rightbutton contextmenu).
modified on Tuesday, August 10, 2010 9:39 AM
|
|
|
|
|
CMenu has no HWND .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
then...
How to Get CMenu Rect?
|
|
|
|
|
For what purpose? Explain what you are trying to do. Knowing that, someone may be able to explain a better approach.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
|
|
|
|
|
Really? What if the user did not want to make a selection? How would they dismiss the popup menu?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
|
That might work (in theory) but it goes against the expected UI behavior of Windows.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
dancingfish wrote: want to ClipCursor(), limit the range of cursor movement within the Rect of PopupMenu.
It's already limited; if the use clicks outside the popup then the menu is cancelled. Perhaps you need to provide more information on exactly what you are trying to achieve.
It's time for a new signature.
|
|
|
|
|
You could create an instance of CMFCPopupMenu ,
it has a window handle...
virtual void BeHappy() = 0;
|
|
|
|
|
My project is in WTL. no MFC. there is no CMFCPopupMenu.
m_pPopupMenu = new CMenu;
BOOL bMenuSucc = m_pPopupMenu->CreatePopupMenu();
I just want the rect of CMenu.
there is no right answer for my question...
|
|
|
|
|
Hey guys,
I have implemented a project and in some part of it i create log files (.txt). As one can guess, I put the newest record at the end of the file with SeekToEnd(). But if there is a way to write the new data at the beginning of the file -NOT OVERWRITING THE OLDER- ?
|
|
|
|
|
The only way would be reading the whole file into memory then updating the memory content and finally writing back the memory buffer to the file. No need to say that's silly.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
You would probably be better off using a log reader doing post-sorting.
|
|
|
|
|
dilara semerci wrote: is a way to write the new data at the beginning of the file -NOT OVERWRITING THE OLDER- ?
From a technical point of view: Yes it is possible. Open a new file, write new entry, copy the complete log file, swap files (remove, rename). This is probably something you don't want to do very often and not with large log files.
From a design point of view: Probably it's easier to let the log file visualisation class show newest entries on top (twitter like), but let the log file class write to the end of the file. If users prefer to use command line tools (tail -f) they are used to log files being updated this way.
Hope this helps.
/M
|
|
|
|
|
actually the other reason that i want to have the log files in the reverse order -beside the readability - is that i want to have a size limit-say 50mb- and keep the newest data but erase the oldest not to exceed this size limit. One of my friends say that there are built-in functions in phyton to do that but i am working in vc++ and there must be some way to achieve this. If you got any idea that you can share with me, i would be grateful.
Thanks,
Dilara
|
|
|
|
|
You may wrap around log entries on a standard (i.e. the last entry is at the end of the file) log file.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|