Condividi tramite


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) è uno strumento da riga di comando che fornisce il supporto per i vincoli JavaScript durante lo sviluppo di un driver di stampante V4.

Dove è possibile scaricare JSConstraintsDebug?

JSConstraintsDebug.exe è incluso in Microsoft Windows Driver Kit (WDK). Per informazioni su come ottenere WDK, vedere Download di Windows Driver Kit.

Lo strumento esegue ognuna delle API di ingresso pertinenti seguenti nei vincoli JavaScript del driver di destinazione rispetto al ticket di stampa fornito dall'utente:

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

Durante l'esecuzione, lo strumento richiederà un debugger IDE appropriato, ad esempio Visual Studio. Dopo la selezione, il codice sorgente dei vincoli verrà aperto e arrestato in un'istruzione debugger JavaScript.

Per eseguire il debug dei file di vincoli JS, seguire questa procedura:

  1. Aprire una finestra del prompt dei comandi.

  2. Eseguire lo strumento JSConstraintsDebug.exe e specificare, almeno, il nome della stampante e il percorso di un ticket di stampa di test.

  3. Scegliere lo strumento di debug da usare.

Esecuzione di JSConstraintsDebug in modalità utente

I privilegi elevati sono necessari per abilitare il debug delle funzioni JS. Per eseguire in modalità utente, la chiave del Registro di sistema seguente deve essere impostata prima dell'esecuzione di JSConstraintsDebug.exe:

Nome della chiave

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Nome del valore

EnableJavaScriptDebugging

Tipo

DWORD

Valore

1

Istruzioni debugger JavaScript

I punti di interruzione possono essere creati nell'origine JavaScript usando l'istruzione debugger. Questa operazione verrà sospesa in Visual Studio per consentire il debug dettagliato. Queste istruzioni possono essere inserite in una delle API di vincolo JavaScript.

Ad esempio:

function validatePrintTicket(PrintTicket, scriptContext)
{
    debugger; // debug tool will pause at this breakpoint
    ...
}

Sintassi del comando JSConstraintsDebug

JSConstraintsDebug <PrinterName> <PrintTicket> [MergePrintTicket] [Constraints]

Parametri dei comandi

Parametri Descrizione

Printername

Obbligatorio. Specifica il nome stringa di un driver di stampa che contiene il file di origine vincoli JS. Questo driver verrà usato per tutte le operazioni di debug.

Printticket

Obbligatorio. Specifica il percorso e il nome di un file XML del ticket di stampa da convalidare.

MergePrintTicket

Facoltativa. Specifica il percorso e il nome di un file XML del ticket di stampa che verrà usato per convalidare un'operazione di merge.

Se questo parametro non è impostato, DevMode predefinito verrà convertito in un ticket di stampa e verrà passato all'API Merge e Validate.

Vincoli

Facoltativa. Specifica il percorso e il nome di un file di vincoli JavaScript che sostituirà il file di origine dei vincoli esistente trovato nel driver della stampante di destinazione prima del debug.

Nota La specifica di un file di vincoli con il parametro Vincoli sovrascriverà il codice sorgente esistente nel driver di destinazione.

Esempi

Eseguire il debug di un driver di stampa su un ticket di stampa di test noto.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Eseguire il debug di un driver di stampa con un nuovo file di origine vincoli con un ticket di stampa di test noto.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Testare l'unione e convalidare le operazioni tra due ticket di stampa personalizzati.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml