ProtocolPnPEvent

NDIS_STATUS

  ProtocolPnPEvent(

      IN NDIS_HANDLE  ProtocolBindingContext,

      IN PNET_PNP_EVENT  NetPnPEvent

      );

ProtocolPnPEvent ÇÔ¼ö´Â Plug and Play¿Í Power Management¸¦ Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡¼­ ÇÊ¿äÇÑ ÇÔ¼öÀÌ´Ù. NDIS´Â NIC°ú ¹ÙÀεåµÈ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ Plug and Play À̺¥Æ® ȤÀº Power Management À̺¥Æ®¸¦ °¡¸®Å°±â À§ÇØ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

¸Å°³º¯¼ö

ProtocolBindingContext
ÀÌ·¯ÇÑ µå¶óÀ̹ö°¡ ¹ÙÀεù ´ç ·±Å¸ÀÓ »óŸ¦ À¯ÁöÇÏ´Â ÇÁ·ÎÅäÄÝ ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÇÁ·ÎÅäÄÝÀº NdisOpenAdapter ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ÀÌ ÇÚµéÀ» Á¦°øÇÑ´Ù. NULL ProtocolBindingContext·Î ÀεðÄÉÀÌÆ®µÈ NetEventXxx´Â ¸ðµç ³×Æ®¿öÅ© ¹ÙÀεùµé¿¡ ¼ÓÇÑ´Ù. NetEventBindList ¿Í NetEventBindsComplete´Â Ç×»ó NULL ProtocolBindingContext·Î ÀεðÄÉÀÌÆ®µÈ´Ù. NetEventReconfigure´Â ƯÁ¤ ProtocolBindingContext·Î ÀεðÄÉÀÌÆ®µÉ ¼ö Àְųª ȤÀº NULL ProtocolBindingContextÀÌ´Ù.

NetPnPEvent
ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡ ÀεðÄÉÀÌÆ®µÇ´Â Plug and Play À̺¥Æ® ȤÀº Power Management À̺¥Æ®¸¦ ¼³¸íÇÏ´Â NET_PNP_EVENT ±¸Á¶Ã¼¸¦ °¡¸®Å²´Ù.

¸®Åϰª

ProtocolPnPEvent ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ¾î¶² °ªÀ» ¸®ÅÏÇÒ ¼ö ÀÖ´Ù:

NDIS_STATUS_SUCCESS
ÇÁ·ÎÅäÄÝÀº ¼º°øÀûÀ¸·Î ÀεðÄÉÀÌÆ®µÈ Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ ´Ù·é´Ù. ÀÌ·¯ÇÑ »óÅ ÄÚµåÀÇ Àǹ̴ NetPnPEvent¿¡ ¹öÆÛÈ­µÈ NET_PNP_EVENT ±¸Á¶Ã¼³»¿¡ NetEvent Äڵ忡 ÀÇÁ¸ÇÑ´Ù.

NetEventSetPower
ÀåÄ¡´Â ¿ä±¸µÈ ÆÄ¿ö ÀåÄ¡ ÆÄ¿ö »óÅ·ΠÀüÀÌÇß´Ù.

NetEventQueryPower
ÀåÄ¡´Â ¿ä±¸µÈ ÀåÄ¡ ÆÄ¿ö »çÅ·ΠÀüÀÌÇÒ ¼ö ÀÖ´Ù.

NetEventQueryRemoveDevice
ÀåÄ¡´Â Á¦°ÅµÉ ¼ö ÀÖ´Ù.

NetEventCancelRemoveDevice
ÀåÄ¡ÀÇ Á¦°Å´Â Ãë¼ÒµÇ¾îÁ³´Ù.

NetEventReconfigure
ÇÁ·ÎÅäÄÝÀÌ º¯È­µÈ ±¸¼º ¸Å°³º¯¼öµéÀ» ¼ö¶ôÇß´Ù.

NetEventBindList
ÇÁ·ÎÅäÄÝÀÌ ÇÁ·ÎÅäÄÝ·Î ClientBinding Çڵ鷯¸¦ µî·ÏÇß´ø ¸ðµç ¹ÙÀεåµÈ TDI Ŭ¶óÀÌ¾ðÆ®µé¿¡ ´ëÇÑ »õ·Î¿î ¹ÙÀεù ¸®½ºÆ®¸¦ conveyÇß´Ù.

