• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Xaudio2 В Directx9

  • Автор темы chesland
  • Дата начала
C

chesland

Крутые программеры!
Подскажите, пожалуйста, новичку в программировании под DirectX - ом!
Почему под Win7x32x64 MS VisualStudio2010 - звук в моей программе запускается и работает,
а под WinXP - нет!

Для тех, кто заинтересовался вопросом - уточняю:
использую XAudio2
инициализирую вот так:
DirectX и VCRedistributable установлены под все операционки.
Не хочу засорять это все кодом, просто объясню...
Программа компилируется и запускается,
под Win7 все работает, а под WinXP сразу вылетает при начале инициализации XAudio2,
т.е. на строке:
if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) ) return hr;

Сама программа пробная - в ней ничего нет, кроме полноэкранного окна Windows. Потом сразу инициализация XAudio.
Пробовал компилировать (рабочий под Win7) проект под WinXP - то же самое, компилируется без ошибок, запускается и вылетает.
Чего я не знаю? Что делаю под WinXP не так???

ИЗВИНЯЮСЬ.
Это называется - "чтобы решить проблему, нужно о ней кому-нибудь рассказать"
Перед вызовом XAudio2Create() нужно написать:
CoInitializeEx( NULL, COINIT_MULTITHREADED );
и тогда все работает.
Получается, что под Win7 вызов этой функции не обязателен, а под WinXP без нее работать не будет.
Спасибо всем, кто обратил внимание на мою проблему.
 
L

lazybiz

Кое-где на англоязычном форуме кое-кто утверждает что XAudio2 требует как минимум Windows XP SP2 или поддержку SSE2. Но это не 100%-ая инфа.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!