Udostępnij za pośrednictwem


AfxIsValidAddress

Testy dowolny adres pamięci w celu zapewnienia, że znajduje się całkowicie w przestrzeni pamięci programu.

BOOL AfxIsValidAddress(
   const void* lp,
   UINT nBytes,
   BOOL bReadWrite = TRUE 
); 

Parametry

  • lp
    Wskazuje adres pamięci badane.

  • nBytes
    Zawiera liczbę bajtów pamięci badane.

  • bReadWrite
    Określa, czy pamięć jest zarówno do odczytu i zapisu (TRUE) lub tylko czytać (FALSE).

Wartość zwracana

W kompilacje debugowania różną od zera, jeśli zablokować pamięci określony znajduje się całkowicie w przestrzeni pamięci programu; 0 inaczej.

W kompilacjach do debugowania Jeśli niezerową lp nie jest równa NULL; 0 inaczej.

Uwagi

Adres nie jest ograniczone do bloków alokowanych przez Nowy.

Przykład

// Allocate a 5 character array, which should have a valid memory address.
char* arr = new char[5];

// Create a null pointer, which should be an invalid memory address.
char* null = (char*)0x0;

ASSERT(AfxIsValidAddress(arr, 5));
ASSERT(!AfxIsValidAddress(null, 5));

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

AfxIsMemoryBlock

AfxIsValidString

Koncepcje

Makra MFC i Globals