次の方法で共有


PFND3D10DDI_SO_SETTARGETS コールバック関数 (d3d10umddi.h)

SoSetTargets 関数は、ストリーム出力ターゲット リソースを設定します。

構文

PFND3D10DDI_SO_SETTARGETS Pfnd3d10ddiSoSettargets;

void Pfnd3d10ddiSoSettargets(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT NumBuffers,
  [in] UINT ClearTargets,
       const D3D10DDI_HRESOURCE *unnamedParam4,
       const UINT *unnamedParam5
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

[in] NumBuffers

phResource が指定 配列内の要素の数。

[in] ClearTargets

ストリーム出力ターゲット リソースの以前の数 (Microsoft Direct3D ランタイムが soSetTargets を呼び出す前) と新しい数のストリーム出力ターゲット リソースとの差を表す、出力ターゲット リソースをストリーミングするハンドルの数。

ClearTargets が指定する数値は、ユーザー モードのディスプレイ ドライバーがこの数を計算できるため、最適化の支援にすぎません。

unnamedParam4

phResource [in]

設定するストリーム出力ターゲット リソースへのハンドルの配列。 一部のハンドル値は NULL できることに注意してください。

unnamedParam5

pOffsets [in]

phResource が指定する 配列内のストリーム出力ターゲット リソースへのオフセットの配列 (バイト単位)。

戻り値

何一つ

備考

ドライバーは、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。

SOTargets パラメーターが指定する数と、すべての NULL 値または非バインド値を含めるために必要なストリーム出力ターゲット リソースの最大数の間のストリーム出力ターゲット リソースの範囲。 ClearTargets パラメーターが指定する番号は、現在の操作に対してドライバーがクリアする必要があるバインド ポイントの数をドライバーに通知します。 SoSetTargets に対する前回の呼び出し SOTargetsで値 2 が渡され、SoSetTargets の現在の呼び出しが SOTargetsで 4 の値を渡した場合、SoSetTargets への現在の呼び出しでは、ClearTargets パラメーターでも値 0 が渡されます。 SoSetTargets への次の連続する呼び出しで、SOTargetsで値 1 が渡された場合、連続する呼び出しでは、ClearTargetsで値 3 (4 - 1) も渡されます。

ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、D3DDDIERR_DEVICEREMOVEDを除き、pfnSetErrorCb 関数の呼び出しでドライバーがエラーを渡した場合、Microsoft Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が SOTargets の操作に干渉した場合 (通常は発生しないはずです)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb