_CrtDoForAllClientObjects
힙의 모든 _CLIENT_BLOCK
형식에 대해 애플리케이션에서 제공하는 함수를 호출합니다(디버그 버전에만 해당).
구문
void _CrtDoForAllClientObjects(
void ( * pfn )( void *, void * ),
void *context
);
매개 변수
pfn
애플리케이션에서 제공하는 함수 콜백 함수에 대한 포인터입니다. 이 함수에 대한 첫 번째 매개 변수는 데이터를 가리킵니다. 두 번째 매개 변수는 _CrtDoForAllClientObjects
에 대한 호출로 전달되는 컨텍스트 포인터입니다.
context
애플리케이션에서 제공하는 함수에 전달되는 애플리케이션에서 제공하는 컨텍스트에 대한 포인터입니다.
설명
_CrtDoForAllClientObjects
함수는 형식이 _CLIENT_BLOCK
인 메모리 블록의 힙 연결 목록을 검색하고 이 형식의 블록을 찾으면 애플리케이션에서 제공한 함수를 호출합니다. 찾은 블록과 context
매개 변수는 애플리케이션에서 제공하는 함수에 인수로 전달됩니다. 디버깅 중 애플리케이션은 디버그 힙 함수를 호출하여 메모리를 할당하고 해당 블록에 _CLIENT_BLOCK
블록 유형을 할당하도록 지정하여 특정 할당 그룹을 명시적으로 추적할 수 있습니다. 그런 다음 이러한 블록을 개별적으로 추적하여 누수 검색 및 메모리 상태 보고 시 다르게 보고할 수 있습니다.
플래그의 _CRTDBG_ALLOC_MEM_DF
비트 필드가 _crtDbgFlag
켜져 _CrtDoForAllClientObjects
있지 않으면 즉시 반환됩니다. 정의되지 않은 경우 _DEBUG
전처리 중에 호출 _CrtDoForAllClientObjects
이 제거됩니다.
_CLIENT_BLOCK
형식과 다른 디버그 함수에서 이 형식을 사용하는 방법에 대한 자세한 내용은 디버그 힙의 블록 형식을 참조하세요. 기본 힙의 디버그 버전에서 메모리 블록을 할당, 초기화 및 관리하는 방법에 대한 자세한 내용은 CRT 디버그 힙 세부 정보를 참조 하세요.
이 경우 pfn
매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출NULL
됩니다. 실행을 계속할 errno
수 있으면 , , _sys_errlist
_doserrno
및 _sys_nerr
로 설정 EINVAL
되고 함수가 반환됩니다.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
_CrtDoForAllClientObjects |
<crtdbg.h>, <errno.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
라이브러리: 디버그 버전의 유니버설 C 런타임 라이브러리만 해당합니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기