Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
uyarı C30035: Başlatma işlevinin içinden yapılması gereken bir işleve çağrı yapıldı (örneğin, DriverEntry() veya DllInitialize()). PREfast, çağrının başlatma işlevinden yapılıp yapılmadığını belirleyemedi.
BANNED_MEM_ALLOCATION_MAYBE_BAD_CALL_SITE
Kod POOL_NX_OPTIN makroyla derlendi, ancak başlatma DriverEntry() veya DllInitialize()içinde gerçekleşmedi. Bunu düzeltmek için çağrıyı başlatma işlevinin içine taşıyın.
Örneği
Aşağıdaki kod bu uyarıyı oluşturur.
Kaynak dosyasında:
C_DEFINES=$(C_DEFINES) -DPOOL_NX_OPTIN=1
NTSTATUS
DriverEntry (
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
NTSTATUS status;
MakeSafeInitialization ();
…
}
void MakeSafeInitialization()
{
ExInitializeDriverRuntime(DrvRtPoolNxOptIn);
}
Aşağıdaki kod bu uyarıyı önler:
NTSTATUS
DriverEntry (
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)
{
NTSTATUS status;
ExInitializeDriverRuntime(DrvRtPoolNxOptIn);
…
}