Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O valor do Registro UsePositionLock altera como PortCls serializa sua E/S. Habilitar essa configuração pode ser útil se o driver de áudio sofrer falhas atribuídas ao bloqueio de dispositivo global que o portcls usa para serialização. Lembre-se de que, quando UsePositionLock estiver habilitado, caberá ao driver de áudio aplicar qualquer serialização entre os retornos de chamada listados abaixo e outros retornos de chamada de propriedade (se necessário). Esse sinalizador não está habilitado por padrão. Antes de ligá-lo, certifique-se de revisar seu motorista para quaisquer condições de corrida entre os retornos de chamada do motorista.
Use a seguinte configuração INF para habilitar esse comportamento.
[MyAudioDevice.AddReg]
HKR, DispatchSettings, UsePositionLock, 3, 01, 00, 00, 00
Quando esse valor é definido como 1 ou superior, o portcls usa o bloqueio de posição de streaming para serializar os retornos de chamada listados abaixo. Se ele não estiver presente ou definido como zero, o comportamento padrão é usar o bloqueio de dispositivo global. Este valor é lido na primeira vez que o dispositivo é adicionado.
Essa definição INF será armazenada na instância do dispositivo no registo cujo caminho contém o GUID de media de {4d36e96c-e325-11ce-bfc1-08002be10318}.
Esta configuração INF cria um valor do registo que contém o GUID de mídia {4d36e96c-e325-11ce-bfc1-08002be10318} que inclui a instância do seu dispositivo de áudio.
A configuração UsePositionLock só é suportada em filtros WaveRT e Topology. O Portcls lê esse valor do Registro no momento da adição do dispositivo e a configuração persiste até que o objeto de dispositivo funcional (FDO) seja removido.
Se o portcls detetar que esse sinalizador está ativado, ele não serializará as seguintes propriedades com o bloqueio de dispositivo global.
{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}
Isso significa que os retornos de chamada da miniporta seguinte não são serializados com as outras solicitações de propriedades (incluindo solicitações de definição de estado).