次の方法で共有


警告 C28159

*function_name_2* の代わりに *function_name_1* を使用することを検討してください。 理由: 理由

この警告は、代替の優先関数呼び出しと意味的に同等の関数を使用する場合に発生します。

解説

C28159 は一般的な警告メッセージです。注釈 __drv_preferredFunction は、不適切なコーディングプラクティスにフラグを設定するために(おそらく条件付き __drv_when()注釈で)使用されました。

コード分析名: U Standard Edition_OTHER_FUNCTION

次のコード例では、この警告が生成されます。 この問題は、バッファー サイズを検証しない次の OemToChar使用が原因です。

char buff[MAX_PATH];
OemToChar(buff, input);  // If strlen(input) > MAX_PATH, this call leads to buffer overrun

次のコード例では、推奨される代替手段 OemToCharBuffを使用してこの警告を回避します。これは、コピー先のバッファー サイズを受け取り、コピーを適切に制限します。

char buff[MAX_PATH];
OemToCharBuff(buff, input, MAX_PATH);