For those new to message boards please try to follow a few simple rules when posting your question.
Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
Keep the subject line brief, but descriptive. eg "File Serialization problem"
Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.
Do not remove or empty a message if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.
If you are posting source code with your question, place it inside <pre></pre> tags. We advise you also check the "Encode "<" (and other HTML) characters when pasting" checkbox before pasting anything inside the PRE block, and make sure "Use HTML in this post" check box is checked.
Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
Please do not post links to your question into an unrelated forum such as the lounge. It will be deleted. Likewise, do not post the same question in more than one forum.
Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
No advertising or soliciting.
We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
I want to create a virtual serial port on Windows10 using VirtualSerial2 sample but first I should convert it to KMDF. When I look at the functions in the sample I saw that some of them apply to KMDF or UMDF only. Why are they used in the same driver? How can I learn that which one to include?
I have a Dell XPS system with Windows 10. It has four SATA ports. Everything is going fine except for one thing: the DVD drive.
When I first got it earlier this year, the drive, although not used extensively, worked fine. I was able to install a few things from it. Shortly thereafter, I installed two more HDDs. All four SATA ports are now full. I can see and use the three HDDs just fine but not the DVD drive. On a few occasions, the DVD drive shows up and I can use it like normal. Other times, not! The BIOS recognizes the drive, just not Windows (using either Windows Explorer or Disk Management).
So my question is, would having all four SATA ports full be the cause of any of this?
"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
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
Hi! I'm sure this is without question a super beginner question, but I feel like I need to make an informed decision because I don't know how much it matters.
I need to know what is the best budget laptop for a computer programming college student, that can handle whatever is required of the course. My old laptop broke and I need to know how important a new one's specs are for this course. Any information would be helpful please.
I would like to know if the following device driver is possible in Windows 10:
A driver that receives a notification whenever a user mode process is created, and can then load a user-specified user mode DLL into that process before any user mode code in the process executes (including TLS callbacks.)
I'm not asking for code or how to write it, I'm only asking if the facilities exist in Windows 10 to make such a driver possible.
The difficult we do right away...
...the impossible takes slightly longer.
Let me point out that all of the user mode ways of doing this are not acceptable because I need the DLL to be injected before any user code executes in the target process, including TLS callbacks.
Have you experimented with the CreateProcess function[^] and the DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags combined with CREATE_SUSPENDED? This should give you access to the process before anything as executed including TLS callbacks.
Is there a specific reason why you believe that you need to use a device driver? Are you trying to avoid the TLS callbacks and process initialization for a single process or system-wide?
From usermode you can use the Application Compatibility Toolkit[^] to load a DLL into any process system-wide immediately after kernel32/user32 is loaded and before any usermode code has executed.
I'm looking to implement something very much like this: API Monitor[^]
Yes I have tried CreateProcess with DEBUG_PROCESS and CREATE_SUSPENDED, but that doesn't work for my purposes, and here's why:
Once my hook DLL is inside a process, I need it to be injected into all child processes as well. This means hooking any API's that create processes. I have found that some programs use the DEBUG_PROCESS and CREATE_SUSPENDED trick as well. And I haven't yet figured out a way to inject my DLL and return the child process to the calling program in the state that it expects it to be in. What usually happens is a crash of the child process, because the calling program couldn't do what it wanted to do with the child process before any user code executed. Did you follow that?
That is why I think I need a driver to accomplish this, because I have tried every user-mode way of doing it and just couldn't make it work.
The difficult we do right away...
...the impossible takes slightly longer.
That's an impressive body of work by Rohitab Batra. However I see a lot of problems with that software suite. The XML files that contain the API structs, interface and other definitions will not match on some operating systems... depending on update/patch level. If you ran his software on 10,000 computers 'in the wild' you would find that a certain percentage of those may not completely match his XML descriptions. It would be much better if he downloaded symbols from the Microsoft symbol server and used the Debug Interface Access SDK[^] to extract that data from the PDB symbol files.
It is still an impressive piece of software and looks very useful for malware analysis and other debugging scenarios.
When it makes strange noises it is most probably a mechanic problem which can't be repaired. The only part of hard drives that can be repaired is replacing the electronics board. But that is usually more expensive than buying a new drive and makes only sense when you need to get some data from the drive.
I suggest to replace it immediately.
If you need to rescue data don't power it any more (plugout power and SATA connectors) and install a new drive. You may then connect the old drive it to another system and use a disk imager to create a low level copy of the drive. This might be transferred to the new drive but with the risk of already existing data corruption. The safe method would be installing your system from scratch. You can then mount the image and try to restore data.
When not using a disk imager you can also try to reconnect the disk and copy the data. But this will stress the drive more than using a disk imager.