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 use shared
::minwindef
::{BOOL, DWORD, LPDWORD, LPVOID, ULONG}
;
7 use um
::minwinbase
::{LPOVERLAPPED, LPSECURITY_ATTRIBUTES}
;
8 use um
::winnt
::{HANDLE, LPCWSTR, LPWSTR, PHANDLE}
;
13 lpPipeAttributes
: LPSECURITY_ATTRIBUTES
,
16 pub fn ConnectNamedPipe(
18 lpOverlapped
: LPOVERLAPPED
,
20 pub fn DisconnectNamedPipe(
23 pub fn SetNamedPipeHandleState(
26 lpMaxCollectionCount
: LPDWORD
,
27 lpCollectDataTimeout
: LPDWORD
,
34 lpTotalBytesAvail
: LPDWORD
,
35 lpBytesLeftThisMessage
: LPDWORD
,
37 pub fn TransactNamedPipe(
42 nOutBufferSize
: DWORD
,
44 lpOverlapped
: LPOVERLAPPED
,
46 pub fn CreateNamedPipeW(
51 nOutBufferSize
: DWORD
,
53 nDefaultTimeOut
: DWORD
,
54 lpSecurityAttributes
: LPSECURITY_ATTRIBUTES
,
56 pub fn WaitNamedPipeW(
57 lpNamedPipeName
: LPCWSTR
,
60 pub fn GetNamedPipeClientComputerNameW(
62 ClientComputerName
: LPWSTR
,
63 ClientComputerNameLength
: ULONG
,
65 pub fn ImpersonateNamedPipeClient(
68 pub fn GetNamedPipeInfo(
71 lpOutBufferSize
: LPDWORD
,
72 lpInBufferSize
: LPDWORD
,
73 lpMaxInstances
: LPDWORD
,
75 pub fn GetNamedPipeHandleStateW(
78 lpCurInstances
: LPDWORD
,
79 lpMaxCollectionCount
: LPDWORD
,
80 lpCollectDataTimeout
: LPDWORD
,
82 nMaxUserNameSize
: DWORD
,
84 pub fn CallNamedPipeW(
85 lpNamedPipeName
: LPCWSTR
,
89 nOutBufferSize
: DWORD
,