次の方法で共有


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

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

[out] piResult

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

戻り値

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

リターン コード 説明
S_OK
操作が成功しました。
E_FAIL
操作が失敗しました
E_NOTIMPL
このメソッドは実装されていません。

注釈

メソッドは IPrintOemUni::CommandCallbackUnidrv でサポートされているプリンターに対して、プリンター コマンドを動的に生成するためにプラグインをレンダリングすることによって使用されます。

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

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を返す必要があります。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)