Commit 584427fc authored by Alexandre Julliard's avatar Alexandre Julliard

server: Avoid redefining the DuplicateHandle() constants.

parent d3df2b12
...@@ -273,7 +273,7 @@ HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc) ...@@ -273,7 +273,7 @@ HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc)
{ {
HANDLE ret = INVALID_HANDLE_VALUE; HANDLE ret = INVALID_HANDLE_VALUE;
DuplicateHandle( GetCurrentProcess(), hSrc, GetCurrentProcess(), &ret, 0, FALSE, DuplicateHandle( GetCurrentProcess(), hSrc, GetCurrentProcess(), &ret, 0, FALSE,
DUP_HANDLE_MAKE_GLOBAL | DUP_HANDLE_SAME_ACCESS | DUP_HANDLE_CLOSE_SOURCE ); DUPLICATE_MAKE_GLOBAL | DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE );
return ret; return ret;
} }
......
...@@ -213,7 +213,7 @@ done: ...@@ -213,7 +213,7 @@ done:
RtlLeaveCriticalSection( &vxd_section ); RtlLeaveCriticalSection( &vxd_section );
if (!DuplicateHandle( GetCurrentProcess(), handle, GetCurrentProcess(), &handle, 0, if (!DuplicateHandle( GetCurrentProcess(), handle, GetCurrentProcess(), &handle, 0,
(sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle), (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle),
DUP_HANDLE_SAME_ACCESS )) DUPLICATE_SAME_ACCESS ))
handle = 0; handle = 0;
return handle; return handle;
} }
......
...@@ -975,7 +975,7 @@ static SUBHEAP *HEAP_CreateSubHeap( HEAP *heap, LPVOID address, DWORD flags, ...@@ -975,7 +975,7 @@ static SUBHEAP *HEAP_CreateSubHeap( HEAP *heap, LPVOID address, DWORD flags,
if (!sem) NtCreateSemaphore( &sem, SEMAPHORE_ALL_ACCESS, NULL, 0, 1 ); if (!sem) NtCreateSemaphore( &sem, SEMAPHORE_ALL_ACCESS, NULL, 0, 1 );
NtDuplicateObject( NtCurrentProcess(), sem, NtCurrentProcess(), &sem, 0, 0, NtDuplicateObject( NtCurrentProcess(), sem, NtCurrentProcess(), &sem, 0, 0,
DUP_HANDLE_MAKE_GLOBAL | DUP_HANDLE_SAME_ACCESS | DUP_HANDLE_CLOSE_SOURCE ); DUPLICATE_MAKE_GLOBAL | DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE );
heap->critSection.LockSemaphore = sem; heap->critSection.LockSemaphore = sem;
RtlFreeHeap( processHeap, 0, heap->critSection.DebugInfo ); RtlFreeHeap( processHeap, 0, heap->critSection.DebugInfo );
heap->critSection.DebugInfo = NULL; heap->critSection.DebugInfo = NULL;
......
...@@ -332,7 +332,7 @@ static int duplicate_fd( HANDLE client, int fd ) ...@@ -332,7 +332,7 @@ static int duplicate_fd( HANDLE client, int fd )
if (!wine_server_fd_to_handle( dup(fd), GENERIC_READ | SYNCHRONIZE, 0, &handle )) if (!wine_server_fd_to_handle( dup(fd), GENERIC_READ | SYNCHRONIZE, 0, &handle ))
DuplicateHandle( GetCurrentProcess(), handle, client, &ret, DuplicateHandle( GetCurrentProcess(), handle, client, &ret,
DUPLICATE_SAME_ACCESS, FALSE, DUP_HANDLE_CLOSE_SOURCE ); 0, FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE );
if (!ret) return -1; if (!ret) return -1;
return HandleToLong( ret ); return HandleToLong( ret );
...@@ -348,7 +348,7 @@ static int map_native_handle( union native_handle_buffer *dest, const native_han ...@@ -348,7 +348,7 @@ static int map_native_handle( union native_handle_buffer *dest, const native_han
{ {
HANDLE ret = 0; HANDLE ret = 0;
if (!DuplicateHandle( GetCurrentProcess(), mapping, client, &ret, if (!DuplicateHandle( GetCurrentProcess(), mapping, client, &ret,
DUPLICATE_SAME_ACCESS, FALSE, DUP_HANDLE_CLOSE_SOURCE )) 0, FALSE, DUPLICATE_SAME_ACCESS | DUPLICATE_CLOSE_SOURCE ))
return -ENOSPC; return -ENOSPC;
dest->handle.numFds = 0; dest->handle.numFds = 0;
dest->handle.numInts = 1; dest->handle.numInts = 1;
......
...@@ -1259,9 +1259,6 @@ struct dup_handle_reply ...@@ -1259,9 +1259,6 @@ struct dup_handle_reply
int closed; int closed;
char __pad_20[4]; char __pad_20[4];
}; };
#define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
#define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
#define DUP_HANDLE_MAKE_GLOBAL 0x80000000
......
...@@ -5531,6 +5531,9 @@ typedef struct _QUOTA_LIMITS_EX { ...@@ -5531,6 +5531,9 @@ typedef struct _QUOTA_LIMITS_EX {
#define DUPLICATE_CLOSE_SOURCE 0x00000001 #define DUPLICATE_CLOSE_SOURCE 0x00000001
#define DUPLICATE_SAME_ACCESS 0x00000002 #define DUPLICATE_SAME_ACCESS 0x00000002
#ifdef __WINESRC__
#define DUPLICATE_MAKE_GLOBAL 0x80000000 /* Not a Windows flag */
#endif
/* File attribute flags */ /* File attribute flags */
#define FILE_SHARE_READ 0x00000001 #define FILE_SHARE_READ 0x00000001
......
...@@ -566,7 +566,7 @@ obj_handle_t duplicate_handle( struct process *src, obj_handle_t src_handle, str ...@@ -566,7 +566,7 @@ obj_handle_t duplicate_handle( struct process *src, obj_handle_t src_handle, str
src_access = obj->ops->map_access( obj, GENERIC_ALL ); src_access = obj->ops->map_access( obj, GENERIC_ALL );
src_access &= ~RESERVED_ALL; src_access &= ~RESERVED_ALL;
if (options & DUP_HANDLE_SAME_ACCESS) if (options & DUPLICATE_SAME_ACCESS)
access = src_access; access = src_access;
else else
access = obj->ops->map_access( obj, access ) & ~RESERVED_ALL; access = obj->ops->map_access( obj, access ) & ~RESERVED_ALL;
...@@ -581,16 +581,16 @@ obj_handle_t duplicate_handle( struct process *src, obj_handle_t src_handle, str ...@@ -581,16 +581,16 @@ obj_handle_t duplicate_handle( struct process *src, obj_handle_t src_handle, str
return 0; return 0;
} }
if (options & DUP_HANDLE_MAKE_GLOBAL) if (options & DUPLICATE_MAKE_GLOBAL)
res = alloc_global_handle( obj, access ); res = alloc_global_handle( obj, access );
else else
res = alloc_handle_no_access_check( dst, obj, access, attr ); res = alloc_handle_no_access_check( dst, obj, access, attr );
} }
else else
{ {
if (options & DUP_HANDLE_MAKE_GLOBAL) if (options & DUPLICATE_MAKE_GLOBAL)
res = alloc_global_handle_no_access_check( obj, access ); res = alloc_global_handle_no_access_check( obj, access );
else if ((options & DUP_HANDLE_CLOSE_SOURCE) && src == dst && else if ((options & DUPLICATE_CLOSE_SOURCE) && src == dst &&
entry && !(entry->access & RESERVED_CLOSE_PROTECT)) entry && !(entry->access & RESERVED_CLOSE_PROTECT))
{ {
if (attr & OBJ_INHERIT) access |= RESERVED_INHERIT; if (attr & OBJ_INHERIT) access |= RESERVED_INHERIT;
...@@ -665,7 +665,7 @@ DECL_HANDLER(dup_handle) ...@@ -665,7 +665,7 @@ DECL_HANDLER(dup_handle)
reply->handle = 0; reply->handle = 0;
if ((src = get_process_from_handle( req->src_process, PROCESS_DUP_HANDLE ))) if ((src = get_process_from_handle( req->src_process, PROCESS_DUP_HANDLE )))
{ {
if (req->options & DUP_HANDLE_MAKE_GLOBAL) if (req->options & DUPLICATE_MAKE_GLOBAL)
{ {
reply->handle = duplicate_handle( src, req->src_handle, NULL, reply->handle = duplicate_handle( src, req->src_handle, NULL,
req->access, req->attributes, req->options ); req->access, req->attributes, req->options );
...@@ -677,7 +677,7 @@ DECL_HANDLER(dup_handle) ...@@ -677,7 +677,7 @@ DECL_HANDLER(dup_handle)
release_object( dst ); release_object( dst );
} }
/* close the handle no matter what happened */ /* close the handle no matter what happened */
if ((req->options & DUP_HANDLE_CLOSE_SOURCE) && (src != dst || req->src_handle != reply->handle)) if ((req->options & DUPLICATE_CLOSE_SOURCE) && (src != dst || req->src_handle != reply->handle))
reply->closed = !close_handle( src, req->src_handle ); reply->closed = !close_handle( src, req->src_handle );
reply->self = (src == current->process); reply->self = (src == current->process);
release_object( src ); release_object( src );
......
...@@ -1122,9 +1122,6 @@ typedef struct ...@@ -1122,9 +1122,6 @@ typedef struct
int self; /* is the source the current process? */ int self; /* is the source the current process? */
int closed; /* whether the source handle has been closed */ int closed; /* whether the source handle has been closed */
@END @END
#define DUP_HANDLE_CLOSE_SOURCE DUPLICATE_CLOSE_SOURCE
#define DUP_HANDLE_SAME_ACCESS DUPLICATE_SAME_ACCESS
#define DUP_HANDLE_MAKE_GLOBAL 0x80000000 /* Not a Windows flag */
/* Make an object temporary */ /* Make an object temporary */
......
...@@ -1644,7 +1644,7 @@ DECL_HANDLER(select) ...@@ -1644,7 +1644,7 @@ DECL_HANDLER(select)
if (apc->result.type == APC_CREATE_THREAD) /* transfer the handle to the caller process */ if (apc->result.type == APC_CREATE_THREAD) /* transfer the handle to the caller process */
{ {
obj_handle_t handle = duplicate_handle( current->process, apc->result.create_thread.handle, obj_handle_t handle = duplicate_handle( current->process, apc->result.create_thread.handle,
apc->caller->process, 0, 0, DUP_HANDLE_SAME_ACCESS ); apc->caller->process, 0, 0, DUPLICATE_SAME_ACCESS );
close_handle( current->process, apc->result.create_thread.handle ); close_handle( current->process, apc->result.create_thread.handle );
apc->result.create_thread.handle = handle; apc->result.create_thread.handle = handle;
clear_error(); /* ignore errors from the above calls */ clear_error(); /* ignore errors from the above calls */
...@@ -1740,7 +1740,7 @@ DECL_HANDLER(queue_apc) ...@@ -1740,7 +1740,7 @@ DECL_HANDLER(queue_apc)
{ {
/* duplicate the handle into the target process */ /* duplicate the handle into the target process */
obj_handle_t handle = duplicate_handle( current->process, apc->call.map_view.handle, obj_handle_t handle = duplicate_handle( current->process, apc->call.map_view.handle,
process, 0, 0, DUP_HANDLE_SAME_ACCESS ); process, 0, 0, DUPLICATE_SAME_ACCESS );
if (handle) apc->call.map_view.handle = handle; if (handle) apc->call.map_view.handle = handle;
else else
{ {
......
...@@ -376,7 +376,7 @@ void connect_process_winstation( struct process *process, struct thread *parent_ ...@@ -376,7 +376,7 @@ void connect_process_winstation( struct process *process, struct thread *parent_
else if (parent_process->winstation) else if (parent_process->winstation)
{ {
handle = duplicate_handle( parent_process, parent_process->winstation, handle = duplicate_handle( parent_process, parent_process->winstation,
process, 0, 0, DUP_HANDLE_SAME_ACCESS ); process, 0, 0, DUPLICATE_SAME_ACCESS );
winstation = (struct winstation *)get_handle_obj( process, handle, 0, &winstation_ops ); winstation = (struct winstation *)get_handle_obj( process, handle, 0, &winstation_ops );
} }
if (!winstation) goto done; if (!winstation) goto done;
...@@ -400,7 +400,7 @@ void connect_process_winstation( struct process *process, struct thread *parent_ ...@@ -400,7 +400,7 @@ void connect_process_winstation( struct process *process, struct thread *parent_
if (!desktop || desktop->winstation != winstation) goto done; if (!desktop || desktop->winstation != winstation) goto done;
handle = duplicate_handle( parent_process, handle, process, 0, 0, DUP_HANDLE_SAME_ACCESS ); handle = duplicate_handle( parent_process, handle, process, 0, 0, DUPLICATE_SAME_ACCESS );
} }
if (handle) set_process_default_desktop( process, desktop, handle ); if (handle) set_process_default_desktop( process, desktop, handle );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment