DXGKDDI_RELEASESWIZZLINGRANGE回调函数 (d3dkmddi.h)

DxgkDdiReleaseSwizzlingRange 函数释放了以前设置的 DxgkDdiAcquireSwizzlingRange 函数的重排范围。

语法

DXGKDDI_RELEASESWIZZLINGRANGE DxgkddiReleaseswizzlingrange;

NTSTATUS DxgkddiReleaseswizzlingrange(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_RELEASESWIZZLINGRANGE pReleaseSwizzlingRange
)
{...}

参数

[in] hAdapter

与显示适配器关联的上下文块的句柄。 显示微型端口驱动程序以前将此句柄提供给 DxgkDdiAddDevice 函数的 MiniportDeviceContext 输出参数中的 Microsoft DirectX 图形内核子系统。

[in] pReleaseSwizzlingRange

指向 DXGKARG_RELEASESWIZZLINGRANGE 结构的指针,其中包含用于释放重排范围的信息。

返回值

DxgkDdiReleaseSwizzlingRange 返回STATUS_SUCCESS;如果未成功释放重排范围,则返回适当的错误结果。

注解

当指定的分配 (时,通常调用 DxgkDdiReleaseSwizzlingRange 函数,即 pReleaseSwizzlingRange 参数指向 DXGKARG_RELEASESWIZZLINGRANGE) hAllocation 成员被逐出或销毁,或者当另一个分配需要DXGKARG_RELEASESWIZZLINGRANGE的 RangeId 成员指定的重排范围时调用。

如果指定的分配当前与多个重排范围相关联, (通过调用 DxgkDdiAcquireSwizzlingRange 函数) ,则显示微型端口驱动程序应仅释放DXGKARG_RELEASESWIZZLINGRANGE的 RangeId 成员指定的重排范围。 如果显示微型端口驱动程序释放与分配关联的所有重排范围,则分配中的随机损坏可能会导致应用程序当前可能正在使用一个或多个重排范围。

驱动程序必须使用内存映射 I/O (MMIO) 来设置重排范围。 这些重排范围访问不得干扰 GPU (的执行,也就是说,当 DxgkDdiReleaseSwizzlingRange 称为) 时,GPU 不得处于空闲状态。

DxgkDdiReleaseSwizzlingRange 的所有调用都相互序列化,但不与任何其他设备驱动程序接口 (DDI) 函数一起序列化。

应使 DxgkDdiReleaseSwizzlingRange 可分页。

要求

   
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

另请参阅

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice