isBadCodePtr 函式 (winbase.h)

判斷呼叫進程是否具有指定位址記憶體的讀取許可權。

重要 此函式已過時,不應使用。 儘管其名稱,但並不保證指標有效,或指向的記憶體是安全的使用。 如需詳細資訊,請參閱此頁面上的。
 

語法

BOOL IsBadCodePtr(
  [in] FARPROC lpfn
);

參數

[in] lpfn

記憶體位址的指標。

傳回值

如果呼叫進程具有指定記憶體的讀取許可權,則傳回值為零。

如果呼叫進程沒有指定記憶體的讀取許可權,則傳回值為非零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

如果應用程式編譯為偵錯版本,而且進程沒有指定記憶體位置的讀取許可權,函式就會造成判斷提示並中斷至調試程式。 離開調試程式,函式會如往常一樣繼續,並傳回非零值。 此行為是設計上的,做為偵錯輔助功能。

備註

在先佔式多任務環境中,有些其他線程可能會變更進程對所測試記憶體的存取權。 即使函式指出進程具有指定記憶體的讀取許可權,您也應該在嘗試存取記憶體時使用結構化例外狀況處理。 使用結構化例外狀況處理可讓系統在發生存取違規例外狀況時通知進程,讓進程有機會處理例外狀況。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr