home *** CD-ROM | disk | FTP | other *** search
/ Dan Appleman's Visual Bas…s Guide to the Win32 API / Dan.Applmans.Visual.Basic.5.0.Programmers.Guide.To.The.Win32.API.1997.Ziff-Davis.Press.CD / VB5PG32.mdf / vbpg32 / samples5 / ch14 / pipe.bas < prev    next >
Encoding:
BASIC Source File  |  1997-02-16  |  5.7 KB  |  98 lines

  1. Attribute VB_Name = "Pipe"
  2. Option Explicit
  3. ' Copyright ⌐ 1997 by Desaware Inc. All Rights Reserved
  4.  
  5.  
  6. Type STARTUPINFO
  7.         cb As Long
  8.         lpReserved As String
  9.         lpDesktop As String
  10.         lpTitle As String
  11.         dwX As Long
  12.         dwY As Long
  13.         dwXSize As Long
  14.         dwYSize As Long
  15.         dwXCountChars As Long
  16.         dwYCountChars As Long
  17.         dwFillAttribute As Long
  18.         dwFlags As Long
  19.         wShowWindow As Integer
  20.         cbReserved2 As Integer
  21.         lpReserved2 As Long
  22.         hStdInput As Long
  23.         hStdOutput As Long
  24.         hStdError As Long
  25. End Type
  26.  
  27. Type PROCESS_INFORMATION
  28.         hProcess As Long
  29.         hThread As Long
  30.         dwProcessId As Long
  31.         dwThreadId As Long
  32. End Type
  33.  
  34. Type SECURITY_ATTRIBUTES
  35.         nLength As Long
  36.         lpSecurityDescriptor As Long
  37.         bInheritHandle As Long
  38. End Type
  39.  
  40. Type OVERLAPPED
  41.         Internal As Long
  42.         InternalHigh As Long
  43.         offset As Long
  44.         OffsetHigh As Long
  45.         hEvent As Long
  46. End Type
  47.  
  48. Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long
  49. Declare Function ConnectNamedPipe Lib "kernel32" (ByVal hNamedPipe As Long, ByVal lpOverlapped As Long) As Long
  50. Declare Function DisconnectNamedPipe Lib "kernel32" (ByVal hNamedPipe As Long) As Long
  51. Declare Function SetNamedPipeHandleState Lib "kernel32" (ByVal hNamedPipe As Long, lpMode As Long, lpMaxCollectionCount As Long, lpCollectDataTimeout As Long) As Long
  52. Declare Function GetNamedPipeInfo Lib "kernel32" (ByVal hNamedPipe As Long, lpFlags As Long, lpOutBufferSize As Long, lpInBufferSize As Long, lpMaxInstances As Long) As Long
  53. Declare Function PeekNamedPipe Lib "kernel32" (ByVal hNamedPipe As Long, lpBuffer As Any, ByVal nBufferSize As Long, lpBytesRead As Long, lpTotalBytesAvail As Long, lpBytesLeftThisMessage As Long) As Long
  54. Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
  55. Declare Function SetStdHandle Lib "kernel32" (ByVal nStdHandle As Long, ByVal nHandle As Long) As Long
  56. Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Long) As Long
  57. Declare Function WriteFileAsync Lib "kernel32" Alias "WriteFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As Long
  58. Declare Function ReadFileAsync Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long
  59. Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Long) As Long
  60. Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
  61. Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  62. Declare Function DuplicateHandle Lib "kernel32" (ByVal hSourceProcessHandle As Long, ByVal hSourceHandle As Long, ByVal hTargetProcessHandle As Long, lpTargetHandle As Long, ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwOptions As Long) As Long
  63. Declare Function WaitNamedPipe Lib "kernel32" Alias "WaitNamedPipeA" (ByVal lpNamedPipeName As String, ByVal nTimeOut As Long) As Long
  64. Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
  65. Declare Function CreateNamedPipe Lib "kernel32" Alias "CreateNamedPipeA" (ByVal lpName As String, ByVal dwOpenMode As Long, ByVal dwPipeMode As Long, ByVal nMaxInstances As Long, ByVal nOutBufferSize As Long, ByVal nInBufferSize As Long, ByVal nDefaultTimeOut As Long, ByVal lpSecurityAttributes As Long) As Long
  66. Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  67. Declare Function CreateEvent Lib "kernel32" Alias "CreateEventA" (ByVal lpEventAttributes As Long, ByVal bManualReset As Long, ByVal bInitialState As Long, ByVal lpName As String) As Long
  68. Declare Function GetLastError Lib "kernel32" () As Long
  69. Declare Function GetCurrentProcessId Lib "kernel32" () As Long
  70.  
  71. Public Const STD_INPUT_HANDLE = -10&
  72. Public Const STD_OUTPUT_HANDLE = -11&
  73. Public Const STD_ERROR_HANDLE = -12&
  74. Public Const NORMAL_PRIORITY_CLASS = &H20
  75. Public Const GENERIC_READ = &H80000000
  76. Public Const GENERIC_WRITE = &H40000000
  77. Public Const GENERIC_EXECUTE = &H20000000
  78. Public Const GENERIC_ALL = &H10000000
  79. Public Const OPEN_EXISTING = 3
  80. Public Const FILE_ATTRIBUTE_NORMAL = &H80
  81. Public Const INVALID_HANDLE_VALUE = -1
  82. Public Const PIPE_ACCESS_INBOUND = &H1
  83. Public Const PIPE_ACCESS_OUTBOUND = &H2
  84. Public Const PIPE_ACCESS_DUPLEX = &H3
  85. Public Const FILE_FLAG_OVERLAPPED = &H40000000
  86. Public Const PIPE_TYPE_BYTE = &H0
  87. Public Const PIPE_TYPE_MESSAGE = &H4
  88. Public Const WAIT_FAILED = -1&
  89. Public Const WAIT_OBJECT_0 = 0
  90. Public Const WAIT_ABANDONED = &H80&
  91. Public Const WAIT_ABANDONED_0 = &H80&
  92. Public Const WAIT_TIMEOUT = &H102&
  93. Public Const WAIT_IO_COMPLETION = &HC0&
  94. Public Const STILL_ACTIVE = &H103&
  95. Public Const INFINITE = -1&
  96. Public Const ERROR_PIPE_CONNECTED = 535&
  97.  
  98.