C30034
警告 C30034:將旗標值傳遞至配置函式,可能會導致配置可執行記憶體。 請確認配置函式未要求可執行的非分頁集區形式。
BANNED_MEM_ALLOCATION_MAYBE_UNSAFE
已找到可能配置可執行非分頁集區的函式呼叫。 使用的參數表示產生的配置實際上可能是非可執行檔,但判斷這不太可能,而且已配置可執行記憶體。 最常見的是採用選擇性配置函式做為參數的函式。
例子
下列程式代碼會產生這個警告,因為它不知道 pAllocate 是否設定指定的類型 - 在這個第四個參數中, (0,這是可執行檔) ,或者配置類型是從 pAllocate 中設定。
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
0,
size,
tag,
depth);
下列程式代碼可避免此警告:
ExInitializeNPagedLookasideList( pLookaside,
pAllocate,
pFree,
POOL_NX_ALLOCATION,
size,
tag,
depth);