KsAcquireCachedMdl 함수(ks.h)
이 함수는 KS 포트 드라이버에서 캐시된 MDL을 획득하는 데 사용됩니다. 함수는 커널 모드 드라이버에서 Avstream 드라이버에서 생성된 파이프라인 제공 샘플에 대한 MDL을 획득하는 데 사용됩니다.
구문
KSDDKAPI NTSTATUS KsAcquireCachedMdl(
PIRP Irp,
REFGUID Guid,
PFNKSCANCELPINNEDMDL CancelRoutine,
PVOID CancelContext,
PMDL *MdlAddr,
PVOID *ReleaseContext
);
매개 변수
Irp
사용자 모드 샘플 버퍼를 포함하는 사용자 모드에서 전달된 IRP입니다.
Guid
파이프라인에서 전달된 IMFSample의 MFSampleExtension_MDLCacheCookie 특성 항목에서 추출된 GUID입니다.
CancelRoutine
Avstream 미니포트 드라이버에서 제공하는 콜백 함수인 루틴을 취소합니다. 이 함수는 샘플을 생성하는 핀의 상태가 중지 상태가 될 때 호출됩니다. 취소 루틴의 서명은 다음과 같습니다.
_IRQL_requires_max_(DISPATCH_LEVEL)
typedef
VOID
(*PFNKSCANCELPINNEDMDL)(
_In_ GUID,
_In_ PVOID,
_In_ PVOID
);
GUID
Avstream 미니포트 드라이버가 KsAcquireCachedMdl 함수에 전달한 GUID입니다.
PVOID
KsAcquireCachedMdl 함수 호출에서 Avstream 미니포트 드라이버에서 제공하는 컨텍스트를 취소합니다.
PVOID
릴리스 컨텍스트. KsAcquireCachedMdl 함수의 출력입니다.
CancelContext
취소 루틴에서 Avstream 드라이버에 전달된 컨텍스트입니다. 이 컨텍스트는 Avstream 드라이버에서 드라이버 컨텍스트에 들어가는 데 사용됩니다.
MdlAddr
반환 값: KS가 샘플 버퍼에 대해 저장된 MDL을 찾으면 결과 MDL입니다.
ReleaseContext
반환 값: Avstream 드라이버에서 저장할 컨텍스트입니다. KsAcquireCachedMdl 호출에서 획득한 MDL을 해제할 때 이 컨텍스트를 KS에 전달해야 합니다.
반환 값
성공 조건에 대한 STATUS_SUCCESS 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | ks.h(Ks.h 포함) |
라이브러리 | Ks.lib |