다음을 통해 공유


DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA 콜백 함수(d3dkmddi.h)

수신 쪽 OS는 DxgkDdiRestoreImmutableMigrationData 를 호출하여 DxgkDdiSaveImmutableMigrationData에 대한 이전 호출에서 송신 쪽 드라이버가 저장한 변경할 수 없는 데이터를 복원합니다.

구문

DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA DxgkddiRestoreimmutablemigrationdata;

NTSTATUS DxgkddiRestoreimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}

매개 변수

hAdapter

[in] 디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DXGKDDI_ADD_DEVICE 함수의 MiniportDeviceContext 출력 매개 변수에서 Dxgkrnl에 이 핸들을 제공했습니다.

pArgs

[in] 변경할 수 없는 데이터를 복원하는 데 필요한 정보를 포함하는 DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA 구조체에 대한 포인터입니다.

반환 값

DxgkDdiRestoreImmutableMigrationData 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 STATUS_OBJECT_TYPE_MISMATCH 오류 코드와 같은 적절한 NTSTATUS 코드를 반환합니다(설명 참조).

설명

두 번 호출되는 저장/보내기 쪽과 달리 DxgkDdiRestoreImmutableMigrationData 는 수신 쪽 KMD에 전체 데이터 버퍼를 제공하는 데 필요한 모든 데이터가 있기 때문에 한 번만 호출됩니다. 드라이버는 데이터를 가져와서 생성되는 VF 및 해당 추적에 적용해야 하며 성공적인 복원에 필요한 데이터 고정의 유효성을 검사해야 합니다.

버퍼는 DxgkDdiSaveImmutableMigrationData의 원본 쪽에 채워진 콘텐츠이므로 KMD는 공통 형식의 데이터를 추적해야 합니다. 새 드라이버로 데이터를 변경해야 할 수도 있는 경우 콘텐츠 데이터에 구현된 버전 관리 체계도 있어야 하며, 이 체계는 대상에서 수행된 버전 검사의 일부여야 합니다.

데이터가 대상 시스템이 원본에서 VF를 마이그레이션하도록 올바르게 구성되지 않은 경우 KMD는 다음을 수행해야 합니다.

  1. DxgkCbLogEtwEvent를 통해 GUID_DxgkAzureTriageEvent 식별자와 실패한 유효성 검사에 대한 특정 세부 정보를 사용하여 이 문제를 보고하여 문제를 심사하고 수정할 수 있습니다.
  2. STATUS_OBJECT_TYPE_MISMATCH 오류가 있는 이 DDI 호출에서 반환합니다.

DxgkDdiRestoreImmutableMigrationData 는 현재 일시 중지된 VF에 대해서만 호출해야 합니다.

자세한 내용은 GPU-P 디바이스에서 실시간 마이그레이션을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 11 버전 24H2(WDDM 3.2)
머리글 d3dkmddi.h
IRQL PASSIVE_LEVEL

추가 정보

DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA

DxgkDdiSaveImmutableMigrationData