다음을 통해 공유


_execute_onexit_table, , _initialize_onexit_table_register_onexit_function

종료 시 호출할 루틴을 관리합니다.

구문

int _initialize_onexit_table(
    _onexit_table_t* table
    );

int _register_onexit_function(
    _onexit_table_t* table,
    _onexit_t        function
    );

int _execute_onexit_table(
    _onexit_table_t* table
    );

매개 변수

table
[in, out] 함수 테이블에 대한 onexit 포인터입니다.

function
[in] 함수 테이블에 추가할 함수에 대한 onexit 포인터입니다.

반환 값

성공하면 함수는 0을 반환합니다. 그렇지 않으면 음수 값을 반환합니다.

설명

이러한 함수는 C 런타임을 지원하는 데 사용되는 인프라 구현 세부 정보이며 코드에서 직접 호출해서는 안 됩니다. C 런타임은 함수 테이블을 사용하여 onexit 호출atexitat_quick_exit_onexit에 의해 등록된 함수의 시퀀스를 나타냅니다. onexit 함수 테이블 데이터 구조는 C 런타임의 불투명한 구현 세부 정보입니다. 해당 데이터 멤버의 순서와 의미는 변경 될 수 있습니다. 외부 코드에서 검사해서는 안 됩니다.

함수는 _initialize_onexit_table 함수 테이블을 초기 값으로 초기화합니다 onexit . 함수 테이블을 전달하기 전에 onexit 이 함수를 _register_onexit_function _execute_onexit_table호출해야 합니다.

함수는 _register_onexit_function 함수 테이블의 끝에 함수를 onexit 추가합니다.

함수는 _execute_onexit_table 함수 테이블의 모든 함수를 onexit 실행하고 테이블을 지우고 반환합니다. 호출 _execute_onexit_table후 테이블은 유효하지 않은 상태입니다. 다시 사용되기 전에 호출을 _initialize_onexit_table 통해 다시 초기화해야 합니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

루틴에서 반환된 값 필수 헤더
_initialize_onexit_table, , _register_onexit_function_execute_onexit_table C, C++: <process.h>

_initialize_onexit_table, _register_onexit_function_execute_onexit_table 함수는 Microsoft 전용입니다. 호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

atexit
exit, , _Exit_exit
_onexit, _onexit_m