Function Prototype

vkGetMemoryWin32HandleNV

Retrieve Win32 handle to a device memory object

To retrieve the handle corresponding to a device memory object created with VkExportMemoryAllocateInfoNV::handleTypes set to include VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV or VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, call:

VkResult vkGetMemoryWin32HandleNV(
    VkDevice device,
    VkDeviceMemory memory,
    VkExternalMemoryHandleTypeFlagsNV handleType,
    HANDLE* pHandle);
  • device is the logical device that owns the memory.
  • memory is the VkDeviceMemory object.
  • handleType is a bitmask of VkExternalMemoryHandleTypeFlagBitsNV containing a single bit specifying the type of handle requested.
  • handle is a pointer to a Windows HANDLE in which the handle is returned.

Valid Usage

VUID-vkGetMemoryWin32HandleNV-handleType-01326

handleType must be a flag specified in VkExportMemoryAllocateInfoNV::handleTypes when allocating memory

Valid Usage (Implicit)

VUID-vkGetMemoryWin32HandleNV-pHandle-parameter

pHandle must be a valid pointer to a HANDLE value

VUID-vkGetMemoryWin32HandleNV-memory-parent

memory must have been created, allocated, or retrieved from device