информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsПортрет посетителяSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Крупный сбой Azure и других сервисов... 
 Серьезный сбой AWS положил множество... 
 Фишинговая атака на Python-разработчиков 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Установка свойств модема 18.05.04 14:16  
Автор: sidus Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Нужно выключить динамики модема програмно, вот как я делаю:
HANDLE hModem = INVALID_HANDLE_VALUE;
LPCOMMCONFIG pComConf = NULL;

__try
{
hModem = CreateFile( "\\\\.\\Rockwell 56000 External Modem PnP",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, NULL);
if ( hModem == INVALID_HANDLE_VALUE )
__leave;




DWORD cbNeed = sizeof(COMMCONFIG);
pComConf = (LPCOMMCONFIG)GlobalAlloc( GMEM_ZEROINIT, cbNeed );
if ( !pComConf )
__leave;

GetCommConfig( hModem, pComConf, &cbNeed );
if ( cbNeed > sizeof(COMMCONFIG) )
{
GlobalFree( pComConf );
pComConf = (LPCOMMCONFIG)GlobalAlloc( GMEM_ZEROINIT, cbNeed );
GetCommConfig( hModem, pComConf, &cbNeed );
}
if ( pComConf->dwProviderSubType != PST_MODEM )
__leave;

if ( pComConf->dwProviderOffset == 0 )
__leave;
LPMODEMSETTINGS pModemSettings = (LPMODEMSETTINGS)&pComConf->wcProviderData;


pModemSettings->dwSpeakerMode = MDMSPKR_OFF;
SetCommConfig( hModem, pComConf, cbNeed );

}
__finally
{
if ( pComConf != NULL )
GlobalFree( pComConf );

if ( hModem != INVALID_HANDLE_VALUE )
CloseHandle( hModem );
}
Но pComConf->dwProviderOffset всегда 0! Почему??
Может я хендл не так получаю, хотя он открывается нормально.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach