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 함수를 호출한 후 Dxgkrnl 은DxgkDdiSaveImmutableMigrationData 를 호출하여 대상 쪽에서 복원할 디바이스에 대한 정보를 수집합니다. 이 점은 시스템에서 원격 구성의 유효성을 검사할 수 있는 기회이기도 하므로 DxgkDdiSaveImmutableMigrationData 는 VF를 대상 구성으로 이동하는 기능을 검색할 수 있는 하드웨어, 펌웨어 또는 드라이버 유효성 검사 데이터의 유효성을 검사할 수 있는 충분한 정보를 패키지해야 합니다.
드라이버는 대상의 KMD가 새 VF를 초기화하는 데 사용할 수 있는 활성 상태일 때 변경되지 않는 VF에 대한 데이터를 저장해야 합니다. 이 데이터는 vGPU 생성 매개 변수를 포함할 필요가 없습니다. 이러한 매개 변수는 하위 수준으로 전송되고 일반 DDI를 사용하여 vGPU를 만드는 데 사용됩니다. 여기에는 VF에 불변하게 연결되어 있고 모든 데이터를 대상 쪽에서 복원할 필요가 없는 모든 데이터가 포함될 수 있습니다. 데이터는 이 인터페이스의 중요한 부분인 유효성 검사 목적으로만 보낼 수 있습니다.
DxgkDdiSaveImmutableMigrationData 는 클래식 동적 버퍼 패턴에서 호출됩니다.
- 첫 번째 호출에서 DataSize 는 0으로 설정되고 Data 는 NULL로 설정됩니다. KMD는 변경 불가능한 데이터를 저장하는 데 필요한 총 바이트 수로 DataSize 를 변경해야 합니다.
- Dxgkrnl은 DataSize 바이트의 버퍼를 만들고 할당된 버퍼를 가리키는 KMD 및 Data에서 반환하는 값으로 설정된 DataSize를 사용하여 두 번째 호출을 합니다. Dxgkrnl 은 호출 후 할당된 이 메모리의 수명을 제어합니다.
DxgkDdiSaveMutableMigrationData 는 변경 가능한 데이터를 수집하기 위해 라이브 마이그레이션이 끝날 때 호출됩니다.
자세한 내용은 GPU-P 디바이스에서 실시간 마이그레이션을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 버전 24H2(WDDM 3.2) |
머리글 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |