C Specification
To specify additional attributes of NT handles exported from a memory
object, add a VkExportMemoryWin32HandleInfoKHR structure to the
pNext chain of the VkMemoryAllocateInfo structure.
The VkExportMemoryWin32HandleInfoKHR structure is defined as:
// Provided by VK_KHR_external_memory_win32
typedef struct VkExportMemoryWin32HandleInfoKHR {
VkStructureType sType;
const void* pNext;
const SECURITY_ATTRIBUTES* pAttributes;
DWORD dwAccess;
LPCWSTR name;
} VkExportMemoryWin32HandleInfoKHR;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
pAttributesis a pointer to a WindowsSECURITY_ATTRIBUTESstructure specifying security attributes of the handle. -
dwAccessis aDWORDspecifying access rights of the handle. -
nameis a null-terminated UTF-16 string to associate with the payload referenced by NT handles exported from the created memory.
Description
If VkExportMemoryAllocateInfo is not included in the same pNext
chain, this structure is ignored.
If VkExportMemoryAllocateInfo is included in the pNext chain of
VkMemoryAllocateInfo with a Windows handleType, but either
VkExportMemoryWin32HandleInfoKHR is not included in the pNext
chain, or it is included but pAttributes is set to NULL, default
security descriptor values will be used, and child processes created by the
application will not inherit the handle, as described in the MSDN
documentation for “Synchronization Object Security and Access Rights”1.
Further, if the structure is not present, the access rights used depend on
the handle type.
For handles of the following types:
-
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT
The implementation must ensure the access rights allow read and write access to the memory.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.