_CrtIsValidPointer
Weryfikuje, że zakres pamięci określony jest prawidłowa dla odczytu i zapisu (tylko wersja debugowania).
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
Parametry
adres
Punkty na początek zakresu pamięci, aby sprawdzić ważność.size
Rozmiar zakresu określonego pamięci (w bajtach).dostęp
Dostępność do odczytu i zapisu do określenia zakresu pamięci.
Wartość zwracana
_CrtIsValidPointerZwraca wartość PRAWDA, jeśli zakres pamięci określony jest prawidłowy dla określonej operacji lub operacji.W przeciwnym wypadku funkcja zwraca wartość FALSE.
Uwagi
_CrtIsValidPointer Funkcja weryfikuje, że zakres pamięci, począwszy od adres i rozszerzenia dla size bajtów jest prawidłowy dla dostępności określonych operacji lub operacji.Gdy dostępu jest ustawiona wartość TRUE, zarówno czytania i pisania jest weryfikowana zakresu pamięci.Gdy adres ma wartość FALSE, zakres pamięci jest sprawdzana tylko do odczytu.Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtIsValidPointer są usuwane w czasie wstępnego przetwarzania.
Ponieważ ta funkcja zwraca wartość PRAWDA lub FAŁSZ, mogą być przekazywane do jednego z _ASSERT makra, aby utworzyć prosty błąd debugowania mechanizmu obsługi.Poniższy przykład powoduje błąd potwierdzenia, jeśli zakres pamięci nie jest prawidłowy dla zarówno odczytywania i zapisywania operacji:
_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );
Aby uzyskać więcej informacji dotyczących sposobu _CrtIsValidPointer może być używany z innymi funkcjami debugowania i makr, zobacz Za pomocą makra dla weryfikacji i sprawozdawczości.Informacje o jak bloków pamięci są przydzielane, zainicjowany i zarządzane w wersji debugowej bazowy sterty, zobacz Zarządzanie pamięcią i debugowania sterty.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
---|---|
_CrtIsValidPointer |
<crtdbg.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Biblioteki
Debug wersje biblioteki uruchomieniowej c tylko.
Przykład
Zobacz przykład dla _CrtIsValidHeapPointer tematu.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.