PFNKSPINIRP 콜백 함수(ks.h)

AVStream 미니 드라이버의 루틴은 핀에 대한 작업이 수행되고 다음 IRP를 수신할 때 호출됩니다.

구문

PFNKSPINIRP Pfnkspinirp;

NTSTATUS Pfnkspinirp(
  [in] PKSPIN Pin,
  [in] PIRP Irp
)
{...}

매개 변수

[in] Pin

방금 만든 KSPIN 에 대한 포인터입니다.

[in] Irp

고정용 IRP에 대한 포인터입니다.

반환 값

루틴이 성공하면 작업이 성공하도록 보장됩니다. STATUS_SUCCESS 또는 STATUS_PENDING 반환합니다.

설명

IRP Description
IRP_MJ_CREATE 일반적으로 이 루틴은 핀과 연결된 컨텍스트 및 리소스를 초기화하려는 미니 드라이버에서 사용됩니다. 미니 드라이버는 해당 KSPIN_DISPATCH 구조체의 Create 멤버에서 이 루틴의 주소를 지정합니다.

이 루틴은 핀을 만들 때 호출됩니다. 이 루틴이 호출되는 시점에서 파일 개체는 연결된 컨텍스트를 가지며 KS 개체 헤더가 할당되었습니다. 일반적으로 이 함수는 핀과 연결된 컨텍스트 및 리소스를 초기화하려는 미니 드라이버에서 제공됩니다.

필터 컨트롤 뮤텍스는 이 함수에 있는 동안 유지됩니다. 함수는 IRQL = PASSIVE_LEVEL 호출됩니다.

이 루틴은 선택 사항입니다.

루틴이 성공하면 만들기 작업이 성공하도록 보장됩니다. STATUS_SUCCESS 또는 STATUS_PENDING 반환합니다. 미니 드라이버가 STATUS_PENDING 반환하는 경우 AVStream은 IRP_MJ_CREATE 즉시 완료하지 않습니다. 그러나 STATUS_PENDING 반환하기 전에 미니 드라이버는 IoMarkIrpPending을 호출해야 합니다. 만들기 처리가 완료되면 미니 드라이버는 IRP의 상태 코드를 설정한 다음 KsCompletePendingRequest를 호출해야 합니다.

IRP_MJ_CLOSE 미니 드라이버는 해당 KSPIN_DISPATCH 구조의 Close 멤버에서 이 루틴의 주소를 지정합니다.

루틴이 호출되는 시점에서 핀에 등록된 모든 이벤트가 해제되었지만 개체는 그대로 유지됩니다.

필터 컨트롤 뮤텍스는 이 함수에 있는 동안 유지됩니다. 뮤텍스에 대한 자세한 내용은 AVStream의 뮤텍스를 참조하세요.

이 루틴은 선택 사항입니다.

요구 사항

   
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 ks.h(Ks.h 포함)
IRQL PASSIVE_LEVEL(주의 섹션 참조)

참조

IoMarkIrpPending

KSPIN_DISPATCH

KsCompletePendingRequest