UsePositionLock
Der UsePositionLock-Registrierungswert ändert, wie PortCls seine E/A serialisiert. Das Aktivieren dieser Einstellung kann hilfreich sein, wenn Ihr Audiotreiber unter Störungen leidet, die der globalen Gerätesperre zugeschrieben sind, die portcls für die Serialisierung verwendet. Beachten Sie, dass beim Aktivieren von UsePositionLock der Audiotreiber die Serialisierung zwischen den unten aufgeführten Rückrufen und anderen Eigenschaftenrückrufen (falls erforderlich) übernimmt. Dieses Flag ist standardmäßig nicht aktiviert. Bevor Sie es einschalten, überprüfen Sie Ihren Fahrer auf alle Rennbedingungen zwischen den Rückrufen Ihres Fahrers.
Verwenden Sie die folgende INF-Einstellung, um dieses Verhalten zu aktivieren.
[MyAudioDevice.AddReg]
HKR, DispatchSettings, UsePositionLock, 3, 01, 00, 00, 00
Wenn dieser Wert auf 1 oder höher festgelegt ist, verwendet portcls die Streamingpositionssperre, um die unten aufgeführten Rückrufe zu serialisieren. Wenn sie nicht vorhanden oder auf null festgelegt ist, ist das Standardverhalten die Verwendung der globalen Gerätesperre. Dieser Wert wird gelesen, wenn das Gerät zum ersten Mal hinzugefügt wird.
Diese INF-Einstellung wird unter dem Gerät instance in der Registrierung gespeichert, deren Pfad die Medien-GUID von {4d36e96c-e325-11ce-bfc1-08002be10318} enthält.
Diese INF-Einstellung erstellt einen Registrierungswert, der die Medien-GUID von {4d36e96c-e325-11ce-bfc1-08002be10318} enthält, der die instance Ihres Audiogeräts enthält.
Die Einstellung UsePositionLock wird nur für WaveRT- und Topologiefilter unterstützt. Portcls liest diesen Registrierungswert zur Geräte-Add-Zeit, und die Einstellung bleibt bestehen, bis das funktionale Geräteobjekt (Functional Device Object, FDO) entfernt wird.
Wenn portcls erkennt, dass dieses Flag aktiviert ist, werden die folgenden Eigenschaften nicht mit der globalen Gerätesperre serialisiert.
{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}
Dies bedeutet, dass die Rückrufe des folgenden Miniports nicht mit den anderen Eigenschaftenanforderungen serialisiert werden (einschließlich Setstatusanforderungen).