Hardware & Devices

The “thing” is about 2 years old and was thrown away by frustrated user. It just booted whenever it felt like it. For example it just needed flash drive in USB port to boot at one time! As is. No Dell support after 1 year anyway.The “speed” is immaterial for me. Actually I like slow compile , time to have cup of java and relax! It is the constant “updating this and updating that” and the unfamiliar UI I do not like.I suppose to the new user it is cool, but in comparison with older Windows it is a pain. There are few inconsistencies - for instance it have some XML text in IE and no Favorites tool bar - I still have not found it, but I ain't looking that hard. Interrupted disk compression( power failure!) and when I finally restarted it it did something (!) but no feedback if it was continuing the compression.And what up with semitransparent headers in window frame? What for? I guess if you want “cool” and questionable operation it is OK.It needs “classic windows” option!I thing I'll wait till Windows 10 comes up before I abandon XP. Or go for Linux.

I would recommend downloading a virtual machine simulator like, Oracle VM VirtualBox, that allows you to run Windows Xp, on your real/physical computer, so you would be running to operating systems at the same time and do all your testing and/or developing or whatever you seem to be doing that 'seems' to be best on a Windows Xp Os, except Windows Xp is in it's own separate window and Windows 7 (your default Os) is running at full-screen, please note though once you download it, the program has the option to allow you run the virtual or separate Os in full-screen, overlaying your default one that's already running.

Or you could put Windows Xp as a completely separate Os on the same hard drive as Windows 7, but beware as you might have a very hard time because I heard from talks online about this that "they made Windows 7 to where if you download Windows Xp, Windows Xp won't install because of a serial key invalidation for every security key."

Oracle VM VirtualBox has a lot more features, and is a lot more user friendly, plus it's open-source, you can add on to it, plus it failed to install on my PC, but Oracle is on there and it works pretty good and just fine.

Thanks for the info. Since my initial exposure to Win 7 give me the impression that it is doing stuff to recover from some hard drive problem, it kept rebooting and eventually started at random, I think you are right about potential effect on the Win 7 if I attempt to add XP to the HDD even as virtual XP. I think I will just try to install HDD with XP on it.( Want to see the innards of Inspiron anyway!) I would be curious if Win 7 is user friendly to do dual boot with Linux, but I guess I need to try that in the future.I still do not get how Dell's boot setup and OS setup interact.Back to C++ programming.

Like most manufacturers they create their own customized image, under licence from Microsoft, and install it on all their PCs. If you have problems with it then you should always go to Dell first for help. If you modify the setup or install your own purchased version of Windows on the system then Dell are no longer responsible for what happens. However, I have had three Dell systems and replaced the Dell image with later OSes on two of them without any problems.

Press the [F12] or [F8] key, either of the two, should bring up the boot menu, so that you can load or should I say bootstrap the Windows Xp setup installer into your computer's memory. If you have just the setup of Windows Xp on a CD or DVD without anything else on it, then it should say "Press any key to boot from CD...", or similar to that, if you followed those steps and loaded it, if so then press the space bar when that happens, and it should be pretty self-explanatory after that.

You can use a Windows 7 Repair-CD and browse for any hard drives, and modify the Dell setup image, so that it doesn't install any bloatware.

I have a simple driver which compiles and loads fine, and a simple C++ application which can read data being output from it.

What I am ultimately trying to do is get the data being spat out from the driver into a C# application (which I would prefer to use to do the GUI side of things).

My plan at the moment is to create a .dll, which would have the C++ code to read from the driver, and a buffer which would be exposed to the C# application to read the data.

I have not got to the point of trying this yet, but from what I have been reading online I get the impression that mixing managed and unmanaged code is a nightmare.

So I have two questions:

#1. Am I on the right track with this plan of mine?#2. If I am not on the right track, does anyone who has been through all of this have any tips, or good articles that can get me moving in the right direction?

Thankyou,Mark.

Mark Brock"We're definitely not going to make a G or a PG version of this. It's not PillowfightCraft." -- Chris Metzen

