共用方式為


混合最小規則規則集

Microsoft 最小規則的重點在於支援 Common Language Runtime 之 C++ 專案中最關鍵的問題,包括潛在的安全性漏洞和應用程式損毀。您應該在您為支援 Common Language Runtime 之 C++ 專案建立的任何自訂規則集中都包含這個規則集。

規則

描述

C6001

使用尚未初始化的記憶體。

C6011

取值 NULL 指標。

C6029

使用未經確認的值 。

C6053

從呼叫的無終止。

C6059

終結串連

C6063

遺漏格式化函式中的字串引數。

C6064

遺漏整格式化函式中的整數引數。

C6066

遺漏格式化函式中的指標引數。

C6067

遺漏格式化函式中的字串指標引數。

C6101

傳回未初始化的記憶體。

C6200

索引超出緩衝區最大值

C6201

索引超出堆疊緩衝區最大值

C6270

遺漏格式化函式中的浮點引數。

C6271

格式化函式中的額外引數。

C6272

格式化函式中的非浮點引數。

C6273

格式化函式中的非整數引數。

C6274

格式化函式中的非字元引數。

C6276

無效的字串轉換。

C6277

無效的 CreateProcess 呼叫

C6284

無效的格式化函式中的物件引數。

C6290

Logical-Not Bitwise-And 優先順序

C6291

Logical-Not Bitwise-Or 優先順序。

C6302

無效的格式化函式中的字串引數。

C6303

無效的格式化函式中的寬字元字串引數。

C6305

不相符的大小和使用數目。

C6306

不正確的變數引數函式呼叫。

C6328

可能的引數型別不符。

C6385

讀取滿溢

C6386

撰寫滿溢

C6387

無效的參數值。

C6500

無效的屬性

C6501

發生衝突的屬性值。

C6503

參考不可以是空值。

C6504

在非指標的空值。

C6505

在 void的MustCheck

C6506

在非指標或陣列的緩衝區大小。

C6507

在取值零的空值不符

C6508

常數的寫入權限。

C6509

在之前狀況中回傳使用過

C6510

在非指標的空值結束

C6511

MustCheck 屬性必須為 Yes 或 No。

C6513

沒有緩衝區大小的項目大小。

C6514

緩衝區大小超過陣列大小

C6515

在非指標的緩衝區大小。

C6516

在屬性中沒有屬性。

C6517

在不可讀取緩衝區的有效大小

C6518

在非可寫入緩衝區的可寫入的大小

C6519

無效的註釋: 'NeedsRelease' 屬性的值必須為 Yes 或 No。

C6521

無效的指標值的字串大小。

C6522

無效的字串型別的大小

C6523

無效的字串參數大小

C6525

無效的不可能執行到的位置的字串大小。

C6526

無效的字串緩衝區型別的大小

C6527

無效的註釋: NeedsRelease 屬性在 void 型別的值不能使用。

C6530

無法辨認的格式字串樣式

C6540

在這個函式上使用屬性附註會使其所有存在的 __declspec 附註無效。

C6551

無效的大小規格: 無法剖析運算式

C6552

無效的 Deref=或 Notref=: 無法剖析運算式

C6701

值不是有效的Yes/No/Maybe。

C6702

值不是字串。

C6703

值不是數值。

C6704

未預期的附註表示錯誤

C6705

附註的引數的預期數字不符合附註的引數的實際數目

C6706

附註的未預期的附註錯誤。

C28021

被附註的參數必須是指標。

C28182

正在取值 NULL 指標。指標含有與另一個指標的空值。

C28202

非靜態成員之不合法的參考。

C28203

類別成員的參考模稜兩可。

C28205

Success_ 或 _On_failure_ 用於不合法的內容中:

C28206

左運算元指向結構,請使用 '->'。

C28207

左運算元是結構,請使用 '.'。

C28210

On_failure_ 內容的註釋不能明確在pre context 中

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

在參數的註釋具有一個以上的值,stringValue 和 longValue。請使用 paramn=xxx。

C28239

在參數的註釋具有兩個值,stringValue 或 longValue 以及 paramn=xxx。請只使用 paramn=xxx。

C28240

參數的註釋有 param2 但沒有 param1。

C28241

函式的附註參數無法辨認

C28243

函式的註釋需要執行的取值比實際註釋之型別允許的還多。

C28245

函式的附註會在非成員函式上附註 'this'。

C28246

函式中的參數附註不符合參數的型別。

C28250

函式不一致的附註:先前的執行個體有錯誤發生。

C28251

函式不一致的附註:這個執行個體有錯誤發生。

C28252

函式不一致的附註:參數在這個執行個體有另一個附註。

C28253

函式不一致的附註:參數在這個執行個體有另一個附註。

C28254

dynamic_cast()在附註中不支援。

C28262

在函式中找到附註的語法錯誤:

C28263

找到內建的條件式註釋語法錯誤:

C28264

結果清單值必須是常數。

C28267

在函式中找到附註的語法錯誤:

C28272

函式、參數的附註在檢查時,與函式宣告不一致。

C28273

對於函式,線索與函式宣告不一致。

C28275

_Macro_value_ 的參數為空值。

C28279

找到符號的 'begin',但沒有相符的 'end'。

C28280

找到符號的 'end',但沒有相符的 'begin'。

C28282

格式化字串必須在前置條件

C28285

針對函式,在參數中的語法錯誤

C28286

函式的結尾附近發生錯誤。

C28287

函式的 _At_() 附註中有語法錯誤 (無法辨認的參數名稱)。

C28288

函式的 _At_() 附註中有語法錯誤 (無效的參數名稱)。

C28289

對函式來說: ReadableTo 或 WritableTo 沒有有限的規格做為參數。

C28290

函式的附註包含比實際參數數目還多的外部。

C28291

位於 deref 層級 0 的 post null/notnull 對函式是無意義的。

C28300

運算子不相容型別的運算式運算元。

C28301

函式的第一個宣告中沒有附註。

C28302

額外的 _Deref_ 運算子在註解中被找到。

C28303

一個模稜兩可的 _Deref_ 運算子在註解中被找到。

C28304

找到非正確定位 _Notref_ 運算子套用至語彙基元。

C28305

在剖析時語彙基元找到的錯誤。

C28350

附註描述條件上不適合的情況:

C28351

附註描述條件中不可以使用動態值 (變數)。

CA1001

具有可處置欄位的型別應該是可處置的

CA1821

必須移除空的完成項

CA2213

可處置的欄位應該受到處置

CA2231

覆寫 ValueType.Equals 時必須一併多載等號比較運算子