ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¸¦ À§ÇÑ NET_PNP_EVENT

typedef struct _NET_PNP_EVENT {

    NET_PNP_EVENT_CODE NetEvent;

    PVOID Buffer;

    ULONG BufferLength;

    UCHAR NdisReserved[16];

    UCHAR TransportReserved[16];

    UCHAR TdiReserved[16];

    UCHAR TdiClientReserved[16];

} NET_PNP_EVENT, *PNET_PNP_EVENT;

NET_PNP_EVENT ±¸Á¶Ã¼´Â Power Management À̺¥Æ® ȤÀº Plug and Play À̺¥Æ®¸¦ ¼³¸íÇÑ´Ù.

¸â¹ö

NetEvent
´ÙÀ½°ú °°Àº Çϳª·Î¼­ Plug and Play ȤÀº Power Management À̺¥Æ®¸¦ ¼³¸íÇÏ´Â À̺¥Æ® ÄÚµå.

NetEventSetPower
½Ã½ºÅÛ Àü¿ø »óÅ·ΠÀüÀÌÇÏ´Â °ÍÀ» ÁöÁ¤ÇÏ´Â Àü¿ø °ü¸®ÀÚ°¡ ¼³Á¤ Àü¿ø ¿ä±¸¸¦ º¸³»´Â °ÍÀ» °¡¸®Å²´Ù. NDIS´Â ÀÌ·¯ÇÑ »óŸ¦ ÀåÄ¡¸¦ À§ÇØ Àû´çÇÑ ÀåÄ¡ Àü¿ø »óÅ·ΠÀüȯÇÑ´Ù.

NetEventQueryQueryPower
½Ã½ºÅÛ Àü¿ø »óÅ·ÎÀÇ ÀüÀ̸¦ ¿ä±¸ÇÏ´Â Àü¿ø °ü¸®ÀÚ°¡ Äõ¸® Àü¿ø ¿ä±¸¸¦ º¸³»´Â °ÍÀ» °¡¸®Å²´Ù. NDIS´Â ÀÌ·¯ÇÑ »óŸ¦ ÀåÄ¡¸¦ À§ÇØ Àû´çÇÑ ÀåÄ¡ Àü¿ø »óÅ·ΠÀüȯÇÑ´Ù.

NetEventQueryRemoveDevice
Plug and Play °ü¸®ÀÚ´Â Query Remove Device ¿ä±¸¸¦ º¸³»´Â °ÍÀ» °¡¸®Å²´Ù. Plug and Play °ü¸®ÀÚ´Â ÀÌ·¯ÇÑ ¿ä±¸¸¦ ÀåÄ¡°¡ ¿¬»êµéÀ» ¹æÇØÇÏ´Â °Í ¾øÀÌ Á¦°ÅµÉ ¼ö ÀÖ´ÂÁö¸¦ Äõ¸®Çϱâ À§ÇØ º¸³½´Ù.

NetEventCancelRemoveDevice
Plug and Play °ü¸®ÀÚ´Â Cancel Remove Device ¿ä±¸¸¦ º¸³»´Â °ÍÀ» °¡¸®Å²´Ù. PnP °ü¸®ÀÚ´Â ÀåÄ¡ÀÇ Á¦°Å¸¦ Ãë¼ÒÇϱâ À§ÇØ Query Remove Device ¿ä±¸¸¦ º¸³½ ÈÄ ÀÌ·¯ÇÑ ¿ä±¸¸¦ º¸³½´Ù.

NetEventReconfigure
±¸¼ºÀÌ ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®¸¦ À§ÇØ º¯Çß´Ù´Â °ÍÀ» °¡¸®Å²´Ù. ¿¹¸¦ µé¾î Network °ú Dial-up ¿¬°áµé Æú´õ¸¦ ÅëÇØ »ç¿ëÀÚ°¡ TCP/IP¸¦ À§ÇÑ IP ÁÖ¼Ò¸¦ ¹Ù²åÀ» ¶§, NDIS´Â ÀÌ À̺¥Æ®¸¦ NetEventRecofigure ÄÚµå·Î TCP/IP ÇÁ·ÎÅäÄÝ¿¡ ÀεðÄÉÀÌÆ®ÇÑ´Ù.

