Операционные системы. Марапулец Ю.В. - 70 стр.

UptoLike

Составители: 

/* задание возвращаемых значений */
*lpmciDevice = mciOpenParms.wDeviceID;
return( TRUE );
}
Первый параметр функции mciSendCommand может иметь только
нулевое значение, так как устройство не открыто и ему не присвоен
идентификатор. В третьем параметре содержится комбинация двух флагов.
Первый из них, MCI_OPEN_TYPE,
дает системе команду прочитать поле
lpstrDeviceType из блока параметров, поскольку в этом поле записана
соответствующая строка. Второй флаг, MCI_OPEN_
ELEMENT, дает команду
прочитать поле lpstrElementName. Поскольку мы не указали флаг
MCI_OPEN_ALIAS,
система будет игнорировать любое значение,
содержащееся в поле lpstrAlias.
Функция OpenDevice возвращает значения TRUE
или FALSE,
свидетельствующие об успешности ее выполнения. Кроме того, при успешном
завершении функция возвращает в третьем параметре идентификатор
устройства. Идентификатор устройства необходим для выполнения
последующих операций, например для закрытия устройства.
/*--------------------------------------------------------
CLOSE DEVICE
Закрытие мультимедийного устройства
------------------------------------------------------------*/
void CloseDevice( HWND hWnd, MCIDEVICEID mciDevice )
{
DWORD dwRet;
dwRet = mciSendCommand( mciDevice, MCI_CLOSE, MCI_WAIT,
(DWORD) NULL );
if( dwRet != 0 )
{
ReportMCIError( hWnd, dwRet ) ;
}
return;
}
Функция CloseDevice принимает идентификатор устройства. Никаких
других данных ей не нужно; команда MCI_CLOSE
даже не использует блок
параметров.
Задание формата времени. Когда программа ShowWave приказывает
устройству waveaudio воспроизвести звук, она всегда задает позицию в файле, с
которой следует начать воспроизведение. С помощью полосы прокрутки,
которая имеется в основном окне программы, пользователь может
70
            /* задание возвращаемых значений */
     *lpmciDevice = mciOpenParms.wDeviceID;
     return( TRUE );
}

      Первый параметр функции mciSendCommand может иметь только
нулевое значение, так как устройство не открыто и ему не присвоен
идентификатор. В третьем параметре содержится комбинация двух флагов.
Первый из них, MCI_OPEN_TYPE, дает системе команду прочитать поле
lpstrDeviceType из блока параметров, поскольку в этом поле записана
соответствующая строка. Второй флаг, MCI_OPEN_ ELEMENT, дает команду
прочитать поле lpstrElementName. Поскольку мы не указали флаг
MCI_OPEN_ALIAS, система будет игнорировать любое значение,
содержащееся в поле lpstrAlias.
      Функция OpenDevice возвращает значения TRUE или FALSE,
свидетельствующие об успешности ее выполнения. Кроме того, при успешном
завершении функция возвращает в третьем параметре идентификатор
устройства. Идентификатор устройства необходим для выполнения
последующих операций, например для закрытия устройства.

/*--------------------------------------------------------
   CLOSE DEVICE
   Закрытие мультимедийного устройства
------------------------------------------------------------*/
void CloseDevice( HWND hWnd, MCIDEVICEID mciDevice )
{
        DWORD dwRet;
        dwRet = mciSendCommand( mciDevice, MCI_CLOSE, MCI_WAIT,
                                      (DWORD) NULL );
        if( dwRet != 0 )
        {
               ReportMCIError( hWnd, dwRet ) ;
        }
        return;
}

     Функция CloseDevice принимает идентификатор устройства. Никаких
других данных ей не нужно; команда MCI_CLOSE даже не использует блок
параметров.

     Задание формата времени. Когда программа ShowWave приказывает
устройству waveaudio воспроизвести звук, она всегда задает позицию в файле, с
которой следует начать воспроизведение. С помощью полосы прокрутки,
которая имеется в основном окне программы, пользователь может

                                     70