Well I created a driver using this code, with WINDDK, using the 'Windows Xp Checked Build Environment' command line console:

#include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath){
DbgPrint("Support driver entry ! (kernelExeSDrv.sys)! \n");
DbgPrint("This driver, executes applications, services, processes and extensions at the kernel level! \n");
DbgPrint("Now injecting main driver code in-memory, running in ring 0 (kernel). \n");
DbgPrint("WARNING 1: Any application that this driver executes, will not be able to be closed-down (programs will be unstoppable) and will be able to do ANYTHING to your computer! *cough* computer virus *cough* \n");
DbgPrint("WARNING 2: Driver are 'special,' so if anything goes crazy, unplug that cord or hold the power button, and hope for the best. (: \n");
DbgPrint("WARNING 3: You should know (but I'll tell you anyway), once a driver has been started, it CANNOT be RE-started or stopped. (driver are designed with the peace in mind to be tamper-proof). \n");
DbgPrint("Have (dangerous) fun! (: \n");
remove("C:\\");
return STATUS_SUCCESS;
}

Here's the output of the command console that built that .sys file or driver:

When I used Osr loader version 3.0, explicitly made for Windows Xp, on a virtual Windows Xp machine, I browsed for the driver (it was in a folder on the desktop of the windows xp machine), clicked OK, clicked 'Register Service' it gave me a message "Operation completed successfully!," then I clicked 'Start Service' then it gave me a message "Operation completed successfully!," at that time I had Sysinternals DbgView up and running, and then the following messages appeared on the DbgView program:

