# vkGetMemoryHostPointerPropertiesEXT(3) Manual Page

## Name

vkGetMemoryHostPointerPropertiesEXT - Get properties of external memory host pointer

## C Specification

To determine the correct parameters to use when importing host pointers, call:

    VkResult vkGetMemoryHostPointerPropertiesEXT(
        VkDevice                                    device,
        VkExternalMemoryHandleTypeFlagBits          handleType,
        const void*                                 pHostPointer,
        VkMemoryHostPointerPropertiesEXT*           pMemoryHostPointerProperties);

## Parameters

- `device` is the logical device that will be importing `pHostPointer`.

- `handleType` is the type of the handle `pHostPointer`.

- `pHostPointer` is the host pointer to import from.

- `pMemoryHostPointerProperties` is a pointer to a VkMemoryHostPointerPropertiesEXT structure in which the host pointer properties are returned.

## Description

Valid Usage

- `handleType` must be `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT` or `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT`

- `pHostPointer` must be a pointer aligned to an integer multiple of `VkPhysicalDeviceExternalMemoryHostPropertiesEXT`::`minImportedHostPointerAlignment`

- If `handleType` is `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT`, `pHostPointer` must be a pointer to host memory

- If `handleType` is `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT`, `pHostPointer` must be a pointer to host mapped foreign memory

Valid Usage (Implicit)

- `device` must be a valid VkDevice handle

- `handleType` must be a valid VkExternalMemoryHandleTypeFlagBits value

- `pMemoryHostPointerProperties` must be a valid pointer to a VkMemoryHostPointerPropertiesEXT structure

Return Codes

On success, this command returns

  - `VK_SUCCESS`

On failure, this command returns

  - `VK_ERROR_INVALID_EXTERNAL_HANDLE`

## See Also

VkDevice, VkExternalMemoryHandleTypeFlagBits, VkMemoryHostPointerPropertiesEXT

## 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.

## Copyright

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.