Funzione IsBadCodePtr (winbase.h)
Determina se il processo chiamante ha accesso in lettura alla memoria in corrispondenza dell'indirizzo specificato.
Sintassi
BOOL IsBadCodePtr(
[in] FARPROC lpfn
);
Parametri
[in] lpfn
Puntatore a un indirizzo di memoria.
Valore restituito
Se il processo chiamante ha accesso in lettura alla memoria specificata, il valore restituito è zero.
Se il processo chiamante non ha accesso in lettura alla memoria specificata, il valore restituito è diverso da zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Se l'applicazione viene compilata come versione di debug e il processo non ha accesso in lettura al percorso di memoria specificato, la funzione causa un'asserzione e si interrompe nel debugger. Lasciando il debugger, la funzione continua come di consueto e restituisce un valore diverso da zero. Questo comportamento è previsto per impostazione predefinita, come aiuto per il debug.
Commenti
In un ambiente multitasking preemptive, è possibile che altri thread modifino l'accesso del processo alla memoria testata. Anche quando la funzione indica che il processo ha accesso in lettura alla memoria specificata, è consigliabile usare la gestione delle eccezioni strutturata quando si tenta di accedere alla memoria. L'uso della gestione delle eccezioni strutturate consente al sistema di notificare al processo se si verifica un'eccezione di violazione di accesso, consentendo al processo di gestire l'eccezione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |