Função KsPinDataIntersection (ks.h)
A função KsPinDataIntersection manipula a propriedade KSPROPERTY_PIN_DATAINTERSECTION por meio de uma função de retorno de chamada e executa grande parte da validação inicial dos parâmetros que são passados. KsPinDataIntersection chama a função de retorno de chamada KStrIntersectHandler definida pelo minidriver com cada intervalo de dados em potencial depois de fazer a correspondência com a lista de intervalos de dados atribuídos a esse alocador de pinos.
Sintaxe
KSDDKAPI NTSTATUS KsPinDataIntersection(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out, optional] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] PFNKSINTERSECTHANDLER IntersectHandler
);
Parâmetros
[in] Irp
Especifica o IRP que descreve a solicitação de propriedade.
[in] Pin
Especifica a propriedade específica que está sendo consultada.
[out, optional] Data
Especifica os dados específicos da propriedade pin.
[in] DescriptorsCount
Especifica o número de estruturas de descritor.
[in] Descriptor
Especifica o ponteiro para a lista de estruturas de informações de pino.
[in] IntersectHandler
Especifica a função de retorno de chamada KStrIntersectHandler definida pelo minidriver para comparar um intervalo de dados.
Retornar valor
A função KsPinDataIntersection retornará STATUS_SUCCESS se um intervalo correspondente for encontrado, STATUS_NO_MATCH se nenhum intervalo correspondente foi encontrado ou um erro específico para a propriedade que está sendo tratada. O manipulador de interseção KStrIntersectHandler definido pelo minidriver fornecido para KsPinDataIntersection é chamado com cada intervalo de dados fornecido pelo chamador até que uma correspondência seja encontrada ou ocorra um erro.
Observe que a função de retorno de chamada KStrIntersectHandler definida pelo minidriver tem seu próprio conjunto de valores retornados.
Comentários
Uma correspondência pode ocorrer em três condições: se o formato principal do intervalo passado for um curinga ou corresponder a um intervalo de fábrica de pinos, se o subformatação for um curinga ou corresponder e se o especificador for um curinga ou corresponder. Como o tamanho do intervalo de dados pode ser variável, ele não é validado além de verificar se é pelo menos o tamanho de uma estrutura KSDATARANGE .
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |