次の方法で共有


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

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

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 コールバック関数のミニドライバーに返します。

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

要件

要件
Header ksmedia.h (Ksmedia.h を含む)

こちらもご覧ください

AVStrMiniPinProcess

KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS