次の方法で共有


VRAM_SURFACE_INFO構造体 (ksmedia.h)

VRAM_SURFACE_INFO構造体は、AVStream ミニドライバーがオーディオまたはビデオ データをキャプチャするシステムまたは表示メモリの領域を記述します。

構文

typedef struct {
  UINT_PTR  hSurface;
  LONGLONG  VramPhysicalAddress;
  DWORD     cbCaptured;
  DWORD     dwWidth;
  DWORD     dwHeight;
  DWORD     dwLinearSize;
  LONG      lPitch;
  ULONGLONG ullReserved[16];
} VRAM_SURFACE_INFO, *PVRAM_SURFACE_INFO;

メンバーズ

hSurface

VRAM サーフェスを識別するカーネル モード ハンドルへのポインター。

VramPhysicalAddress

このメンバーには、ディスプレイ メモリ内のサーフェスの物理アドレスが含まれています。 ミニドライバーは、KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESSのハンドラーでこのメンバーを入力します。

cbCaptured

このメンバーは、VRAM サーフェスにコピーされたバイト数を指定します。 ミニドライバーは、この値を設定します。

dwWidth

このメンバーは、ビデオ データの幅をピクセル単位で指定します。 ミニドライバーは、この値を設定します。

dwHeight

このメンバーは、ビデオ データの高さをピクセル単位で指定します。 ミニドライバーは、この値を設定します。

dwLinearSize

このメンバーは、非斜体サーフェスの線形サイズをバイト単位で指定します。 ミニドライバーは、この値を設定します。

lPitch

このメンバーは、サーフェスのピッチを指定します。つまり、次の行の先頭までの距離 (バイト単位)。 これは、サーフェスの ストライド とも呼ばれます。 ミニドライバーは、この値を設定します。

ullReserved[16]

ミニドライバーは、このメンバーを使用して、KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 要求を処理するサーフェイスに関する情報を格納できます。 ただし、注意してください。この構造体は、AVStrMiniPinProcess 呼び出し にわたって保持されません。

備考

ミニドライバーが KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS プロパティ呼び出しを通じてVRAM_SURFACE_INFOを受け取ると、メンバー リスト VramPhysicalAddress に続くメンバー (ullReservedを除く) はゼロになります。キャプチャ ドライバーは、これらのメンバーにキャプチャ関連のプライベート データを格納できます。

AVStream は、ストリーム ヘッダーにこの情報を格納し、AVStrMiniPinProcess コールバック関数のミニドライバーに返します。

これらのメンバーのデータは、ストリーム ヘッダーの有効期間中保持されます。 すべての複製が削除された場合、または先行エッジが高度な場合、このデータにはアクセスできなくなります。

必要条件

要件 価値
ヘッダー ksmedia.h (Ksmedia.h を含む)

関連項目

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS