anchor.diff:        (concatenate 'string "\\\\.\\pipe\\" (subseq name 10))
         name))
   
  +(deftype named-pipe-handle ()
  +  `(satisfies valid-named-pipe-handle-p))
  +
   (defun make-named-pipe-server (name &key (max-instances +pipe-unlimited-instances+) (output-buffer-size 1000) (input-buffer-size 1000))
     (let* ((name (canonical-windows-pipe-name name))
   	 (handle (%ff-create-named-pipe name
  
positive.code: 					input-buffer-size
  					0
  					(cffi:null-pointer))))
      handle))
  
  (defclass connect-named-pipe-request (request)
    ())
  
  (defun connect-named-pipe (server-handle &optional (request (make-instance 'connect-named-pipe-request)))
    (assert (null (wait-for-single-object request 0)))
    (%ff-connect-named-pipe server-handle (overlapped-structure request))
    (setf (descriptor request) server-handle)
  
negative.code:     (dotimes (index (cffi:foreign-type-size '(:struct overlapped)))
        (setf (cffi:mem-ref ptr :uint8 index) 0))
      ptr))
  
  (defun valid-named-pipe-handle-p (handle)
    (and (/= handle +invalid-handle-value+)
         (plusp handle)))
  