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 バス ドライバーによって提供される VMBus カーネル モード クライアント ライブラリ (KMCL) インターフェイスを介して呼び出されます。 この構造体には、サーバー専用関数の関数ポインターが含まれています。
KMCL インターフェイスのクライアント関数とサーバー専用関数の両方にアクセスするには、インターフェイスを受信する KMCL_SERVER_INTERFACE_V1 構造体を割り当て、次のパラメーターを指定して WdfFdoQueryForInterface または WdfIoTargetQueryForInterface を呼び出します。
- InterfaceType パラメーター: KMCL_SERVER_INTERFACE_TYPE
- Size パラメーター:
sizeof(KMCL_SERVER_INTERFACE_V1)
- Version パラメーター: 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 Version 1809 |
Header | vmbuskernelmodeclientlibapi.h |