次の方法で共有


ValidateBitmapInfoHeader 関数

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

この関数はValidateBitmapInfoHeader、BITMAPINFOHEADER 構造体で、バッファー オーバーランや整数オーバーフローを引き起こす可能性のある一般的なエラーをチェックします。

注意

この関数は、 BITMAPINFOHEADER 構造体が有効であるか、 構造体を使用するコードがセキュリティで保護されていることを保証するものではありません。

 

構文

BOOL ValidateBitmapInfoHeader(
   const BITMAPINFOHEADER *pbmi,
         DWORD            cbSize
);

パラメーター

pbmi

検証する BITMAPINFOHEADER 構造体へのポインター。

cbSize

構造体を保持するメモリ ブロックのサイズ (バイト単位)。

戻り値

ブール値を返します。 値が FALSE の場合、 BITMAPINFOHEADER 構造体は無効です。

解説

この関数は、次のエラーから保護します。

  • 構造体サイズまたは無効な構造体サイズの算術オーバーフロー。
  • biClrUsed メンバーの値が無効です。
  • イメージ サイズの算術オーバーフロー (biSizeImage)。
  • RGB 形式のイメージ サイズ (biSizeImage) の値が無効です。

関数は、構造体が有効なビデオ形式を記述しているかどうかをチェックしません。

要件

要件
ヘッダー
Checkbmi.h

関連項目

ビデオ関数と画像関数