KMCL_SERVER_ONLY_METHODS_V5 구조체(vmbuskernelmodeclientlibapi.h)
KMCL_CLIENT_INTERFACE_V1 구조에는 VMBus KMCL(커널 모드 클라이언트 라이브러리) 인터페이스에 대한 클라이언트 함수에 대한 함수 포인터가 포함되어 있습니다.
KMCL 인터페이스에 액세스하는 방법에 대한 자세한 내용은 설명 섹션을 참조하세요.
Syntax
typedef struct _KMCL_CLIENT_INTERFACE_V1 {
INTERFACE;
PFN_VMB_CHANNEL_ALLOCATE VmbChannelAllocate;
PFN_VMB_CHANNEL_CLEANUP VmbChannelCleanup;
PFN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER VmbChannelCreateGpadlFromBuffer;
PFN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL VmbChannelCreateGpadlFromMdl;
PFN_VMB_CHANNEL_DELETE_GPADL VmbChannelDeleteGpadl;
PFN_VMB_CHANNEL_DISABLE VmbChannelDisable;
PFN_VMB_CHANNEL_ENABLE VmbChannelEnable;
PFN_VMB_CHANNEL_GET_INTERFACE_INSTANCE VmbChannelGetInterfaceInstance;
PFN_VMB_CHANNEL_GET_MMIO_SPACE VmbChannelGetMmioSpace;
PFN_VMB_CHANNEL_GET_POINTER VmbChannelGetPointer;
PFN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE VmbChannelInitSetClientContextSize;
PFN_VMB_CHANNEL_INIT_SET_FLAGS VmbChannelInitSetFlags;
PFN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME VmbChannelInitSetFriendlyName;
PFN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA VmbChannelInitSetMaximumExternalData;
PFN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE VmbChannelInitSetMaximumPacketSize;
PFN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS VmbChannelInitSetProcessPacketCallbacks;
PFN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS VmbChannelInitSetStateChangeCallbacks;
PFN_VMB_CHANNEL_PACKET_COMPLETE VmbChannelPacketComplete;
PFN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE VmbChannelPacketDeferToPassive;
PFN_VMB_CHANNEL_PACKET_FAIL VmbChannelPacketFail;
PFN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA VmbChannelPacketGetExternalData;
PFN_VMB_CHANNEL_PAUSE VmbChannelPause;
PFN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST VmbChannelSendSynchronousRequest;
PFN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE VmbChannelSetIncomingProcessingAtPassive;
PFN_VMB_CHANNEL_SET_INTERRUPT_LATENCY VmbChannelSetInterruptLatency;
PFN_VMB_CHANNEL_SET_POINTER VmbChannelSetPointer;
PFN_VMB_CHANNEL_SET_TRANSACTION_QUOTA VmbChannelSetTransactionQuota;
PFN_VMB_CHANNEL_SIZEOF_PACKET VmbChannelSizeofPacket;
PFN_VMB_CHANNEL_START VmbChannelStart;
PFN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT VmbClientChannelInitSetRingBufferPageCount;
PFN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP VmbClientChannelInitSetTargetPnp;
PFN_VMB_PACKET_ALLOCATE VmbPacketAllocate;
PFN_VMB_PACKET_FREE VmbPacketFree;
PFN_VMB_PACKET_GET_CHANNEL VmbPacketGetChannel;
PFN_VMB_PACKET_GET_POINTER VmbPacketGetPointer;
PFN_VMB_PACKET_INITIALIZE VmbPacketInitialize;
PFN_VMB_PACKET_SEND VmbPacketSend;
PFN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL VmbPacketSendWithExternalMdl;
PFN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS VmbPacketSendWithExternalPfns;
PFN_VMB_PACKET_SET_COMPLETION_ROUTINE VmbPacketSetCompletionRoutine;
PFN_VMB_PACKET_SET_POINTER VmbPacketSetPointer;
} KMCL_CLIENT_INTERFACE_V1, *PKMCL_CLIENT_INTERFACE_V1;
상속
KMCL_SERVER_ONLY_METHODS_V5 구조체는 KMCL_SERVER_ONLY_METHODS 구현합니다.
멤버
_KMCL_SERVER_ONLY_METHODS_V5
_KMCL_SERVER_ONLY_METHODS_V5.VmbServerChannelInitSetSaveRestorePacketCallbacksEx
C_ASSERT
KMCL_CLIENT_INTERFACE_TYPE
_KMCL_CLIENT_INTERFACE_V1
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelAllocate
VmbChannelAllocate 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelCleanup
VmbChannelCleanup 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelCreateGpadlFromBuffer
VmbChannelCreateGpadlFromBuffer 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelCreateGpadlFromMdl
VmbChannelCreateGpadlFromMdl 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelDeleteGpadl
VmbChannelDeleteGpadl 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelDisable
VmbChannelDisable 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelEnable
VmbChannelEnable 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelGetInterfaceInstance
VmbChannelGetInterfaceInstance 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelGetMmioSpace
VmbChannelGetMmioSpace 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelGetPointer
VmbChannelGetPointer 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetClientContextSize
VmbChannelInitSetClientContextSize 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetFlags
VmbChannelInitSetFlags 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetFriendlyName
VmbChannelInitSetFriendlyName 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetMaximumExternalData
VmbChannelInitSetMaximumExternalData 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetMaximumPacketSize
VmbChannelInitSetMaximumPacketSize 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetProcessPacketCallbacks
VmbChannelInitSetProcessPacketCallbacks 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelInitSetStateChangeCallbacks
VmbChannelInitSetStateChangeCallbacks 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelPacketComplete
VmbChannelPacketComplete 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelPacketDeferToPassive
VmbChannelPacketDeferToPassive 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelPacketFail
VmbChannelPacketFail 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelPacketGetExternalData
VmbChannelPacketGetExternalData 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelPause
VmbChannelPause 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSendSynchronousRequest
VmbChannelPause 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSetIncomingProcessingAtPassive
VmbChannelSetIncomingProcessingAtPassive 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSetInterruptLatency
VmbChannelSetInterruptLatency 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSetPointer
VmbChannelSetPointer 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSetTransactionQuota
VmbChannelSetTransactionQuota 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelSizeofPacket
VmbChannelSizeofPacket 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbChannelStart
VmbChannelStart 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbClientChannelInitSetRingBufferPageCount
VmbClientChannelInitSetRingBufferPageCount 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbClientChannelInitSetTargetPnp
VmbClientChannelInitSetTargetPnp 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketAllocate
VmbPacketAllocate 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketFree
VmbPacketFree 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketGetChannel
VmbPacketGetChannel 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketGetPointer
VmbPacketGetPointer 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketInitialize
VmbPacketInitialize 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketSend
VmbPacketSend 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketSendWithExternalMdl
VmbPacketSendWithExternalMdl 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketSendWithExternalPfns
VmbPacketSendWithExternalPfns 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketSetCompletionRoutine
VmbPacketSetCompletionRoutine 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V1.VmbPacketSetPointer
VmbPacketSetPointer 함수에 대한 포인터입니다.
_KMCL_CLIENT_INTERFACE_V1.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V2
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V2.VmbChannelPacketGetClientContext
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V2.VmbChannelGetTargetDeviceObject
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V2.VmbChannelGetParentDeviceObject
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V3
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V3.VmbChannelInitSetBounceBufferSizes
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V3.VmbChannelAllocateBounceBuffer
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V4
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V4.VmbChannelInitSetMaximumPacketCount
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V4.VmbChannelCreateGpadlFromPfnList
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbChannelInitSetPrimaryChannel
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbChannelInitialize
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbChannelSetAllowableDpcCpuUsage
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbClientChannelInitSetTargetProcessorIndex
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbSizeofChannel
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbChannelInitSetInlinePacketContextSize
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbPacketGetInlinePacketContextPointer
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbChannelInitSetProcessPacketCallbacksEx
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_CLIENT_INTERFACE_V5.VmbPacketSetCompletionRoutineEx
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5.KMCL_SERVER_INTERFACE_TYPE
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1._KMCL_SERVER_INTERFACE_V1
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1.C_ASSERT
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1._KMCL_SERVER_INTERFACE_V5
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1._KMCL_SERVER_INTERFACE_V5._KMCL_SERVER_INTERFACE_V5
_KMCL_CLIENT_INTERFACE_V1._KMCL_CLIENT_INTERFACE_V2._KMCL_CLIENT_INTERFACE_V3._KMCL_CLIENT_INTERFACE_V4._KMCL_CLIENT_INTERFACE_V5._KMCL_SERVER_INTERFACE_V1._KMCL_SERVER_INTERFACE_V5.C_ASSERT
설명
이 구조체의 첫 번째 멤버는 Vmbuskmcl.sys 버스 드라이버에서 내보낸 KMCL 인터페이스를 설명하는 INTERFACE 구조체입니다.
KMCL_CLIENT_INTERFACE_V1 함수 포인터는 Vmbkmcl.sys 버스 드라이버에서 제공하는 KMCL(VMBus 커널 모드 클라이언트 라이브러리) 인터페이스를 통해 호출됩니다. 이 구조체에는 클라이언트 함수에 대한 함수 포인터가 포함되어 있습니다.
KMCL 인터페이스의 클라이언트 함수에 액세스하려면 KMCL_CLIENT_INTERFACE_V1 구조를 할당하여 인터페이스를 수신한 다음, 다음 매개 변수를 사용하여 WdfFdoQueryForInterface 또는 WdfIoTargetQueryForInterface 를 호출합니다.
- InterfaceType 매개 변수: KMCL_CLIENT_INTERFACE_TYPE
- 크기 매개 변수:
sizeof(KMCL_CLIENT_INTERFACE_V1)
- 버전 매개 변수: KMCL_CLIENT_INTERFACE_VERSION_V1
인터페이스 쿼리 함수가 성공하면 KMCL_CLIENT_INTERFACE_V1 구조에는 VMBus KMCL 클라이언트 함수를 호출하는 데 사용할 수 있는 함수 포인터가 포함됩니다.
서버 전용 메서드는 KMCL_SERVER_ONLY_METHODS 구조를 참조하세요.
드라이버 정의 인터페이스에 대한 자세한 내용은 Driver-Defined 인터페이스 사용을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1803 |
머리글 | vmbuskernelmodeclientlibapi.h |