заголовок vmbuskernelmodeclientlibapi.h

Этот заголовок используется сетью. Дополнительные сведения см. в следующем разделе:

vmbuskernelmodeclientlibapi.h содержит следующие интерфейсы программирования:

Функции

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

Функция VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT сохраняет функции обратного вызова, которые будут использоваться для изменения состояния канала.

Функции обратного вызова

 
EVT_VMB_CHANNEL_CLOSED

Функция обратного вызова EvtVmbChannelClosed вызывается, когда конечная точка клиента в гостевой виртуальной машине закрывает канал с помощью функции VmbChannelDisable, или противоположной конечной точки отменяет или закрывает канал.
EVT_VMB_CHANNEL_OPENED

Функция обратного вызова EvtVmbChannelOpened вызывается, когда конечная точка клиента на гостевой виртуальной машине открывает канал, который был предложен ему.
EVT_VMB_CHANNEL_PNP_FAILURE

Функция обратного вызова EvtChannelPnpFailure вызывается, если конечная точка клиента в гостевой виртуальной машине асинхронно не подключается, даже если устройство PnP расположено.
EVT_VMB_CHANNEL_POST_STARTED

Функция обратного вызова EvtVmbChannelPostStarted вызывается в любой конечной точке после получения пакетов из противоположной конечной точки.
EVT_VMB_CHANNEL_PROCESS_PACKET

Функция обратного вызова EvtVmbChannelProcessPacket вызывается при поступлении пакета в входящий буфер кольца.
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

Функция обратного вызова EvtVmbChannelProcessingComplete вызывается при доставке группы пакетов функцией EvtVmbChannelProcessPacket, если перед доставкой последующих пакетов возникает пауза.
EVT_VMB_CHANNEL_RESTORE_PACKET

Функция обратного вызова EvtVmbChannelRestorePacket вызывается, когда конечная точка сервера поставщика служб виртуализации (VSP) должна восстановить состояние, связанное с объектом пакета.
EVT_VMB_CHANNEL_SAVE_PACKET

Функция обратного вызова EvtVmbChannelSavePacket вызывается, когда конечная точка поставщика служб виртуализации (VSP) должна сохранить состояние, связанное с пакетом.
EVT_VMB_CHANNEL_STARTED

Функция обратного вызова EvtVmbChannelStarted вызывается в любой конечной точке, когда канал полностью настроен, но до доставки пакетов. Это происходит при открытии канала противоположной конечной точки или повторном открытии канала после закрытия.
EVT_VMB_CHANNEL_SUSPEND

Функция обратного вызова EvtVmbChannelSuspend вызывается в конечной точке сервера, когда канал закрывается или удаляется конечной точкой клиента, которая перемещает сервер в состояние "Остановленный".
EVT_VMB_PACKET_COMPLETION_ROUTINE

Функция обратного вызова EvtVmbPacketCompletionRoutine вызывается при завершении транзакции, связанной с отправленным пакетом.
FN_VMB_CHANNEL_ALLOCATE

Функция VmbChannelAllocate выделяет новый канал VMBus, имеющий параметры и обратные вызовы по умолчанию.
FN_VMB_CHANNEL_CLEANUP

Функция VmbChannelCleanup удаляет канал, выделенный с помощью функции VmbChannelAllocate или инициализации с помощью функции инициализации канала VMBus.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

Функция VmbChannelCreateGpadlFromBuffer создает список дескрипторов гостевого физического адреса (GPADL), описывающий клиентский буфер. GPADL можно использовать на сервере для доступа к буферу.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

Функция VmbChannelCreateGpadlFromMdl создает список дескрипторов гостевого физического адреса (GPADL), описывающий клиентский буфер. GPADL можно использовать на сервере для доступа к буферу.
FN_VMB_CHANNEL_DELETE_GPADL

Функция VmbChannelDeleteGpadl удаляет список дескрипторов гостевого физического адреса (GPADL), сопоставленный функциями VmbChannelCreateGpadlFromMdl или VmbChannelCreateGpadlFromBuffer.
FN_VMB_CHANNEL_DISABLE

Функция VmbChannelDisable отключает канал, который закрывает его для клиентских каналов и отменяет предложение канала для каналов сервера. Эта функция ожидает, пока канал полностью не будет оторван, прежде чем он возвращается.
FN_VMB_CHANNEL_ENABLE

Функция VmbChannelEnable включает канал, который находится в отключенном состоянии, подключаясь к VMBus и предлагая или открыв канал, в соответствии с типом конечной точки.
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

