次の方法で共有


IPrintOemUni::CommandCallback メソッド (prcomoem.h)

IPrintOemUni::CommandCallback メソッドは、Unidrv でサポートされているプリンターに動的に生成されるプリンター コマンドを提供するために使用されます。

構文

HRESULT CommandCallback(
        PDEVOBJ pdevobj,
        DWORD   dwCallbackID,
        DWORD   dwCount,
        PDWORD  pdwParams,
  [out] OUT INT *piResult
);

パラメーター

pdevobj

DEVOBJ 構造体への呼び出し元指定ポインター。

dwCallbackID

プリンターの GPD ファイル内のプリンター コマンドの *CallbackID 属性を表す呼び出し元指定の値。 (詳細については、次の「解説」セクションを参照してください)。

dwCount

pdwParams によって指される配列内の要素の数表す呼び出し元指定の値。 0 を指定できます。

pdwParams

プリンター コマンド *Params プリンターの GPD ファイル内の属性で指定された値を含む DWORD サイズのパラメーターの配列への呼び出し元指定のポインター。 (詳細については、次の「解説」セクションを参照してください)。NULL できます。

[out] piResult

メソッド指定の結果値を受け取ります。 次の「解説」セクションを参照してください。

戻り値

このメソッドは、次のいずれかの値を返す必要があります。

リターン コード 形容
S_OK
操作は成功しました。
E_FAIL
操作に失敗しました
E_NOTIMPL
メソッドは実装されていません。

備考

IPrintOemUni::CommandCallback メソッドは、Unidrvでサポートされているプリンターの場合に、プラグインをレンダリングしてプリンター コマンドを動的に生成するために使用されます。

プリンター コマンドを動的に生成する場合は、*CallbackID 属性を含める必要があります。オプションで、*Params 属性は、プリンターの GPD ファイル内のコマンドの *Command エントリ内に含める必要があります。 詳細については、「動的に生成されたプリンター コマンド 」を参照してください。

Unidrv は、IPrintOemUni::CommandCallback メソッドを呼び出すと、*Command エントリの *CallbackID 属性値を dwCallbackID パラメーターとして指定します。 また、*Command エントリの *Params 属性値を DWORD 配列内に配置し、配列のアドレスを pParams パラメーターとして指定します。 配列には Unidrv で定義された 標準変数 値のセットが含まれており、dwCount パラメーターは配列に含まれるパラメーターの数を指定します。 属性の詳細については、「コマンド属性の」を参照してください。

このメソッドでは、dwCallbackID パラメーター値を使用して、処理するコマンドを決定する必要があります。 サポートされる各コマンドについて、メソッドは、*Command エントリの *Params 属性で標準変数が指定されている場合、その順序を認識する必要があります。

このメソッドは、プリンター コマンドを作成し、IPrintOemDriverUni::D rvWriteSpoolBuf メソッドを呼び出して、印刷スプーラーにコマンドを送信します。

piResult 指定された値は、メソッドがカーソル コマンドを処理していない限り、常に 0 を返す必要があります。 x または 方向にカーソルを移動する カーソル コマンドの場合、メソッドは新しいカーソル位置を返す必要があります。

IPrintOemUni::CommandCallback メソッドは省略可能です。 レンダリング プラグインがこのメソッドを実装する場合、プラグインの IPrintOemUni::GetImplementedMethod メソッドは、入力として "CommandCallback" を受け取ったときにS_OKを返す必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)