Freigeben über


FORM_INFO_2-Datenstruktur

Der Druckspooler und der Unidrv-Druckertreiber werden in Windows Vista verbessert, um Druckerformulare in mehrsprachigen Umgebungen besser zu unterstützen. Der Spooler unterstützt MUI-Zeichenfolgen (Multi-Language User Interface) für die Formularanzeigenamen und die neue FORM_INFO_2 Datenstruktur, um die zusätzlichen Informationen einzuschließen, die Sie zur Unterstützung der MUI-Zeichenfolgen benötigen.

Die FORM_INFO_1 Datenstruktur wird wie folgt definiert.

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

In FORM_INFO_1 ist das pName-Element das einzige Zeichenfolgenfeld, sodass Sie ihn verwenden können, um den Schlüsselnamen zu erstellen, den die internen Suchroutinen zum Suchen von Formularen in der internen Datenbank und auch als Anzeigename verwenden, der Endbenutzern angezeigt wird.

Die FORM_INFO_2 Struktur, die im folgenden Codebeispiel definiert ist, fügt zusätzliche Felder hinzu, um MUI-Unterstützung bereitzustellen.

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 fügt das pKeyword-Element hinzu, um das Hinzufügen eines eindeutigen Schlüsselworts zu ermöglichen, das sich vom Anzeigenamen unterscheiden kann.

Mit dieser Struktur können Sie auch die Ressourcen-DLL und ressourcen-ID der Formulardatenbank mithilfe des pMuiDll- und dwResourceId-Mitglieds hinzufügen. Wenn der StringType-Member den Wert STRING_MUIDLL und die pMuiDll- und dwResourceId-Elemente die Ressourcen-DLL und den Bezeichner des Anzeigenamens enthalten, sucht die AddForm--Funktion im Spooler den Anzeigenamen in der DLL nach und zeichnet sie intern auf. Wenn die GetForm- oder EnumForms-Funktion mit einem Level-Wert von 2 aufgerufen wird, enthalten die in der FORM_INFO_2 Struktur zurückgegebenen Informationen den Anzeigenamen, auf den pDisplayName verweist, und die entsprechende Sprach-ID in wLangID.

Druckertreiber, die die FORM_INFO_1 Struktur weiterhin verwenden, wenn sie AddForm aufrufen, speichern nur die Informationen, die in dieser Struktur in der Formulardatenbank zu finden sind. Die Elemente in der FORM_INFO_2-Struktur, die in der FORM_INFO_1-Struktur nicht gefunden werden, werden NULL- oder 0, wenn sie von einem Aufruf von GetForm oder EnumForms abgefragt werden, der eine FORM_INFO_2 Struktur zurückgibt.

Weitere Informationen zum Hinzufügen von Druckerformularen und zur Verwendung der FORM_INFO_1 und FORM_INFO_2 Datenstrukturen finden Sie in der Microsoft Windows SDK-Dokumentation.