Partilhar via


UsePositionLock

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.

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