Vulkan-Docs/chapters/VK_NV_external_memory_win32/handle_permissions.txt

33 lines
1.5 KiB
Plaintext

[open,refpage='VkExportMemoryWin32HandleInfoNV',desc='specify security attributes and access rights for Win32 memory handles',type='structs']
--
When slink:VkExportMemoryAllocateInfoNV::pname:handleTypes includes
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, add a
sname:VkExportMemoryWin32HandleInfoNV to the pname:pNext chain of the
slink:VkExportMemoryAllocateInfoNV structure to specify security attributes
and access rights for the memory object's external handle.
The sname:VkExportMemoryWin32HandleInfoNV structure is defined as:
include::../../api/structs/VkExportMemoryWin32HandleInfoNV.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
* pname:pAttributes is a pointer to a Windows code:SECURITY_ATTRIBUTES
structure specifying security attributes of the handle.
* pname:dwAccess is a code:DWORD specifying access rights of the handle.
If this structure is not present, or if pname: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 will be
DXGI_SHARED_RESOURCE_READ | DXGI_SHARED_RESOURCE_WRITE
[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms686670.aspx
include::../../validity/structs/VkExportMemoryWin32HandleInfoNV.txt[]
--