|
Well I was getting ahead of myself when I said that stuff. I'm not going to lie, I started out 100% fresh to wdf, and this is probally going to take me a lot of time since I need to learn everything. So I don't know yet...
Right now I have a lowly goal of getting an "empty" driver that will print debug messages when my GUI app sends the appropriate irp. And at this very moment, I've blown my mind at why OSR Loader cannot start my service. OSRLoader says: "The Driver has been blocked from loading".
Im guessing my driver code is incomplete, maybey missing a required function... (dunno the lingo)
heres my header, would I need anything else to get my service to start/stop?
#if !defined(_MEMORYREADER_H_)<br />
#define _MEMORYREADER_H_<br />
<br />
#include <ntddk.h><br />
#include <wdf.h><br />
<br />
#define __DRIVER_NAME "MR: "<br />
<br />
typedef struct _DEVICE_CONTEXT {<br />
WDFQUEUE IoDefaultQueue;<br />
} DEVICE_CONTEXT, *PDEVICE_CONTEXT;<br />
<br />
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(DEVICE_CONTEXT, GetDeviceContext);<br />
<br />
<br />
NTSTATUS<br />
DriverEntry(<br />
IN PDRIVER_OBJECT DriverObject, <br />
IN PUNICODE_STRING RegistryPath<br />
);<br />
<br />
NTSTATUS<br />
EvtDriverDeviceAdd(<br />
IN WDFDRIVER Driver,<br />
IN PWDFDEVICE_INIT DeviceInit<br />
);<br />
<br />
NTSTATUS<br />
EvtDevicePrepareHardware(<br />
IN WDFDEVICE Device,<br />
IN WDFCMRESLIST ResourceList,<br />
IN WDFCMRESLIST ResourceListTranslated<br />
);<br />
<br />
VOID<br />
EvtDeviceIoDefault(<br />
IN WDFQUEUE Queue,<br />
IN WDFREQUEST Request<br />
);<br />
<br />
NTSTATUS<br />
EvtDeviceD0Entry(<br />
IN WDFDEVICE Device,<br />
IN WDF_POWER_DEVICE_STATE PreviousState<br />
);<br />
<br />
NTSTATUS<br />
EvtDeviceD0Exit(<br />
IN WDFDEVICE Device,<br />
IN WDF_POWER_DEVICE_STATE TargetState<br />
);<br />
<br />
#endif //(_MEMORYREADER_H_)<br />
<br />
Does OSR Loader work properly with Vista x64? If it does I would love a working example of a basic driver.
|
|
|
|
|
|
What a great sample, seems to be exactly what I need! So if my driver calls DriverEntry it is operating in PASSIVE_LEVEL? Is this still in ring-0?
|
|
|
|
|
Mattzimmerer wrote: So if my driver calls DriverEntry
Your Driver does not call DriverEntry, The OS does that.
Mattzimmerer wrote: Is this still in ring-0
That depends on from what level the OS calls the driver.
Read the WHOLE article, not just the sample, and most of your questions will be answered.
Bram van Kampen
|
|
|
|
|
Hello all im new to this please could you help me out.
Iv got a few questions i need answering and have searched everywhere and this is my last resort i would appreciate any help thank you very much.
Programming methods to read data from / write data to a USB port in C++
1 Review of the programming methods to read data from/write data to a USB port
2 Main applications.
3 Different programming methods for using USB ports for data transmission.
4 Advantages and disadvantages of different programming methods for data transmission via USB ports.
5 Working principle of a USB port.
6 Specifications of a USB port.
7 Main commands for operation of a USB port.
Thank you
modified on Friday, December 25, 2009 6:01 PM
|
|
|
|
|
What did your literature search turn up? Out of that do you have a specific question?
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Writing to USB is not like writing to a serial or parallel port. The manufacturer of your USB device provides you with a driver that is installed and that driver exposes the USB as "something" to the rest of the system ... maybe a hard drive, maybe a serial port, maybe a custom widget, maybe a mouse. The manufacturer / driver dictates how you talk to the device based on the method of communication they have chosen to expose.
Judy
Be wary of strong drink. It can make you shoot at tax collectors - and miss.
Lazarus Long, "Time Enough For Love" by Robert A. Heinlein
|
|
|
|
|
Ubid007 wrote: Programming methods to read data from / write data to a USB port in C++
ReadFile() and WriteFile() can do 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
|
|
|
|
|
Hi, I have a window that uses glass. I use DwmEnableBlurBehindWindow to enable the glass effect. (DwmExtendFrameIntoClientArea is not enough for me because it doesn't work for simple window with no frame). I use a 32-bit bitmap for the background and I control the opacity of the window through the alpha channel.
I have a pager control in my window and a toolbar control inside the pager. I don't want the pager or the toolbar to have any transparency. The rectangular area of the background bitmap behind them is fully opaque.
The problem is that any non-white pixel drawn by the pager or the toolbar become transparent (punch a whole in my opaque background). Black pixels become fully transparent, and 50% gray become 50% transparent. I guess the reason is that GDI sets the alpha channel based on the brightness of the color.
After some research I was able to fix the toolbar by drawing it in a buffered bitmap, then setting the bitmap alpha to 255 with BufferedPaintSetAlpha . The pager however is not so simple. It draws its buttons on its non-client area, and does so not only on WM_NCPAINT but on mouse messages and at other inconvenient times. There is no owner-draw or custom-draw system for pager controls.
So. Ideally I want to make a rectangular portion of my top window 100% opaque no matter what is drawn on it later. Next best thing would be a way to override the drawing of the pager control.
Any ideas?
Thanks
Ivo
|
|
|
|
|
Hi,
How to get temp folder path?
|
|
|
|
|
Did Google break down on you? this [^] is amongst the first hits for: How to get temp folder path? .
|
|
|
|
|
Hello,
Does anyone know a good beginner's tutorial in
programming?
Desirably it should have some nice examples of programs.
THanks,
ab.
|
|
|
|
|
|
>> you know better than anyone what are you interested on, so...
still you can omit the 'good' one.
|
|
|
|
|
Searching for another thing I found this link[^]
I have liked it because it talks about different things and seems ok (didn't read anything it in detail, jut did an overview), taking a look can be worthy.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Yes, but have you decided on the programming language yet?
“Follow your bliss.” – Joseph Campbell
|
|
|
|
|
Hey rajesh.
sorry for a delay. Would you be able to answer my question if I don't mention the
programming language? e.g., maybe smth. just indicating programming principles.
etc. nice examples. in pseudo code. etc.
If no, okay, let's take C/C++
|
|
|
|
|
|
I think I had code complete first edition. Is the second one much better than the first one?
|
|
|
|
|
Is Italy void of any bookstores? Browse through any of them and I'd guess you'd come away with no fewer than a dozen "programming" books.
"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
|
|
|
|
|
well.. recursively speaking yes..there is indeed.
But If there is no any other source than books matching my needs, than okay..
|
|
|
|
|
In my function i used like this
void SendActiveData()
{
CTrans tData;
CTrans cData[50];
CMainFrame* tFrm ;
tFrm->tId = 0;
i added header file of both class.But why in Cmainframe it shows undefined value.in watch window i get value for
tData :
(int)tFrm 98237468 int
tFrm:
(int)tData 98236684 int
Because in this fucntion i can use function declared in CTrans,it doesnot show any error.But the fuctions used in CMainframe,it shows error.
Why?
Anu
|
|
|
|
|
One reason could be, because you are creating a pointer to a CMainFrame, but you are not connecting it to your own MainFrame. If you overload methodes or have added variables in your own one, the main class you are pointing doesn't have to know it. In MFC I would make:
CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
Hope it helps you.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
modified on Friday, December 25, 2009 7:19 AM
|
|
|
|
|
By using like as u said,now its working fine.Very very thanks.
Anu
|
|
|
|
|
You are welcome
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|