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 KStrIntersectHand ler definida pelo minidriver com cada intervalo de dados em potencial depois de correspondê-la à lista de intervalos de dados atribuídos a esse pin factory.
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 do 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 pin.
[in] IntersectHandler
Especifica a função de retorno de chamada KStrIntersectHandler definida pelo minidriver para comparar um intervalo de dados.
Valor de retorno
A função KsPinDataIntersection retorna STATUS_SUCCESS se um intervalo de correspondência for encontrado, STATUS_NO_MATCH se nenhum intervalo de correspondência foi encontrado ou um erro específico à propriedade que está sendo tratada. O manipulador de interseção KStrIntersectHand ler 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.
Observações
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 subformato 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 ele tem pelo menos o tamanho de uma estrutura KSDATARANGE.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | ks.h (incluir Ks.h) |
biblioteca | Ks.lib |