FORM_INFO_2數據結構
列印多任務緩衝處理器和 Unidrv 印表機驅動程式在 Windows Vista 中增強,可在多語言環境中提供更好的印表機表表機體支援。 多語言使用者介面 (MUI) 字串支援表單顯示名稱和新的FORM_INFO_2資料結構,以包含您需要支援 MUI 字串的其他資訊。
FORM_INFO_1數據結構的定義如下。
typedef struct _FORM_INFO_1 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1, *PFORM_INFO_1;
在FORM_INFO_1中,pName 成員是唯一的字串字段,因此您可以使用它來建立內部搜尋例程用來在內部資料庫中尋找表單的索引鍵名稱,以及作為向使用者顯示的顯示名稱。
FORM_INFO_2 結構,定義於下列程式代碼範例中,會新增其他欄位以提供 MUI 支援。
typedef struct _FORM_INFO_2 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
LPCSTR pKeyword;
DWORD StringType;
LPCTSTR pMuiDll;
DWORD dwResourceId;
LPCTSTR pDisplayName;
LANGID wLangId;
} FORM_INFO_2, *PFORM_INFO_2;
FORM_INFO_2新增 pKeyword 成員,以啟用相異關鍵詞的新增,與顯示名稱不同。
此結構也可讓您使用 pMuiDll 和 dwResourceId 成員,將資源 DLL 和資源識別碼新增至表單資料庫。 當 StringType 成員具有 STRING_MUIDLL 值,而 pMuiDll 和 dwResourceId 成員包含顯示名稱的資源 DLL 和標識符時,多任務緩衝處理程式中的 AddForm 函式會在 DLL 中查閱顯示名稱,並在內部記錄它。 當呼叫 GetForm 或 EnumForms 函式且層級值為 2 時,FORM_INFO_2 結構中傳回的資訊將會包含 pDisplayName 參考的顯示名稱,以及 wLangID 中的對應語言標識符。
在呼叫 AddForm 時,繼續使用FORM_INFO_1結構的印表機驅動程式只會儲存在表單資料庫中該結構中找到的資訊。 當呼叫傳回FORM_INFO_2結構的 GetForm 或 EnumForms 時,在FORM_INFO_1結構中找不到FORM_INFO_2結構中的成員將會 NULL 或 0。
如需新增印表機表表和使用FORM_INFO_1和FORM_INFO_2數據結構的詳細資訊,請參閱 Microsoft Windows SDK 檔。