Reactos
at master 22 lines 778 B view raw
1 2#include "k32_vista.h" 3 4#define FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS) 5 6static inline BOOL set_ntstatus( NTSTATUS status ) 7{ 8 if (status) SetLastError( RtlNtStatusToDosError( status )); 9 return !status; 10} 11 12/*********************************************************************** 13 * GetNamedPipeClientProcessId (KERNEL32.@) 14 */ 15BOOL WINAPI GetNamedPipeClientProcessId( HANDLE pipe, ULONG *id ) 16{ 17 IO_STATUS_BLOCK iosb; 18 19 return set_ntstatus( NtFsControlFile( pipe, NULL, NULL, NULL, &iosb, 20 FSCTL_PIPE_GET_CONNECTION_ATTRIBUTE, (void *)"ClientProcessId", 21 sizeof("ClientProcessId"), id, sizeof(*id) )); 22}