다음을 통해 공유


함수 동작에 주석 지정

주석을 추가 하는 것 외에도 함수 매개 변수 및 반환 값, 속성 전체 함수에 주석을 달 수 있습니다.

함수 주석

다음 주석 전체 함수에 적용 하 고 행동 또는 true가 되기 위해 필요한 기술 합니다.

주석

설명

_Called_from_function_class_(name)

단독 아닙니다. 대신 사용할 수 있는 조건자 수는 _When_ 주석.자세한 내용은 주석 적용 시기 및 위치 지정을 참조하십시오.

name 매개 변수는 또한 표시 되는 임의의 문자열에 _Function_class_ 의 일부 함수 선언에 주석을. _Called_from_function_class_현재 분석 중인 함수를 사용 하 여 주석이 지정 되지 않으면 0이 아닌 반환 _Function_class_ 의 동일한 값을 갖는 name. 그렇지 않으면 0을 반환 합니다.

_Check_return_

반환 값에 주석을 달아 하는 호출자를 검사 해야 합니다.Void 컨텍스트에서 함수를 호출 하는 경우는 검사 오류가 보고 됩니다.

_Function_class_(name)

name 매개 변수는 사용자가 지정 하는 임의의 문자열입니다.다른 네임 스페이스에서 다른 네임 스페이스에 존재 합니다.함수, 함수 포인터 또는-가장 유용 하 게-함수 포인터 형식이 하나 이상의 함수 클래스에 속하는 것으로 지정할 수 있습니다.

_Raises_SEH_exception_

에 항상 구조적된 예외 처리기 (SEH) 예외를 발생 시키는 함수에 주석을 달아 _When_ 및 _On_failure_ 조건.자세한 내용은 주석 적용 시기 및 위치 지정을 참조하십시오.

_Maybe_raises_SEH_exception_

에 SEH 예외를 선택적으로 발생 하는 함수에 주석을 달아 _When_ 및 _On_failure_ 조건.

_Must_inspect_result_

반환 값, 매개 변수 및 전역 변수를 비롯 하 여 모든 출력 값을 주석을 답니다.주석이 지정 된 개체의 값을 이후에 없습니다 검사 하면 분석기는 오류를 보고 합니다. "조건식에 사용 됩니다, 출력 매개 변수에 할당 된 또는 전역 또는 매개 변수로 전달 된 검사 "를 포함 합니다.반환 값에 대 한 _Must_inspect_result_ 의미 _Check_return_.

_Use_decl_annotations_

(함수 본문) 함수 정의에 헤더에서 주석 목록 대신 사용할 수 있습니다. 때 _Use_decl_annotations_ 입니다 갖는 정의에 있을 경우에 사용 되는 동일한 함수에 대 한 범위에서 머리글에 나타나는 주석 사용 됩니다을 _Use_decl_annotations_ 주석.

성공/실패 주석

함수가 실패할 수 있습니다 및 면 결과 불완전 하 게 되었거나 함수가 성공 하면 결과에서 다.다음 목록에서 주석을 실패 동작을 표현할 수 있는 방법을 제공 합니다.이러한 주석을 사용 하려면 캠페인의 성공 여부를 설정 해야. 따라서 한 _Success_ 주석 필요 합니다.여기서 NTSTATUS 및 HRESULT 이미은 _Success_ 주석으로 노는 내장 그러나 직접 지정 하는 경우 _Success_ 에서 주석 NTSTATUS 또는 HRESULT, 내장 주석 보다 우선 합니다.

주석

설명

_Always_(anno_list)

에 해당 하는 anno_list _On_failure_(anno_list). 즉, 주석에 anno_list 함수가 성공 여부에 관계 없이 적용 됩니다.

_On_failure_(anno_list)

사용할 경우에만 _Success_ 함수에 주석을 지정 하는 데도 사용 됩니다-명시적으로 또는 암시적으로 통해 _Return_type_success_ 형식 정의에서.경우는 _On_failure_ 주석 있는지 함수 매개 변수 또는 반환 값의 각 주석에서 anno_list (anno)로 코딩 된 것 처럼 동작 _When_(!expr, anno), expr 매개 변수가 필수입니다 _Success_ 주석.즉, 암시적된 응용 프로그램의 _Success_ 에 대 한 모든 사후에는 적용 되지 않습니다 _On_failure_.

_Return_type_success_(expr)

형식 정의에 적용 될 수 있습니다.모든 함수를 입력 하 고 명시적으로 권한이 없는 해당 반환을 나타내는 _Success_ 가 있는 것 처럼 주석 처리 된 _Success_(expr)._Return_type_success_함수 또는 함수 포인터 형식 정의에 사용할 수 없습니다.

_Success_(expr)

exprrvalue를 산출 하는 식이입니다.경우는 _Success_ 주석 있는지 함수 선언 또는 정의 각 주석에서 (anno)로 코딩 된 것과 post-condition 함수에서 처럼 _When_(expr, anno)._Success_ 주석 매개 변수가 없는 함수에만 사용할 수 있습니다 또는 반환 형식이 있습니다.하나 있을 수 최대 _Success_ 함수를 사용 하 고 그의 주석에서 수 없습니다 _When_, _At_, 또는 _Group_.자세한 내용은 주석 적용 시기 및 위치 지정을 참조하십시오.

참고 항목

참조

함수 매개 변수 및 반환 값에 주석 지정

구조체 및 클래스에 주석 지정

잠금 동작에 주석 지정

주석 적용 시기 및 위치 지정

내장 함수

모범 사례 및 예제(SAL)

개념

SAL 이해

기타 리소스

C/C++ 코드 오류를 줄이기 위한 SAL 주석 사용