структура 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

Если драйвер поддерживает несколько подсистем (то есть драйвер поддерживает создание контекста), дескриптор контекста устройства, из которого был получен запрос на отмену.

Для некоторых операций разбиения по страницам hContext имеет значение NULL (например, операции разбиения по страницам, которые вытесляют содержимое всего буфера кадров во время управления питанием). Операции разбиения по страницам указываются флагом битового поля разбиения по страницам в элементе Flags .

[out] pDmaBuffer

Указатель на начало буфера DMA, который выравнивается по 4 КБ.

[in] DmaBufferSize

Размер (в байтах) буфера DMA, на который указывает pDmaBuffer .

[in] DmaBufferSubmissionStartOffset

Смещение (в байтах) от начала буфера DMA, указанного pDmaBuffer , до начала части буфера DMA, требующей отмены. Смещение, полученное во время исправления, соответствует смещению, полученному во время отправки.

[in] DmaBufferSubmissionEndOffset

Смещение в байтах от начала буфера DMA, указанного pDmaBuffer , до конца части буфера DMA, требующей отмены.

[in] pDmaBufferPrivateData

Указатель на частные данные, находящиеся в драйвере, связанные с буфером DMA, на который указывает pDmaBuffer .

[in] DmaBufferPrivateDataSize

Размер данных частного драйвера в байтах в pDmaBufferPrivateData.

Обратите внимание, что DmaBufferPrivateDataSize представляет всю длину буфера данных частного драйвера. однако часть, связанная с текущим запросом на отмену, может быть меньше.

[in] DmaBufferPrivateDataSubmissionStartOffset

Смещение (в байтах) от начала частных данных буфера DMA, указанного pDmaBufferPrivateData , до начала части частных данных, связанной с текущим запросом отмены.

[in] DmaBufferPrivateDataSubmissionEndOffset

Смещение (в байтах) от начала частных данных буфера DMA, указанного pDmaBufferPrivateData , до конца части частных данных, связанной с текущим запросом отмены.

[in] pAllocationList

Указатель на массив DXGK_ALLOCATIONLIST структур для списка выделений, связанных с буфером DMA, на который указывает pDmaBuffer .

[in] AllocationListSize

Количество элементов в массиве, которое указывает pAllocationList .

Обратите внимание, что AllocationListSize представляет общий размер списка выделения. однако часть списка выделения, связанная с текущим запросом на отмену, может быть меньше.

[in] pPatchLocationList

Указатель на массив D3DDDI_PATCHLOCATIONLIST структур для списка расположений исправлений, связанных с буфером DMA, на который указывает pDmaBuffer .

Обратите внимание, что массив может начинаться с элемента, который находится перед диапазоном, используемым для исправления буфера DMA.

[in] PatchLocationListSize

Количество элементов в массиве, которое указывает pPatchLocationList .

Обратите внимание, что PatchLocationListSize представляет общий размер списка расположений исправлений. Однако диапазон, который должен обработать драйвер, обычно меньше.

[in] PatchLocationListSubmissionStart

Индекс первого элемента в списке patch-location, который указывает pPatchLocationList , который необходимо обработать.

[in] PatchLocationListSubmissionLength

Количество элементов в списке расположений исправлений, которое указывает pPatchLocationList , которые должны быть обработаны.

DmaBufferVirtualAddress

DmaBufferUmdPrivateDataSize

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Верхняя часть d3dkmddi.h

См. также раздел

D3DDDI_PATCHLOCATIONLIST

DXGK_ALLOCATIONLIST

DxgkDdiCancelCommand

DxgkDdiCreateContext