# VkImportFenceWin32HandleInfoKHR(3) Manual Page

## Name

VkImportFenceWin32HandleInfoKHR - (None)

## C Specification

The `VkImportFenceWin32HandleInfoKHR` structure is defined as:

    typedef struct VkImportFenceWin32HandleInfoKHR {
        VkStructureType                      sType;
        const void*                          pNext;
        VkFence                              fence;
        VkFenceImportFlags                   flags;
        VkExternalFenceHandleTypeFlagBits    handleType;
        HANDLE                               handle;
        LPCWSTR                              name;
    } VkImportFenceWin32HandleInfoKHR;

## Members

- `sType` is the type of this structure.

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

- `fence` is the fence into which the state will be imported.

- `flags` is a bitmask of VkFenceImportFlagBits specifying additional parameters for the fence payload import operation.

- `handleType` specifies the type of `handle`.

- `handle` is the external handle to import, or `NULL`.

- `name` is a null-terminated UTF-16 string naming the underlying synchronization primitive to import, or `NULL`.

## Description

The handle types supported by `handleType` are:

Table 1. Handle Types Supported by VkImportFenceWin32HandleInfoKHR
Handle Type | Transference | Permanence Supported
--- | --- | ---
`VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT` | Reference | Temporary,Permanent
`VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT` | Reference | Temporary,Permanent

Valid Usage

- `handleType` must be a value included in the Handle Types Supported by VkImportFenceWin32HandleInfoKHR table.

- If `handleType` is not `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT`, `name` must be `NULL`.

- If `handleType` is not `0` and `handle` is `NULL`, `name` must name a valid synchronization primitive of the type specified by `handleType`.

- If `handleType` is not `0` and `name` is `NULL`, `handle` must be a valid handle of the type specified by `handleType`.

- If `handle` is not `NULL`, `name` must be `NULL`.

- If `handle` is not `NULL`, it must obey any requirements listed for `handleType` in external fence handle types compatibility.

- If `name` is not `NULL`, it must obey any requirements listed for `handleType` in external fence handle types compatibility.

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR`

- `pNext` must be `NULL`

- `fence` must be a valid VkFence handle

- `flags` must be a valid combination of VkFenceImportFlagBits values

- If `handleType` is not `0`, `handleType` must be a valid VkExternalFenceHandleTypeFlagBits value

Host Synchronization

- Host access to `fence` must be externally synchronized

## See Also

VkExternalFenceHandleTypeFlagBits, VkFence, VkFenceImportFlags, VkStructureType, vkImportFenceWin32HandleKHR

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