다음을 통해 공유


DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA 콜백 함수(d3dkmddi.h)

KMD의 DxgkDdiSaveImmutableMigrationData 함수는 시작하려는 실시간 마이그레이션을 위해 변경할 수 없는 데이터를 저장합니다.

구문

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

NTSTATUS DxgkddiSaveimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}

매개 변수

hAdapter

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

pArgs

[in/out] 호출과 관련된 정보에 대한 DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA 구조체에 대한 포인터입니다.

반환 값

DxgkDdiSaveImmutableMigrationData 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 코드를 반환합니다.

설명

KMD의 DxgkDdiPrepareLiveMigration 함수를 호출한 후 DxgkrnlDxgkDdiSaveImmutableMigrationData 를 호출하여 대상 쪽에서 복원할 디바이스에 대한 정보를 수집합니다. 이 점은 시스템에서 원격 구성의 유효성을 검사할 수 있는 기회이기도 하므로 DxgkDdiSaveImmutableMigrationData 는 VF를 대상 구성으로 이동하는 기능을 검색할 수 있는 하드웨어, 펌웨어 또는 드라이버 유효성 검사 데이터의 유효성을 검사할 수 있는 충분한 정보를 패키지해야 합니다.

드라이버는 대상의 KMD가 새 VF를 초기화하는 데 사용할 수 있는 활성 상태일 때 변경되지 않는 VF에 대한 데이터를 저장해야 합니다. 이 데이터는 vGPU 생성 매개 변수를 포함할 필요가 없습니다. 이러한 매개 변수는 하위 수준으로 전송되고 일반 DDI를 사용하여 vGPU를 만드는 데 사용됩니다. 여기에는 VF에 불변하게 연결되어 있고 모든 데이터를 대상 쪽에서 복원할 필요가 없는 모든 데이터가 포함될 수 있습니다. 데이터는 이 인터페이스의 중요한 부분인 유효성 검사 목적으로만 보낼 수 있습니다.

DxgkDdiSaveImmutableMigrationData 는 클래식 동적 버퍼 패턴에서 호출됩니다.

  • 첫 번째 호출에서 DataSize 는 0으로 설정되고 Data 는 NULL로 설정됩니다. KMD는 변경 불가능한 데이터를 저장하는 데 필요한 총 바이트 수로 DataSize 를 변경해야 합니다.
  • DxgkrnlDataSize 바이트의 버퍼를 만들고 할당된 버퍼를 가리키는 KMD 및 Data에서 반환하는 값으로 설정된 DataSize를 사용하여 두 번째 호출을 합니다. Dxgkrnl 은 호출 후 할당된 이 메모리의 수명을 제어합니다.

DxgkDdiSaveMutableMigrationData 는 변경 가능한 데이터를 수집하기 위해 라이브 마이그레이션이 끝날 때 호출됩니다.

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

요구 사항

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

추가 정보

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

DxgkDdiSaveMutableMigrationData