次の方法で共有


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

CreateGeometryShaderWithStreamOutput 関数は、ストリーム出力を使用してジオメトリ シェーダーを作成します。

構文

PFND3D10DDI_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT Pfnd3d10ddiCreategeometryshaderwithstreamoutput;

void Pfnd3d10ddiCreategeometryshaderwithstreamoutput(
  D3D10DDI_HDEVICE unnamedParam1,
  const D3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT *unnamedParam2,
  D3D10DDI_HSHADER unnamedParam3,
  D3D10DDI_HRTSHADER unnamedParam4,
  const D3D10DDIARG_STAGE_IO_SIGNATURES *unnamedParam5
)
{...}

パラメーター

unnamedParam1

hDevice [in]

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

unnamedParam2

pCreateGeometryWithShaderOutput [in]

ユーザー モード ディスプレイ ドライバーがストリーム 出力を使用してジオメトリ シェーダーを作成するために使用するパラメーターを記述するD3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT構造体へのポインター。

unnamedParam3

hShader [in]

ストリーム出力を含むジオメトリ シェーダーのドライバーのプライベート データへのハンドル。 ドライバーは、Microsoft Direct3D ランタイムがドライバーの CalcPrivateGeometryShaderWithStreamOutput 関数の呼び出しからプライベート データに割り当てる必要があるメモリ領域のサイズをバイト単位で返します。 ハンドルは実際には、ドライバーが要求したサイズであるメモリ領域へのポインターにすぎません。 ドライバーは、このメモリ領域を使用して、シェーダー オブジェクトに関連する内部データ構造を格納します。

unnamedParam4

hRTShader [in]

Direct3D ランタイムに呼び出す場合にドライバーがいつでも使用する必要があるストリーム出力を含むジオメトリ シェーダーへのハンドル。

unnamedParam5

pSignatures [in]

シェーダーのシグネチャを構成する D3D10DDIARG_STAGE_IO_SIGNATURES 構造体へのポインター。

戻り値

なし

解説

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

ドライバーは、 pfnSetErrorCb 関数の呼び出しでE_OUTOFMEMORY (ドライバーのメモリ不足の場合) またはD3DDDIERR_DEVICEREMOVED (デバイスが削除されている場合) を渡すことができます。 Direct3D ランタイムは、他のエラーが重要であると判断します。 ドライバーがD3DDDIERR_DEVICEREMOVEDを含むエラーを渡した場合、Direct3D ランタイムはハンドルが無効であると判断します。そのため、ランタイムは DestroyShader 関数を呼び出して 、hShader パラメーターが指定するハンドルを破棄しません。

要件

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

こちらもご覧ください

CalcPrivateGeometryShaderWithStreamOutput

D3D10DDIARG_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT

D3D10DDIARG_STAGE_IO_SIGNATURES

D3D10DDI_DEVICEFUNCS

DestroyShader

pfnSetErrorCb