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?
I went out to Dell's site and ran their diagnostic program on my machine. It had two recommendations: one for the WiFi adapter, and the other for the BIOS. I don't use WiFi, so I opted for the BIOS update. Since installing, the DVD drive has remained intact.
"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.
Microsoft has made some private symbols available to some ISV and partner programs after signing NDA and some special agreements. There is also the 'https://codepremium.msdn.microsoft.com/symbols' private symbol server made available through the shared source initiative[^].
I took a brief look at his software package and was immediately impressed. It would be a great tool for sandbox automated malware analysis. However it is severely lacking in one single area... the function signatures in his XML files will not match on all operating systems. To make matters worse... he does't even mention which OS/Patch level those definitions match.
If he would author a tool for generating those function and type definitions using the Debug Interface Access SDK[^] it would be a much better tool. It would allow his software to perfectly match the machine it is running on regardless of Update/Patch level.