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 ÇÔ¼ö¸¦ °¡Áö°í ¹ÙÀεùµÈ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î º¸³»Áú ¼ö ÀÖ´Ù:

  1. Line up
  2. Line down
  3. Fragment
  4. 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 ±¸Á¶Ã¼·Î Æ÷¸ËµÈ´Ù.