PFNKSDEVICEPNPSTART 콜백 함수(ks.h)

지정된 디바이스에 대한 IRP_MN_START_DEVICE 요청을 보낼 때 AVStream 미니드라이버의 AVStrMiniDeviceStart 루틴이 호출됩니다.

구문

PFNKSDEVICEPNPSTART Pfnksdevicepnpstart;

NTSTATUS Pfnksdevicepnpstart(
  [in]           PKSDEVICE Device,
  [in]           PIRP Irp,
  [in, optional] PCM_RESOURCE_LIST TranslatedResourceList,
  [in, optional] PCM_RESOURCE_LIST UntranslatedResourceList
)
{...}

매개 변수

[in] Device

시작할 디바이스를 설명하는 KSDEVICE 구조체에 대한 포인터입니다.

[in] Irp

받은 IRP_MN_START_DEVICE 대한 포인터입니다.

[in, optional] TranslatedResourceList

Irp에서 추출된 변환된 리소스 목록을 포함하는 CM_RESOURCE_LIST 구조체에 대한 포인터입니다. 디바이스에 할당된 리소스가 없는 경우 NULL과 같습니다. 선택 사항입니다.

[in, optional] UntranslatedResourceList

Irp에서 추출된 번역되지 않은 리소스 목록을 포함하는 CM_RESOURCE_LIST 구조체에 대한 포인터입니다. 이 매개 변수 목록의 KSDEVICE 멤버에 할당된 리소스가 없는 경우 NULL과 같습니다. 선택 사항입니다.

반환 값

작업을 수행하려는 시도에서 반환된 STATUS_SUCCESS 또는 오류 코드를 반환해야 합니다. 루틴이 성공적인 상태 코드를 반환하는 경우 시작이 성공하도록 보장됩니다. STATUS_PENDING 반환하지 마세요.

설명

KSDEVICE_DISPATCH 구조의시작 멤버에서 이 루틴의 주소를 지정합니다.

일반적으로 이 루틴은 할당된 리소스를 평가해야 하는 미니드라이버에서 사용됩니다. 리소스 목록은 미니드라이버의 편의를 위해 Irp 에서 추출됩니다. 미니 드라이버는 리소스 목록을 구문 분석하여 디바이스에 할당된 인터럽트 및 메모리 리소스의 실제 주소를 찾을 수 있습니다.

미니 드라이버는 이 루틴을 사용하여 AVStream 디바이스와 연결할 컨텍스트 정보를 할당할 수 있습니다. (이것은 컨텍스트 정보를 저장하기 위해 디바이스 확장을 사용하는 스트림 클래스의 미니드라이버와 비슷합니다.)

STATUS_PENDING 이 함수의 법적 반환 코드는 아닙니다. AVStream이 디바이스 인터페이스 사용과 같은 시작 작업을 완료하기 전에 작업자 스레드의 컨텍스트에서 작업을 수행하려면 사후 시작 디스패치를 사용합니다. AVStrMiniDevicePostStart를 참조하세요.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 ks.h(Ks.h 포함)

추가 정보

CM_RESOURCE_LIST

KSDEVICE_DISPATCH