IsValidDevmode 函式

IsValidDevmode函式會驗證 DEVMODE 結構的內容是否有效。

語法

BOOL IsValidDevmode(
  _In_ PDEVMODE pDevmode,
       size_t   DevmodeSize
);

參數

pDevmode [in]

要驗證之 DEVMODE 的指標。

DevmodeSize

輸入位元組緩衝區的大小,以位元組為單位。

傳回值

如果DEVMODE 的結構有效,則為 TRUE。 如果發現次要錯誤,函式會修正錯誤並傳回 TRUE

FALSE,如果 DEVMODE 有一或多個顯著的結構化問題。 例如,其 dmSize 成員不對齊或指定太小的緩衝區。 此外,如果pDevmodeNull,則為FALSE

備註

不會核取 DEVMODE 的私人印表機驅動程式欄位,只會核取公用欄位。

呼叫端只有在可以保證輸入緩衝區大小至少為該大時,才應該使用dmSize+dmDriverExtra for DevmodeSize。 由於 DEVMODE 通常是不受信任的資料,因此在 dmSizedmDriverExtra 位移處輸入緩衝區中的值也是不受信任的。

此函式可在 Least-Privileged使用者帳戶 (LUA) 內容中執行。

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限桌面應用程式]
標頭
Winspool.h
程式庫
Winspool.lib
DLL
Winspool.drv
Unicode 與 ANSI 名稱
IsValidDevmodeW (Unicode) 和 IsValidDevmodeA (ANSI)

另請參閱

列印

列印多工緩衝處理器 API 函式

DEVMODE