|
Papa wrote:
Writing a driver may offer a better solution, with a file system filter IFSMGR_InstallFileSystemApiHook in order to be in the chain of all file system requests. (Windows 9x)
or a file system driver that attach a filter device objects to target file system device objects so that it see all IRPs and FastIO requested from drives.
A hash is necessary to keep track of the correspondance of HANDLE <-> Pathname
Which is how SysInternals' FileMon utility works:
"For the Windows 9x driver, the heart of FileMon is in the virtual device driver, Filevxd.vxd. It is dynamically loaded, and in its initialization it installs a file system filter via the VxD service, IFSMGR_InstallFileSystemApiHook, to insert itself onto the call chain of all file system requests. On Windows NT the heart of FileMon is a file system driver that creates and attaches filter device objects to target file system device objects so that FileMon will see all IRPs and FastIO requests directed at drives. When FileMon sees an open, create or close call, it updates an internal hash table that serves as the mapping between internal file handles and file path names. Whenever it sees calls that are handle based, it looks up the handle in the hash table to obtain the full name for display. If a handle-based access references a file opened before FileMon started, FileMon will fail to find the mapping in its hash table and will simply present the handle's value instead."
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Exactly.
But the same hash is also needed in the first case when using API hooking.
Should be noted that both techniques lacks info on the files that where opened before the startup of our code, so basically its better to start before any user process. So its add some tiny complication to our friends request.
Good luck anyway!
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
DavidCrow wrote:
Why not just try and open the file? If the open fails, and not because the file didn't exist, you know the file is in use.
That will not work in some cases. The reason for this is that you can open files that share all access. So if you try to open a file, which is opened by an application that shares all access, this method will fail.
I also got the blogging virus..[^]
|
|
|
|
|
Right. I was answering on the assumption that if the file was opened for exclusive access then it could be considered in use. Otherwise, I'd simply consider it open but not in use.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hi,
When using OpenFileMapping() to access a shared memory object, is it possible to determine the names of all active mappings somehow? Does the function reference a list of names somewhere in memory? I want to connect to an app that I think uses this method via the paging file but I don't have a name or handle and just want to see if I can access the shared memory using the OpenFileMapping() function from my own code.
Thanks.
|
|
|
|
|
|
Thanks Papa.
Worked a treat
|
|
|
|
|
Hi guys,
I am planning to write a GUI-based program (possible using MFC) that needs some kind of database to store simple datasets. The program will need to be able to add/delete/edit/search data and display it in a nicely formatted Excel document. That means GUI screen will inlcude an embedded Excel that needs frequent updates when displaying data on different search results.
Could someone offer some suggestions where I should start?
I did some search and found the possible use of OBDC Excel driver. Am I heading the right direction?
Thanks alot
|
|
|
|
|
J.B. wrote:
I did some search and found the possible use of OBDC Excel driver. Am I heading the right direction?
Yes.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
How can I parse the html files into tokens using javascript, I don't want to use a third party parser, as I don't think Its a very big task. I actually need to create a token tree in javascript like:
<html>
<table>
<tr>
</tr>
</table>
</html>
http://www.priyank.in/
|
|
|
|
|
I suggest just switching to XML, which HTML is now officially a subset of.
It's not a very language and its extremely useful when holding information that would normally have to use a text parser to retreive info. There are many third party XML parsers for small or large projects, but since you don't want to use one it's pretty easy to write your own.
If you want help or more info about writing your own XML parser let me know email me, but as far as HTML goes I think you'll have to go the route of writing a text parser.
http://www.w3schools.com/xml/default.asp -- wealth of info on anything XML
j c0dex
j.d.aigner@gmail.com
|
|
|
|
|
I do understand the power of XML, but the project inputs are html web pages and I can't make xml as a web page standard
http://www.priyank.in/
|
|
|
|
|
That's very easy. Just parse the html file for '<' and '>' signs (take care at string within the tags!!!).
By the way, this is no javascript forum!
Don't try it, just do it!
|
|
|
|
|
I've got any existing program which I wrote a while back that I now need to modify so that when it uses the SendInput method to control the position of the mouse it uses 'relative' co-ordinates to move the mouse, whereas at present I'm using the Absolute flag to specify where it needs to be regardless of where the mouse pointer currently is.
I thought it would be a simple case of removing the absolute flag but this does not seem to work. What happens now it that whenever I specify a value it always jumps to the bottom right hand side of the screen (even if I only specify that the pointer moves two 'pixels').
Does anyone know what I am doing wrong and how to correct it?
TIA,
Andy
|
|
|
|
|
Hi all,
I'm tring to implement a clean, elegant plugin framework for MFC dialogs with explicit loading (unfortunately I have to use VC++ 6.0).
The COM-based, vtable approach proposed in
http://www.tweakbits.com/articles/dll/index.html
http://www.flipcode.com/articles/article_winplugins-pf.shtml
seems to be the most appealing one to me.
The code examples presented in these two links above (and my own quick hacks) work as expected with non-MFC classes and functions.
Unfortunately, if I expand the samples and integrate some MFC dialogs (I've used regular DLLs with shared MFC and thereafter extented MFC DLLs) the applications throws an assert if I create the new dialog class in the DLL.
(There's something I've messed up with MFC, CWinApp, AFX_MANAGE_STATE etc.)
So, I know there are some great tutorials on codeproject and codeguru which deal with MFC dialogs in DLLs and explicit (dynamic) loading and plugin frameworks, but none of them presented a combination of both..
Are there any other pointers or tutorials to example code which integrate MFC dialogs in DLLs in a nice and easy way (or can anyone post a small example here)?
Thanks and kind regards!
|
|
|
|
|
hello.
I want to know function name mediaplayer activex control call inside
when it open a media file.
(CreateFile?, open?, fopen?, OpenFile?)
when I try to API Hooking, what function should I hook?
If you know, let me know plz..
-------------------------------------------------
E-mail : multibox@naver.com
Homepage : www.cyworld.com/multibox
-------------------------------------------------
|
|
|
|
|
|
I tried but (CreateFile, OpenFile, open, fopen) function is not
mediaplayer call inside. T.T
-------------------------------------------------
E-mail : multibox@naver.com
Homepage : www.cyworld.com/multibox
-------------------------------------------------
|
|
|
|
|
I want to set background image for a dialog in MFC.... there is no direct way of doing it....I used some code to achieve this....but i have to compromise the quality of the picture.... can someone help me with a best solution??? Thanx in advance
Ashok Kumar
|
|
|
|
|
Does this help?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Hi,
In my MFC app, i create a socket , bind and accept incoming connections.
After i accept a incoming connection, i try to use recv() to get data.
But it fails.the error is 10057. what could be the problem..Pls help
Ram
|
|
|
|
|
A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.
|
|
|
|
|
Are you sure you called recv for the right socket? The listening socket won't allow that!!
Don't try it, just do it!
|
|
|
|
|
Hi Friends,
How can find how many threads will my system allow me to create in the SUN Solaris Environment. is there any limit, how many threads can be created. Is there any way to find. Can any one of you guys help me on this.
Thank You
Cheers
sudharma.
|
|
|
|
|