Freigeben über


IPrintOemUI::CommonUIProp-Methode (prcomoem.h)

Die IPrintOemUI::CommonUIProp -Methode ermöglicht es einem Benutzerschnittstellen-Plug-In, eine vorhandene Seite des Druckereigenschaftenblatts zu ändern.

Syntax

HRESULT CommonUIProp(
  DWORD         dwMode,
  POEMCUIPPARAM pOemCUIPParam
);

Parameter

dwMode

Vom Aufrufer bereitgestellte ganzzahlige Konstante, die angibt, welche Eigenschaftenblattseite geändert werden soll. Die folgenden Konstanten sind gültig.

Wert Definition
OEMCUIP_DOCPROP Die -Methode wird aufgerufen, um die Seite Layout, Papier/Qualität oder Erweitert des Dokumenteigenschaftenblatts zu ändern.
OEMCUIP_PRNPROP Die -Methode wird aufgerufen, um die Seite Geräteeinstellungen des Druckereigenschaftenblatts zu ändern.

pOemCUIPParam

Vom Aufrufer bereitgestellter Zeiger auf eine OEMCUIPPARAM-Struktur .

Rückgabewert

Die -Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich ausgeführt.
E_FAIL
Fehler beim Vorgang.
E_NOTIMPL
Die Methode ist nicht implementiert.

Hinweise

Wenn die Methode eines Benutzerschnittstellen-Plug-Ins IPrintOemUI::CommonUIProp aufgerufen wird, sollten angepasste Eigenschaftenblattoptionselemente zurückgegeben werden, um eine vorhandene Seite des Druckereigenschaftenblatts zu ändern.

Die IPrintOemUI::CommonUIProp -Methode wird von der Druckerschnittstellen-DLL des Druckertreibers aufgerufen. Die -Methode sollte ein Array von OPTITEM-Strukturen bereitstellen, das Eigenschaftenblattelemente beschreibt, sowie eine Rückruffunktion für die Verarbeitung von Benutzeränderungen an Optionswerten.

Sie sollten erwarten, dass die Methode für jedes Eigenschaftenblatt zweimal aufgerufen wird. Der dwMode-Parameterwert der Methode gibt an, ob sie aufgerufen wird, um Änderungen am Druckereigenschaftenblatt oder am Dokumenteigenschaftenblatt vorzunehmen.

Beim ersten Aufruf sollte die Methode nur die Anzahl der hinzuzufügenden OPTITEM-Strukturen zurückgeben. Diese Nummer sollte im cOEMOptItems-Member der OEMCUIPPARAM-Struktur platziert werden. Die Druckerschnittstellen-DLL weist dann genügend Arbeitsspeicher zu, um die angegebene Anzahl von OPTITEMs zu speichern, und ruft erneut auf IPrintOemUI::CommonUIProp .

Beim zweiten Aufruf sollte die IPrintOemUI::CommonUIProp -Methode Folgendes ausführen:

  • Füllen Sie das vom Treiber bereitgestellte Array von OPTITEM-Strukturen mit Optionsbeschreibungen. Auf dieses Array weist der pOEMOptItems-Member der OEMCUIPPARAM-Struktur hin, und die Anzahl der zugeordneten Arrayelemente ist im cOEMOptItems-Member der Struktur enthalten. (Informationen zum Angeben von OPTITEM-Memberwerten finden Sie in der Beschreibung des pOEMOptItems-Members der OEMCUIPPARAM-Struktur.)
  • Gibt die Anzahl der Strukturen zurück, die dem OPTITEM-Array hinzugefügt wurden, indem Sie die Nummer im cOEMOptItems-Member der OEMCUIPPARAM-Struktur platzieren.
  • Gibt die Adresse einer Rückruffunktion im OEMCUIPCallback-Member der OEMCUIPPARAM-Struktur zurück. Diese Rückruffunktion wird aufgerufen, wenn ein Benutzer die Eigenschaftenblattseite ändert. Die Rückruffunktion muss vom Typ OEMCUIPCALLBACK sein.
  • Optional können Sie die Adresse einer privaten Datenstruktur zurückgeben, indem Sie sie im pOEMUserData-Member der OEMCUIPPARAM-Struktur platzieren. Die vom OEMCUIPCallback-Member der Struktur angegebene Rückruffunktion empfängt die Adresse der OEMCUIPPARAM-Struktur als Eingabeparameter und kann daher die Adresse der privaten Daten abrufen.

    Speicherplatz für die private Datenstruktur sollte durch Aufrufen der Microsoft Windows SDK HeapAlloc-Funktion unter Verwendung des Handles im hOEMHeap-Member der OEMCUIPPARAM-Struktur zugewiesen werden.

Wenn IPrintOemUI::CommonUIProp Methoden von mehreren Benutzeroberflächen-Plug-Ins exportiert werden, werden die Methoden in der Reihenfolge aufgerufen, in der die Plug-Ins für die Installation angegeben werden.

Weitere Informationen finden Sie unter Ändern einer Driver-Supplied Eigenschaftenblattseite.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (einschließlich Prcomoem.h)