NetEventBindList
¹ÙÀÎµå ¸®½ºÆ®°¡ ¹Ù²î¾ú´Ù´Â °ÍÀ» TDI Ŭ¶óÀÌ¾ðÆ®¿¡°Ô °¡¸®Å²´Ù. ¹ÙÀÎµå ¸®½ºÆ®´Â TDI Ŭ¶óÀÌ¾ðÆ®°¡ ±× ÀÚü¿Í ¹ÙÀεåÇÒ ¼ö ÀÖ´Â Àü¼Û °èÃþ ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇØ ÀͽºÆ÷Æ®µÈ Çϳª ȤÀº ±× ÀÌ»óÀÇ ÀåÄ¡ÀÇ ¸®½ºÆ®ÀÌ´Ù.

NetEventBindsComplete
ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö°¡ ¹ÙÀεåÇÒ ¼ö ÀÖ´Â ¸ðµç NICµé°ú ¹ÙÀε带 Çß´Ù´Â °ÍÀ» °¡¸®Å²´Ù. NDIS´Â ¸¸¾à Plug and Play NICÀÌ ½Ã½ºÅÛ¿¡ Ç÷¯±×µÇ¾îÀÖÁö ¾ÊÀ¸¸é ÇÁ·ÎÅäÄÝ¿¡°Ô ¾î¶² NICµéÀ» ÀεðÄÉÀÌÆ®ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

NetEventPnPCapabilites
ÁöÁ¤µÈ ¹ÙÀεù¿¡¼­ NICÀÇ wake-up ´É·ÂµéÀÌ ¹Ù²î¾ú´ÂÁö¸¦ °¡¸®Å²´Ù. (¹ÙÀεùÀº ProtocolPnPEvent ÇÔ¼ö·Î Àü´ÞµÈ ProtocolBindingContext¿¡ ÀÇÇØ ÁöÁ¤µÈ´Ù.)

Buffer
NetEvent¿¡ ÀÇÇØ ÀεðÄÉÀÌÆ®µÈ Plug and Play ȤÀº Power Management À̺¥Æ® ƯÁ¤ÀÎ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛÀÇ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù.

NetEventSetPower
¹öÆÛ´Â ÀåÄ¡°¡ ÀüÀÌÇϰí ÀÖ´Â ÀåÄ¡ Àü¿ø »óŸ¦ Æ÷ÇÔÇÑ´Ù.

NDIS°¡ ÇÁ·ÎÅäÄÝÀÇ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§, ÀåÄ¡ »óÅ´ ´ÙÀ½°ú °°Àº °ªµé Áß Çϳª°¡ µÉ ¼ö ÀÖ´Â NDIS_DEVICE_POWER_STATEÀÌ´Ù.

NdisDeviceStateUnspecified
³×Æ®¿öÅ© ÀåÄ¡´Â Àü¿ø °ü¸®¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.

NdisDeviceStateD0
ÀåÄ¡°¡ ¿ÏÀüÇÑ ±â´É°ú ÆÛÆ÷¸Õ½º¸¦ Àü´ÞÇÏ´Â ¿ÏÀüÇÑ Àü¿ø »óÅÂ.

NdisDeviceStateD1
È£½ºÆ®·ÎºÎÅÍ Àü¼Û ¿ä±¸µéÀº ÀåÄ¡¿¡ ÀÇÇØ honorµÇÁö ¾Ê°í, ÀåÄ¡¿¡ ÀÇÇØ ¼ö½ÅµÈ µ¥ÀÌÅʹ ȣ½ºÆ® ¸Þ¸ð¸®·Î Àü¼ÛµÇÁö ¾Ê°í ¾î¶°ÇÑ ÀÎÅÍ·´Æ®µéµµ ¹ß»ýÇÒ ¼ö ¾ø´Ù. ¸î¸î ÀåÄ¡ ÄÁÅØ½ºÆ®´Â ÀÒ¾î¹ö¸± °ÍÀÌ´Ù. NIC°ú ¹Ì´ÏÆ÷Æ®ÀÇ ´É·Âµé¿¡ ÀÇÁ¸ÇÏ¿©, ÀåÄ¡´Â wake-up ½Ã±×³ÎÀ» ¹ß»ýÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

