Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Bufor wydruku i sterownik drukarki Unidrv są ulepszone w systemie Windows Vista, aby zapewnić lepszą obsługę formularzy drukarek w środowiskach wielojęzycznych. Bufor obsługuje ciągi wielojęzycznego interfejsu użytkownika (MUI) dla nazw wyświetlanych formularzy oraz nową strukturę danych FORM_INFO_2, aby uwzględnić dodatkowe informacje potrzebne do obsługi ciągów MUI.
Struktura danych FORM_INFO_1 jest zdefiniowana w następujący sposób.
typedef struct _FORM_INFO_1 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1, *PFORM_INFO_1;
W FORM_INFO_1 element członkowski pName jest jedynym polem ciągu, więc można go użyć do utworzenia nazwy klucza używanej przez wewnętrzne procedury wyszukiwania do lokalizowania formularzy w wewnętrznej bazie danych, a także jako nazwy wyświetlanej użytkownikom końcowym.
Struktura FORM_INFO_2 zdefiniowana w poniższym przykładzie kodu dodaje dodatkowe pola w celu zapewnienia obsługi interfejsu 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 dodaje element członkowski pKeyword w celu włączenia dodawania odrębnego słowa kluczowego, który może różnić się od nazwy wyświetlanej.
Ta struktura umożliwia również dodawanie biblioteki DLL zasobu i identyfikatora zasobu do bazy danych formularzy przy użyciu elementu członkowskiego pMuiDll i dwResourceId. Gdy element członkowski StringType ma wartość STRING_MUIDLL, a elementy członkowskie pMuiDll i dwResourceId zawierają bibliotekę DLL zasobu i identyfikator nazwy wyświetlanej, funkcja AddForm w buforze wyszukuje nazwę wyświetlaną w bibliotece DLL i rejestruje ją wewnętrznie. Gdy funkcja GetForm lub EnumForms jest wywoływana z wartością poziomu 2, informacje zwrócone w strukturze FORM_INFO_2 będą zawierać nazwę wyświetlaną, do którego odwołuje się pDisplayName, oraz odpowiadający mu identyfikator języka wlangID.
Sterowniki drukarek, które nadal używają struktury FORM_INFO_1 podczas wywoływania metody AddForm, będą przechowywać tylko informacje znalezione w tej strukturze w bazie danych formularzy. Elementy członkowskie w strukturze FORM_INFO_2, które nie znajdują się w strukturze FORM_INFO_1, będą wartości NULL lub 0 podczas wykonywania zapytań przez wywołanie metody GetForm lub EnumForms zwracającej strukturę FORM_INFO_2.
Aby uzyskać więcej informacji na temat dodawania formularzy drukarek i używania struktur danych FORM_INFO_1 i FORM_INFO_2, zobacz dokumentację zestawu Microsoft Windows SDK.