UsePositionLock

La valeur de Registre UsePositionLock change 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 global de périphérique utilisé par portcls pour la sérialisation. N’oubliez pas que lorsque UsePositionLock est activé, il appartient 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’allumer, veillez à vérifier 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 une valeur supérieure, portcls utilise le verrou de position de diffusion en continu 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’appareil instance dans le Registre dont le chemin d’accès 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 la instance de votre périphérique audio.

Le paramètre UsePositionLock est uniquement pris en charge sur les filtres WaveRT et topologie. Portcls lit cette valeur de Registre au moment de l’ajout de l’appareil et le paramètre persiste jusqu’à ce que l’objet d’appareil fonctionnel (FDO) soit supprimé.

Si 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.

Cela signifie que les rappels du miniport suivant ne sont pas sérialisés avec les autres demandes de propriété (y compris les demandes d’état défini).