Sdílet prostřednictvím


datová struktura FORM_INFO_2

Tiskové zařazování a ovladač tiskárny Unidrv jsou rozšířeny v systému Windows Vista, aby poskytovaly lepší podporu formulářů tiskárny v prostředích s více jazyky. Zařazování podporuje řetězce vícejazyčného uživatelského rozhraní (MUI) pro zobrazované názvy formulářů a novou datovou strukturu FORM_INFO_2, aby obsahovala další informace, které potřebujete k podpoře řetězců MUI.

Datová struktura FORM_INFO_1 je definována následujícím způsobem.

typedef struct _FORM_INFO_1 { 
  DWORD  Flags; 
  LPTSTR  pName; 
  SIZEL   Size; 
  RECTL   ImageableArea; 
} FORM_INFO_1, *PFORM_INFO_1;

V FORM_INFO_1 je členem pName jediné pole řetězce, takže ho můžete použít k vytvoření názvu klíče, který interní rutiny vyhledávání používají k vyhledání formulářů v interní databázi a také jako zobrazovaný název, který se zobrazí koncovým uživatelům.

Struktura FORM_INFO_2, která je definována v následujícím příkladu kódu, přidává další pole, která poskytují podporu 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 přidá člen pKeyword k povolení přidání jedinečného klíčového slova, který se může lišit od zobrazovaného názvu.

Tato struktura také umožňuje přidat knihovnu DLL prostředků a ID prostředku do databáze formulářů pomocí člena pMuiDll a dwResourceId. Pokud má člen StringType hodnotu STRING_MUIDLL a členové pMuiDll a dwResourceId obsahují knihovnu DLL prostředků a identifikátor zobrazovaného názvu, AddForm funkce ve zařazování vyhledá zobrazovaný název v knihovně DLL a interně ho zaznamená. Pokud je volána funkce GetForm nebo EnumForms s hodnotou úrovně 2, informace vrácené ve struktuře FORM_INFO_2 budou obsahovat zobrazovaný název, který pDisplayName odkazuje a odpovídající ID jazyka v wLangID.

Ovladače tiskárny, které nadále používají strukturu FORM_INFO_1 při volání AddForm budou ukládat pouze informace, které jsou nalezeny v této struktuře v databázi formulářů. Členy ve struktuře FORM_INFO_2, které nejsou nalezeny ve struktuře FORM_INFO_1, budou NULL nebo 0 při dotazování voláním GetForm nebo EnumForms, které vrací FORM_INFO_2 strukturu.

Další informace o přidávání formulářů tiskárny a o používání datových struktur FORM_INFO_1 a FORM_INFO_2 naleznete v dokumentaci k sadě Microsoft Windows SDK.