IPrintOemUni::D riverDMS メソッド (prcomoem.h)
IPrintOemUni::DriverDMS
メソッドを使用すると、Unidrv のレンダリング プラグインで、デバイスで管理された描画サーフェイスを使用することを示すことができます。
構文
HRESULT DriverDMS(
PVOID pDevObj,
PVOID pBuffer,
DWORD cbSize,
PDWORD pcbNeeded
);
パラメーター
pDevObj
DEVOBJ 構造体への呼び出し元指定ポインター。
pBuffer
メソッド指定のフラグを受け取るバッファーへの呼び出し元指定ポインター。 (次の「解説」セクションを参照してください)。
cbSize
pBuffer が指すバッファーの呼び出し元指定サイズ (バイト単位)。
pcbNeeded
pBuffer サイズに必要な最小 を受け取る場所への呼び出し元指定のポインター。
戻り値
このメソッドは、次のいずれかの値を返す必要があります。
リターン コード | 形容 |
---|---|
|
操作は成功しました。 |
|
操作に失敗しました |
備考
Unidrv のレンダリング プラグインは、IPrintOemUni::DriverDMS
メソッドを実装する必要があります。 このメソッドは、Unidrv が OEM のレンダリング プラグインへの有効なインターフェイス ポインターを見つけた場合にのみ呼び出されます。
IPrintOemUni::DriverDMS
メソッドを使用すると、レンダリング プラグインは、既定の GDI で管理されるサーフェイスではなく、デバイスで管理される描画サーフェイスを使用することを示すことができます。
このメソッドは、pBuffer 指すバッファー内のプレフィックス付きフラグHOOK_指定する必要があります。これは、描画サーフェイスに対して呼び出されるプラグインのグラフィックス DDI フック関数を示します。 HOOK_プレフィックス付きフラグは winddi.h で定義され、EngAssociateSurface 関数の説明で説明されています。
IPrintOemUni::DriverDMS
で指定されたフラグは、Unidrv によって EngAssociateSurface 渡されます。 (デバイス管理サーフェスをサポートするには、レンダリング プラグインですべての描画関数をフックする必要があることに注意してください)。詳細については、「Device-Managed サーフェスの処理」を参照してください。
IPrintOemUni::DriverDMS
pBuffer が指すバッファー内のフラグ設定すると、Unidrv は、EngCreateDeviceSurfaceを呼び出すことによって、デバイスで管理されるサーフェイスを作成します。
IPrintOemUni::DriverDMS
がフラグを設定しない場合、Unidrv は EngCreateBitmap 呼び出すことによって GDI で管理されるサーフェイスを作成します。 いずれの場合も、IPrintOemUni::DriverDMS
はS_OKを返す必要があります。
cbSize で指定された出力バッファー サイズが小さすぎる場合、メソッドは、pcbNeeded 指す場所に必要なサイズを指定し、SetLastError (ERROR_INSUFFICIENT_BUFFER)呼び出して、E_FAILを返す必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | prcomoem.h (Prcomoem.h を含む) |