KsPinDataIntersectionEx 함수(ks.h)
KsPinDataIntersectionEx 함수는 콜백 함수를 통해 KSPROPERTY_PIN_DATAINTERSECTION 처리합니다.
구문
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
);
매개 변수
[in] Irp
속성 요청을 설명하는 IRP를 지정합니다.
[in] Pin
쿼리할 특정 속성을 지정합니다.
[out] Data
pin 속성별 데이터를 지정합니다.
[in] DescriptorsCount
설명자 구조체의 수를 지정합니다.
[in] Descriptor
핀 정보 구조 목록에 대한 포인터를 지정합니다.
[in] DescriptorSize
설명자 구조체의 크기(바이트)입니다.
[in, optional] IntersectHandler
데이터 범위를 비교하는 선택적 미니드라이버 정의 KStrIntersectHandlerEx 콜백 함수를 포함합니다.
[in, optional] HandlerContext
처리기에 제공되는 선택적 컨텍스트입니다.
반환 값
STATUS_SUCCESS 반환합니다. 그렇지 않으면 처리 중인 속성과 관련된 오류입니다.
설명
KsPinDataIntersectionEx 는 다음과 같은 약간의 차이점을 제외하고 KsPinDataIntersection과 매우 유사합니다.
- KsPinDataIntersectionEx에서는 확장 설명자를 허용하는 기능인 설명자의 크기가 전달됩니다.
- 데이터 교차 콜백 함수는 확장 버전(NTSTATUS 콜백(Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize))과 KsPinDataIntersection (NTSTATUS 콜백(Irp, Pin, DataRange, Data))에서 다르게 프로토타입화됩니다.
- 출력 버퍼(데이터) 길이는 현재 I/O 스택 위치에서 추출되지 않고 데이터 교차 콜백 함수(DataBufferSize)에 매개 변수로 전달됩니다.
- 데이터 교차 콜백 함수는 Context 매개 변수(KsPinDataIntersectionEx에 전달된 동일한 Context 매개 변수)를 전달합니다.
- 결과 형식의 크기는 Irp->IoStatus.Information 대신 DataSize로 다시 전달됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | ks.h(Ks.h 포함) |