Partilhar via


UsePositionLock

O valor do registro UsePositionLock altera a forma como PortCls serializa sua E/S. Habilitar essa configuração poderá ser útil se o driver de áudio sofrer falhas atribuídas ao bloqueio de dispositivo global que as portas usam para serialização. Lembre-se de que, quando UsePositionLock estiver habilitado, cabe 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 ativá-lo, verifique se há condições de corrida entre os retornos de chamada do piloto.

Use a configuração inf a seguir para habilitar esse comportamento.

[MyAudioDevice.AddReg]
HKR, DispatchSettings, UsePositionLock, 3, 01, 00, 00, 00

Quando esse valor é definido como 1 ou superior, 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 será usar o bloqueio de dispositivo global. Esse valor é lido na primeira vez que o dispositivo é adicionado.

Essa configuração INF será armazenada na instância do dispositivo no registro cujo caminho contém o GUID de mídia de {4d36e96c-e325-11ce-bfc1-08002be10318}.

Essa configuração inf cria um valor de registro que contém o GUID de mídia de {4d36e96c-e325-11ce-bfc1-08002be10318} que inclui a instância do seu dispositivo de áudio.

A configuração UsePositionLock só tem suporte em filtros WaveRT e Topology. Portcls lê esse valor do Registro no tempo de adição do dispositivo e a configuração persiste até que o FDO (objeto de dispositivo funcional) seja removido.

Se portcls detectar que esse sinalizador está ativado, ele não serializará as propriedades a seguir com o bloqueio de dispositivo global.

Isso significa que os retornos de chamada do miniporto a seguir não são serializados com as outras solicitações de propriedade (incluindo solicitações de estado definido).