Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Kernel Debugging | 9-13 Sept 2024 | Live, Online |
Developing Minifilters | 15-19 July 2024 | Live, Online |
Internals & Software Drivers | 11-15 Mar 2024 | Live, Online |
Writing WDF Drivers | 20-24 May 2024 | Live, Online |
Comments
Your filter (or whatever) or something else has started returning
STATUS_INVALID_FUNCTION.
Promon is your friend. Fire that up, find the precise IRP that causes the
problem and start reading code (or debugging it)
Rod
out that multiple native status codes can translate to
ERROR_INVALID_FUNCTION. According to winerror.exe:
1 ERROR_INVALID_FUNCTION <--> 0xc0000002 STATUS_NOT_IMPLEMENTED
1 ERROR_INVALID_FUNCTION <--> 0xc0000010 STATUS_INVALID_DEVICE_REQUEST
1 ERROR_INVALID_FUNCTION <--> 0xc000001c STATUS_INVALID_SYSTEM_SERVICE
1 ERROR_INVALID_FUNCTION <--> 0xc00000af STATUS_ILLEGAL_FUNCTION
1 ERROR_INVALID_FUNCTION <--> 0xc000029c STATUS_VOLUME_NOT_UPGRADED
1 ERROR_INVALID_FUNCTION <--> 0xc0000710
STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING
1 ERROR_INVALID_FUNCTION <--> 0xc0000711
STATUS_APC_RETURNED_WHILE_IMPERSONATING
1 ERROR_INVALID_FUNCTION <--> 0xc000071b
STATUS_CALLBACK_RETURNED_THREAD_PRIORITY
1 ERROR_INVALID_FUNCTION <--> 0xc000071d
STATUS_CALLBACK_RETURNED_TRANSACTION
1 ERROR_INVALID_FUNCTION <--> 0xc000071e STATUS_CALLBACK_RETURNED_LDR_LOCK
1 ERROR_INVALID_FUNCTION <--> 0xc000071f STATUS_CALLBACK_RETURNED_LANG
1 ERROR_INVALID_FUNCTION <--> 0xc0000720 STATUS_CALLBACK_RETURNED_PRI_BACK
1 ERROR_INVALID_FUNCTION <--> 0xc0000721
STATUS_CALLBACK_RETURNED_THREAD_AFFINITY
1 ERROR_INVALID_FUNCTION <--> 0xc0010001 DBG_NO_STATE_CHANGE
So you'll want to look for any of those in the Process Monitor output.
-scott
OSR
@OSRDrivers
-scott
OSR