Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

FilterGetMessage receives MessageId null

Sergey_PisarevSergey_Pisarev Member - All Emails Posts: 148
Hello !
In my driver I send notification to user mode:
LARGE_INTEGER timeout;

timeout.QuadPart = -100000000; //10 seconds

stat = send_message_to_um(&rr, sizeof(rr), &timeout);


NTSTATUS send_message_to_um(void* send_buffer, ULONG send_buffer_length, PLARGE_INTEGER timeout)

{

ULONG reply_buffer_length(0);

return FltSendMessage(get_driver()->get_filter(),

&driver_with_communication_port::client_port,

send_buffer,

send_buffer_length,

0,

&reply_buffer_length,

timeout);

}

In user mode FilterGetMessage returns success but MessageId is null:
res = FilterGetMessage(port,

&um_rr.hdr,

sizeof(um_rr.hdr) + sizeof(um_rr.ren_rep),

0);

My custom data in message are ok, only common header is zeroed.

Any ideas what can be the problem ?

Comments

  • Sergey_PisarevSergey_Pisarev Member - All Emails Posts: 148

    I solved my problem by requesting dummy reply in FltSendMessage. I set reply buffer to &dummy instead of 0.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Developing Minifilters 29 July 2019 OSR Seminar Space
Writing WDF Drivers 23 Sept 2019 OSR Seminar Space
Kernel Debugging 21 Oct 2019 OSR Seminar Space
Internals & Software Drivers 18 Nov 2019 Dulles, VA