winapi\um/
handleapi.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6//! handleapi include file
7use shared::minwindef::{BOOL, DWORD, LPDWORD, LPHANDLE};
8use um::winnt::HANDLE;
9pub const INVALID_HANDLE_VALUE: HANDLE = -1isize as HANDLE;
10extern "system" {
11    pub fn CloseHandle(
12        hObject: HANDLE,
13    ) -> BOOL;
14    pub fn DuplicateHandle(
15        hSourceProcessHandle: HANDLE,
16        hSourceHandle: HANDLE,
17        hTargetProcessHandle: HANDLE,
18        lpTargetHandle: LPHANDLE,
19        dwDesiredAccess: DWORD,
20        bInheritHandle: BOOL,
21        dwOptions: DWORD,
22    ) -> BOOL;
23    pub fn CompareObjectHandles(
24        hFirstObjectHandle: HANDLE,
25        hSecondObjectHandle: HANDLE,
26    ) -> BOOL;
27    pub fn GetHandleInformation(
28        hObject: HANDLE,
29        lpdwFlags: LPDWORD,
30    ) -> BOOL;
31    pub fn SetHandleInformation(
32        hObject: HANDLE,
33        dwMask: DWORD,
34        dwFlags: DWORD,
35    ) -> BOOL;
36}