11#define MAX_INSTANCES 5
15#define CheckServer(ServerHandle, State) \
16 NpCheckServerPipe(ServerHandle, \
17 BYTE_STREAM, QUEUE, BYTE_STREAM, DUPLEX, \
20 OUT_QUOTA, OUT_QUOTA, \
23#define CheckClient(ClientHandle, State) \
24 NpCheckClientPipe(ClientHandle, \
25 BYTE_STREAM, QUEUE, BYTE_STREAM, DUPLEX, \
28 OUT_QUOTA, OUT_QUOTA, \
42 Context->Connect.ClientHandle = ClientHandle;
61 Context->Connect.PipePath = PipePath;
73 Context->Listen.ServerHandle = ServerHandle;
102 ClientHandle = ConnectContext.
Connect.ClientHandle;
144 if (!
skip(Okay,
"Listen succeeded unexpectedly\n"))
178 ClientHandle = ConnectContext.
Connect.ClientHandle;
217 ClientHandle = ConnectContext.
Connect.ClientHandle;
static BOOLEAN CheckListenPipe(IN PTHREAD_CONTEXT Context, IN HANDLE ServerHandle, IN ULONG MilliSeconds)
#define CheckClient(ClientHandle, State)
static VOID ListenPipe(IN OUT PTHREAD_CONTEXT Context)
#define CheckServer(ServerHandle, State)
static KSTART_ROUTINE RunTest
static VOID ConnectPipe(IN OUT PTHREAD_CONTEXT Context)
static BOOLEAN CheckConnectPipe(IN PTHREAD_CONTEXT Context, IN PCWSTR PipePath, IN ULONG MilliSeconds)
#define ok_eq_hex(value, expected)
#define ok_bool_false(value, desc)
#define ok_bool_true(value, desc)
#define NT_SUCCESS(StatCode)
#define INVALID_HANDLE_VALUE
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
#define FILE_PIPE_DISCONNECTED_STATE
#define FILE_PIPE_LISTENING_STATE
#define FILE_PIPE_CONNECTED_STATE
#define FILE_PIPE_CLOSING_STATE
PKTHREAD KmtStartThread(IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext OPTIONAL)
VOID KmtFinishThread(IN PKTHREAD Thread OPTIONAL, IN PKEVENT Event OPTIONAL)
#define NpDisconnectPipe(ServerHandle)
BOOLEAN WaitForWork(IN PTHREAD_CONTEXT Context, IN ULONG MilliSeconds)
NTSTATUS NpOpenPipe(OUT PHANDLE ClientHandle, IN PCWSTR PipePath, IN ULONG NamedPipeConfiguration)
VOID FinishWorkerThread(IN PTHREAD_CONTEXT Context)
BOOLEAN TriggerWork(IN PTHREAD_CONTEXT Context, IN ULONG MilliSeconds)
#define DEVICE_NAMED_PIPE
NTSTATUS NpCreatePipe(OUT PHANDLE ServerHandle, IN PCWSTR PipePath, IN ULONG ReadMode, IN ULONG CompletionMode, IN ULONG NamedPipeType, IN ULONG NamedPipeConfiguration, IN ULONG MaximumInstances, IN ULONG InboundQuota, IN ULONG OutboundQuota)
VOID StartWorkerThread(OUT PTHREAD_CONTEXT Context)
#define NpListenPipe(ServerHandle)
#define NpQueryPipe(h, es)
KMT_MESSAGE_HANDLER TestConnect
#define FILE_PIPE_FULL_DUPLEX
#define UNREFERENCED_PARAMETER(P)
#define STATUS_PIPE_DISCONNECTED
#define STATUS_PIPE_NOT_AVAILABLE
#define STATUS_PIPE_CONNECTED
#define STATUS_ILLEGAL_FUNCTION
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
struct _THREAD_CONTEXT::@1619::@1621 Connect
struct _THREAD_CONTEXT::@1619::@1622 Listen