Função KsPinDataIntersectionEx (ks.h)
A função KsPinDataIntersectionEx manipula o KSPROPERTY_PIN_DATAINTERSECTION por meio de uma função de retorno de chamada.
Sintaxe
KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] ULONG DescriptorSize,
[in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
[in, optional] PVOID HandlerContext
);
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] 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 pin.
[in] DescriptorSize
Tamanho das estruturas do descritor, em bytes.
[in, optional] IntersectHandler
Contém a função de retorno de chamada KStrIntersectHandlerEx definida pelo minidriver opcional para comparar intervalos de dados.
[in, optional] HandlerContext
Contexto opcional fornecido ao manipulador.
Retornar valor
Retorna STATUS_SUCCESS; caso contrário, um erro específico para a propriedade que está sendo tratada.
Comentários
KsPinDataIntersectionEx é muito semelhante a KsPinDataIntersection, exceto por algumas das seguintes pequenas diferenças:
- Em KsPinDataIntersectionEx, o tamanho do descritor é passado, um recurso que permite descritores estendidos.
- A função de retorno de chamada de interseção de dados é protótipo diferente na versão estendida (Retorno de chamada NTSTATUS (Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) versus KsPinDataIntersection (Retorno de chamada NTSTATUS (Irp, Pin, DataRange, Data)).
- O comprimento do buffer de saída (Dados) é passado como um parâmetro para a função de retorno de chamada de interseção de dados (DataBufferSize) em vez de ser extraído do local da pilha de E/S atual.
- A função de retorno de chamada de interseção de dados é passada um parâmetro Context (o mesmo parâmetro Context passado para KsPinDataIntersectionEx).
- O tamanho do formato resultante é passado novamente no DataSize em vez de Irp->IoStatus.Information.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | ks.h (inclua Ks.h) |