NdisDeviceStateD2
Ç×»ó ¸¹Àº Àü¿ø ÀûÀº ÄÁÅØ½ºÆ®°¡ ÀúÀåµÇ°í ¸¹Àº ½Ã°£ÀÌ ¿ÏÀüÇÑ Àü¿ø »óÅ·ÎÀÇ ÀüÀÌ·Î ÇÊ¿äµÇ´Â °ÍÀ» Á¦¿ÜÇÑ NdisDeviceStateD1°ú À¯»çÇÑ ³·Àº Àü¿ø »óÅÂ.

NdisDeviceStateD3
Àü¿øÀÌ ÀåÄ¡·ÎºÎÅÍ ¿ÏÀüÈ÷ Á¦°ÅµÈ off »óÅÂ.

ÇÁ·ÎÅäÄÝÀÌ °ü½ÉÀÌ ÀÖ´Â ÇÑ, NdisDeviceStateD0´Â NICÀÌ ¿ÏÀüÈ÷ Àü¿øÀÌ µé¾î¿Ô°í ÆÐŶµéÀ» º¸³»°í ¹ÞÀ» ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¾î¶² ´Ù¸¥ ÀåÄ¡ »óÅ´ ÀåÄ¡°¡ ¿ÏÀüÀÌ Àü¿øÀÌ ¾Èµé¾î¿Ô°í ÆÐŶµéÀ» º¸³»°í ¹ÞÀ» ¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.

NdisEventQueryPower
¹öÆÛ´Â ÀåÄ¡¿¡ ÀÇÇØ ¿ä±¸µÈ ÀåÄ¡ Àü¿ø »óŸ¦ Æ÷ÇÔÇÑ´Ù. ÀåÄ¡ »óÅ´ NDIS_DEVICE_POWER_STATEÀÌ´Ù.(À§¿¡ ¼³¸íµÈ)

NdisEventQueryRemoveDevice
¹öÆÛ ³»¿ëµéÀÌ NULLÀÌ´Ù.

NdisEventCancelRemoveDevice
¹öÆÛ ³»¿ëµéÀÌ NULLÀÌ´Ù.

NdisEventReconfigure
¹öÆÛ ³»¿ëµéÀÌ NULLÀÌ´Ù.

NdisEventBindList
¹öÆÛ´Â NET_PNP_EVENT ±¸Á¶Ã¼°¡ Àü´ÞµÇ¾îÁö´Â ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®¸¦ À§ÇÑ °³Á¤µÈ ¹ÙÀεù ¸®½ºÆ®¸¦ Æ÷ÇÔÇÑ´Ù. ¹ÙÀεù ¸®½ºÆ®´Â REG_MULTI_SZ Æ÷¸ËÀ» °¡Áø´Ù. ÇÁ·ÎÅäÄݰú ¹ÙÀεåµÈ TDI Ŭ¶óÀÌ¾ðÆ®µéÀº ±×µéÀÇ ¹ÙÀεùµéÀ» Àç¼ø¼­È­Çϱâ À§ÇØ ÀÌ·¯ÇÑ ¹ÙÀεù ¸®½ºÆ®¸¦ »ç¿ëÇÑ´Ù.

NetEventBindsComplete
¹öÆÛ ³»¿ëµéÀÌ NULLÀÌ´Ù.