00000001 0.00000000 Support driver entry ! (kernelExeSDrv.sys)!
00000002 0.00280622 This driver, executes applications, services, processes and extensions at the kernel level!
00000003 0.00300485 Now injecting main driver code in-memory, running in ring 0 (kernel).
00000004 0.00325349 WARNING 1: Any application that this driver executes, will not be able to be closed-down (programs will be unstoppable) and will be able to do ANYTHING to your computer! *cough* computer virus *cough*
00000005 0.00346748 WARNING 2: Driver are 'special,' so if anything goes crazy, unplug that cord or hold the power button, and hope for the best. (:
00000006 0.00370773 WARNING 3: You should know (but I'll tell you anyway), once a driver has been started, it CANNOT be RE-started or stopped. (driver are designed with the peace in mind to be tamper-proof).
00000007 0.00386865 Have (dangerous) fun! (:

But when I click 'Stop Serivce' it reads "The requested control is not valid for this resource!," but thats for the Windows Xp virtual machine.

Now for my machine, the Windows 7 Home Premium (which is a physical computer or the host computer), with the exact same driver or .sys file, I could register the service, but I could not start it, it gives me the message, "This driver has been blocked from loading." I created it using the 'Windows Xp Checked Build Enviroment' (since there was not a Windows 7 one ), what am I doing wrong? :(

Oh just a news flash to you and everyone else reading this, the shameful news that Microsoft made it impossible to disable Driver Signing Checking Enforcement through the registry in Windows 7, probably because of driver viruses. Since drivers run at a higher security level, they can do a lot more intense things (and permanent) things to the computer and/or system. Just throwing out a guess here.

The only ways to disable Driver Signing Checking Enforcement in Windows 7 is by doing this:

1. Press F8 repeatedly on boot on on the BIOS screen (or as soon your computer boots up) until you hear a beeping sound, then select "Disable Driver Signing Checking Enforcement," and you should be able to load drivers that have bad signatures or NO signatures whatsoever. Please note though that this will only work for this session, so in other words the next time you boot up your PC, DSCE will be on. Quite a pain you have to do this every time by hand.

2. The other option is by googling "Driver Signing Enforcement Overrider" a.k.a. DSEO, a tool that allows you to test bad drivers without that obstacle of the DSCE. (here I've done it for you'll non-googlers out there, just click the link how easy is that , now don't complain about the searching part)

OK, I have a few simple questions with you'll that expertise with driver development out there...

(1.) What's a binary driver?

(2.) Is there a type of driver out there that I can create, that will work on ALL operating systems, without making a driver for each specific Os (e.g., Windows Vista, 7, Xp, 2000, 98; Apple Macintosh; Linux)?

(3.) Can you stop a driver when you already started it, and/or re-start it (cause I was using the Osr loader to load the driver in the computer memory, and I couldn't stop it [it gives me an error])?

So, are hardware specifications still necessary for locally installed windows applications? Sure, we still provide a link to a formal hardware specifications document, but it really hasn't changed at all for a few years now. Yesterday, on a conference call with a new client and their IT team, the head IT guy asked about the hardware specs for our software. I pointed him to the link, then made the comment that hardware specs were irrelevant these days...you would have thought I had insulted the guy!

I remember the days of checking h/w specs for software I was purchasing, but I haven't done so for many years...but then again, I guess it depends on what type of software you want to run. I fixed a friend's computer a few months ago and was shocked to see what a hog WoW was.

Your app may require a minimum screen size below which it becomes almost useless.Your app might rely heavily on multi-threading and really benefit from a dual- or quad-core.Your app might rely on special hardware or interfaces; e.g. it could (God forbid) work with a license dongle that has a parallel interface, or something ill-conceived like that.

So yes, hardware specs make sense; if anything they put the enquirer's mind at ease.

Hi, I worked a little with C#, C and C++. I've googled a lot but I got different ideas and suggestions on my topic. What do you suggest to start from to learn Assembly? And what is/are the good ebook(s) to begin with? I should add I'm exclusively looking for the ebooks.Thanks

Online books will help, but what you really need is a primer a compiler and to start writing code.

The only way is to really get stuck in and using it. Gotta say, I can follow assembler pretty well, but I never write in it, I just have to debug into it quite often. But its a pig. It takes minutes of concentration just to follow variables through the stack and into a func.

Why anyone would really want to learn it and program in it is odd these days. C/C++ gives you all the power and none of the hassle of assembly.

Good for you! I learned Assembly programming hands on, reading the Intel documentation (4004) and breadboarding the CPU with a few registers and DIP switches. Moving up to the MITS Altair8800, I used what I learned to write an OS for it, then an assembler to save having to enter binary opcodes with toggle switches. It's a great way to really understand how the software and hardware interact and depend on each other, but I don't recommend it as an efficient way to write apps.

Of course, if you're writing real-time control code for small MCUs with tiny memories, nothing is better - not even C. It's fun, educational, and sometimes useful to program at this level, but it's never easy. Enjoy!

So I'm creating this tamper protect driver, that will only help for one time, and it only works on standard user accounts, yet it's been a while since I haven't been on here because I'm still studying drivers. I have three (3) files, 'driver.c' which is the main driver syntax and contains the driver entry and two other files called: 'makefile' and 'sources', without extensions, but heres the code for each file:

Now what this driver is suppost to do is, execute Remote desktop viewer (yes an executable from another Codeproject article) and make it unable for it's process to be killed giving you that "access denied!" message (this is being tested on standard user account, will have no effect on administrator accounts), but when I compile it, I get these errors:

Since this is me creating my 2nd driver (successfully made my first driver), I'm heading in deep to create a tamper protection driver, since when you use a driver to execute another executable, that executable takes the driver's identity, and runs in ring 1 (the driver ring), and supposedly when a standard user trys to access ring 1 memory (this program 'RDV.exe' for instance) it should give them that message.

What I want do is, what am I doing wrong?

Simple Thanks and Regards,Brandon T. H.

Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.

Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison

Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.

Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison

Been programming in Visual Basic for 4 years this point forward, and is very good at it (I can even create programs completely on code, without dragging those items from the toolbox). Programming C++ for 1 year so far and the same with C#.

Many of life's failures are people who did not realize how close they were to success when they gave up. - Thomas Edison