示例#1
0
def CreateAnonymousPipeServer(pipeDirection, handleInheritability=None):
    handleInheritability = handleInheritability if handleInheritability is not None else HandleInheritability.None
    outputPipeServer = Pipes.AnonymousPipeServerStream(
            pipeDirection,
            handleInheritability,
            PIPE_IO_BUFFER_SIZE
        )
    return outputPipeServer
示例#2
0
def CreateNamedPipeServer(pipeName):
    worldsid = Principal.SecurityIdentifier(Principal.WellKnownSidType.WorldSid, None)
    localsid = Principal.SecurityIdentifier(Principal.WellKnownSidType.LocalSid, None)
    worldpr = Pipes.PipeAccessRule(worldsid, Pipes.PipeAccessRights.ReadWrite, AccessControl.AccessControlType.Allow)
    localpr = Pipes.PipeAccessRule(localsid, Pipes.PipeAccessRights.FullControl, AccessControl.AccessControlType.Allow)

    ps = Pipes.PipeSecurity()
    ps.AddAccessRule(worldpr)
    ps.AddAccessRule(localpr)

    return Pipes.NamedPipeServerStream(
            pipeName,
            Pipes.PipeDirection.InOut,
            MAX_NUMBER_OF_INSTANCES,
            Pipes.PipeTransmissionMode.Byte,
            Pipes.PipeOptions.Asynchronous,
            PIPE_IO_BUFFER_SIZE,
            PIPE_IO_BUFFER_SIZE,
            ps
        )
示例#3
0
def CreateAnonymousPipeClient(pipeDirection, pipeHandleString):
    pipeClient = Pipes.AnonymousPipeClientStream(pipeDirection,
                                                 pipeHandleString)
    return pipeClient
示例#4
0
def CreateNamedPipeClient(node, pipeName):
    return Pipes.NamedPipeClientStream(node, pipeName,
                                       Pipes.PipeDirection.InOut,
                                       Pipes.PipeOptions.Asynchronous)