次の方法で共有


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

CopyStructureCount は、追加バッファー UAV (スタック上などの構造体に対するプッシュ操作とポップアップ操作をサポートする UAV) の塗りつぶしサイズの値を受け取り、この値をコピー先バッファーのオフセットにコピーします。 グラフィックス ハードウェアでは、4 バイトの塗りつぶしサイズの値を使用して、追加バッファー UAV に格納されているデータの量を追跡します。

必要条件

要件 価値
サポートされる最小クライアント CopyStructureCount は、Windows 7 オペレーティング システム以降でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

CreateResource(D3D11)

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb