PFND3D11DDI_COPYSTRUCTURECOUNT コールバック関数 (d3d10umddi.h)
CopyStructureCount 関数は、追加バッファーの順序なしアクセス ビュー (UAV) の塗りつぶされた部分 (つまり、塗りつぶしサイズの値) 内の項目の数をオフセットにコピー先バッファーにコピーします。
構文
PFND3D11DDI_COPYSTRUCTURECOUNT Pfnd3d11ddiCopystructurecount;
void Pfnd3d11ddiCopystructurecount(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3,
D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam4
)
{...}
パラメーター
unnamedParam1
hDevice [in]
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
hDstBuffer [in]
UAV の塗りつぶしサイズの値をコピーする宛先バッファーへのハンドル。 この宛先バッファーを作成するには、ランタイムで、D3D11DDIARG_CREATERESOURCE構造体のResourceDimension メンバーをD3D10DDIRESOURCE_BUFFER値に設定して、ドライバーの CreateResource(D3D11) 関数を以前に呼び出しておく必要があります。
unnamedParam3
DstAlignedByteOffset [in]
hDstBuffer パラメーターが指定する宛先バッファーへの 4 バイトのアラインド オフセット (バイト単位)。 CopyStructureCount は 、 hSrcView パラメーターが指定する追加バッファー ビューの塗りつぶしサイズの値を hDstBuffer のこのオフセットにコピーします。 DstAlignedByteOffset は 4 の倍数である必要があります。
unnamedParam4
hSrcView [in]
ソースの追加 UAV へのハンドル。追加バッファー ビューである必要があります。 CopyStructureCount は、このビューの塗りつぶしサイズの値を 、hDstBuffer パラメーターが指定するコピー先バッファーにコピーします。 この追加バッファー ビューを作成するには、ランタイムで以前にドライバーの CreateUnorderedAccessView 関数を呼び出し、D3D11_DDI_BUFFER_UAV_FLAG_APPEND フラグを設定しておく必要があります。
戻り値
なし
解説
ドライバーは、 pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。
ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が CopyStructureCount (通常は発生しないはずです) の操作に干渉する場合、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
CopyStructureCount は、追加バッファー UAV (スタック上などの構造体に対するプッシュ操作とポップアップ操作をサポートする UAV) の塗りつぶしサイズの値を受け取り、この値をコピー先バッファーへのオフセットにコピーします。 グラフィックス ハードウェアでは、4 バイトの塗りつぶしサイズ値を使用して、追加バッファー UAV に格納されているデータの量を追跡します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | CopyStructureCount は、Windows 7 オペレーティング システム以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |