Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 599

>    streamOutToIrDA = Nothing

>   End If


>   If Not (streamInFromFile Is Nothing) Then

>    Try

>     streamInFromFile.Close()

>    Catch

>     'Поглотить любую ошибку

>    End Try

>    streamInFromFile = Nothing

>   End If


>   If Not (irDASender Is Nothing) Then

>    Try

>     irDASender.Close()

>    Catch

>     'Поглотить любую ошибку

>    End Try

>    irDASender = Nothing

>   End If

>   Return 'Выход

>  End Try


>  'Проверить успешность выполнения

>  If (bSuccess = True) Then

>   m_descriptionOfLastSendAttempt = "Success!"

>   setStatus(SendStatus.Finished Successfully)

>   Return

>  End If


>  'Проверить, не была ли операция отменена пользователем

>  If (m_wasSenderStopped = True) Then

>   m_descriptionOfLastSendAttempt = "User Aborted."

>   setStatus(SendStatus.Finished_Aborted)

>   Return

>  End If


>  'В противном случае... Нам пока не удалось обнаружить сервер IrDA,

>  'имя которого совпадает с именем службы. Мы продолжим выполнение цикла

>  'и попытаемся найти сервер.

> End While

> 'Мы никогда не попадем в это место программы при выполнении

>End Sub


>'----------------------------------------------------------------------

>'Попытаться передать поток ввода-вывода (например, файл) посредством IR

>'[возвращаемое значение]:

>' true: успешная передача файла

>' false: файл не был успешно передан

>'----------------------------------------------------------------------

>Private Function sendStream(ByRef errorDescription As String, _

> ByRef streamOutToIrDA As System.IO.Stream, _

> ByRef irDASender As System.Net.Sockets.IrDAClient, _

> ByRef streamInFromFile As System.IO.Stream) As Boolean

> errorDescription = ""

> '----------------------------

> 'Создание нового клиента IRDA

> '----------------------------

> Try

>  '-------------------------------------------------------

>  'Возврат произойдет довольно быстро. Клиент будет выбран

>  'и возвращен, если прослушивающие клиенты отсутствуют.

>  '-------------------------------------------------------

>  irDASender = _

>   New System.Net.Sockets.IrDAClient(m_IrDAServiceName)


>  Catch eCreateClient As System.Exception

>   'В данном случае могли возникнуть несколько ситуаций:

>   '#1: отсутствуют прослушивающие устройства

>   '#2: прослушивающее устройство существует, но не реагирует

>   ' (может отказаться от разговора)

>   errorDescription = eCreateClient.Message

>   Return False

>  End Try


>  'В данном случае могли возникнуть несколько ситуаций:

>  '#1: Мы получили соединение от приемного устройства IR

>  '#2: IR-запрос был отменен (кто-то вызвал функцию STOP).

>  If (m_wasSenderStopped = True) Then

>   irDASender.Close()

>   irDASender = Nothing

>   Return False