次の方法で共有


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

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

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

必要条件

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

関連項目

AbandonCommandList する

CreateCommandList

CreateUnorderedAccessView

D3D11DDI_DEVICEFUNCS

pfnSetErrorCb