다음을 통해 공유


KsCreateDevice 함수(ks.h)

KsCreateDevice 함수는 AVStream 디바이스를 만듭니다.

구문

KSDDKAPI NTSTATUS KsCreateDevice(
  [in]            PDRIVER_OBJECT            DriverObject,
  [in]            PDEVICE_OBJECT            PhysicalDeviceObject,
  [in, optional]  const KSDEVICE_DESCRIPTOR *Descriptor,
  [in]            ULONG                     ExtensionSize,
  [out, optional] PKSDEVICE                 *Device
);

매개 변수

[in] DriverObject

미니 드라이버의 WDM 드라이버 개체에 대한 포인터입니다.

[in] PhysicalDeviceObject

AVStream에서 만들려는 디바이스의 WDM 물리적 디바이스 개체에 대한 포인터입니다.

[in, optional] Descriptor

생성되는 디바이스의 특성을 설명하는 디바이스 설명자에 대한 포인터입니다. 호출자가 이 선택적 매개 변수를 지정하지 않으면 AVStream은 기본 특성과 연결된 필터 팩터리를 사용하지 않는 디바이스를 만듭니다.

[in] ExtensionSize

이 매개 변수에는 디바이스 확장의 크기가 포함됩니다. 이 값이 0이면 기본 확장 크기가 사용됩니다. 그렇지 않은 경우 적어도 sizeof(KSDEVICE_HEADER)여야 합니다.

[out, optional] Device

생성된 KSDEVICE 구조체의 주소를 포함하는 메모리 위치에 대한 포인터입니다. 선택 사항입니다.

반환 값

디바이스가 성공적으로 만들어지면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다.

설명

일반적으로 미니 드라이버는 이 함수를 직접 호출하지 않습니다. 대신 KsCreateDevice 는 기본 AddDevice 처리기 인 KsAddDevice에 의해 호출됩니다. KsAddDeviceKsCreateDevice에 대한 내부 호출을 하기 때문에 KsCreateDevice를 호출하는 드라이버는 KsAddDevice를 별도로 호출해서는 안 됩니다.

KsCreateDevice를 직접 호출하는 미니드라이버에서 KsInitializeDriver를 사용하면 안 됩니다. 미니드라이버가 KsInitializeDriver를 호출하지 않는 경우 대신 자체 AddDevice 콜백을 제공해야 합니다. 그런 다음 미니 드라이버는 해당 AddDevice 콜백에서 KsCreateDevice를 호출할 수 있습니다.

KSDEVICE_DESCRIPTOR 제공되지 않으면 AVStream은 기본 특성과 연결된 필터 팩터리를 사용하지 않는 디바이스를 만듭니다. KSDEVICE_DESCRIPTOR 제공되고 create dispatch가 있는 KSDEVICE_DISPATCH 테이블이 포함된 경우 create dispatch가 호출됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL PASSIVE_LEVEL

추가 정보

DEVICE_OBJECT

DRIVER_OBJECT

KSDEVICE

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KsAddDevice

KsInitializeDevice

KsInitializeDriver