共用方式為


WNDOBJ 結構 (winddi.h)

WNDOBJ 結構可讓驅動程式追蹤視窗的位置、大小和可見客戶端區域變更。

語法

typedef struct _WNDOBJ {
  CLIPOBJ coClient;
  PVOID   pvConsumer;
  RECTL   rclClient;
  SURFOBJ *psoOwner;
} WNDOBJ, *PWNDOBJ;

成員

coClient

指定描述視窗用戶端區域的 CLIPOBJ 結構。 如果 iDComplexity 是DC_RECT, 而 rclBounds 中的左邊緣大於或等於右邊緣,或上邊緣大於或等於下邊緣,則用戶端區域是可見的。

pvConsumer

識別這個特定 WNDOBJ 結構的驅動程式定義值指標。 您可以呼叫 WNDOBJ_vSetConsumer 函式來設定此值。

rclClient

指定 RECTL 結構,描述螢幕座標中視窗的工作區。 此矩形是右下角獨佔的,這表示不包含此區域的下半部和右邊緣。

psoOwner

建立此 WNDOBJ 時傳遞給 EngCreateWndSURFOBJ 結構的指標。

備註

您可以藉由呼叫 WNDOBJ_cEnumStartWNDOBJ_bEnum 函式來列舉可見的客戶端區域。

驅動程式可以藉由呼叫 WNDOBJ_vSetConsumer 函式,將自己的數據與 WNDOBJ 產生關聯。

作為加速器,驅動程式可以存取 WNDOBJ 的公用成員。 這些公用成員保證只會在 EngCreateWnd 函式中提供給 GDI 的驅動程式回呼例程內容中維持不變,或提供 WNDOBJ 的函式。

驅動程式應該使用 psoOwner 指向的 SURFOBJ 來擷取與 WNDOBJ 相關的驅動程式特定狀態,例如驅動程式的 PDEV 句柄,而不是維護全域變數。

規格需求

需求
標頭 winddi.h (包含Winddi.h)

另請參閱

CLIPOBJ

EngCreateWnd

SURFOBJ

WNDOBJCHANGEPROC

WNDOBJ_bEnum

WNDOBJ_cEnumStart

WNDOBJ_vSetConsumer