// dispmprt.h
DXGKDDI_SETVIRTUALGPUVMBUS DxgkddiSetvirtualgpuvmbus;
NTSTATUS DxgkddiSetvirtualgpuvmbus(
[in] HANDLE Context,
[in, out] DXGKARG_SETVIRTUALGPUVMBUS *pArgs
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
This function passes a kernel mode virtual machine bus handle to the kernel mode driver. The handle is used to create VM bus channels for communication between guest and host KMDs.
Context [in]The miniport context that is returned by the driver in the DXGKDDI_GPU_PARTITION_INTERFACE structure.
pArgs [in, out]A pointer to a DXGKARG_SETVIRTUALGPUVMBUS structure.
Return STATUS_SUCCESS if the operation succeeds, STATUS_INVALID_PARAMETER otherwise.
//Declaration
DXGKDDI_SETVIRTUALGPUVMBUS DxgkddiSetvirtualgpuvmbus;
// Definition
NTSTATUS DxgkddiSetvirtualgpuvmbus
(
HANDLE Context
DXGKARG_SETVIRTUALGPUVMBUS * pArgs
)
{...}
The kernel mode driver uses the kernel mode handle to create a VM bus channel. The function is called before the guest KMD gets DxgkDdiAddDevice and DxgkDdiStartDevice calls (in case of Windows OS on the guest partition). The function could be called multiple times with a new handle for the same virtual GPU. When this happened it is recommended to destroy the old channel and create the new one.