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 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] 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.
Valor de retorno
Retorna STATUS_SUCCESS; caso contrário, um erro específico à propriedade que está sendo tratada.
Observações
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 de forma 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 tamanho do buffer de saída (Data) é 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 em DataSize em vez de irp->IoStatus.Information.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | ks.h (incluir Ks.h) |