NetEventPnPCapabilities
¹öÆÛ´Â NdisDeviceWakeUpEnable Ç÷¡±×¸¦ Æ÷ÇÔÇÏ´Â ULONGÀ» Æ÷ÇÔÇÑ´Ù. 1·Î ¼³Á¤µÉ ¶§, ÀÌ·¯ÇÑ Ç÷¡±×´Â ƯÁ¤ ¹ÙÀεù¿¡¼­ NICÀÇ wake-up ´É·ÂµéÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀ» °¡¸®Å²´Ù. (¹ÙÀεùÀº ProtocolPnPEvent ÇÔ¼ö¿¡ Àü´ÞµÇ¾îÁö´Â ProtocolBindingContext¿¡ ÀÇÇØ ÁöÁ¤µÇ¾îÁø´Ù.) 0À¸·Î ¼³Á¤µÉ ¶§, ÀÌ·¯ÇÑ Ç÷¡±×´Â NICÀÇ wake-up ´É·ÂµéÀÌ ºÒ°¡´ÉÇÏ´Ù´Â °ÍÀ» °¡¸®Å²´Ù.

BufferLength
Buffer¿¡¼­ À̺¥Æ® ƯÁ¤ Á¤º¸ÀÇ ¹ÙÀÌÆ® ¼ö

NdisReserved
NDIS¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁö´Â ¿¹¾àµÈ °ø°£

TransportReserved
Àü¼Û °èÃþ µå¶óÀ̹ö¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁö´Â ¿¹¾àµÈ °ø°£

TdiReserved
TDI¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁö´Â ¿¹¾àµÈ °ø°£

TdiClientReserved
TDI Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁö´Â ¿¹¾àµÈ °ø°£

ÁÖ¼®

¿î¿µ üÁ¦°¡ NICÀ» Ç¥½ÃÇϴ ŸÄÏ ÀåÄ¡ °´Ã¼·Î Plug and Play À̺¥Æ® ȤÀº Power Management À̺¥Æ®¸¦ ¹ß»ýÇÒ ¶§, NDIS´Â À̺¥Æ®¸¦ °¡·Îä°í, ±×°ÍÀ» NET_PNP_EVENT ±¸Á¶Ã¼·Î ÀüȯÇϰí(translates) ÀÌ·¯ÇÑ ±¸Á¶Ã¼¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ÇÁ·ÎÅäÄÝÀÇ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á NIC¿¡ ¹ÙÀεåµÈ °¢ ÇÁ·ÎÅäÄÝ¿¡°Ô Àü´ÞÇÑ´Ù. ÇÁ·ÎÅäÄÝÀº µå¶óÀ̹ö°¡ Æ÷ÀÎÅͰ¡ ºñµ¿±âÀûÀ¸·Î ProtocolPnPEvent ÇÔ¼ö¿¡ ´ëÇÑ È£ÃâÀ» ¿Ï¼ºÇϱâ À§ÇØ µå¶óÀ̹ö°¡ È£ÃâÇÏ´Â NdisCompletePnPEvent ÇÔ¼ö¿¡ ÀÔ·Â ¸Å°³º¯¼öÀ̱⠶§¹®¿¡, ÀÌ·¯ÇÑ Æ÷ÀÎÅ͸¦ ÀúÀåÇÑ´Ù.

NDIS´Â ¶ÇÇÑ NetEventBindsComplete À̺¥Æ®¸¦ ±×·¯ÇÑ µå¶óÀ̹ö¿¡°Ô ¾Ë¸®±â À§ÇØ Æ¯Á¤ ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ ProtocolPnPEvent ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ À̺¥Æ®´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡°Ô ½Ã½ºÅÛ¿¡¼­ ¹ÙÀεåÇÒ ¼ö ÀÖ´Â ¸ðµç NICµé¿¡ ¹ÙÀεåµÇ¾îÁö´Â ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡°Ô °¡¸®Å²´Ù.

±¸Á¶Ã¼¿¡¼­ NetEvent ÄÚµå´Â Plug and Play ȤÀº Power Management À̺¥Æ®ÀÇ Å¸ÀÔÀ» ÁöÁ¤ÇÑ´Ù. Buffer´Â À̺¥Æ® ŸÀÔ Æ¯Á¤ÀÎ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.

Àü¼Û °èÃþµéÀº ÀϹÝÀûÀ¸·Î Plug and Play À̺¥Æ® ȤÀº Power Management À̺¥Æ®¿¡ ´ëÇÑ »óŸ¦ À¯ÁöÇϱâ À§ÇØ TransportReserved ¿µ¿ªÀ» »ç¿ëÇÑ´Ù.