次の方法で共有


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) は、V4 プリンター ドライバーの開発中に JavaScript の制約のデバッグ サポートを提供するコマンド ライン ツールです。

JSConstraintsDebug はどこでダウンロードできますか?

JSConstraintsDebug.exe は、Microsoft Windows Driver Kit (WDK) に含まれています。 WDK の入手については、「Windows Driver Kit のダウンロード」を参照してください。

このツールは、ユーザー指定のプリント チケットに対して、対象のドライバーの JavaScript 制約に対して、次の関連するエントリ ポイント API をそれぞれ実行します。

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

実行中、ツールは Visual Studio などの適切な IDE デバッガーを要求します。 選択すると、制約ソース コードが開き、JavaScript デバッガー ステートメントで停止します。

JS 制約ファイルをデバッグするには、次の手順に従います。

  1. コマンド プロンプト ウィンドウを開きます。

  2. JSConstraintsDebug.exe ツールを実行し、少なくともプリンター名とテスト プリント チケットのパスを指定します。

  3. 使用するデバッグ ツールを選択します。

ユーザー モードで JSConstraintsDebug の実行

JS 関数のデバッグを有効にするには、昇格された特権が必要です。 ユーザー モードで実行するには、JSConstraintsDebug.exe を実行する前に、次のレジストリ キーを設定する必要があります。

キー名

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

値の名前

EnableJavaScriptDebugging

Type

DWORD

1

JavaScript デバッガー ステートメント

ブレークポイントは、デバッガー ステートメントを使用して JavaScript ソースで作成できます。 これにより、Visual Studio での操作がすべて一時停止され、詳細なデバッグが可能になります。 これらのステートメントは、任意の JavaScript 制約 API JavaScript Constraint に挿入できます。

次に例を示します。

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

JSConstraintsDebug コマンド構文

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

コマンド パラメーター

パラメーター 説明

PrinterName

必須。 JS 制約ソース ファイルを含むプリント ドライバーの文字列名を指定します。 このドライバーは、すべてのデバッグ操作に使用されます。

PrintTicket

必須。 検証するプリント チケット XML ファイルのパスと名前を指定します。

MergePrintTicket

省略可能。 マージ操作の検証に使用するプリント チケット XML ファイルのパスと名前を指定します。

このパラメーターが設定されていない場合、既定の DevMode は印刷チケットに変換され、Merge API と Validate API に渡されます。

制約

省略可能。 デバッグ前にターゲット プリンター ドライバーで見つかった既存の制約ソース ファイルを置き換える JavaScript 制約ファイルのパスと名前を指定します。

注: Constraints パラメーターを使用して制約ファイルを指定すると、対象のドライバーの既存のソース コードが上書きされます。

既知のテスト プリント チケットに対してプリント ドライバーをデバッグします。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

既知のテスト プリント チケットに対して、新しい制約ソース ファイルを使用してプリント ドライバーをデバッグします。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

2 つのカスタム プリント チケット間のマージ操作と検証操作をテストします。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml