NdisMIndicateStatus
VOID
NdisMIndicateStatus(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize
);
|
NdisMIndicateStatus ÇÔ¼ö´Â »óÀ§ ·¹º§ NDIS µå¶óÀ̹ö·Î NICÀÇ »óÅ º¯È¸¦ ¾Ë¸°´Ù.
¸Å°³º¯¼ö
- MiniportAdapterHandle
- MiniportInitialize ÇÔ¼ö·Î ÀԷµǴ ¿ø·¡ÀÇ ÇÚµéÀ» ¼¼úÇÑ´Ù.
- GeneralStatus
- NIC¿¡ ´ëÇÑ ÀϹÝÀûÀÎ »óÅ º¯È¸¦ ¾Ë¸®´Â NDIS_STATUS_XXX °ªÀ» ¼¼úÇÑ´Ù.
- StatusBuffer
- ¹Ìµð¾ö ƯÁ¤À̰í GeneralStatus¿¡ °ª¿¡ ÀÇÁ¸ÇÏ´Â µ¥ÀÌŸ¸¦ Æ÷ÇÔÇϴ ȣÃâÀÚ ÇÒ´ç ¹öÆÛ¸¦ °¡¸®Å²´Ù. ±×°ÍÀº »óÅ º¯ÈÀÇ ¼¼ºÎ»çÇ×À» ¾Ë¸°´Ù.
- StatusBufferSize
- StatusBuffer¿¡ ¹öÆÛÀÇ ¹ÙÀÌÆ® »çÀÌÁ ¼¼úÇÑ´Ù.
ÁÖ¼®
¹Ì´ÏÆ÷Æ®°¡ NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ NDIS´Â °¢°¢ÀÇ ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝÀÇ ProtocolStatus ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. À̰ÍÀº ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö³ª °¡´ÉÇÏ´Ù¸é ±¸¼º ¸Å´ÏÀú·Î ÇÏ¿©±Ý ÇϺΠNICÀÇ »óÅ º¯È¸¦ ÀúÀåÇϰÔÇÏ°í ±³Á¤ÇÏ´Â ÀÛµ¿À» Çϵµ·ÏÇÑ´Ù. ¿¹¸¦µé¾î ÇÁ·ÎÅäÄÝÀº ÀεðÄÉÀÌÆ®µÈ NDIS_STATUS_XXX¿¡ ÀÇÁ¸ÇÏ¿© NdisReset ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
NICÀÇ »óÅ º¯È¸¦ º¸°íÇϱâ À§Çؼ ¹Ì´ÏÆ÷Æ®°¡ NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ NDIS´Â NICÀ» ÀÛ¾÷ÁßÀÎ »óÅ·ΠȺ¹½Ã۱â À§Çؼ MiniportReset ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ »óȲ¿¡¼ NDIS´Â ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ¼ ÀεðÄÉÀÌÆ®µÈ GeneralStatus º¸´Ù´Â ¿ÀÈ÷·Á NDIS_STATUS_RESET_START¸¦ °¡Áö°í ÈÄ¿¡ NDIS_STATUS_RESET_END¸¦ °¡Áö°í ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝÀ» È£ÃâÇÒ ¼ö ÀÖ´Ù.
NdisMIndicateStatus ÇÔ¼ö´Â µÎ °¡ÁöÀÇ Á¤º¸¸¦ Á¦°øÇÑ´Ù:
- ÀϹÝÀûÀÎ »óÅ º¯È¸¦ ¾Ë¸®´Â Àüü »óÅ °ª.
- ³×Æ®¿÷ ƯÁ¤ÀÏ ¼ö ÀÖ´Â ÀϹÝÀûÀÎ º¯È¸¦ À§ÇÑ Æ¯Á¤ ÀÌÀ¯. ¿¹¸¦µé¾î ¿¬°á»ðÀÔ ½ÇÆÐ´Â ÀÌ´õ³Ý(802.3) NIC°ú ±× µå¶óÀ̹ö¿Í´Â ¹«°üÇÏÁö¸¸ ÅäÅ«¸µ(802.5) ³×Æ®¿÷¿¡ ƯÁ¤ÀÌ´Ù.
¶ÇÇÑ ¹Ì´ÏÆ÷Æ®´Â ¿ì¿¬ÇÏ°Ô Á¦°ÅµÇ°Å³ª ´Ù½Ã ÀÔ·ÂµÈ ÄÉÀ̺í ȤÀº ÀϽÃÀûÀ¸·Î ½ÇÆÐÇÑ ¿¬°á°°Àº ¹®Á¦¸¦ ¾Ë¸®±â À§Çؼ NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î ´ÙÀ½ÀÇ »óȲÀÌ ¹ß»ýÇß´Ù°í °¡Á¤ÇÏÀÚ:
- ¹Ì´ÏÆ÷Æ®°¡ NDIS_STATUS_RING_STATUS¸¦ °¡Áö°í NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
- StatusBuffer´Â ´ÙÀ½ÀÇ »óÅ °ªÁß Çϳª¸¦ °®´Â´Ù:
NDIS_RING_LOBE_WIRE_FAULT
NDIS_RING_HARD_ERROR
NDIS_RING_SIGNAL_LOSS
±×·¯ÇÑ »óÅ º¯È°¡ ÀεðÄÉÀ̼ÇÀ» °¡Áö°í ½Ã½º³ÎµÈ ÈÄ¿¡ °ü°èµÈ threshold³ª Åë°è Ä«¿îÆ®´Â º¯ÈµÇÁö ¾ÊÀº »óÅ·Π³²´Â´Ù.
¹Ì´ÏÆ÷Æ®´Â MiniportInitialize, MiniportISR, MiniportHalt, ȤÀº MiniportShutdown ÇÔ¼öÀÇ ÄÁÅØ½ºÆ®¿¡¼ NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù.
NdisMIndicateStatus ÇÔ¼öÀÇ Á÷·ÄÈµÈ È£ÃâÀÚ´Â IRQL DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù. NdisMIndicateStatus ÇÔ¼öÀÇ ºñÁ÷·ÄÈµÈ È£ÃâÀÚ´Â IRQL DISPATCH_LEVEL ÀÌÇÏ¿¡¼ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
³×Æ®¿÷ ¿¬°áÀÇ ¼Õ½Ç°ú ÀúÀåÀ» ¾Ë¸®±â
³×Æ®¿÷ ¿¬°áÀÌ ¼Õ½ÇµÈ´Ù´Â °ÍÀ» ¹Ì´ÏÆ÷Æ®°¡ °¨ÁöÇßÀ» ¶§ ¹Ì´ÏÆ÷Æ®´Â NDIS_STATUS_MEDIA_DISCONNECT¸¦ °¡Áö°í NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. ¿¬°áÀÌ È¸º¹µÉ ¶§ ¹Ì´ÏÆ÷Æ®´Â NDIS_STATUS_MEDIA_CONNECT¸¦ °¡Áö°í NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù.
NdisMIndicateStatus ÇÔ¼ö·ÎÀÇ WAN ¹Ì´ÏÆ÷Æ® È£Ãâ
´ëºÎºÐÀÇ WAN NIC µå¶óÀ̹ö´Â ¸î¸î Ưº°ÇÑ »óÅ ÄÚµå¿Í ¹öÆÛ ³»¿ëÀ» °¡Áö°í »óŸ¦ ¾Ë¸°´Ù. ÀÌ »óÅ ÀεðÄÉÀ̼ÇÀº WANNIC µå¶óÀ̹ö¿¡ ÀÇÇØ¼ ¹ß»ýÇÏ°í ±×·¯ÇÑ ¹Ì´ÏÆ÷Æ®¿Í ¹ÙÀεùµÈ NDIS ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö´Â ÀÌ ÀεðÄÉÀ̼ÇÀ» ¹«½ÃÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ ÀεðÄÉÀ̼ÇÀ» Á¤È®ÇÏ°Ô Ã³¸®ÇÏ´Â °ÍÀº ´ë°³ ÇÁ·ÎÅäÄݰú WAN NIC µå¶óÀ̹ö¿¡ ´ëÇÑ Çâ»óµÈ ÆÛÆ÷¸Õ½ºÀÇ °á°úÀÌ´Ù.
´ÙÀ½ ³×°¡ÁöÀÇ WAN ƯÁ¤ ÀεðÄÉÀ̼ÇÀº NdisMIndicateStatus ÇÔ¼ö¸¦ °¡Áö°í ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î º¸³»Áú ¼ö ÀÖ´Ù:
- Line up
- Line down
- Fragment
- TAPI line event
NDIS_STATUS_WAN_LINE_UP
¾ðÁ¦µçÁö »õ·Î¿î ¿¬°áÀÌ È°¼ºÈµÇ¸é WAN ¹Ì´ÏÆ÷Æ®´Â ¶óÀξ÷ ÀεðÄɴϼÇÀ» ÇÑ´Ù. À̰ÍÀÌ ¹ß»ýÇÒ ¶§±îÁö NICÀº ÇÁ·¹ÀÓÀ» ¹Þ¾ÆµéÀÌ°í ±×µéÀ» ¼º°ø½ÃŰ°Å³ª ½ÇÆÐ½ÃŲ´Ù. ÇÏÁö¸¸ ±×µéÀÌ ¿ø°ÝÁö¿¡ ÀÇÇØ¼ ½ÇÁ¦ ¸®½ÃºêµÈ´Ù´Â °ÍÀº ¾Æ´Ï´Ù. À̰ÍÀÌ ¹ß»ýÇÒ ¶§±îÁö ÇÁ·ÎÅäÄÝÀº ±×µéÀÇ Å¸À̸Ӹ¦ ÁÙÀ̰í Ä«¿îÆ®¸¦ ´Ù½Ã ½ÃµµÇÑ´Ù. µû¶ó¼ ³ª°¡´Â ¿¬°á½Ãµµ´Â »¡¸® ½ÇÆÐÇÑ´Ù.
WAN ¹Ì´ÏÆ÷Æ®´Â OID_TAPI_GET_ID ¸®Äù½ºÆ®·ÎºÎÅÍ ¸®ÅÏÇϱâ Àü¿¡ NdisMIndicateStatus ÇÔ¼ö¸¦ °¡Áö°í ÀÌ ÀεðÄÉÀ̼ÇÀ» ÇÑ´Ù.
¶óÀξ÷ ÀεðÄÉÀ̼ÇÀ» À§ÇÑ »óÅ ÄÚµå´Â NDIS_STATUS_WAN_LINE_UPÀÌ´Ù. StatusBuffer¿¡ ¹öÆÛ´Â NDIS_MAC_LINE_UP ±¸Á¶Ã¼·Î Æ÷¸ËµÈ´Ù.
NDIS_STATUS_WAN_LINE_DOWN
WAN ¹Ì´ÏÆ÷Æ®´Â ¿¬°áÀÌ ´Ù¿îµÉ ¶§¸é ¾ðÁ¦µçÁö ¶óÀδٿî ÀεðÄÉÀ̼ÇÀ» ÇÑ´Ù. À̰ÍÀÌ ¹ß»ýÇßÀ» ¶§ ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝÀº ±×µéÀÇ Å¸À̸Ӹ¦ ÁÙÀÌ°í ´ÙÀ½ ¶óÀξ÷ ÀεðÄÉÀÌ¼Ç ¶§±îÁö Ä«¿îÆ®¸¦ ´Ù½Ã ½ÃµµÇÑ´Ù.
¶óÀδٿî ÀεðÄÉÀ̼ÇÀ» À§ÇÑ »óÅ ÄÚµå´Â NDIS_STATUS_WAN_LINE_DOWNÀÌ´Ù. StatusBuffer¿¡ ¹öÆÛ´Â NDIS_MAC_LINE_DOWN ±¸Á¶Ã¼·Î Æ÷¸ËµÈ´Ù.
NDIS_STATUS_WAN_FRAGMENT
WAN ¹Ì´ÏÆ÷Æ®´Â ¿ø°ÝÁö·ÎºÎÅÍ ºÎºÐÀûÀÎ ÆÐŶÀ» ¹ÞÀ» ¶§¸é ¾ðÁ¦µçÁö ´ÜÆí ÀεðÄÉÀ̼ÇÀ» ÇÑ´Ù. À̰ÍÀÌ ¹ß»ýÇßÀ» ¶§ ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝÀº ŸÀӾƿôÀÇ ¹ß»ýÀ» ±â´Ù¸®±â º¸´Ù´Â ÀÌ »óȲÀ» ¾Ë¸®´Â ¿ø°ÝÁö·Î ÇÁ·¹ÀÓÀ» º¸³»¾ßÇÑ´Ù.
´ÜÆí ÀεðÄÉÀ̼ÇÀ» À§ÇÑ »óÅ ÄÚµå´Â NDIS_STATUS_WAN_FRAGMENTÀÌ´Ù. StatusBuffer¿¡ ¹öÆÛ´Â NDIS_MAC_FRAGMENT ±¸Á¶Ã¼·Î Æ÷¸ËµÈ´Ù.
NDISWAN ¸ð´ÏÅÍ´Â °¢°¢ÀÇ ¿¬°á¿¡¼ ´ÜÆí ÀεðÄÉÀ̼ÇÀÇ ¼ö¸¦ ¼ÀÀ¸·Î½á ÆÐŶÀ» µå¶øÇÑ´Ù.
NDIS_TAPI_EVENT
WAN ¹Ì´ÏÆ÷Æ®´Â TAPI »óÅ ÀεðÄÉÀ̼ÇÀ» À§Çؼ NDIS_STATUS_TAPI_INDICATIONÀÇ GeneralStatus °ªÀ» »ç¿ëÇØ¾ßÇÑ´Ù. StatusBuffer¿¡ ¹öÆÛ´Â NDIS_TAPI_EVENT ±¸Á¶Ã¼·Î Æ÷¸ËµÈ´Ù.
|