## C Specification

The VkMemoryGetFdInfoKHR structure is defined as:

typedef struct VkMemoryGetFdInfoKHR {
VkStructureType                       sType;
const void*                           pNext;
VkDeviceMemory                        memory;
VkExternalMemoryHandleTypeFlagBits    handleType;
} VkMemoryGetFdInfoKHR;

## Members

• sType is the type of this structure.

• pNext is NULL or a pointer to an extension-specific structure.

• memory is the memory object from which the handle will be exported.

• handleType is the type of handle requested.

## Description

The properties of the file descriptor exported depend on the value of handleType. See VkExternalMemoryHandleTypeFlagBits for a description of the properties of the defined external memory handle types.

 Note The size of the exported file may be larger than the size requested by VkMemoryAllocateInfo::allocationSize. If handleType is VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, then the application can query the file’s actual size with lseek(2).
Valid Usage
• handleType must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created.

• handleType must be defined as a POSIX file descriptor handle.

Valid Usage (Implicit)
• sType must be VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR

• pNext must be NULL

• memory must be a valid VkDeviceMemory handle

• handleType must be a valid VkExternalMemoryHandleTypeFlagBits value