NetEventBindsComplete
ÇÁ·ÎÅäÄÝÀº ÇÁ·ÎÅäÄÝÀÌ ¸ðµç ÀÌ¿ëÇÒ ¼ö ÀÖ´Â NICµé¿¡ ¹ÙÀεåÇß´ø °ÍÀ¸·ÎºÎÅÍ ÀεðÄÉÀ̼ÇÀ» ÀνÄÇß´Ù.

NetEventPnPCapabilities
ÇÁ·ÎÅäÄÝÀº ƯÁ¤ ¹ÙÀεù¿¡ ´ëÇØ NICÀÇ wake-up ´É·ÂµéÀÌ º¯È­µÇ¾ú´Ù°í ÀνÄÇß´Ù.

NDIS_STATUS_PENDING
ÇÁ·ÎÅäÄÝÀº NdisCompletePnPEvent ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ·Î ºñµ¿±âÀûÀ¸·Î ÀεðÄÉÀÌÆ®µÈ À̺¥Æ®¿¡ ´ëÇÑ ÀÀ´äÀ» ¸®ÅÏÇÒ °ÍÀÌ´Ù.

NDIS_STATUS_RESOURCES
ÇÁ·ÎÅäÄÝÀº ÀεðÄÉÀÌÆ®µÈ Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ ¸¸Á·Çϱâ À§ÇØ ÇÊ¿äÇÑ ½Ã½ºÅÛ ÀÚ¿øµéÀ» ¾òÀ» ¼ö ¾ø´Ù.

NDIS_STATUS_NOT_SUPPORTED
¸®°Å½Ã(ºñ PnP ÀνÄÀÎ) ÇÁ·ÎÅäÄÝÀº NDIS°¡ NICÀ¸·ÎºÎÅÍ ±×°ÍÀ» ¹ÙÀε带 ÇØÁ¦ÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ NetEventSetPower¿¡ ÀÀ´äÇÏ¿© ÀÌ·¯ÇÑ »óŸ¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

NDIS_STATUS_FAILURE
ÇÁ·ÎÅäÄÝÀº ÀεðÄÉÀÌÆ®µÈ Plug and Play ȤÀº Power Management À̺¥Æ®°¡ ½ÇÆÐÇÑ´Ù. ÀÌ »óÅ ÄÚµåÀÇ Àǹ̴ NetPnPEventÀÎ ¹öÆÛÈ­µÈ NET_PNP_EVENT ±¸Á¶Ã¼³»¿¡ NetEvent Äڵ忡 ´Þ·Á ÀÖ´Ù.

NetEventSetPower
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventQueryPower
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventQueryRemoveDevice
ÇÁ·ÎÅäÄÝÀº ÀåÄ¡¸¦ ÇØÁ¦ÇÒ ¼ö ¾ø´Ù.

NetEventCancelRemoveDevice
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventReconfigure
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventBindList
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventBindsComplete
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

NetEventPnPCapabilities
ÇÁ·ÎÅäÄÝÀº ÀÌ À̺¥Æ®¸¦ ½ÇÆÐÇÒ Çʿ䰡 ¾ø´Ù.

ÁÖ¼®

NDIS´Â ¿î¿µÃ¼Á¦°¡ NICÀ» ³ªÅ¸³»´Â ÀåÄ¡ °´Ã¼¿¡ Plug and Play ȤÀº Power Management À̺¥Æ² ¹ß»ýÇÏ´Â ³×Æ®¿öÅ© NIC¿¡ ¹Ù¿îµåµÈ ÇÁ·ÎÅäÄÝÀ» ¾Ë¸®±â À§ÇØ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. NDIS´Â NIC°ú ¹ÙÀεåµÈ °¢ ÇÁ·ÎÅäÄÝÀÇ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

ProtocolPnPEvent ÇÔ¼ö¿¡ Àü´ÞµÇ´Â NET_PNP_EVENT ±¸Á¶Ã¼´Â Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ ¼³¸íÇÑ´Ù. ProtocolPnPEvent ÇÔ¼ö´Â NET_PNP_EVENT ±¸Á¶Ã¼³»¿¡ µÎ°³ÀÇ ±âº» Á¤º¸¸¦ ÇØ¼®ÇÑ´Ù.

  • Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ ¼³¸íÇÏ´Â NetEvent ÄÚµå
  • À̺¥Æ® ƯÁ¤ Á¤º¸(¿¹¸¦ µé¾î, NetEventSetPowerÀÎ ÀåÄ¡°¡ ÀüÀ̵ǰí ÀÖ´Â ÀåÄ¡ Àü¿ø »óÅÂ)
