共用方式為


標頭檔與系統元件

下表列出包含四個核心音訊元件的介面定義的頭檔。

核心音訊元件 頭檔
MMDevice API Mmdeviceapi.h
WASAPI Audioclient.h、Audiopolicy.h
DeviceTopology API Devicetopology.h
EndpointVolume API Endpointvolume.h

 

另一個頭檔 Audiosessiontypes.h 會定義 WASAPI 所使用的常數。 這些頭檔位於目錄中 %MSSdk%\include,其中 %MSSdk% 是計算機上 Windows SDK 安裝的根目錄。

上表中的每個 API 都包含一組相關的 COM 介面。 由於音訊串流的某些層面取決於低延遲和精確的同步處理,因此 MMDevice、WASAPI、DeviceTopology 和 EndpointVolume API 的實作不會使用 Microsoft .NET Framework 或 Managed 執行環境。

核心音訊 API 會在使用者模式系統元件中實作,Audioses.dll和Mmdevapi.dll。 用戶端應用程式不會直接存取這些 DLL 中的進入點。 相反地,用戶端會呼叫 CoCreateInstance 或 CoCreateInstanceEx 函式,以取得 MMDeviceEnumerator 類別物件的 IMMDeviceEnumerator 介面。 這個物件會 列舉系統中的音訊端點裝置IMMDeviceEnumerator 介面是 MMDevice API 的一部分。 從這個介面中,用戶端可以直接或間接地取得MMDevice API中的其他介面,包括 IMMDevice 介面。 IMMDevice 代表特定的音訊端點裝置。 透過 IMMDevice,用戶端可以直接或間接地取得 WASAPI、DeviceTopology API 和 EndpointVolume API 中的裝置特定介面。 如需 CoCreateInstanceCoCreateInstanceEx 的詳細資訊,請參閱 Windows SDK 檔。 如需在核心音訊 API 中存取介面的詳細資訊,請參閱 列舉音訊裝置

關於 Windows Core 音訊 API