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