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 を含む) |