次の方法で共有


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 を含む)

こちらもご覧ください

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb