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 を呼び出す前) と新しい数のストリーム出力ターゲット リソースの違いを表す、出力ターゲット リソースをストリーミングするハンドルの数。
ユーザー モード ディスプレイ ドライバーはこの数を計算できるため、iClearTargets が指定する数値は最適化の助けにすぎません。
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を除き、ドライバーでエラーが発生しないようにする必要があります。 したがって、 ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Microsoft Direct3D ランタイムはエラーが重要であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が SOTargets の操作に干渉した場合 (通常は実行しないでください)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |