Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Fontos
A modern nyomtatási platform a Windows előnyben részesített eszköze a nyomtatókkal való kommunikációnak. Azt javasoljuk, hogy a Microsoft IPP postafiók osztály meghajtóját a Nyomtatótámogatási alkalmazásokkal (PSA) együtt használja a nyomtatási élmény testreszabása érdekében a nyomtatóeszközök fejlesztése során a Windows 10 és 11 rendszerekben.
További információ: Print Support App v1 és v2 tervezési útmutató.
A Windows 8.1 és újabb verzióiban eszközkarbantartási funkciót vezetnek be.
Ez a funkció kétirányú kommunikációt (Bidi) használ annak érdekében, hogy eszközkarbantartási parancsokat küldjön egy UWP-eszközalkalmazásból vagy egy nyomtatóbővítményből a nyomtatási alrendszerbe. Parancsokat küldhet például a nyomtatóeszközre a tintafúvókák tisztításához.
A portmonitor a szállító által biztosított Bidi-bővítményfájlokkal együttműködve lefordítja ezeket a Bidi-kéréseket eszköz- és protokollspecifikus parancsokra, majd továbbítja őket a nyomtatóeszközre. Az eszközkarbantartási feladat úgy történik, hogy Bidi "Set" lekérdezéseket küld a nyomtatóeszközre, és az eszköz Bidi-válasza jelzi, hogy a művelet sikeres volt-e vagy nem sikerült.
Az új aszinkron felület, amely segít a funkció megvalósításában, XML-adatokat vesz fel egy sztringparaméter és egy visszahívási objektum formájában.
Mivel az interfész aszinkron, a hívónak nem kell várnia a válaszra. A Bidi-művelet befejezése után a rendszer meghívja a visszahívási objektumot.
Az új felületek
Az eszközkarbantartási funkció implementálásához a következő interfészek lettek bevezetve a Windowsban (kódnév: "Kék").
IPrinterBidiSetRequestCallback
IPrinterExtensionAsyncOperation
Eszközkarbantartási munkamenet kezdeményezése
Az eszközkarbantartási munkamenet elindításához először XML-adatként kell létrehoznia a parancssztringet. Ezután létre kell hoznia a visszahívási objektum egy példányát, amely az aszinkron Bidi-művelet befejezése után lesz meghívva.
A művelet befejezése után a rendszer meghívja a visszahívási objektumot az IPrinterBidiSetRequestCallback::Completed metóduson, amely megadja a művelet HRESULT értékét. Ezután elemezheti ezt a HRESULT értéket, és végrehajthat minden más szükséges feladatot.
Az alábbi C#-kódrészlet bemutatja, hogyan lehet eszközkarbantartási feladatot kiadni egy UWP-eszközalkalmazásból.
//
// Declare a global constant that will be used
// to determine whether method calls were successful
//
const int S_OK = 0;
class BidiSendAsyncDemo
{
//
// Create a queue object and also
// create the command string
//
void PerformDeviceMaintenance(
IPrinterQueue2 queue,
string bidiRequestInXml
)
{
BidiSetResultCallback callBack = new BidiSetResultCallback();
IPrinterExtensionAsyncOperation asyncOperation =
queue.SendBidiSetRequestAsync(bidiRequestInXml, callBack);
}
}
/// <summary>
/// This class represents the callback object
/// </summary>
public class BidiSetResultCallback :
IPrinterBidiSetRequestCallback
{
void Completed(
string bidiResponse,
int hr
)
{
if (S_OK == hr)
{
// parse and interpret 'bidiResponse'
}
}
}
Az eszközkarbantartást az UWP-eszközalkalmazások támogatják, miután az alkalmazás a három belépési pont bármelyikén keresztül meghívásra kerül.
Kapcsolódó témakörök
IPrinterBidiSetRequestCallback