> 'параллельного выполнения операций чтения/записи
> SyncLock (Me)
> m_ReceiveStatus = newStatus
> End SyncLock 'end lock
>End Sub
>'--------------------------------------------------
>' (in) filename: желаемое имя для входного файла IR
>'--------------------------------------------------
>Public Sub New(ByVal filename As String, ByVal irdaServiceName As String)
> 'Имя сокета IrDA, который мы хотим открыть
> m_IrDAServiceName = irdaServiceName
> 'Имя файла, в котором мы хотим сохранить полученные данные
> m_fileNameForDownload = filename
>End Sub
>'----------------------------------------------------------
>'Обеспечивает асинхронный прием файла через IR
>' (in) filename: имя файла, в который осуществляется запись
>'----------------------------------------------------------
>Public Sub WaitForIRFileDownloadAsync()
> 'Заметьте, что сейчас мы находимся в режиме подготовки
> setStatus(ReceiveStatus.NotDone_SettingUp)
> '-------------------
> 'Создать новый поток
> '-------------------
> Dim threadEntryPoint As System.Threading.ThreadStart
> threadEntryPoint = _
> New System.Threading.ThreadStart(AddressOf WaitForIRFileDownload)
> Dim newThread As System.Threading.Thread = _
> New System.Threading.Thread(threadEntryPoint)
> 'Запустить поток на выполнение
> newThread.Start()
>End Sub
>'------------------------------------------
>'Открывает порт IR и ожидает загрузки файла
>'------------------------------------------
>Public Sub WaitForIRFileDownload()
> Dim outputStream As System.IO.Stream
> Dim irdaClient As System.Net.Sockets.IrDAClient
> Dim irStreamIn As System.IO.Stream
> Try
> '=========================================================
> 'Задать и загрузить файл!
> '=========================================================
> internal_WaitForIRFileDownload(outputStream, irdaClient, irStreamIn)
> Catch 'Поглотить любые возникающие ошибки
> setStatus(ReceiveStatus.Done_ErrorOccured)
> End Try
> '=============================================
> 'Освободить все ресурсы
> '=============================================
> 'Закрыть наш входной поток
> If Not (irStreamIn Is Nothing) Then
> Try
> irStreamIn.Close()
> Catch 'Поглотить любые возникающие ошибки
> End Try
> End If
> 'Закрытие клиента IrDA
> If Not (irdaClient Is Nothing) Then
> Try
> irdaClient.Close()
> Catch 'Поглотить любые возникающие ошибки
> End Try
> End If
> 'Закрыть файл, в который осуществлялась запись
> If Not (outputStream Is Nothing) Then
> Try
> outputStream.Close()
> Catch 'Поглотить любые возникающие ошибки
> End Try
> End If
> 'Закрыть прослушивающее устройство, если оно выполняется
> If Not (m_irListener Is Nothing) Then