가상 미니포트 초기화
가상 미니포트의 초기화를 시작하기 위해 중간 드라이버는 NdisIMInitializeDeviceInstanceEx 함수를 호출합니다. 중간 드라이버는 일반적으로 ProtocolBindAdapterEx 함수에서 이 호출을 수행합니다. 중간 드라이버가 NdisIMInitializeDeviceInstanceEx를 호출하고 플러그 앤 플레이 관리자가 NDIS에 가상 디바이스를 시작하도록 요청하면 NDIS는 드라이버의 MiniportInitializeEx 함수를 호출합니다.
NdisIMInitializeDeviceInstanceEx가 반환되기 전에 플러그 앤 플레이 관리자가 가상 디바이스를 시작하는 경우 MiniportInitializeEx에 대한 호출은 NdisIMInitializeDeviceInstanceEx의 컨텍스트에 있을 수 있습니다. 중간 드라이버가 둘 이상의 가상 미니포트를 제공하는 경우 드라이버는 사용할 수 있는 각 가상 미니포트에 대해 NdisIMInitializeDeviceInstanceEx를 호출해야 합니다.
NDIS는 MiniportInitParameters의 NDIS_MINIPORT_INIT_PARAMETERS 구조에서 MiniportInitializeEx에 초기화 매개 변수를 전달합니다. 구조체의 IMDeviceInstanceContext 멤버는 가상 디바이스의 컨텍스트 영역에 대한 포인터를 지정합니다. 드라이버는 DeviceContext 매개 변수의 NdisIMInitializeDeviceInstanceEx 함수에 이 포인터를 전달했습니다.
MiniportInitializeEx에서 중간 드라이버는 가상 미니포트를 초기화하는 데 필요한 작업을 수행합니다. 이 초기화는 다른 미니포트 어댑터의 초기화와 유사합니다.