次の方法で共有


DXGKARG_CANCELCOMMAND構造体 (d3dkmddi.h)

コマンドがハードウェア キューから削除された後に DxgkDdiCancelCommand 関数によってクリーンアップされる内部リソースを指定します。

構文

typedef struct _DXGKARG_CANCELCOMMAND {
  [in]  HANDLE                         hContext;
  [out] VOID                           *pDmaBuffer;
  [in]  UINT                           DmaBufferSize;
  [in]  UINT                           DmaBufferSubmissionStartOffset;
  [in]  UINT                           DmaBufferSubmissionEndOffset;
  [in]  VOID                           *pDmaBufferPrivateData;
  [in]  UINT                           DmaBufferPrivateDataSize;
  [in]  UINT                           DmaBufferPrivateDataSubmissionStartOffset;
  [in]  UINT                           DmaBufferPrivateDataSubmissionEndOffset;
  [in]  const DXGK_ALLOCATIONLIST      *pAllocationList;
  [in]  UINT                           AllocationListSize;
  [in]  const D3DDDI_PATCHLOCATIONLIST *pPatchLocationList;
  [in]  UINT                           PatchLocationListSize;
  [in]  UINT                           PatchLocationListSubmissionStart;
  [in]  UINT                           PatchLocationListSubmissionLength;
        D3DGPU_VIRTUAL_ADDRESS         DmaBufferVirtualAddress;
        UINT                           DmaBufferUmdPrivateDataSize;
} DXGKARG_CANCELCOMMAND;

メンバー

[in] hContext

ドライバーが複数エンジンに対応している場合 (つまり、ドライバーはコンテキストの作成をサポートしています)、キャンセル要求の送信元のデバイス コンテキストへのハンドル。

一部のページング操作では、 hContextNULL です (たとえば、電源管理中にフレーム バッファー全体の内容を削除するページング操作)。 ページング操作は、Flags メンバーのページング ビット フィールド フラグによって示されます。

[out] pDmaBuffer

4 KB に配置された DMA バッファーの先頭へのポインター。

[in] DmaBufferSize

pDmaBuffer が指す DMA バッファーのサイズ (バイト単位)。

[in] DmaBufferSubmissionStartOffset

pDmaBuffer が指定する DMA バッファーの先頭から、取り消しを必要とする DMA バッファーの部分の先頭までのオフセット (バイト単位)。 パッチ時に受信されるオフセットは、送信時に受信されるオフセットと一致します。

[in] DmaBufferSubmissionEndOffset

pDmaBuffer が指定する DMA バッファーの先頭から、取り消しを必要とする DMA バッファーの部分の末尾までのオフセット (バイト単位)。

[in] pDmaBufferPrivateData

pDmaBuffer が指す DMA バッファーに関連付けられているドライバー常駐のプライベート データへのポインター。

[in] DmaBufferPrivateDataSize

pDmaBufferPrivateData のプライベート ドライバー データのサイズ (バイト単位)。

DmaBufferPrivateDataSize は、プライベート ドライバー データ バッファーの長さの全体を表します。ただし、現在のキャンセル要求に関連付けられている部分が小さい場合があります。

[in] DmaBufferPrivateDataSubmissionStartOffset

pDmaBufferPrivateData が指定する DMA バッファープライベート データの先頭から、現在のキャンセル要求に関連付けられているプライベート データの部分の先頭までのオフセット (バイト単位)。

[in] DmaBufferPrivateDataSubmissionEndOffset

pDmaBufferPrivateData が指定する DMA バッファープライベート データの先頭から、現在のキャンセル要求に関連付けられているプライベート データの部分の末尾までのオフセット (バイト単位)。

[in] pAllocationList

pDmaBuffer が指す DMA バッファーに関連付けられている割り当ての一覧のDXGK_ALLOCATIONLIST構造体の配列へのポインター。

[in] AllocationListSize

pAllocationList が指定する配列内の要素の数。

AllocationListSize は、割り当てリストの合計サイズを表します。ただし、現在のキャンセル要求に関連付けられている割り当てリストの部分が小さくなることがあります。

[in] pPatchLocationList

pDmaBuffer が指す DMA バッファーに関連付けられているパッチの場所の一覧のD3DDDI_PATCHLOCATIONLIST構造体の配列へのポインター。

配列は、DMA バッファーにパッチを適用するために使用される範囲の前にある要素で始まる可能性があることに注意してください。

[in] PatchLocationListSize

pPatchLocationList が指定する配列内の要素の数。

PatchLocationListSize は、patch-location リストの合計サイズを表します。ただし、ドライバーが処理する必要がある範囲は、通常は小さくなります。

[in] PatchLocationListSubmissionStart

pPatchLocationList が処理する必要があることを指定する、patch-location リスト内の最初の要素のインデックス。

[in] PatchLocationListSubmissionLength

pPatchLocationList が処理する必要があることを指定するパッチの場所リスト内の要素の数。

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
Header d3dkmddi.h

こちらもご覧ください

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext