PORT_CONFIGURATION_INFORMATION 구조체(strmini.h)

PORT_CONFIGURATION_INFORMATION 스트리밍 미니드라이버 디바이스의 하드웨어 설정을 설명합니다. 클래스 드라이버는 운영 체제에서 제공하는 정보로 대부분의 멤버를 채웁니다.

구문

typedef struct _PORT_CONFIGURATION_INFORMATION {
  ULONG           SizeOfThisPacket;
  PVOID           HwDeviceExtension;
  PDEVICE_OBJECT  ClassDeviceObject;
  PDEVICE_OBJECT  PhysicalDeviceObject;
  ULONG           SystemIoBusNumber;
  INTERFACE_TYPE  AdapterInterfaceType;
  ULONG           BusInterruptLevel;
  ULONG           BusInterruptVector;
  KINTERRUPT_MODE InterruptMode;
  ULONG           DmaChannel;
  ULONG           NumberOfAccessRanges;
  PACCESS_RANGE   AccessRanges;
  ULONG           StreamDescriptorSize;
  PIRP            Irp;
  PKINTERRUPT     InterruptObject;
  PADAPTER_OBJECT DmaAdapterObject;
  PDEVICE_OBJECT  RealPhysicalDeviceObject;
  ULONG           Reserved[1];
} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;

멤버

SizeOfThisPacket

이 구조체의 크기(바이트)입니다. 클래스 드라이버가 이 멤버를 채웁니다.

HwDeviceExtension

미니 드라이버의 디바이스 확장에 대한 포인터입니다. 미니 드라이버는 이 버퍼를 사용하여 미니드라이버에 전역 개인 정보를 기록할 수 있습니다. 미니 드라이버는 StreamClassRegisterMinidriver를 통해 자신을 등록할 때 통과하는 HW_INITIALIZATION_DATA 구조에서 이 버퍼의 크기를 설정합니다. 또한 클래스 드라이버는 미니드라이버에 전달하는 HW_STREAM_OBJECT,HW_STREAM_REQUEST_BLOCK 및 HW_TIME_CONTEXT 구조체의 HwDeviceExtension 멤버에서 이 버퍼에 대한 포인터를 전달 합니다.

ClassDeviceObject

드라이버 디바이스에 대한 클래스 드라이버 제공 기능 디바이스 개체(FDO)를 가리킵니다.

PhysicalDeviceObject

클래스 드라이버가 드라이버 스택에 연결되면 드라이버 스택 맨 위에 있는 드라이버의 디바이스 개체를 가리킵니다. 드라이버는 IoCallDriver 를 호출하여 드라이버 스택과 통신할 때 이 멤버를 사용합니다. RealPhysicalDeviceObject 멤버는 드라이버 디바이스의 실제 PDO를 가리킵니다.

SystemIoBusNumber

클래스 드라이버는 이 멤버를 디바이스의 시스템 버스 ID 번호로 채웁니다. 버스 0은 기본 시스템 버스입니다.

AdapterInterfaceType

디바이스가 연결된 시스템 버스의 유형을 지정합니다. 가능한 값으로 는 Isa, Eisa, MicroChannel, PCIBusPCMCIABus가 있습니다.

BusInterruptLevel

클래스 드라이버는 이 버스의 인터럽트에 대해 이 멤버를 IRQL로 채웁니다.

BusInterruptVector

클래스 드라이버는 이 멤버를 디바이스에서 사용하는 인터럽트 벡터로 채웁니다.

InterruptMode

클래스 드라이버는 래치 또는 LevelSensitive 중 하나의 인터럽트 모드로 이 멤버를 채웁니다.

DmaChannel

디바이스가 ISA 버스에 연결되면 클래스 드라이버가 이 멤버를 디바이스의 DMA 채널로 채웁니다.

NumberOfAccessRanges

AccessRanges 배열의 항목 수입니다.

AccessRanges

AccessRanges 배열의 항목 수입니다.

StreamDescriptorSize

미니드라이버가 이 멤버를 HW_STREAM_DESCRIPTOR 구조체의 크기로 채웁니다.

Irp

이 SRB_INITIALIZE_DEVICE 요청을 트리거한 PnP 디바이스 시작 IRP에 대한 포인터입니다.

InterruptObject

디바이스에서 인터럽트 를 사용하는 경우 클래스 드라이버는 연결된 인터럽트 개체에 대한 포인터로 이 멤버를 채웁니다.

DmaAdapterObject

디바이스에서 DMA를 사용하는 경우 클래스 드라이버는 연결된 DmaAdapter 개체에 대한 포인터로 이 멤버를 채웁니다.

RealPhysicalDeviceObject

드라이버 디바이스의 PDO에 대한 포인터입니다.

Reserved[1]

시스템에서 사용하도록 예약되었습니다. 사용하지 마십시오.

설명

대부분의 PORT_CONFIGURATION_INFORMATION 멤버는 인터럽트 벡터 및 인터럽트용 IRQL과 같은 하드웨어 리소스 사용에 대한 정보를 미니드라이버에 제공합니다.

요구 사항

요구 사항
헤더 strmini.h(Strmini.h 포함)