There are functions where the DDK specifies that the caller must be at
passive level. For example:
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
Is the DDK inaccurate here? Should it actually state that the caller must be
running at IRQL < DISPATCH_LEVEL or are there some restrictions of APC level
that are effecting these functions (and if so what are these limitations)?
I hope this is just a documentation oversight, otherwise I’m going to have
to jump through hoops for my minifilter preop callback routines.
Keith
> Is the DDK inaccurate here? Should it actually state that the caller must
be running at IRQL < DISPATCH_LEVEL or are there some restrictions of APC
level that are effecting these functions (and if so what are these
limitations)?
I hope this is just a documentation oversight, otherwise I’m going to
have to jump through hoops for my minifilter preop callback routines.
I think (IRQL < DISPATCH_LEVEL) would be more appropriate. As far as I know, the Unicode case-tables are in PagedPool and that’s why many of the functions working with Unicode-ANSI-conversion, for example, cannot be called from DISPATCH_LEVEL and higher.
But there should be nothing - at least I am not aware of it - that keeps you from calling it at APC level.
Regards,
Oliver
May the source be with you, stranger 
ICQ: #281645
URL: http://assarbad.info | http://windirstat.info | http://blog.assarbad.info
“Oliver Schneider” wrote in message
news:xxxxx@ntfsd…
>> Is the DDK inaccurate here? Should it actually state that the caller must
>> be running at IRQL < DISPATCH_LEVEL or are there some restrictions of APC
>> level that are effecting these functions (and if so what are these
>> limitations)?
>>
>> I hope this is just a documentation oversight, otherwise I’m going to
>> have to jump through hoops for my minifilter preop callback routines.
> I think (IRQL < DISPATCH_LEVEL) would be more appropriate. As far as I
> know, the Unicode case-tables are in PagedPool and that’s why many of the
> functions working with Unicode-ANSI-conversion, for example, cannot be
> called from DISPATCH_LEVEL and higher.
> But there should be nothing - at least I am not aware of it - that keeps
> you from calling it at APC level.
Thanks Oliver. That at least makes two of us that believe that these
functions should also work at APC level. Indeed, Don Burn also gave his
opinion on the subject back in 2003, saying that these Rtl Unicode functions
“should probably be ok”: http://www.osronline.com/showThread.cfm?link=54130.
I wonder if there’s any chance of getting the documentation corrected?
Keith