在我使用迷你过滤器之前,我将PUCHAR改为wchar_t *,然后使用GetWC将其改为char*,如下所示:
wchar_t* GetWC(const char* c)
{
long cSize = strlen(c) + 1;
wchar_t* wc = ExAllocatePool(POOL_FLAG_NON_PAGED, cSize);
if (!wc)
{
return NULL;
}
mbstowcs(wc, c, cSize);
return wc;
}
wchar_t* pathwchart = GetWC((char*)ntpath);
但是现在我使用Minifilter,当我在Minifilter的CallBacks中使用ExAllocatePool时,它会在蓝屏上返回一个SYSTEM_SERVICE_EXCEPTION 0X3B错误,那么我如何在Minifilter中将PUCHAR转换为PWCHAR。
发布于 2021-03-07 17:48:39
wchar_t* GetWC(const char* c) {
long cSize = strlen(c) + 1;
wchar_t* wc = ExAllocatePool2(POOL_FLAG_PAGED, cSize,"TAGHERE");
if (!wc)
{
return NULL;
}
mbstowcs(wc, c, cSize);
return wc; }
只需将页面更改为ExAllocatePool2和ExAllocatePool标志,即可解决此问题
https://stackoverflow.com/questions/66514446
复制相似问题