21#include <winpr/config.h>
23#include <winpr/handle.h>
29#include "../synch/synch.h"
30#include "../thread/thread.h"
31#include "../pipe/pipe.h"
32#include "../comm/comm.h"
33#include "../security/security.h"
35#ifdef WINPR_HAVE_UNISTD_H
39#include <winpr/assert.h>
41#include "../handle/handle.h"
43BOOL CloseHandle(HANDLE hObject)
48 if (!winpr_Handle_GetInfo(hObject, &Type, &Object))
57 if (Object->ops->CloseHandle)
58 return Object->ops->CloseHandle(hObject);
63BOOL DuplicateHandle(WINPR_ATTR_UNUSED HANDLE hSourceProcessHandle,
64 WINPR_ATTR_UNUSED HANDLE hSourceHandle,
65 WINPR_ATTR_UNUSED HANDLE hTargetProcessHandle,
66 WINPR_ATTR_UNUSED LPHANDLE lpTargetHandle,
67 WINPR_ATTR_UNUSED DWORD dwDesiredAccess, WINPR_ATTR_UNUSED BOOL bInheritHandle,
68 WINPR_ATTR_UNUSED DWORD dwOptions)
70 *((ULONG_PTR*)lpTargetHandle) = (ULONG_PTR)hSourceHandle;
74BOOL GetHandleInformation(WINPR_ATTR_UNUSED HANDLE hObject, WINPR_ATTR_UNUSED LPDWORD lpdwFlags)
76 WLog_ERR(
"TODO",
"TODO: Implement");
80BOOL SetHandleInformation(WINPR_ATTR_UNUSED HANDLE hObject, WINPR_ATTR_UNUSED DWORD dwMask,
81 WINPR_ATTR_UNUSED DWORD dwFlags)
83 WLog_ERR(
"TODO",
"TODO: Implement");