2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TDI interface
5 * PURPOSE: TDI transport handle management
8 #include "iphlpapi_private.h"
10 const PWCHAR TcpFileName
= L
"\\Device\\Tcp";
12 NTSTATUS
openTcpFile(PHANDLE tcpFile
)
14 UNICODE_STRING fileName
;
15 OBJECT_ATTRIBUTES objectAttributes
;
16 IO_STATUS_BLOCK ioStatusBlock
;
19 RtlInitUnicodeString( &fileName
, TcpFileName
);
21 InitializeObjectAttributes( &objectAttributes
,
27 status
= ZwCreateFile( tcpFile
,
28 SYNCHRONIZE
| GENERIC_EXECUTE
|
29 GENERIC_READ
| GENERIC_WRITE
,
33 FILE_ATTRIBUTE_NORMAL
,
34 FILE_SHARE_READ
| FILE_SHARE_WRITE
,
36 FILE_SYNCHRONOUS_IO_NONALERT
,
40 /* String does not need to be freed: it points to the constant
41 * string we provided */
43 if (!NT_SUCCESS(status
))
44 *tcpFile
= INVALID_HANDLE_VALUE
;
49 VOID
closeTcpFile( HANDLE h
)
51 ASSERT(h
!= INVALID_HANDLE_VALUE
);