Udostępnij za pośrednictwem


_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.

Zobacz też

Informacje

Debugowania procedur