アプリケーションまたは Windows コンポーネントがオーディオを再生または録音する必要がある場合は、さまざまなオーディオ API のいずれかを使用します。
オーディオ ストリームの初期化
すべてのオーディオ API では、最終的にコア オーディオ API 呼び出し IAudioClient::Initialize を呼び出します。 IAudioClient::Initialize 関数は、アプリケーションと Windows オーディオ エンジン間の接続、および Windows オーディオ エンジンとオーディオ ドライバー間の接続を作成します。
IAudioClient::Initialize 呼び出しが失敗すると、アプリケーションは一部の例外を除いてオーディオを使用できなくなります。 一部の IAudioClient::Initialize エラーは無害なので無視されます。これらのエラーのリストは 付録に記載されています。
呼び出しの結果は、 Microsoft.Windows.Audio.Client プロバイダーの AudioClientInitialize イベントに記録されます。 HRESULT フィールドは、呼び出しが成功した場合は 0、呼び出しが失敗した場合は負の数になります。
次のオーディオ メジャーは、 IAudioClient::Initialize の成功を追跡します。
- 少なくとも 1 つのオーディオ ストリーム初期化エラーが発生したマシンの割合
- subpar ストリーム初期化成功率のあるマシンの割合
- ドライバーごとに少なくとも 1 つのオーディオ ストリームの初期化エラーが発生したマシン エンドポイントの割合
- ストリーム初期化成功率が標準以下のマシン エンドポイントの割合
- ドライバーごとに少なくとも 1 つのオーディオ レンダー ストリームの初期化エラーが発生したマシン エンドポイントの割合
- 少なくとも 1 つのオーディオ レンダー ストリームの初期化エラーが発生したマシンの割合
- ドライバーごとに少なくとも 1 つのオーディオ キャプチャ ストリームの初期化エラーが発生したマシン エンドポイントの割合
- 少なくとも1つのオーディオキャプチャストリーム初期化エラーが発生したマシンの割合
オーディオ ユーザーモードの信頼性
カーネル ストリーミング オーディオ ドライバーはカーネル モードで実行されます。 オーディオ ドライバーで例外が発生すると、ブルー スクリーン オブ デス (BSOD) またはグリーン スクリーン オブ デス (GSOD) が発生します。
オーディオ カーネルモードの信頼性の問題に特化する対策はありませんが、カーネルモードの信頼性の問題に対する一般的な対策はあります。
Windows 共有モード オーディオ エンジンは、ユーザー モードで実行されます。 特に、Windows オーディオ サービスである AudioSrv.dll (AudioSrv) は、専用の svchost.exe プロセスで実行されます。 また、ヘルパー Windows Audio Device Graph Isolation プロセス、audiodg.exe (AudioDg) も起動します。
オーディオ IHV には、オーディオ処理オブジェクト (APO) と呼ばれるユーザー モード オーディオ エンジンへのプラグインを含めることができます。
APO が例外に遭遇した場合、ブルー スクリーンは発生しませんが、Windows オーディオ エンジンはクラッシュします。 アプリケーションからの呼び出しが迅速に完了していることを確認するウォッチドッグ タイマーもあります。 呼び出しがスタックした場合、ウォッチドッグはそれを感知し、Windows オーディオ エンジンを強制的にクラッシュさせます。
いずれにしても、オーディオ エンジンを再起動できるようになるまで、システム上のすべてのオーディオは失われます。
AudioDg がクラッシュし、AudioSrv がそれに気づいた場合、 AudioDgCrash イベントが Microsoft.Windows.Audio.Service プロバイダーからログに記録されます。 Windows 10 の一部の古いバージョンでは、イベントは AudioDg-Crashでした。
AudioSrv がクラッシュし、AudioDg がそれに気づくと、 AudioSrvSvchostCrash イベントが Microsoft.Windows.Audio.DeviceGraph プロバイダーから記録されます。 Windows 10 の一部の古いバージョンでは、イベントは AudioSrv-Svchost-Crashでした。
オーディオ サービスがハングすると、 Microsoft.Windows.Audio.Service プロバイダーから Hang イベントが記録されます。 Windows 10 の一部の古いバージョンでは、特定の種類のハングの場合、 Microsoft.Windows.Audio.DeviceGraph プロバイダーから Hang イベントも記録されます。
次のオーディオの測定値は、Windows オーディオ エンジンの信頼性を追跡します。
- 少なくとも 1 つのオーディオ クラッシュが発生したマシンの割合
- 少なくとも 1 つのオーディオ ハングが発生したマシンの割合
- 少なくとも 1 つのオーディオ クラッシュが発生したマシン エンドポイントの割合
- 少なくとも 1 つのオーディオ ハングが発生したマシン エンドポイントの割合
オーディオ処理オブジェクトの無効化
この措置は、オーディオ処理オブジェクトの自動無効化を追跡します。
配送先住所ラベルが拒否された場合の処理
配送ラベルが拒否された場合は、「拒否されたオーディオ ドライバーに対する異議申し立て」を参照してください。