[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"tgnqN9QWJt":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":490,"_id":4},"vkGetSemaphoreWin32HandleKHR","Get a Windows HANDLE for a semaphore","VK_KHR_external_semaphore_win32","protos",[],{"type":10,"children":11,"toc":488},"root",[12,20,307,353,380,399,482],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To export a Windows handle representing the payload of a semaphore, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,131],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkGetSemaphoreWin32HandleKHR(\n VkDevice device,\n const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,\n HANDLE* pHandle);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,59,79,108],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,54],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[47],{"type":18,"value":48},"VkResult ",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":4},{"type":13,"tag":38,"props":55,"children":56},{"style":45},[57],{"type":18,"value":58},"(\n",{"type":13,"tag":38,"props":60,"children":62},{"class":40,"line":61},2,[63,68,74],{"type":13,"tag":38,"props":64,"children":65},{"style":45},[66],{"type":18,"value":67}," VkDevice ",{"type":13,"tag":38,"props":69,"children":71},{"style":70},"--shiki-default:#953800;--shiki-dark:#FFA657",[72],{"type":18,"value":73},"device",{"type":13,"tag":38,"props":75,"children":76},{"style":45},[77],{"type":18,"value":78},",\n",{"type":13,"tag":38,"props":80,"children":82},{"class":40,"line":81},3,[83,89,94,99,104],{"type":13,"tag":38,"props":84,"children":86},{"style":85},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[87],{"type":18,"value":88}," const",{"type":13,"tag":38,"props":90,"children":91},{"style":45},[92],{"type":18,"value":93}," VkSemaphoreGetWin32HandleInfoKHR",{"type":13,"tag":38,"props":95,"children":96},{"style":85},[97],{"type":18,"value":98},"*",{"type":13,"tag":38,"props":100,"children":101},{"style":70},[102],{"type":18,"value":103}," pGetWin32HandleInfo",{"type":13,"tag":38,"props":105,"children":106},{"style":45},[107],{"type":18,"value":78},{"type":13,"tag":38,"props":109,"children":111},{"class":40,"line":110},4,[112,117,121,126],{"type":13,"tag":38,"props":113,"children":114},{"style":45},[115],{"type":18,"value":116}," HANDLE",{"type":13,"tag":38,"props":118,"children":119},{"style":85},[120],{"type":18,"value":98},{"type":13,"tag":38,"props":122,"children":123},{"style":70},[124],{"type":18,"value":125}," pHandle",{"type":13,"tag":38,"props":127,"children":128},{"style":45},[129],{"type":18,"value":130},");\n",{"type":13,"tag":25,"props":132,"children":137},{"className":133,"code":134,"filename":135,"language":136,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_semaphore_win32_handle_khr(\n device: crate :: vk :: vk::Device,\n p_get_win32_handle_info: *const vk::SemaphoreGetWin32HandleInfoKHR,\n p_handle: *mut HANDLE,\n) -> vk::Result;\n","Rust","rs",[138],{"type":13,"tag":34,"props":139,"children":140},{"__ignoreMap":31},[141,163,214,248,275],{"type":13,"tag":38,"props":142,"children":143},{"class":40,"line":41},[144,149,154,159],{"type":13,"tag":38,"props":145,"children":146},{"style":85},[147],{"type":18,"value":148},"pub",{"type":13,"tag":38,"props":150,"children":151},{"style":85},[152],{"type":18,"value":153}," fn",{"type":13,"tag":38,"props":155,"children":156},{"style":51},[157],{"type":18,"value":158}," get_semaphore_win32_handle_khr",{"type":13,"tag":38,"props":160,"children":161},{"style":45},[162],{"type":18,"value":58},{"type":13,"tag":38,"props":164,"children":165},{"class":40,"line":61},[166,171,176,181,186,191,196,201,205,210],{"type":13,"tag":38,"props":167,"children":168},{"style":45},[169],{"type":18,"value":170}," device",{"type":13,"tag":38,"props":172,"children":173},{"style":85},[174],{"type":18,"value":175},":",{"type":13,"tag":38,"props":177,"children":178},{"style":85},[179],{"type":18,"value":180}," crate",{"type":13,"tag":38,"props":182,"children":183},{"style":85},[184],{"type":18,"value":185}," ::",{"type":13,"tag":38,"props":187,"children":188},{"style":45},[189],{"type":18,"value":190}," vk ",{"type":13,"tag":38,"props":192,"children":193},{"style":85},[194],{"type":18,"value":195},"::",{"type":13,"tag":38,"props":197,"children":198},{"style":70},[199],{"type":18,"value":200}," vk",{"type":13,"tag":38,"props":202,"children":203},{"style":85},[204],{"type":18,"value":195},{"type":13,"tag":38,"props":206,"children":207},{"style":70},[208],{"type":18,"value":209},"Device",{"type":13,"tag":38,"props":211,"children":212},{"style":45},[213],{"type":18,"value":78},{"type":13,"tag":38,"props":215,"children":216},{"class":40,"line":81},[217,222,226,231,235,239,244],{"type":13,"tag":38,"props":218,"children":219},{"style":45},[220],{"type":18,"value":221}," p_get_win32_handle_info",{"type":13,"tag":38,"props":223,"children":224},{"style":85},[225],{"type":18,"value":175},{"type":13,"tag":38,"props":227,"children":228},{"style":85},[229],{"type":18,"value":230}," *const",{"type":13,"tag":38,"props":232,"children":233},{"style":70},[234],{"type":18,"value":200},{"type":13,"tag":38,"props":236,"children":237},{"style":85},[238],{"type":18,"value":195},{"type":13,"tag":38,"props":240,"children":241},{"style":70},[242],{"type":18,"value":243},"SemaphoreGetWin32HandleInfoKHR",{"type":13,"tag":38,"props":245,"children":246},{"style":45},[247],{"type":18,"value":78},{"type":13,"tag":38,"props":249,"children":250},{"class":40,"line":110},[251,256,260,265,271],{"type":13,"tag":38,"props":252,"children":253},{"style":45},[254],{"type":18,"value":255}," p_handle",{"type":13,"tag":38,"props":257,"children":258},{"style":85},[259],{"type":18,"value":175},{"type":13,"tag":38,"props":261,"children":262},{"style":85},[263],{"type":18,"value":264}," *mut",{"type":13,"tag":38,"props":266,"children":268},{"style":267},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[269],{"type":18,"value":270}," HANDLE",{"type":13,"tag":38,"props":272,"children":273},{"style":45},[274],{"type":18,"value":78},{"type":13,"tag":38,"props":276,"children":278},{"class":40,"line":277},5,[279,284,289,293,297,302],{"type":13,"tag":38,"props":280,"children":281},{"style":45},[282],{"type":18,"value":283},") ",{"type":13,"tag":38,"props":285,"children":286},{"style":85},[287],{"type":18,"value":288},"->",{"type":13,"tag":38,"props":290,"children":291},{"style":70},[292],{"type":18,"value":200},{"type":13,"tag":38,"props":294,"children":295},{"style":85},[296],{"type":18,"value":195},{"type":13,"tag":38,"props":298,"children":299},{"style":70},[300],{"type":18,"value":301},"Result",{"type":13,"tag":38,"props":303,"children":304},{"style":45},[305],{"type":18,"value":306},";\n",{"type":13,"tag":308,"props":309,"children":310},"ul",{},[311,322,342],{"type":13,"tag":312,"props":313,"children":314},"li",{},[315,320],{"type":13,"tag":34,"props":316,"children":318},{"className":317},[],[319],{"type":18,"value":73},{"type":18,"value":321}," is the logical device that created the semaphore being\nexported.",{"type":13,"tag":312,"props":323,"children":324},{},[325,331,333,340],{"type":13,"tag":34,"props":326,"children":328},{"className":327},[],[329],{"type":18,"value":330},"pGetWin32HandleInfo",{"type":18,"value":332}," is a pointer to a\n",{"type":13,"tag":334,"props":335,"children":337},"a",{"href":336},"/man/VkSemaphoreGetWin32HandleInfoKHR",[338],{"type":18,"value":339},"VkSemaphoreGetWin32HandleInfoKHR",{"type":18,"value":341}," structure containing parameters\nof the export operation.",{"type":13,"tag":312,"props":343,"children":344},{},[345,351],{"type":13,"tag":34,"props":346,"children":348},{"className":347},[],[349],{"type":18,"value":350},"pHandle",{"type":18,"value":352}," will return the Windows handle representing the semaphore\nstate.",{"type":13,"tag":14,"props":354,"children":355},{},[356,358,363,365,370,372,378],{"type":18,"value":357},"For handle types defined as NT handles, the handles returned by\n",{"type":13,"tag":34,"props":359,"children":361},{"className":360},[],[362],{"type":18,"value":4},{"type":18,"value":364}," are owned by the application.\nTo avoid leaking resources, the application ",{"type":13,"tag":366,"props":367,"children":369},"normative",{"type":368},"must",[],{"type":18,"value":371}," release ownership of them\nusing the ",{"type":13,"tag":34,"props":373,"children":375},{"className":374},[],[376],{"type":18,"value":377},"CloseHandle",{"type":18,"value":379}," system call when they are no longer needed.",{"type":13,"tag":14,"props":381,"children":382},{},[383,385,389,391,397],{"type":18,"value":384},"Exporting a Windows handle from a semaphore ",{"type":13,"tag":366,"props":386,"children":388},{"type":387},"may",[],{"type":18,"value":390}," have side effects depending\non the transference of the specified handle type, as described in\n",{"type":13,"tag":334,"props":392,"children":394},{"href":393},"/chapters/synchronization#synchronization-semaphores-importing",[395],{"type":18,"value":396},"Importing Semaphore Payloads",{"type":18,"value":398},".",{"type":13,"tag":400,"props":401,"children":403},"validity-group",{"name":402},"Valid Usage (Implicit)",[404,432,456],{"type":13,"tag":405,"props":406,"children":408},"validity-field",{"name":407},"VUID-vkGetSemaphoreWin32HandleKHR-device-parameter",[409],{"type":13,"tag":14,"props":410,"children":411},{},[412,417,419,422,424,430],{"type":13,"tag":34,"props":413,"children":415},{"className":414},[],[416],{"type":18,"value":73},{"type":18,"value":418}," ",{"type":13,"tag":366,"props":420,"children":421},{"type":368},[],{"type":18,"value":423}," be a valid ",{"type":13,"tag":334,"props":425,"children":427},{"href":426},"/man/VkDevice",[428],{"type":18,"value":429},"VkDevice",{"type":18,"value":431}," handle",{"type":13,"tag":405,"props":433,"children":435},{"name":434},"VUID-vkGetSemaphoreWin32HandleKHR-pGetWin32HandleInfo-parameter",[436],{"type":13,"tag":14,"props":437,"children":438},{},[439,444,445,448,450,454],{"type":13,"tag":34,"props":440,"children":442},{"className":441},[],[443],{"type":18,"value":330},{"type":18,"value":418},{"type":13,"tag":366,"props":446,"children":447},{"type":368},[],{"type":18,"value":449}," be a valid pointer to a valid ",{"type":13,"tag":334,"props":451,"children":452},{"href":336},[453],{"type":18,"value":339},{"type":18,"value":455}," structure",{"type":13,"tag":405,"props":457,"children":459},{"name":458},"VUID-vkGetSemaphoreWin32HandleKHR-pHandle-parameter",[460],{"type":13,"tag":14,"props":461,"children":462},{},[463,468,469,472,474,480],{"type":13,"tag":34,"props":464,"children":466},{"className":465},[],[467],{"type":18,"value":350},{"type":18,"value":418},{"type":13,"tag":366,"props":470,"children":471},{"type":368},[],{"type":18,"value":473}," be a valid pointer to a ",{"type":13,"tag":34,"props":475,"children":477},{"className":476},[],[478],{"type":18,"value":479},"HANDLE",{"type":18,"value":481}," value",{"type":13,"tag":483,"props":484,"children":485},"style",{},[486],{"type":18,"value":487},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":61,"depth":61,"links":489},[],"markdown",1725732621783]