다음을 통해 공유


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 멤버가 지정한 스위즐링 범위만 해제해야 합니다. 디스플레이 미니포트 드라이버가 할당과 연결된 모든 스위즐링 범위를 해제하는 경우 애플리케이션이 현재 하나 이상의 스위즐링 범위를 사용하고 있을 수 있으므로 할당의 임의 손상이 발생할 수 있습니다.

드라이버는 MMIO(메모리 매핑 I/O)를 사용하여 스위즐링 범위를 설정해야 합니다. 이러한 스위즐링 범위 액세스는 GPU 실행을 방해해서는 안 됩니다(즉, DxgkDdiReleaseSwizzlingRange 가 호출될 때 GPU는 유휴 상태여야 함).

DxgkDdiReleaseSwizzlingRange에 대한 모든 호출은 자체적으로 직렬화되지만 다른 DDI(디바이스 드라이버 인터페이스) 함수에서는 직렬화되지 않습니다.

DxgkDdiReleaseSwizzlingRange 를 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 d3dkmddi.h
IRQL PASSIVE_LEVEL

추가 정보

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice