2D 핀과 3D 핀의 혼합 지원
WDM 오디오 드라이버가 2D 핀과 3D 핀의 혼합을 지원하는 경우 3D 핀은 2D 핀으로 사용하기 위해 두 배로 사용할 수 있지만 그 반대의 경우도 마찬가지입니다. DirectSound에 2D 핀이 필요한 경우 드라이버에서 사용할 수 있는 경우 사용되지 않는 3D 핀을 해당 용도로 대체할 수 있습니다. 그러나 DirectSound에 3D 핀이 필요한 경우 검색 중에 발생한 2D 핀을 무시하고 3D 핀을 발견할 때까지 드라이버의 핀 인스턴스 목록을 계속 검색합니다. DirectSound는 요구 사항을 충족하는 핀 instance 발견할 때까지 드라이버의 핀 팩터리 목록을 나열된 순서대로 확인합니다.
2D 핀 수를 보고할 때 드라이버는 2D 핀 인스턴스 수와 3D 핀 인스턴스 수를 지정해야 합니다. 3D 핀 수를 보고할 때 드라이버는 2D 핀을 무시하고 3D 핀 인스턴스 수만 지정해야 합니다.
Microsoft Windows 2000 및 Windows 98과 함께 배포된 DirectSound 버전에는 2D 핀과 3D 핀이 혼합된 핀 팩터리를 처리하는 데 알려진 문제가 있습니다. DirectSound는 3D 핀 수를 2D 핀 인스턴스 수와 3D 핀 인스턴스 수로 잘못 보고합니다. 이 문제에 대한 해결 방법은 드라이버를 작성하여 2D 핀과 3D 핀을 두 개의 개별 핀 팩터리로 분리하는 것입니다. 한 팩터리는 2D 핀만 노출하고 다른 팩터리는 3D 핀만 노출합니다.
WDM 드라이버를 사용하면 DirectSound는 2D 핀 수를 두 공장의 2D 및 3D 핀 수의 합계로 올바르게 보고하고 3D 핀 수를 하나의 3D 핀 공장에서 3D 핀 수로 올바르게 보고합니다. 2D 및 3D 핀에 별도의 팩터리를 노출하는 경우 드라이버는 3D 핀 공장 앞에 2D 핀 팩터리를 나열해야 합니다. DirectSound가 2D 핀을 찾는 경우 처음 2D 또는 3D 핀을 사용하고 DirectSound는 핀 팩터리를 드라이버가 나열하는 순서대로 검사하기 때문에 필요합니다. 드라이버가 3D 팩터리를 먼저 나열하는 경우 DirectSound가 2D 핀 대신 불필요하게 3D 핀을 사용하여 3D 핀의 공급을 고갈시킬 위험이 있습니다.
요약하자면, 드라이버가 2D 핀과 3D 핀을 혼합하여 노출하는 경우 이전 버전의 DirectSound에서 올바르게 실행하려면 다음 규칙을 따라야 합니다.
각각 2D 및 3D 핀에 대해 두 개의 별도 핀 팩터리를 제공합니다.
3D 핀 팩터리보다 먼저 2D 핀 팩터리를 나열합니다.
이러한 해결 방법은 이후 버전의 DirectSound에서 필요하지 않습니다. 위에서 설명한 문제는 Windows Me 및 Windows XP 이상에서 해결되었습니다. 또한 이전 Windows 버전에서 사용하기 위해 재배포되는 DirectSound 8에서도 수정되었습니다. 이 수정을 통해 드라이버는 단일 핀 팩터리에서 2D 및 3D 핀을 안전하게 결합할 수 있으며 DirectSound는 2D 및 3D 핀 수를 올바르게 보고합니다. 또한 DirectSound에 2D 핀이 필요한 경우 모든 핀 공장에서 2D 핀을 모두 공급한 경우에만 2D 핀 대신 3D 핀을 사용합니다.