DD_WAITFORVERTICALBLANKDATA 結構包含取得監視器垂直空白資訊所需的資訊。
語法
typedef struct _DDHAL_WAITFORVERTICALBLANKDATA {
LPDDRAWI_DIRECTDRAW_GBL lpDD;
DWORD dwFlags;
DWORD bIsInVB;
ULONG_PTR hEvent;
HRESULT ddRVal;
LPDDHAL_WAITFORVERTICALBLANK WaitForVerticalBlank;
} *LPDDHAL_WAITFORVERTICALBLANKDATA, DDHAL_WAITFORVERTICALBLANKDATA;
成員
lpDD
指向描述驅動程式裝置 的DD_DIRECTDRAW_GLOBAL 結構。
dwFlags
指定驅動程序應該如何等候垂直空白。 這個成員可以是下列其中一個值:
| 旗標 | 意義 |
|---|---|
| DDWAITVB_BLOCKBEGIN | 當驅動程式偵測到垂直空白間隔的開頭時,應該會傳回 。 |
| DDWAITVB_BLOCKBEGINEVENT | 設定事件,以在垂直空白開始時觸發。 目前不支援此旗標。 |
| DDWAITVB_BLOCKEND | 驅動程式應該會在偵測到垂直空白間隔結尾並開始顯示時傳回。 |
| DDWAITVB_I_TESTVB | 驅動程式應該判斷目前是否發生垂直空白,並在 bIsInVB 中傳回狀態。 |
bIsInVB
指出垂直空白的狀態。 TRUE 值表示裝置處於垂直空白;FALSE 表示它不是。 當 dwFlags DDWAITVB_I_TESTVB時,驅動程式應該傳回此成員中的目前垂直空白狀態。
hEvent
當垂直空白開始時應該觸發的事件句柄。 事件會在中斷時觸發,因此如果您的硬體能夠在垂直空白上產生中斷,您應該將此事件句柄傳遞至 HwVidInterrupt 函式,以便在中斷引發時觸發事件。 此成員目前不受支持,驅動程式應忽略。
ddRVal
指定驅動程式寫入 DdWaitForVerticalBlank 回呼傳回值的位置。 DD_OK的傳回碼表示成功。 如需詳細資訊,請參閱 DirectDraw 的傳回值。
WaitForVerticalBlank
由 Microsoft DirectDraw API 使用,且不應該由驅動程式填入。
規格需求
| 需求 | 值 |
|---|---|
| 標頭 | ddrawi.h (包括 Winddi.h、Ddrawi.h) |