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
這個成員包含顯示記憶體中表面的實體位址。 minidriver 會在 處理程式中填入這個成員,KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS。
cbCaptured
這個成員會指定複製到 VRAM 介面的位元元組數目。 minidriver 會設定此值。
dwWidth
這個成員會以像素為單位指定視訊數據的寬度。 minidriver 會設定此值。
dwHeight
這個成員會以像素為單位指定視訊數據的高度。 minidriver 會設定此值。
dwLinearSize
這個成員會指定非圓角表面的線性大小,以位元組為單位。 minidriver 會設定此值。
lPitch
這個成員會指定表面的傾斜度;也就是說,下一行開頭的距離,以位元組為單位。 這也稱為表面 步幅。 minidriver 會設定此值。
ullReserved[16]
minidriver 可以使用這個成員來儲存介面的相關信息,因為它處理 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 要求。 不過,請小心;此結構不會在 AVStrMiniPinProcess 呼叫之間保存。
言論
當 minidriver 透過 KSPROPERTY_MAP_CAPTURE_HANDLE_TO_VRAM_ADDRESS 屬性呼叫接收VRAM_SURFACE_INFO時,成員清單中 VramPhysicalAddress 的成員會歸零(ullReserved除外)。擷取驅動程式可以將擷取相關的私用數據儲存在這些成員中。
AVStream 接著會將此資訊儲存在數據流標頭中,並將其傳回至 AVStrMiniPinProcess 回呼函式中的 minidriver。
這些成員中的數據會保存數據流標頭的存留期。 刪除所有複製或前置邊緣為進階時,將無法再存取此數據。
要求
要求 | 價值 |
---|---|
標頭 | ksmedia.h (包括 Ksmedia.h) |