네이티브 최소 규칙 규칙 집합
Microsoft 네이티브 최소 규칙은 잠재적 보안 허점, 애플리케이션 크래시를 포함하여 네이티브 코드의 가장 중요한 문제에 중점을 둡니다.
네이티브 프로젝트에 대해 만드는 모든 사용자 지정 규칙 집합에 이 규칙 집합을 포함합니다.
규칙 | 설명 |
---|---|
C6001 | 초기화되지 않은 메모리 사용 |
C6011 | Null 포인터 역참조 |
C6029 | 확인되지 않은 값 사용 |
C6053 | 호출의 0 종료 |
C6059 | 잘못된 연결 |
C6063 | Format 함수에 문자열 인수 없음 |
C6064 | Format 함수에 정수 인수 없음 |
C6066 | Format 함수에 포인터 인수 없음 |
C6067 | Format 함수에 문자열 포인터 인수 없음 |
C6101 | 초기화되지 않은 메모리 반환 |
C6200 | 인덱스가 버퍼 최대값을 초과함 |
C6201 | 인덱스가 스택 버퍼 최대값을 초과함 |
C6270 | Format 함수에 부동 인수 없음 |
C6271 | Format 함수의 추가 인수 |
C6272 | Format 함수의 비부동 인수 |
C6273 | Format 함수에 비정수 인수 |
C6274 | Format 함수의 비문자 인수 |
C6276 | 잘못된 문자열 캐스팅 |
C6277 | 잘못된 CreateProcess 호출 |
C6284 | Format 함수의 개체 인수 잘못됨 |
C6290 | 논리 부정 비트 AND 우선 순위 |
C6291 | 논리 부정 비트 OR 우선 순위 |
C6302 | Format 함수에 대한 잘못된 문자열 인수 |
C6303 | Format 함수에 대한 잘못된 와이드 문자열 인수 |
C6305 | 크기 및 개수 사용 불일치 |
C6306 | 잘못된 변수 인수 함수 호출 |
C6328 | 잠재적 인수 형식 불일치 |
C6385 | 읽기 오버런 |
C6386 | 쓰기 오버런 |
C6387 | 잘못된 매개 변수 값 |
C6500 | 잘못된 특성 속성 |
C6501 | 특성 속성 값 충돌 |
C6503 | 참조는 Null일 수 없음 |
C6504 | 비포인터에 대한 Null |
C6505 | Void에 대한 MustCheck |
C6506 | 비포인터 또는 배열에 대한 버퍼 크기 |
C6508 | 상수에 대한 쓰기 액세스 |
C6509 | 사전 조건에서 반환이 사용됨 |
C6510 | 비포인터에 대한 Null 종료 |
C6511 | MustCheck는 Yes 또는 No여야 함 |
C6513 | 버퍼 크기가 없는 요소 크기 |
C6514 | 버퍼 크기가 배열 크기를 초과함 |
C6515 | 비포인터에 대한 버퍼 크기 |
C6516 | 특성에 대한 속성 없음 |
C6517 | 읽기 불가능 버퍼에 대한 유효 크기 |
C6518 | 쓰기 불가능 버퍼에 대한 쓰기 가능 크기 |
C6522 | 잘못된 크기 문자열 유형 |
C6525 | 잘못된 크기 문자열 접근할 수 없는 위치 |
C6527 | 주석이 잘못되었습니다. 'NeedsRelease' 속성은 void 형식 값에 사용할 수 없습니다. |
C6530 | 인식할 수 없는 형식 문자열 스타일 |
C6540 | 이 함수에 특성 주석을 사용하면 기존의 모든 __declspec 주석이 무효화됩니다. |
C6551 | 크기 사양이 잘못되었습니다. 식을 구문 분석할 수 없습니다. |
C6552 | Deref= 또는 Notref=가 잘못되었습니다. 식을 구문 분석할 수 없습니다. |
C6701 | 값이 올바른 Yes/No/Maybe 값이 아닙니다 |
C6702 | 값이 문자열 값이 아닙니다. |
C6703 | 값이 숫자가 아닙니다. |
C6704 | 예기치 않은 주석 식 오류가 발생했습니다. |
C6705 | 필요한 주석 인수 개수가 실제 주석 인수 개수와 일치하지 않습니다. |
C6706 | 예기치 않은 주석 오류가 발생했습니다. |
C26450 | RESULT_OF_ARITHMETIC_OPERATION_PROVABLY_LOSSY |
C26451 | RESULT_OF_ARITHMETIC_OPERATION_CAST_TO_LARGER_SIZE |
C26452 | SHIFT_COUNT_NEGATIVE_OR_TOO_BIG |
C26453 | LEFTSHIFT_NEGATIVE_SIGNED_NUMBER |
C26454 | RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED |
C26495 | MEMBER_UNINIT |
C28021 | 주석이 달린 매개 변수는 포인터여야 합니다. |
C28182 | NULL 포인터를 역참조하고 있습니다. 포인터에 다른 포인터와 동일한 NULL 값이 포함되어 있습니다. |
C28202 | 비정적 멤버에 대한 잘못된 참조입니다. |
C28203 | 클래스 멤버에 대한 모호한 참조입니다. |
C28205 | _Success_ 또는 _On_failure_ 잘못된 컨텍스트에서 사용됨 |
C28206 | 왼쪽 피연산자는 구조체를 가리키고 '->'를 사용합니다. |
C28207 | 왼쪽 피연산자가 구조체입니다. '.'를 사용하세요. |
C28210 | __on_failure 컨텍스트에 대한 주석이 명시적 사전 컨텍스트에 없어야 합니다. |
C28211 | SAL_context에 대해 정적 컨텍스트 이름이 필요합니다. |
C28212 | 주석에 대한 포인터 식이 있어야 합니다. |
C28213 | _Use_decl_annotations_ 주석은 이전 선언을 수정하지 않고 참조하는 데 사용해야 합니다. |
C28214 | 특성 매개 변수 이름은 p1...p9여야 합니다. |
C28215 | typefix는 이미 typefix가 있는 매개 변수에 적용할 수 없습니다. |
C28216 | checkReturn 주석은 특정 함수 매개 변수에 대한 사전 조건에만 적용됩니다. |
C28217 | 함수의 경우 주석에 대한 매개 변수 개수가 파일에 있는 개수와 일치하지 않습니다. |
C28218 | 함수 매개 변수의 경우 주석의 매개 변수가 파일에 있는 매개 변수와 일치하지 않습니다. |
C28219 | 주석에 있는 매개 변수 주석에 열거의 멤버가 필요합니다. |
C28220 | 주석에 있는 매개 변수에 정수 식이 필요합니다. |
C28221 | 주석에 있는 매개 변수에 문자열 식이 필요합니다. |
C28222 | 주석에 필요한 __yes, __no 또는 __maybe |
C28223 | 주석, 매개 변수에 필요한 토큰/식별자를 찾지 못했습니다. |
C28224 | 주석에 매개 변수가 필요합니다. |
C28225 | 주석에서 올바른 필수 매개 변수의 개수를 찾지 못했습니다. |
C28226 | 또한 주석은 현재 선언에서 PrimOp일 수 없습니다. |
C28227 | 또한 주석은 PrimOp일 수 없습니다(이전 선언 참조). |
C28228 | 주석 매개 변수: 주석에서 형식을 사용할 수 없습니다. |
C28229 | 주석에서 매개 변수를 지원하지 않습니다. |
C28230 | 매개 변수 형식에 멤버가 없습니다. |
C28231 | 주석은 배열에서만 유효합니다. |
C28232 | pre, post 또는 deref가 주석에 적용되지 않았습니다. |
C28233 | pre, post 또는 deref가 블록에 적용되었습니다. |
C28234 | __at 식이 현재 함수에 적용되지 않습니다. |
C28235 | 함수를 단독으로 주석으로 사용할 수 없습니다. |
C28236 | 함수를 식에 사용할 수 없습니다. |
C28237 | 매개 변수에 대한 주석이 더 이상 지원되지 않습니다. |
C28238 | 매개 변수에 대한 주석에 value, stringValue 및 longValue 중 두 개 이상이 있습니다. paramn=xxx를 사용하세요. |
C28239 | 매개 변수에 대한 주석에 value, stringValue 또는 longValue와 paramn=xxx가 모두 있습니다. paramn=xxx만 사용하세요. |
C28240 | 매개 변수에 대한 주석에 param1이 아니라 param2가 있습니다. |
C28241 | 매개 변수에 대한 함수 주석이 인식되지 않습니다. |
C28243 | 매개 변수에 대한 함수 주석에 실제 형식 주석이 허용하는 것보다 많은 역참조가 필요합니다. |
C28245 | 함수에 대한 주석에서 멤버가 아닌 함수에 'this'를 주석으로 답니다. |
C28246 | 함수의 매개 변수 주석이 매개 변수 형식과 일치하지 않습니다. |
C28250 | 함수에 대한 주석이 일치하지 않습니다. 이전 인스턴스에 오류가 있습니다. |
C28251 | 함수에 대한 주석이 일치하지 않습니다. 이 인스턴스에 오류가 있습니다. |
C28252 | 함수에 대한 주석이 일치하지 않습니다. 이 인스턴스에 대한 다른 주석이 매개 변수에 있습니다. |
C28253 | 함수에 대한 주석이 일치하지 않습니다. 이 인스턴스에 대한 다른 주석이 매개 변수에 있습니다. |
C28254 | <>주석에서 dynamic_cast()가 지원되지 않습니다. |
C28262 | 주석에 대한 주석 구문 오류가 함수에 있습니다. |
C28263 | 내장 주석에 대한 조건부 주석에 구문 오류가 있습니다. |
C28267 | 함수 주석에서 주석 구문 오류가 발견되었습니다. |
C28272 | 함수, 매개 변수에 대한 주석이 검사 시 함수 선언과 일치하지 않습니다. |
C28273 | 함수의 경우 단서가 함수 선언과 일치하지 않습니다. |
C28275 | _Macro_value_ 매개 변수가 null입니다. |
C28279 | 기호의 경우 일치하는 'end'가 없는 'begin'이 있습니다. |
C28280 | 기호의 경우 일치하는 'begin'이 없는 'end'가 있습니다. |
C28282 | 형식 문자열이 사전 조건에 있어야 합니다. |
C28285 | 함수의 경우 매개 변수에 구문 오류가 있습니다. |
C28286 | 함수의 경우 끝 부분 근처에 구문 오류가 있습니다. |
C28287 | 함수의 경우 _At_() 주석의 구문 오류(인식할 수 없는 매개 변수 이름) |
C28288 | 함수의 경우 _At_() 주석의 구문 오류(잘못된 매개 변수 이름) |
C28289 | 함수의 경우 ReadableTo 또는 WritableTo에 limit-spec가 매개 변수로 포함되지 않았습니다. |
C28290 | 함수의 주석에 실제 매개 변수 개수보다 많은 외부 참조가 있습니다. |
C28291 | 함수의 경우 역참조 수준 0에서 post null/notnull이 의미가 없습니다. |
C28300 | 연산자에 호환되지 않는 형식의 식 피연산자입니다. |
C28301 | 함수의 첫 번째 선언에 대한 주석이 없습니다. |
C28302 | 주석에서 추가 _Deref_ 연산자가 발견되었습니다. |
C28303 | 주석에서 모호한 _Deref_ 연산자가 발견되었습니다. |
C28304 | 잘못 배치된 _Notref_ 연산자가 토큰에 적용된 것을 발견했습니다. |
C28305 | 토큰을 구문 분석하는 동안 오류가 발생했습니다. |
C28350 | 주석이 조건부로 적용할 수 없는 상황을 설명합니다. |
C28351 | 주석이 동적 값(변수)을 조건에 사용할 수 없는 경우를 설명합니다. |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기