Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La valeur de Registre UsePositionLock modifie la façon dont PortCls sérialise ses E/S. L’activation de ce paramètre peut être utile si votre pilote audio souffre de problèmes attribués au verrou d’appareil global utilisé par portcls pour la sérialisation. N’oubliez pas que lorsque UsePositionLock est activé, il incombe au pilote audio d’appliquer une sérialisation entre les rappels répertoriés ci-dessous et d’autres rappels de propriété (si nécessaire). Cet indicateur n’est pas activé par défaut. Avant de l’activer, veillez à passer en revue votre pilote pour connaître les conditions de course entre les rappels de votre pilote.
Utilisez le paramètre INF suivant pour activer ce comportement.
[MyAudioDevice.AddReg]
HKR, DispatchSettings, UsePositionLock, 3, 01, 00, 00, 00
Lorsque cette valeur est définie sur 1 ou plus, portcls utilise le verrou de position de streaming pour sérialiser les rappels répertoriés ci-dessous. S’il n’est pas présent ou défini sur zéro, le comportement par défaut consiste à utiliser le verrou global de l’appareil. Cette valeur est lue la première fois que l’appareil est ajouté.
Ce paramètre INF sera stocké sous l’instance de l’appareil dans le Registre dont le chemin contient le GUID multimédia de {4d36e96c-e325-11ce-bfc1-08002be10318}.
Ce paramètre INF crée une valeur de Registre qui contient le GUID multimédia de {4d36e96c-e325-11ce-bfc1-08002be10318} qui inclut l’instance de votre appareil audio.
Le paramètre UsePositionLock est pris en charge uniquement sur les filtres WaveRT et Topologie. Portcls lit cette valeur de Registre au moment de l’ajout d’appareil et le paramètre persiste jusqu’à ce que l’objet d’appareil fonctionnel (FDO) soit supprimé.
Si le portcls détecte que cet indicateur est activé, il ne sérialise pas les propriétés suivantes avec le verrou global de l’appareil.
{KSPROPSETID_RtAudio, KSPROPERTY_RTAUDIO_GETREADPACKET}
{KSPROPSETID_RtAudio, KSPROPERTY_RTAUDIO_SETWRITEPACKET}
{KSPROPSETID_RtAudio, KSPROPERTY_RTAUDIO_PRESENTATION_POSITION}
{KSPROPSETID_RtAudio, KSPROPERTY_RTAUDIO_PACKETCOUNT}
{KSPROPSETID_Audio, KSPROPERTY_AUDIO_POSITIONEX}
Cela signifie que les rappels de miniport suivants ne sont pas sérialisés avec les autres requêtes de propriété (y compris les demandes d’état défini).