함수 동작에 주석 지정
주석을 추가 하는 것 외에도 함수 매개 변수 및 반환 값, 속성 전체 함수에 주석을 달 수 있습니다.
함수 주석
다음 주석 전체 함수에 적용 하 고 행동 또는 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_.자세한 내용은 주석 적용 시기 및 위치 지정을 참조하십시오. |