RtlUnicodeStringToAnsiString中第三个参数引发的bsod

RtlUnicodeStringToAnsiString这个函数的第三个参数指定是否分配内存空间,若该参数为TRUE则分配,FALSE则不分配


若我们没有在代码中给dest的ANSI_STRING结构体分配内存,即没有使用以下代码

ANSI_STRING astrString = {0};

astrString.Buffer = (PSTR)ExAllocatePool(PagedPool, 1024);

astrString.MaxBufferLength = 1024;

则调用该函数时第三个参数必须指定为TRUE, 否则会导致BSOD

 

posted @ 2017-02-16 01:12  debugme  阅读(932)  评论(0编辑  收藏  举报