FN_VMB_CHANNEL_MAP_GPADL 콜백 함수(vmbuskernelmodeclientlibapi.h)

[일부 정보는 상업용으로 출시되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 명시적 또는 묵시적 보증을 하지 않습니다.]

VmbChannelMapGpadl 함수는 GPADL(게스트 물리적 주소 설명자 목록) 번호를 사용하여 클라이언트 쪽 버퍼를 서버 쪽 물리적 주소 공간에 매핑합니다.

구문

FN_VMB_CHANNEL_MAP_GPADL FnVmbChannelMapGpadl;

NTSTATUS FnVmbChannelMapGpadl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  UINT32 GpadlHandle,
  PMDL *Mdl
)
{...}

매개 변수

Channel

채널에 대한 핸들입니다.

Flags

플래그. 가능한 플래그 값은 다음과 같습니다.

의미
VMBUS_CHANNEL_GPADL_FLAG_READ_ONLY
읽기 전용 액세스 권한으로 매핑합니다.
 

이 플래그 값이 설정되지 않은 경우 함수는 쓰기 액세스를 위해 GPADL을 매핑하려고 시도합니다. 쓰기 액세스 권한으로 GPADL을 만들지 않은 경우 이 매핑 시도가 실패합니다. 이 플래그가 설정된 경우 호출자가 버퍼에 쓸 수 없습니다. 이 체계는 실시간 마이그레이션 및 스냅샷의 성능을 향상시키는 데 사용됩니다.

GpadlHandle

매핑할 GPADL의 GPADL 핸들입니다.

Mdl

클라이언트 버퍼를 설명하는 MDL에 대한 포인터입니다. 이 버퍼는 실제 주소 공간에만 매핑됩니다. 호출자는 추가 단계를 수행하여 가상 주소 공간에 매핑해야 합니다.

반환 값

작업이 성공하면 STATUS_SUCCESS 반환하고, 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환합니다.

설명

VmbChannelCreateGpadlFromBuffer 함수를 사용하여 instance 경우 클라이언트에서 GPADL을 미리 설정해야 합니다.

지정된 GPADL에 대해 한 번에 하나의 매핑만 있을 수 있습니다.

VmbChannelUnmapGpadl 함수에 대한 호출과 이 함수에 대한 호출을 페어링해야 합니다.

중요

이 함수는 Vmbkmcl.sys 버스 드라이버에서 제공하는 KMCL(VMBus 커널 모드 클라이언트 라이브러리) 인터페이스를 통해 호출됩니다. KMCL_SERVER_ONLY_METHODS 구조에서 액세스하는 서버 전용 함수입니다.

자세한 내용은 KMCL_SERVER_ONLY_METHODS 설명 섹션을 참조 하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1803
머리글 vmbuskernelmodeclientlibapi.h

추가 정보

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl