次の方法で共有


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

順序付けられていないアクセス ビューを破棄します。

構文

PFND3D11DDI_DESTROYUNORDEREDACCESSVIEW Pfnd3d11ddiDestroyunorderedaccessview;

void Pfnd3d11ddiDestroyunorderedaccessview(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11DDI_HUNORDEREDACCESSVIEW unnamedParam2
)
{...}

パラメーター

unnamedParam1

hDevice [in]

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

unnamedParam2

hUnorderedAccessView [in]

破棄する順序付けられていないアクセス ビューのドライバーのプライベート データへのハンドル。 Microsoft Direct3D ランタイムは、順序付けされていないアクセス ビュー用に以前に割り当てたメモリ領域を解放します。 そのため、ドライバーは、このメモリ領域にアクセスできなくなります。

戻り値

なし

解説

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

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

メモ 即時コンテキストとデバイスの破棄中、または遅延コンテキストの破棄中、Windows 7 では、コンピューティング シェーダーの順序なしアクセス ビュー (CS UAV) バインド ポイントはクリアされません。 その結果、ドライバーは、ランタイムによって提供される一般的な保証に違反するコンテキストにバインドされる UAV ハンドルを確認します。 ドライバーは、次の手順に従ってこの問題を回避できます。

  • 各メソッドはコマンド リストの末尾を示すので、 AbandonCommandList メソッドまたは CreateCommandList メソッドを使用します。
  • CS UAV バインド ポイントのバインド解除を推測するには、ブレンド状態、ラスター化状態、深度/ステンシル状態のいずれかの状態が NULL に設定されていることを確認します。
 

要件

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

こちらもご覧ください

AbandonCommandList

CreateCommandList

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb