Compartilhar via


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) é uma ferramenta de linha de comando que fornece suporte de depuração para restrições JavaScript ao desenvolver um driver de impressora V4.

Onde posso baixar JSConstraintsDebug?

JSConstraintsDebug.exe está incluído no WDK (Microsoft Windows Driver Kit). Para obter informações sobre como obter o WDK, consulte Downloads do Kit de Driver do Windows.

A ferramenta executa cada uma das seguintes APIs de ponto de entrada relevantes nas restrições javaScript do driver de destino em relação ao tíquete de impressão fornecido pelo usuário:

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

Durante a execução, a ferramenta solicitará um depurador de IDE apropriado, como o Visual Studio. Após a seleção, o código-fonte de restrições será aberto e interrompido em uma instrução de depurador JavaScript.

Para depurar arquivos de restrições JS, siga estas etapas:

  1. Abra uma janela de Prompt de Comando.

  2. Execute a ferramenta JSConstraintsDebug.exe e especifique, no mínimo, o nome da impressora e o caminho para um tíquete de impressão de teste.

  3. Escolha a ferramenta de depuração que você deseja usar.

Executando JSConstraintsDebug no modo de usuário

Privilégios elevados são necessários para habilitar a depuração de funções JS. Para ser executada no modo de usuário, a seguinte chave do Registro deve ser definida antes da execução JSConstraintsDebug.exe:

Nome da chave

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Nome do valor

EnableJavaScriptDebugging

Digite

DWORD

Valor

1

Instruções do depurador JavaScript

Os pontos de interrupção podem ser criados na origem do JavaScript usando a instrução depurador . Isso pausará a operação no Visual Studio e permitirá a depuração passo a passo. Essas instruções podem ser inseridas em qualquer uma das APIs de Restrição javaScript.

Por exemplo:

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

Sintaxe do comando JSConstraintsDebug

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

Parâmetros de comando

Parâmetros Descrição

Printername

Obrigatórios. Especifica o nome da cadeia de caracteres de um driver de impressão que contém o arquivo de origem de restrições JS. Esse driver será usado para todas as operações de depuração.

Printticket

Obrigatórios. Especifica o caminho e o nome de um arquivo XML de tíquete de impressão a ser validado.

MergePrintTicket

Opcional. Especifica o caminho e o nome de um arquivo XML de tíquete de impressão que será usado para validar uma operação de mesclagem.

Se esse parâmetro não estiver definido, o DevMode padrão será convertido em um Tíquete de Impressão e será passado para a API de Mesclagem e Validação.

Restrições

Opcional. Especifica o caminho e o nome de um arquivo de restrições JavaScript que substituirá o arquivo de origem de restrições existente encontrado no driver de impressora de destino antes da depuração.

Nota Especificar um arquivo de restrições com o parâmetro Constraints substituirá o código-fonte existente no driver de destino.

Exemplos

Depure um driver de impressão em um tíquete de impressão de teste conhecido.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Depure um driver de impressão com um novo arquivo de origem de restrições em um tíquete de impressão de teste conhecido.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Teste a mesclagem e valide as operações entre dois tíquetes de impressão personalizados.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml