VkImportFenceWin32HandleInfoKHR(3)

# VkImportFenceWin32HandleInfoKHR(3) Manual Page

## Name

VkImportFenceWin32HandleInfoKHR - (None)

Loading… please wait.

## C Specification

The `VkImportFenceWin32HandleInfoKHR` structure is defined as:

    // Provided by VK_KHR_external_fence_win32
    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 a structure extending this 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

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

- VUID-VkImportFenceWin32HandleInfoKHR-handleType-01459
  If `handleType` is not `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT`, `name` must be `NULL`

- VUID-VkImportFenceWin32HandleInfoKHR-handleType-01460
  If `handle` is `NULL`, `name` must name a valid synchronization primitive of the type specified by `handleType`

- VUID-VkImportFenceWin32HandleInfoKHR-handleType-01461
  If `name` is `NULL`, `handle` must be a valid handle of the type specified by `handleType`

- VUID-VkImportFenceWin32HandleInfoKHR-handle-01462
  If `handle` is not `NULL`, `name` must be `NULL`

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

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

Valid Usage (Implicit)

- VUID-VkImportFenceWin32HandleInfoKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR`

- VUID-VkImportFenceWin32HandleInfoKHR-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkImportFenceWin32HandleInfoKHR-fence-parameter
  `fence` must be a valid VkFence handle

- VUID-VkImportFenceWin32HandleInfoKHR-flags-parameter
  `flags` must be a valid combination of VkFenceImportFlagBits values

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 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0