NdisIMNotifyPnPEvent 함수(ndis.h)

참고 NDIS 5. x 는 더 이상 사용되지 않으며 NDIS 6으로 대체됩니다. x. 새로운 NDIS 드라이버 개발은 Windows Vista로 시작하는 네트워크 드라이버를 참조하세요. NDIS 5 포팅에 대한 자세한 내용입니다. x 드라이버를 NDIS 6으로. x, NDIS 5.x 드라이버를 NDIS 6.0으로 포팅을 참조하세요.

NdisIMNotifyPnPEvent는 플러그 앤 플레이 또는 전원 관리 이벤트의 알림을 지나치게 많은 드라이버에 전파합니다.

구문

NDIS_STATUS NdisIMNotifyPnPEvent(
  [in] NDIS_HANDLE    MiniportHandle,
  [in] PNET_PNP_EVENT NetPnPEvent
);

매개 변수

[in] MiniportHandle

MiniportInitialize에 대한 핸들 입력입니다. 이 핸들은 호출자의 ProtocolPnPEvent 함수에 전달된 플러그 앤 플레이 또는 전원 관리 이벤트의 영향을 받는 미니포트 드라이버를 나타냅니다.

[in] NetPnPEvent

프로토콜 드라이버에 표시되는 플러그 앤 플레이 이벤트 또는 전원 관리 이벤트를 설명하는 NET_PNP_EVENT 구조체에 대한 포인터입니다.

반환 값

NdisIMNotifyPnPEvent 는 다음 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS 오버리싱 드라이버가 전파된 플러그 앤 플레이 이벤트가 성공했습니다.
NDIS_STATUS_FAILURE 오버리싱 드라이버가 전파된 플러그 앤 플레이 이벤트에 실패했습니다.

반환 값은 전파된 이벤트가 NetEventQueryPower 또는 NetEventQueryRemove인 경우에만 중요합니다. 전파된 다른 모든 이벤트의 경우 반환 값은 항상 NDIS_STATUS_SUCCESS.

설명

NDIS 중간 드라이버는 드라이버의 ProtocolPnPEvent 함수 컨텍스트에서 NdisIMNotifyPnPEvent를 호출하여 플러그 앤 플레이 또는 전원 관리 이벤트의 알림을 오버리싱 드라이버에 전파합니다.

전파된 이벤트가 NetEventQueryPower 또는 NetEventQueryRemove인 경우 중간 드라이버는 NdisIMNotifyPnPEvent에서 반환된 NDIS_STATUS 값을 검사 합니다. 반환된 상태 NDIS_STATUS_SUCCESS 중간 드라이버는 평소와 같이 내부적으로 이벤트를 처리한 다음 ProtocolPnPEvent 함수에서 NDIS_STATUS_SUCCESS 반환해야 합니다. 반환된 상태 NDIS_STATUS_FAILURE 중간 드라이버는 추가 처리 없이 ProtocolPnPEvent에서 NDIS_STATUS_FAILURE 반환해야 합니다.

전파된 다른 모든 이벤트의 경우 NdisIMNotifyPnPEvent 는 항상 NDIS_STATUS_SUCCESS 반환합니다. 이러한 경우 중간 드라이버의 ProtocolPnPEvent 함수는 NdisIMNotifyPnPEvent에서 반환된 NDIS_STATUS 전파해야 합니다.

중간 드라이버가 ProtocolPnPEvent 함수에서 받은 NetEventSetPower를 처리하는 방법은 지정된 디바이스 전원 상태에 따라 달라집니다. 지정된 디바이스 전원 상태가 NdisDeviceStateD0인 경우 중간 드라이버는 평소와 같이 내부적으로 이벤트를 처리한 다음 NdisIMNotifyPnPEvent를 호출해야 합니다. 지정된 다른 디바이스 전원 상태의 경우 중간 드라이버는 먼저 NdisIMNotifyPnPEvent 를 호출한 다음, 평소와 같이 내부적으로 이벤트를 처리해야 합니다.

중간 드라이버는 NetEventReconfigure 또는 NetEventBindListNULL이 아닌 ProtocolBindingContext에 표시되는 경우에만 NdisIMNotifyPnPEvent를 호출하여 NetEventReconfigure 또는 NetEventBindList를 전파해야 합니다. NetEventReconfigure 또는 NetEventBindListNULLProtocolBindingContext에 표시되는 경우 중간 드라이버는 이벤트를 전파하기 위해 NdisIMNotifyPnPEvent를 호출해서는 안 됩니다.

중간 드라이버가 NetEventReconfigure 또는 NetEventBindList를 처리하는 경우 이벤트와 연결된 모든 데이터의 유효성을 검사해야 합니다. (이러한 데이터에 대한 자세한 내용은 프로토콜 드라이버에 대한 NET_PNP_EVENT 참조하세요.)

NdisIMNotifyPnPEvent에 대한 시스템 지원은 Windows XP 이상 버전에서 사용할 수 있습니다.

  • 대상 플랫폼: 유니버설
  • 버전: Windows Vista의 NDIS 6.0 드라이버에는 지원되지 않습니다. 대신 NdisMNetPnPEvent를 사용합니다. Windows Vista 및 Windows XP에서 NDIS 5.1 드라이버에 대해 지원됩니다.

요구 사항

요구 사항
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL

추가 정보