KMCL_SERVER_ONLY_METHODS 구조체(vmbuskernelmodeclientlibapi.h)
KMCL_SERVER_ONLY_METHODS 구조에는 VMBus KMCL(커널 모드 클라이언트 라이브러리) 인터페이스에 대한 서버 전용 함수에 대한 함수 포인터가 포함되어 있습니다.
KMCL 인터페이스에 액세스하는 방법에 대한 자세한 내용은 설명 섹션을 참조하세요.
구문
typedef struct _KMCL_SERVER_ONLY_METHODS {
PFN_VMB_CHANNEL_MAP_GPADL VmbChannelMapGpadl;
PFN_VMB_CHANNEL_RESTORE_FROM_BUFFER VmbChannelRestoreFromBuffer;
PFN_VMB_CHANNEL_SAVE_BEGIN VmbChannelSaveBegin;
PFN_VMB_CHANNEL_SAVE_CONTINUE VmbChannelSaveContinue;
PFN_VMB_CHANNEL_SAVE_END VmbChannelSaveEnd;
PFN_VMB_CHANNEL_UNMAP_GPADL VmbChannelUnmapGpadl;
PFN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE VmbConvertVmbusHandleToKernelHandle;
PFN_VMB_PACKET_RESTORE VmbPacketRestore;
PFN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS VmbServerChannelInitSetFlags;
PFN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES VmbServerChannelInitSetMmioMegabytes;
PFN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS VmbServerChannelInitSetSaveRestorePacketCallbacks;
PFN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID VmbServerChannelInitSetTargetInterfaceId;
PFN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL VmbServerChannelInitSetTargetVtl;
PFN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE VmbServerChannelInitSetVmbusHandle;
} KMCL_SERVER_ONLY_METHODS;
멤버
VmbChannelMapGpadl
VmbChannelMapGpadl 함수에 대한 포인터입니다.
VmbChannelRestoreFromBuffer
VmbChannelRestoreFromBuffer 함수에 대한 포인터입니다.
VmbChannelSaveBegin
VmbChannelSaveBegin 함수에 대한 포인터입니다.
VmbChannelSaveContinue
VmbChannelSaveContinue 함수에 대한 포인터입니다.
VmbChannelSaveEnd
VmbChannelSaveEnd 함수에 대한 포인터입니다.
VmbChannelUnmapGpadl
VmbChannelUnmapGpadl 함수에 대한 포인터입니다.
VmbConvertVmbusHandleToKernelHandle
VmbConvertVmbusHandleToKernelHandle 함수에 대한 포인터입니다.
VmbPacketRestore
VmbPacketRestore 함수에 대한 포인터입니다.
VmbServerChannelInitSetFlags
VmbServerChannelInitSetFlags 함수에 대한 포인터입니다.
VmbServerChannelInitSetMmioMegabytes
VmbServerChannelInitSetMmioMegabytes 함수에 대한 포인터입니다.
VmbServerChannelInitSetSaveRestorePacketCallbacks
VmbServerChannelInitSetSaveRestorePacketCallbacks 함수에 대한 포인터입니다.
VmbServerChannelInitSetTargetInterfaceId
VmbServerChannelInitSetTargetInterfaceId 함수에 대한 포인터입니다.
VmbServerChannelInitSetTargetVtl
VmbServerChannelInitSetTargetVtl 함수에 대한 포인터입니다.
VmbServerChannelInitSetVmbusHandle
VmbServerChannelInitSetVmbusHandle 함수에 대한 포인터입니다.
설명
KMCL_SERVER_ONLY_METHODS 함수 포인터는 Vmbkmcl.sys 버스 드라이버에서 제공하는 KMCL(VMBus 커널 모드 클라이언트 라이브러리) 인터페이스를 통해 호출됩니다. 이 구조체에는 서버 전용 함수에 대한 함수 포인터가 포함되어 있습니다.
KMCL 인터페이스의 클라이언트 및 서버 전용 함수에 모두 액세스하려면 인터페이스를 수신할 KMCL_SERVER_INTERFACE_V1 구조를 할당한 다음, 다음 매개 변수를 사용하여 WdfFdoQueryForInterface 또는 WdfIoTargetQueryForInterface 를 호출합니다.
- InterfaceType 매개 변수: KMCL_SERVER_INTERFACE_TYPE
- 크기 매개 변수:
sizeof(KMCL_SERVER_INTERFACE_V1)
- 버전 매개 변수: KMCL_SERVER_INTERFACE_VERSION_V1
KMCL_SERVER_INTERFACE_V1 구조는 C 언어 코드에 대해 다음과 같이 정의됩니다.
typedef struct _KMCL_SERVER_INTERFACE_V1 {
KMCL_CLIENT_INTERFACE_V1;
KMCL_SERVER_ONLY_METHODS;
} KMCL_SERVER_INTERFACE_V1, *PKMCL_SERVER_INTERFACE_V1;
인터페이스 쿼리 함수가 성공하면 KMCL_SERVER_INTERFACE_V1 구조에는 KMCL_CLIENT_INTERFACE_V1 구조와 KMCL_SERVER_ONLY_METHODS 구조체가 모두 포함됩니다. KMCL_SERVER_ONLY_METHODS 구조에는 VMBus KMCL 서버 전용 함수를 호출하는 데 사용할 수 있는 함수 포인터가 포함되어 있습니다.
KMCL 클라이언트 메서드는 KMCL_CLIENT_INTERFACE_V1 구조를 참조하세요.
드라이버 정의 인터페이스에 대한 자세한 내용은 Driver-Defined 인터페이스 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1809 |
머리글 | vmbuskernelmodeclientlibapi.h |