Функция VmbChannelGetInterfaceInstance получает активный экземпляр интерфейса, который является GUID, который однозначно идентифицирует канал.
FN_VMB_CHANNEL_GET_MMIO_SPACE

Функция VmbChannelGetMmioSpace извлекает виртуальный адрес ядра пространства MMIO, выделенного для канала.
FN_VMB_CHANNEL_GET_POINTER

Функция VmbChannelGetPointer позволяет драйверу клиента получить указатель, который ранее был сохранен с помощью функции VmbPacketSetPointer.
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

Функция VmbChannelInitSetClientContextSize задает размер необязательной области контекста, выделенной для драйвера клиента для каждого входящего пакета.
FN_VMB_CHANNEL_INIT_SET_FLAGS

Функция VmbChannelInitSetFlags задает флаги, общие для конечных точек сервера или канала клиента.
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

Функция VmbChannelInitSetFriendlyName задает понятное имя канала клиентской библиотеки режима ядра (KMCL). Понятное имя используется для отладки и именования экземпляра счетчика производительности.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

Функция VmbChannelInitSetMaximumExternalData задает максимальный размер и длину цепочки данных, описываемых пакетом, но не напрямую отправляемых в пакет. То есть максимальный размер буфера, описанного ExternalDataMdl.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

Функция VmbChannelInitSetMaximumPacketSize задает максимальный размер пакета, который можно доставлять через канал, который является максимальным размером, который когда-либо будет указан функцией VmbPacketSend.
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

Функция VmbChannelInitSetProcessPacketCallbacks задает функции обратного вызова для обработки пакетов.
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

Функция VmbChannelInitSetStateChangeCallbacks задает необязательные функции обратного вызова для изменений состояния.
FN_VMB_CHANNEL_MAP_GPADL

Функция VmbChannelMapGpadl сопоставляет клиентский буфер с физическим адресным пространством на стороне сервера с помощью номера списка дескрипторов гостевого физического адреса (GPADL).
FN_VMB_CHANNEL_PACKET_COMPLETE

Функция VmbChannelPacketComplete очищает все выдающиеся сопоставления памяти, освобождает все используемые буферы и, если обратная конечная точка запрашивает пакет завершения, отправляет пакет завершения.
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

Функция VmbChannelPacketDeferToPassive вызывается драйвером клиента, чтобы отложить пакет, переданный ему функцией обратного вызова EvtVmbChannelProcessPacket.
FN_VMB_CHANNEL_PACKET_FAIL

Функция VmbChannelPacketFail завершается ошибкой пакета во время обработки пакетов из-за неустранимой ошибки. Эта функция останавливает очередь.
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

Функция VmbChannelPacketGetExternalData получает все внешние списки дескрипторов памяти (MDLs), связанные с пакетом во время обработки пакетов.
FN_VMB_CHANNEL_PAUSE

Функция VmbChannelPause перемещает канал в приостановленное состояние, которое предотвращает новые ввода-вывода.
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

Функция VmbChannelRestoreFromBuffer восстанавливает состояние клиента из ранее сохраненного состояния. Драйвер должен проверить возвращаемое значение функции.
FN_VMB_CHANNEL_SAVE_BEGIN

Функция VmbChannelSaveBegin инициализирует контекст для сохранения состояния канала. Драйвер должен проверить возвращаемое значение функции.
FN_VMB_CHANNEL_SAVE_CONTINUE

Функция VmbChannelSaveContinue сохраняет состояние канала в буфере. Запустите VmbChannelSaveBegin перед выполнением этой функции. Драйвер должен проверить возвращаемое значение функции.
FN_VMB_CHANNEL_SAVE_END

Функция VmbChannelSaveEnd очищает все ресурсы, выделенные для сохранения состояния канала.
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

Функция VmbChannelSendSynchronousRequest отправляет пакет в противоположной конечной точке и ожидает ответа.
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

Функция VmbChannelSetIncomingProcessingAtPassive задает необходимый IRQL для входящих процедур синтаксического анализа для канала PASSIVE_LEVEL.
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

Гостевая виртуальная машина обновляет задержку исходящего монитора для прерываний MNF.
FN_VMB_CHANNEL_SET_POINTER

Функция VmbChannelSetPointer сохраняет произвольный указатель в контексте канала.
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

Функция VmbChannelSetTransactionQuota задает квоту входящих пакетов.
FN_VMB_CHANNEL_SIZEOF_PACKET