ÇÁ·ÎÅäÄÝÀº NetPnPEvent Æ÷ÀÎÅ͸¦ ÀúÀåÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ Æ÷ÀÎÅÍ´Â ÇÁ·ÎÅäÄÝÀÌ ¸¸¾à ProtocolPnPEvent ÇÔ¼ö°¡ NDIS_STATUS_PENDING¸¦ ¸®ÅÏÇÑ´Ù¸é ¿¬¼ÓÇØ¼­ È£ÃâÇØ¾ß ÇÏ´Â NdisCompletePnPEvent ÇÔ¼ö¿¡ ´ëÇÑ ÇÊ¿äÇÑ ÀÔ·Â ¸Å°³º¯¼öÀÌ´Ù.

ÇÁ·ÎÅäÄÝÀº Ç×»ó NetEventQueuryPower°¡ À̾îÁø´Ù(succeed). Ȱµ¿ÀÎ ¿¬°áÀ» ¼³¸³ÇÑ ÈÄ, ÇÁ·ÎÅäÄÝÀº °è¼ÓÀûÀ¸·Î ¹Ù»Û »óŸ¦ µî·ÏÇϱâ À§ÇØ PoRegisterSystemState ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. »óÅ µî·ÏÀÌ È¿°úÀûÀÎ µ¿¾È, Power Management´Â ½Ã½ºÅÛÀÌ sleep·Î ³õµµ·Ï ½ÃµµÇÏÁö ¾Ê´Â´Ù. ¿¬°áÀÌ ºñȰ¼ºÈ­µÈ ÈÄ, ÇÁ·ÎÅäÄÝÀº PoUnregisterSystemState ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á »óÅ µî·ÏÀ» Ãë¼ÒÇÑ´Ù. ÇÁ·ÎÅäÄÝÀº °áÄÚ NetEventQueryRemoveDevice¸¦ ½ÇÆÐÇÔÀ¸·Î½á sleeping »óÅ·Π½Ã½ºÅÛÀÌ ÀüÀ̵Ǵ °ÍÀ» ¸·À» ½Ãµµ¸¦ ÇÏÁö ¾Ê´Â´Ù. NetEventQueryPowerÀº Ç×»ó NetEventSetPower°¡ µû¸¥´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó. È¿À²ÀûÀ¸·Î ÀåÄ¡ÀÇ Çö Àü¿ø »óÅ·ΠNetEventSetPowerÀº NetEventQeuryPower¸¦ Ãë¼ÒÇÑ´Ù.

¸¸¾à ÇÁ·ÎÅäÄÝÀÌ ÀåÄ¡¸¦ ÇØÁ¦ÇÒ ¼ö ¾ø´Ù¸é(¿¹¸¦ µé¾î, ÀåÄ¡°¡ »ç¿ëÁßÀ̶ó¸é), NDIS_STATUS_FAILURE¸¦ ¸®ÅÏÇÔÀ¸·Î½á NetEventQueryRemoveDevice¸¦ ½ÇÆÐÇØ¾ß ÇÑ´Ù.

ÇÁ·ÎÅäÄÝÀº Ç×»ó NDIS_STATUS_SUCCESS¸¦ ¸®ÅÏÇÔÀ¸·Î½á NetEventCancelRemoveDevice, NetEventReconfigure, NetEventBindList, NetEventBindsComplete, NetEventSetPower°¡ À̾îÁø´Ù.(succeed)

PnP ÀÎ½Ä ÇÁ·ÎÅäÄÝÀº Ç×»ó NetEventSetPower°¡ À̾îÁ®¾ß ÇÑ´Ù. Àü¿ø °ü¸®¸¦ Áö¿øÇÏÁö ¾Ê´Â ¸®°Å½Ã ÇÁ·ÎÅäÄÝÀº NDIS°¡ NICÀ¸·ÎºÎÅÍ ÇÁ·ÎÅäÄÝÀ» ¾ð¹ÙÀεåÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å°±â À§ÇØ NetEventSetPower¿¡ ÀÀ´äÇÏ¿© NDIS_STATUS_NOT_SUPPORTED¸¦ ¸®ÅÏÇÑ´Ù.

ÇÁ·ÎÅäÄÝÀº Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ À§ÇØ NDIS_STATUS_RESOURCES¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.