Функция VmbChannelSizeofPacket вычисляет необходимый размер буферов, используемых с функцией VmbPacketInitialize.
FN_VMB_CHANNEL_START

Функция VmbChannelStart перемещает канал из приостановленного состояния.
FN_VMB_CHANNEL_UNMAP_GPADL

Функция VmbChannelUnmapGpadl не сопоставляет список дескрипторов гостевого физического адреса (GPADL), сопоставленный с помощью функции VmbChannelMapGpadl. Буфер больше не должен использоваться сервером перед вызовом этой функции.
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

Функция VmbClientChannelInitSetRingBufferPageCount задает количество страниц памяти, выделенных клиентом для входящих и исходящих буферов кругов.
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

Функция VmbClientChannelInitSetTargetPnp задает целевой объект клиентского канала по типам интерфейса и идентификаторам экземпляров.
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

Функция VmbConvertVmbusHandleToKernelHandle преобразует дескриптор пользовательского режима VMBus в дескриптор режима ядра.
FN_VMB_PACKET_ALLOCATE

Функция VmbPacketAllocate выделяет пакет из списка lookaside канала.
FN_VMB_PACKET_FREE

Функция VmbPacketFree освобождает пакет, выделенный с помощью функции VmbPacketAllocate.
FN_VMB_PACKET_GET_CHANNEL

Функция VmbPacketGetChannel возвращает канал VMBus, с которым связан пакет VMBus.
FN_VMB_PACKET_GET_POINTER

Функция VmbPacketGetPointer извлекает указатель, который ранее был сохранен с помощью функции VmbPacketSetPointer.
FN_VMB_PACKET_INITIALIZE

Функция VmbPacketInitialize инициализирует буфер, содержащий пакет VMBus.
FN_VMB_PACKET_RESTORE

Функция VmbPacketRestore восстанавливает пакет из буфера, содержащего сохраненный контекст пакета.
FN_VMB_PACKET_SEND

Функция VmbPacketSend отправляет данные в буфере пакетов или внешнем списке дескрипторов памяти (MDL). Функция связывает эти данные с объектом пакета VMBus, который представляет пакет в течение всего времени существования транзакции.
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

Функция VmbPacketSendWithExternalMdl отправляет данные в буфере пакетов или списке дескрипторов памяти внешних данных (MDL).
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

Функция VmbPacketSendWithExternalPfns отправляет данные в буфере пакетов или внешних данных в виде массива номеров кадров страниц (PFN).
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

Функция VmbPacketSetCompletionRoutine задает подпрограмму завершения для объекта пакета.
FN_VMB_PACKET_SET_POINTER

Функция VmbPacketSetPointer сохраняет произвольный указатель в контексте пакета.
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

Функция VmbServerChannelInitSetFlags задает флаги, уникальные для конечных точек канала сервера.
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

Функция VmbServerChannelInitSetMmioMegabytes указывает объем, мегабайты, сопоставленные с гостевой памятью (MMIO), для резервирования для устройства.
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

Функция VmbServerChannelInitSetSaveRestorePacketCallbacks задает функции обратного вызова сохранения и восстановления, вызываемые для каждого пакета, когда драйвер вызывает функцию сохранения, например VmbChannelSaveBegin, VmbChannelSaveContinue и VmbChannelSaveEnd или функцию VmbChannelRestoreFromBuffer.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

Функция VmbServerChannelInitSetTargetInterfaceId задает GUID типа целевого интерфейса и GUID экземпляра предложения канала.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

Функция VmbServerChannelInitSetTargetVtl задает целевой VTL для этого канала. Канал будет предлагаться клиентам, работающим в указанном VTL, и никакие другие.
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

Функция VmbServerChannelInitSetVmbusHandle связывает экземпляр VMBus с этим каналом.

Структуры

 
KMCL_SERVER_ONLY_METHODS

Структура KMCL_SERVER_ONLY_METHODS содержит указатели функций только для серверных функций для интерфейса клиентской библиотеки (KMCL) режима ядра VMBus.
KMCL_SERVER_ONLY_METHODS_V5

Структура KMCL_CLIENT_INTERFACE_V1 содержит указатели функций для клиентских функций для интерфейса клиентской библиотеки режима ядра VMBus (KMCL).
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

Структура VMB_CHANNEL_STATE_CHANGE_CALLBACKS содержит функции обратного вызова, связанные с изменениями состояния канала.