11.1 ¿¬°áÁöÇâ ¹Ì´ÏÆ÷Æ®¸¦ À§ÇÑ ÀϹÝÀûÀÎ ¿¬»ê Åë°è
´ÙÀ½ÀÇ Â÷Æ®´Â ¿¬°áÁöÇâ ¹Ì´ÏÆ÷Æ®µé°ú ±×µéÀÇ NICµé¿¡ ´ëÇÑ ÀÌ´õ³Ý ¿¬»êÀûÀΠƯ¼ºÀ» ¼ÂÇϰųª ¾ò´Âµ¥ »ç¿ëµÈ OIDµéÀ» ¿ä¾àÇÑ´Ù. ¿¬°áÁöÇâ ¹Ì´ÏÆ÷Æ®°¡ MiniportCoRequest ÇÔ¼ö¿¡¼ ±×·± ¿ä±¸µéÀ» ´Ù·ç´Â °ÍÀ» ÁÖ¸ñÇØ¶ó.
| Length |
Q |
S |
Name |
| Arr(4) |
M |
|
OID_GEN_CO_SUPPORTED_LIST
Áö¿øµÇÁö ¾Ê´Â OIDµéÀÇ ¸ñ·Ï |
| 4 |
M |
OID_GEN_CO_HARDWARE_STATUS
Çϵå¿þ¾î »óÅ |
| Arr(4) |
M |
OID_GEN_CO_MEDIA_SUPPORTED
Áö¿øµÈ´Â(ÀÎÄÚµåµÈ) ¹Ìµð¾î ŸÀÔµé |
| Arr(4) |
M |
OID_GEN_CO_MEDIA_IN_USE
»ç¿ë¿¡ ´ëÇÑ ¹Ìµð¾î ŸÀÔÀÔµé(ÀÎÄÚµåµÈ) |
| 4 |
M |
OID_GEN_CO_LINK_SPEED
100 bpsÀÇ À¯´Öµé¿¡¼ Àü¼Û°ú ¼ö½Å ¸µÅ© ¼Óµµµé |
| 4 |
M |
OID_GEN_CO_VENDOR_ID
º¥´õ NIC code |
| Var. |
M |
OID_GEN_CO_VENDOR_DESCRIPTION
º¥´õ ³×Æ®¿öÅ© Ä«µå ¼³¸í |
| 4 |
M |
OID_GEN_CO_VENDOR_DRIVER_VERSION
µå¶óÀ̹öÀÇ º¥´õ-ÇÒ´çµÈ ¹öÀü ³Ñ¹ö |
| 2 |
M |
OID_GEN_CO_DRIVER_VERSION
µå¶óÀ̹ö¿¡ÀÇÇØ¼ »ç¿ëµÈ NDIS ¹öÀü ³Ñ¹ö |
| 4 |
|
M |
OID_GEN_CO_PROTOCOL_OPTIONS
Ãß°¡ÀûÀÎ ÇÁ·ÎÅäÄÝ Ç÷¡±×µé(ÀÎÄÚµåµÈ) |
| 4 |
M |
|
OID_GEN_CO_MAC_OPTIONS
À̰ÍÀº ¿¹¾àµÇ¾ú´Ù. |
| 4 |
M |
OID_GEN_CO_MEDIA_CONNECT_STATUS
NICÀÌ ³×Æ®¿öÅ©¿¡ ¿¬°áµÇ´ÂÁö ¾ÈµÇ´ÂÁö |
| 4 |
M |
OID_GEN_CO_MINIMUM_LINK_SPEED
¸µÅ©¿¡ÀÇÇØ¼ Áö¿øµÇ´Â ÃÖ¼Ò ¼Óµµ. |
| Arr |
O |
OID_GEN_CO_SUPPORTED_GUIDS
¹Ì´ÏÆ÷Æ®¿¡ÀÇÇØ¼ Áö¿øµÇ´Â Ä¿½ºÅÒGUIDs(Globally Unique Identifiers) |
| 8 |
O |
OID_GEN_CO_GET_TIME_CAPS
NICÀÇ ·ÎÄà ½Ã°£À» º¸°íÇÏ´Â °Í¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ´É·Âµé |
| 8 |
O |
OID_GEN_CO_GET_NETCARD_TIME
NICÀÇ ·ÎÄà ½Ã°£ |
´ÙÀ½Àº ¾Õ¿¡ Â÷Æ®¿¡¼ ÀüüÀûÀÎ ¸ñ·ÏµÈ OID_XXXÀÇ °¢°¢À» ¼³¸íÇÑ´Ù.
OID_GEN_CO_SUPPORTED_LIST
¹ØÀÇ µå¶óÀ̹ö³ª ±×°ÍÀÇ NICÀÌ Áö¿øÇÏ´Â °´Ã¼µéÀÇ ¹è¿À» »ó¼úÇÑ´Ù. °´Ã¼µéÀº ÀϹÝÀûÀ¸·Î ¹Ìµð¾î-½ºÆå°ú ¼öÇà-½ºÆå °´Ã¼µéÀ» Æ÷ÇÔÇÑ´Ù.
¹ØÀÇ µå¶óÀ̹ö´Â Áõ°¡ÇÏ´Â ¼ýÀÚ ¼øÀ¸·Î ¸®ÅÏÇÏ´Â OID ¸ñ·ÏÀ» ¼ø¼ÈÇØ¾ßÇÑ´Ù. NDIS´Â ÀÌ ÁúÀǸ¦ ¸¸µç ÇÁ·ÎÅäÄÝ¿¡¼ ¸®ÅÏµÈ ¸ñ·ÏÀÇ ¼ºê¼ÂÀ» º¸³½´Ù. Áï, ÇÁ·ÎÅäÄݵéÀÌ ±×´ÙÀ½¿¡ Åë°è ÁúÀǸ¦ ¸¸µéÁö ¾Ê±â¶§¹®¿¡ NDIS´Â ¸ñ·ÏÀÇ ¹ÛÀÇ Áö¿øµÇ´Â Åë°è OIDµéÀ» ÇÊÅÍÇÑ´Ù.
OID_GEN_CO_HARDWARE_STATUS
´ÙÀ½ÀÇ NDIS_HARDWARE_STATUS °ªµéÀÇ Çϳª·Î ¹ØÀÇ NICÀÇ ÇöÀç Çϵå¿þ¾î »óŸ¦ »ó¼úÇÑ´Ù.
- NdisHardwareStatusReady
¼±¿¡¼ µ¥ÀÌÅ͸¦ ¼ö½ÅÇÏ°í º¸³¾ ¼ö ÀÖ´Â ´É·Â
- NdisHardwareStatusInitializing
- ÃʱâÈÇÏ´Â °Í
- NdisHardwareStatusReset
- ¸®¼ÂÆÃÇÏ´Â °Í
- NdisHardwareStatusClosing
- ´Ý´Â°Í
- NdisHardwareStatusNotReady
- Áغñ°¡ ¾ÈµÇ¾ú´Ù.
OID_GEN_CO_MEDIA_SUPPORTED
´ÙÀ½ÀÇ ½Ã½ºÅÛ-Á¤ÀÇµÈ °ªµéÀÇ Àû´çÇÑ ¼ºê¼ÂÀ¸·Î NICÀÌ Áö¿øÇÏ´Â ¹Ìµð¾î ŸÀÔµéÀÇ ¿ÏÀüÇÑ ¸ñ·Ï
- NdisMedium802_3
- Ethernet (802.3)
- NdisMedium802_5
- Token Ring (802.5)
- NdisMediumFddi
- FDDI
- NdisMediumWan
- WAN
- NdisMediumLocalTalk
- LocalTalk
- NdisMediumDix
- DEC/Intel/Xerox (DIX) Ethernet
- NdisMediumArcnetRaw
- ARCNET (raw)
- NdisMediumArcnet878_2
- ARCNET (878.2)
- NdisMediumWirelessWan
- Various types of NdisWirelessXxx media
- NdisMediumAtm
- ATM
- NdisMediumIrda
- À©µµ¿ì 2000 Ç÷§Æþ¿¡ ¹Ì·¡ »ç¿ëÀ»À§ÇØ ¿¹¾àµÇ¾ú´Ù.
ATM³×Æ®¿öÅ©µéÀ» À§ÇÑ LAN ¿¡¹Ä·¹ÀÌ¼Ç µå¶óÀ̹ö´Â NdisMediumAtmº¸´Ù ¿ÀÈ÷·Á NdisMedium802_3 ³ª NdisMedium802_5·Î¼ ¹Ìµð¾öÀ» ¼±¾ðÇÑ´Ù. ±×·± µå¶óÀ̹ö´Â »óÀ§ ·¹º§ NDIS µå¶óÀ̹öµé¿¡°Ô ÀÌ´õ³ÝÀ̳ª ÅäÅ«¸µÀ» ¿¡¹Ä·¹ÀÌÆ®Çϳ®. ATM Æ÷·³µéÀÇ LANE·Î ÄÄÆÄÀÏÇϰí UNI ½Ã±×³Î Áö¿øÀ» Á¦°øÇÑ´Ù.
¹«¼±-WAN NIC µå¶óÀ̹ö´Â NdisMediumWirelessWan·Î ±×°ÍÀÇ ¹Ìµð¾ö ŸÀÔÀ» º¸°íÇØ¾ßÇÑ´Ù. ±×·¯³ª, ±×·± ¹Ì´ÏÆ÷Æ®´Â ¶ÇÇÑ ÀÌ Æ÷¸ËÀ» ¼±ÅÃÇÏ´Â ¹Ù¿îµå ÇÁ·ÎÅäÄÝ¿¡¼ NdisWWDIXEthernetFrames Çì´õ Æ÷¸ËÀ» Áö¿øÇؾßÇÑ´Ù. ±×¸®°í ¹Ì´ÏÆ÷Åä´Â ¹°·Ð NICÀÇ º»·¡ Çì´õ Æ÷¸ËÀ» Á¦°øÇÒ ¼ö ÀÖ´Ù. Á¸ÀçÇÏ´Â LAN±â¹ÝÀÇ ÇÁ·ÎÅäÄݵéÀ» Áö¿øÇϱâÀ§Çؼ, µå¶óÀ̹ö °³¹ßÀÚ´Â Á¸ÀçÇÏ´Â ÇÁ·ÎÅäÄݵ鿡ÀÇÇØ¼ ÀÌÇØµÇ´Â ÆûÀ¸·Î ¹«¼± NIC º»·¡ Çì´õ Æ÷¸Ëµé°ú ¹Ìµð¾ö-½ºÆå Á¤º¸¸¦ º¯È¯ÇϱâÀ§Çؼ NDIS ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù.
¸¸¾à ¹ØÀÇ ¹Ì´ÏÆ÷Æ®°¡ ÀÌ ÁúÀÇ¿¡ ´ëÇØ¼ NULLÀ» ¸®ÅÏÇϰųª ½ÇÇèÀûÀÎ ¹Ìµð¾î ŸÀÔÀÌ »ç¿ëµÈ´Ù¸é, µå¶óÀ̹ö´Â NdisMCoIndicateReceivePacket·Î ¼ö½ÅµéÀ» Áö½ÃÇØ¾ßÇÑ´Ù.
OID_GEN_CO_MEDIA_IN_USE
¾à°£À̳ª ¾Æ´Ï°Å³ª(NULL ÇÊÅͶó ºÒ¸°´Ù.) ´ÙÀ½ÀÇ ¸ðµç°Í°ú °°ÀÌ Á¤ÀÇµÈ NICÀÌ ÇöÀç Áö¿øÇÏ´Â ¹Ìµð¾î ŸÀÔµéÀÇ ¿ÏÀüÇÑ ¸ñ·Ï.
- NdisMedium802_3
- Ethernet (802.3)
- NdisMedium802_5
- Token Ring (802.5)
- NdisMediumFddi
- FDDI
- NdisMediumWan
- WAN
- NdisMediumLocalTalk
- LocalTalk
- NdisMediumDix
- DIX
- NdisMediumArcnetRaw
- ARCNET (raw)
- NdisMediumArcnet878_2
- ARCNET (878.2)
- NdisMediumWirelessWan
- Various types of NdisWirelessXxx media.
- NdisMediumAtm
- ATM
¹ØÀÇ ¹Ì´ÏÆ÷Æ®´Â ÀÌ ÁúÀÇ¿¡ ´ëÇØ¼ NULLÀ» ¸®ÅÏÇϰųª ½ÇÇèÀûÀÎ ¹Ìµð¾î ŸÀÔÀÌ »ç¿ëµÈ´Ù¸é, µå¶óÀ̹ö´Â NdisMCoIndicateReceivePacket·Î ¼ö½ÅµéÀ» Áö½ÃÇØ¾ßÇÑ´Ù.
OID_GEN_CO_LINK_SPEED
ÀÌ OID´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ NDIS_CO_LINK_SPEED ±¸Á¶Ã¼·Î¼ Æ÷¸ËµÈ ÇöÀç Àü¼Û°ú ¼ö½Å ¼ÓµµµéÀ» ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿ä±¸ÇÑ´Ù.
typedef struct _NDIS_CO_LINK_SPEED {
ULONG Outbound;
ULONG Inbound;
} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- Outbound
- NICÀÇ ÇöÀç Àü¼Û ¼Óµµ. ÃøÁ¤ÀÇ À¯´ÖÀº 100bpsÀÌ´Ù. ±×·¡¼ 10,000ÀÇ °ªÀº 10 MbpsÀÇ Çϵå¿þ¾î ºñÆ®À²À» ¼³¸íÇÑ´Ù.
- Inbound
- NICÀÇ ÇöÀç ¼ö½Å ¼Óµµ. ÃøÁ¤ÀÇ À¯´ÖÀº 100bpsÀÌ´Ù. ±×·¡¼ 10,000ÀÇ °ªÀº 10 MbpsÀÇ Çϵå¿þ¾î ºñÆ®À²À» ¼³¸íÇÑ´Ù.
OID_GEN_CO_VENDOR_ID
º¥´õ´Â Ưº°ÇÑ NICÀ» ½Äº°ÇϱâÀ§Çؼ ÇÒ´çÇÏ´Â ÇϳªÀÇ ¹ÙÀÌÆ®¿¡¿¡ÀÇÇØ¼ µû¸£´Â 3¹ÙÀÌÆ® IEEE-µî·ÏµÈ º¥´õ ÄÚµå
IEEE ÄÚµç º¥´õ¸¦ À¯ÀÏÇÏ°Ô ½Äº°Çϰí NIC Çϵå¿þ¾î ÁÖ¼ÒÀÇ ½ÃÀÛ¿¡¼ º¸ÀÌ´Â 3¹ÙÀÌÆ®¿Í °°´Ù.
IEEE-µî·ÏµÈ ÄÚµå¾ø´Â º¥´õµéÀº °ª 0xFFFFFFÀ» »ç¿ëÇØ¾ßÇÑ´Ù.
OID_GEN_CO_VENDOR_DESCRIPTION
³Î Á¾·áµÈ NICÀ» ¼³¸íÇÏ´Â Ä«¿îÆ®µÈ ¹®ÀÚ¿¿¡ ´ëÇÑ Æ÷ÀÎÅÍ.
OID_GEN_CO_VENDOR_DRIVER_VERSION
NIC µå¶óÀ̹öÀÇ º¥´õ-ÇÒ´çµÈ ¹öÀü ³Ñ¹ö.
¸®ÅϰªÀÇ ÇÏÀ§¼ø¼ ¹ÝÀº ¸¶ÀÌ³Ê ¹öÀüÀ» »ó¼úÇÏ°í »óÀ§ ¼ø¼ ¹ÝÀº ¸ÞÀÌÀú ¹öÀüÀ» »ó¼úÇÑ´Ù.
OID_GEN_CO_DRIVER_VERSION
NIC µå¶óÀ̹ö¿¡ÀÇÇØ¼ »ç¿ë¿¡¼ NDIS ¹öÀü. »óÀ§ ¹ÙÀÌÆ®´Â ¸ÞÀÌÀú ¹öÀü ³Ñ¹öÀÌ´Ù. ±×¸®°í ÇÏÀ§ ¹ÙÀÌÆ®´Â ¸¶ÀÌ³Ê ¹öÀü ³Ñ¹öÀÌ´Ù.
OID_GEN_CO_PROTOCOL_OPTIONS
ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ Ãß°¡ÀûÀΠƯ¼ºµéÀ» Á¤ÀÇÇÏ´Â ºñÆ®¸Å½ºÅ©. ÇÁ·ÎÅäÄÝÀº ±×°ÍÀÇ Æ¯¼ºµéÀ» NDIS¿¡°Ô ¾Ë·ÁÁØ´Ù. Ư¼ºµéÀº Ãß°¡ÀûÀ¸·Î À̵æÀ» °¡Áø´Ù. ¸¸¾à ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö°¡ ¹ÙÀεù¿¡¼ ±×°ÍÀÇ Ç÷¡±×µéÀ» ¼ÂÇÏÁö ¾Ê´Â´Ù¸é, NDIS´Â ±×µéÀÌ ¸ðµÎ Ŭ¸®¾îÇÑ´Ù°í °¡Á¤ÇÑ´Ù.
´ÙÀ½ÀÇ Ç÷¡±×µéÀº ÇöÀç Á¤ÀǵȴÙ.:
- NDIS_PROT_OPTION_ESTIMATED_LENGTH
- ÆÐŶµéÀº ÀÌ ÇÁ·ÎÅäÄÝ¿¡¼ Á¤È®ÇÑ °ªµé´ë½Å¿¡ ÆÐŶ Å©±âÀÇ °¡Àå ³ª»Û °æ¿ì Æò°¡¿¡¼ Áö½ÃµÉ ¼ö ÀÖ´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- NDIS_PROT_OPTION_NO_LOOPBACK
- ÇÁ·ÎÅäÄÝÀº ¹ÙÀεù¿¡¼ ·çÇÁ¹é Áö¿øÀ» ¿ä±¸ÇÏÁö ¾Ê´Â´Ù.
- NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT
- ÇÁ·ÎÅäÄÝÀº Áö½ÃµÈ ¼ö½Å ÆÐŶµéÀÇ ProtocolReserved ¼½¼ÇÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. À̰ÍÀº NDIS°¡ ¼ö½Å ÆÐŶÀ» ÇϳªÀÌ»ó ÇÁ·ÎÅäÄÝÀ» Áö½ÃÇÏ´Â °ÍÀ» Çã¿ëÇÑ´Ù.
OID_GEN_CO_MAC_OPTIONS
À̰ÍÀº ¿¹¾àµÈ´Ù.
OID_GEN_CO_MEDIA_CONNECT_STATUS
ÀÌ OID´Â ´ÙÀ½ÀÇ ½Ã½ºÅÛ-Á¤ÀÇµÈ °ªµéÀÇ Çϳª·Î¼ ³×Æ®¿öÅ©¿¡¼ NICÀÇ ¿¬°á »óŸ¦ ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿ä±¸ÇÑ´Ù.
NdisMediaStateConnected
NdisMediaStateDisconnected
NIC ¹Ì´ÏÆ÷Æ®°¡ ³×Æ®¿öÅ© ¿¬°áÀÌ ¼Õ½ÇµÇ¾ú´Ù´Â°ÍÀ» °¨ÁöÇÒ ¶§, ±×°ÍÀº NDIS_STATUS_MEDIA_DISCONNECT·Î NdisMCoIndicateStatusÀ» È£ÃâÇØ¾ßÇÑ´Ù. ¿¬°áÀÌ Àç¼³Á¤µÉ ¶§, ±×°ÍÀº NDIS_STATUS_MEDIA_CONNECT·Î NdisMCoIndicateStatus À» È£ÃâÇØ¾ßÇÑ´Ù.
OID_GEN_CO_MINIMUM_LINK_SPEED
ÀÌ OID´Â ´ÙÀ½¿¡ Á¤ÀÇµÈ NDIS_CO_LINK_SPEED ±¸Á¶Ã¼·Î¼ Æ÷¸ËµÈ ±×°ÍÀÇ ÃÖ¼Ò Àü¼Û°ú ¼ö½Å ¼ÓµµµéÀ» ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿ä±¸ÇÑ´Ù.
typedef struct _NDIS_CO_LINK_SPEED {
ULONG Outbound;
ULONG Inbound;
} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- Outbound
- NICÀÇ ÃÖ¼Ò Àü¼Û ¼Óµµ. ÃøÁ¤ÀÇ À¯´ÖÀº 100bpsÀÌ´Ù. ±×·¡¼ 10,000ÀÇ °ªÀº 10 MbpsÀÇ Çϵå¿þ¾î ºñÆ®À²À» ¼³¸íÇÑ´Ù.
- Inbound
- NICÀÇ ÃÖ¼Ò ¼ö½Å ¼Óµµ. ÃøÁ¤ÀÇ À¯´ÖÀº 100bpsÀÌ´Ù. ±×·¡¼ 10,000ÀÇ °ªÀº 10 MbpsÀÇ Çϵå¿þ¾î ºñÆ®À²À» ¼³¸íÇÑ´Ù.
OID_GEN_CO_SUPPORTED_GUIDS
ÀÌ OID´Â ŸÀÔ NDIS_GUIDÀÇ ±¸Á¶Ã¼ÀÇ ¹è¿À» ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¼³¸íÇÑ´Ù. ¹è¿¿¡¼ °¢°¢ÀÇ ±¸Á¶Ã¼´Â ¹Ì´ÏÆ÷Æ®°¡ NdisMCoIndicateStatusÀ» ÅëÇØ¼ º¸³½ NDIS_STATUS ¿¡¼³ª Ä¿½ºÅÒ OID¿¡¼ Ä¿½ºÅÒ GUIDÀÇ ¸ÊÇÎÀ» »ó¼úÇÑ´Ù.
NDIS_GUID ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵȴÙ.
typedef struct _NDIS_GUID {
GUID Guid;
union {
NDIS_OID Oid;
NDIS_STATUS Status;
};
ULONG Size;
ULONG Flags;
} NDIS_GUID, *PNDIS_GUID;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- Guid
- ¹Ì´ÏÆ÷Æ®¿¡ ´ëÇØ¼ Á¤ÀÇµÈ Ä¿½ºÅÒ GUID
- Oid
- Guid°¡ ¸ÊÇÑ Ä¿½ºÅÒ OID
- Status
- Guid°¡ ¸ÊÇÑ NDIS_STATUS
- Size
- NDIS_GUID_ARRAY Ç÷¡±×°¡ ¼ÂµÈ´Ù¸é, Size´Â ¹Ì´ÏÆ÷Æ®¿¡ÀÇÇØ¼ ¸®ÅÏµÈ ¹è¿¿¡¼ °¢°¢ÀÇ µ¥ÀÌÅÍ ¾ÆÀÌÅÛÀÇ ¹ÙÀÌÆ® Å©±â¸¦ »ó¼úÇÑ´Ù. ¸¸¾à NDIS_GUID_ANSI_STRING ³ª NDIS_GUID_NDIS_STRING Ç÷¡±×°¡ ¼ÂµÈ´Ù¸é, Size ´Â -1·Î ¼ÂµÈ´Ù. ±×·¸Áö ¾Ê´Ù¸é, Size ´Â GUID°¡ ¼³¸íÇÏ´Â µ¥ÀÌÅÍ ¾ÆÀÌÅÛÀÇ ¹ÙÀÌÆ® Å©±â¸¦ »ó¼úÇÑ´Ù.
- Flags
- ´ÙÀ½ÀÇ Flags ´Â GUID°¡ OID·Î ¸ÊÇÒÁö NDIS_STATUS ¹®ÀÚ¿·Î ¸ÊÇÒÁö¸¦ Áö½ÃÇϴµ¥ ¼·Î ORµÉ ¼ö ÀÖ´Ù. ±×¸®°í GUID¿¡ ´ëÇØ¼ Á¦°øµÈ µ¥ÀÌÅÍ Å¸ÀÔÀ» Áö½ÃÇϴµ¥ ¼·Î ORµÉ ¼ö ÀÖ´Ù.:
- NDIS_GUID_TO_OID
- ¼ÂµÉ ¶§, NDIS_GUID ±¸Á¶Ã¼´Â GUID¸¦ OID·Î ¸ÊÇÏ´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- NDIS_GUID_TO_STATUS
- ¼ÂµÉ ¶§, NDIS_GUID ±¸Á¶Ã¼´Â GUID¸¦ NDIS_STATUS ¹®ÀÚ¿·Î ¸ÊÇÏ´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- NDIS_GUID_ANSI_STRING
- ¼ÂµÉ ¶§, 0 Á¾·á ANSI ¹®ÀÚ¿Àº GUID¿¡ ´ëÇØ¼ Á¦°øµÈ´Ù.
- NDIS_GUID_UNICODE_STRING
- ¼ÂµÉ ¶§, UNICODE ¹®ÀÚ¿Àº GUID¿¡ ´ëÇØ¼ Á¦°øµÈ´Ù.
- NDIS_GUID_ARRAY
- ¼ÂµÉ ¶§, µ¥ÀÌÅÍ ¾ÆÀÌÅÛµéÀÇ ¹è¿Àº GUID¿¡ ´ëÇØ¼ Á¦°øµÇ´Â °ÍÀ» Áö½ÃÇÑ´Ù. »ó¼úµÈ Å©±â´Â ¹è¿¿¡¼ °¢°¢ÀÇ µ¥ÀÌÅÍ ¾ÆÀÌÅÛÀÇ ±æÀ̸¦ Áö½ÃÇÑ´Ù.
´ÙÀ½ÀÇ ¿¹¿¡¼, NDIS_GUID ±¸Á¶Ã¼´Â GUID À» OID_GEN_CO_RCV_PDUS_NO_BUFFER·Î ¸ÊÇÑ´Ù.:
NDIS_GUID NdisGuid = {{0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00,
0xc0, 0x4f, 0xc3, 0x35, 0x8c},
GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
OID_GEN_CO_RCV_PDUS_NO_BUFFER,
4,
fNDIS_GUID_TO_OID};
GUID´Â Á¤º¸¸¦ ¼ÂÇϰųª ¾ò±â¿õÇØ¼ WMI¿¡ÀÇÇØ¼ »ç¿ëµÈ ½Äº°ÀÚÀÌ´Ù. NDIS´Â NDIS µå¶óÀ̹ö¿¡¼ WMI¿¡ÀÇÇØ¼ º¸³»Áø GUID¸¦ °¡·Îä°í GUID¸¦ OID·Î ¸ÊÇÑ´Ù. ±×¸®°í OID¸¦ µå¶óÀ̹ö¿¡°Ô º¸³½´Ù. µå¶óÀ̹ö´Â NDIS¿¡°Ô µ¥ÀÌŸ ¾ÆÀÌÅÛµéÀ» ¸®ÅÏÇÑ´Ù. ±×¶§ WMI¿¡°Ô µ¥ÀÌÅ͸¦ ¸®ÅÏÇÑ´Ù.
NDIS´Â ¶ÇÇÑ WMI¿¡ÀÇÇØ¼ ÀÎ½ÄµÈ GUIDµé¿¡¼ NIC »óÅ¿¡¼ º¯ÈµéÀ» ¹ø¿ªÇÑ´Ù. ¹Ì´ÏÆ÷Æ®°¡ NdisMCoIndicateStatus·Î NIC »óÅ¿¡¼ º¯È¸¦ º¸°íÇÒ ¶§, NDIS´Â NDIS°¡ WMI¿¡°Ô º¸³½ GUID¿¡¼ ¹Ì´ÏÆ÷Æ®¿¡ÀÇÇØ¼ Áö½ÃµÈ NDIS_STATUS À» ¹ø¿ªÇÑ´Ù.
¿¬°á-ÁöÇâ ¹Ì´ÏÆ÷Æ®°¡ Ä¿½ºÅÒ GUIDµéÀ» Áö¿øÇÑ´Ù¸é, ±×°ÍÀº OID_GEN_CO_SUPPORTED_GUIDSÀ» Áö¿øÇؾßÇϰí OID_GEN_CO_SUPPORTED_GUIDS,Àº Ä¿½ºÅÒ GUIDµéÀÌ Ä¿½ºÅÒ OIDµéÀ̳ª NDIS_STATUS ¹®ÀÚ¿·Î ¸ÊÇÎÀ» NDIS¿¡°Ô ¸®ÅÏÇÑ´Ù. OID_GEN_CO_SUPPORTED_GUIDS·Î ¹Ì´ÏÆ÷Æ®¿¡°Ô ÁúÀÇÇÑ ÈÄ¿¡, NDIS´Â WMI·Î ¹Ì´ÏÆ÷Æ®ÀÇ Ä¿½ºÅÒ GUIDµéÀ» µî·ÏÇÑ´Ù.
OID_GEN_CO_GET_TIME_CAPS
ÀÌ OID´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ GEN_GET_TIME_CAPS ±¸Á¶Ã¼·Î¼ Æ÷¸ËµÈ NICÀÇ ·ÎÄà ½Ã°£À» º¸°íÇÏ´Â °Í¿¡ ´ëÇØ¼ ±×°ÍÀÇ ´É·ÂÀ» ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿ä±¸ÇÑ´Ù.
typedef struct _GEN_GET_TIME_CAPS {
ULONG Flags;
ULONG ClockPrecision;
} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- Flags
- ´ÙÀ½ÀÇ Ç÷¡±×µéÀº ¼·Î OR µÈ´Ù. ¸ðµç »ó¼úµÇÁö ¾ÊÀº Ç÷¡±×µéÀº 0À¸·Î ¼ÂµÇ¾î¾ßÇÑ´Ù.
READABLE_LOCAL_CLOCK
¼ÂµÉ ¶§, NIC¿¡¼ ÀÐÀ» ¼ö Àִ Ŭ·°ÀÇ ½ÃÁ¡À» Áö½ÃÇÑ´Ù. ±×·± Çϵå¿þ¾î Ŭ·°¾øÀÌ, ¹Ì´ÏÆ÷Æ®´Â ClockPrecision ¸â¹ö¿¡¼ ¿Ã¹Ù¸¥ Á¤µµ¸¦ º¸°íÇÏ´Â µ¿¾È NdisGetCurrentSystemTimeÀ» È£ÃâÇÔÀ¸·Î¼ ½Ã½ºÅÛ Å¬·°À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
CLOCK_NETWORK_DERIVED
¼ÂµÉ ¶§, NICÀÇ ·ÎÄà ½Ã°£Àº ÀÚÀ¯·Ó°Ô °¡µ¿ÇÏ´Â ¿Âº¸µå Ŭ·°¿¡ ¹Ý´ë·Î ³×Æ®¿öÅ© ¿¬°á·ÎºÎÅÍ »ó¼ÓµÈ´Ù´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- CLOCK_PRECISION
- ¼ÂµÉ ¶§, ClockPrecision ¸â¹ö´Â À¯È¿ÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù´Â °ÍÀ» Áö½ÃÇÑ´Ù.
-
RECEIVE_TIME_INDICATION_CAPABLE
¼ÂµÉ ¶§, NIC Çϵå¿þ¾î´Â ¼ö½ÅµÈ PDUÀÇ Ã³À½ ¼¿À» ¹Þ´Â ·ÎÄà ½Ã°£À» ÁÖ¸ñÇÒ ¼ö ÀÖ°í ¹Ì´ÏÆ÷Æ®´Â ÆÐŶÀ» ÇÁ·ÎÅäÄÝ¿¡°Ô Áö½ÃÇÒ ¶§ °¢°¢ÀÇ PDU¿¡ ´ëÇÑ ¼ö½Å ½Ã°£À» Àü´ÞÇÏ´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- TIMED_SEND_CAPABLE
- ¼ÂµÉ ¶§, NICÀº ·ÎÄà ½Ã°£¿¡ ¶§¶ó Àü¼Û¿¡ ´ëÇÑ ÆÐŶÀ» ½ºÄÉÁìÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» Áö½ÃÇÑ´Ù. ÇÁ·ÎÅäÄݵéÀº ÆÐŶ ¼³¸íÀÚÀÇ OOB µ¥ÀÌÅÍ ºí·°¿¡¼ TimeToSend ŸÀÔ½ºÅÛÇÁ¸¦ ¼ÂÇϱâÀ§Çؼ NDIS_SET_PACKET_TIME_TO_SEND À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- TIME_STAMP_CAPABLE
- ¼ÂµÉ ¶§, NICÀº ÆÐŶÀÇ Ã³À½ ¹ÙÀÌÆ®°¡ Àü¼ÛµÈ ¶§¸¦ (³ª°¡´Â ÆÐŶÀÇ Àû´çÇÑ ÇÊÆ®¿¡¼) ½ºÅÛÇÁÇÒ ¼ö ÀÖ°í NICÀÌ Àιٿîµå ÆÐŶÀÇ °°Àº Çʵå·ÎºÎÅÍ ½Ã°£À» °¡Á®¿Ã ¼ö ÀÖ´Ù´Â °ÍÀ» Áö½ÃÇÑ´Ù.
- ClockPrecision
- ¹Ð¸®¾î´ç ÆÄÆ®µé¿¡¼ Ŭ·° Á¤µµ¸¦ »ó¼úÇÑ´Ù. À¯È¿¼º¸£ °í·ÁµÇ´Â Á¤º¸¿¡ ´ëÇØ¼, CLOCK_PRECISION Ç÷¡±×°¡ ¼ÂµÇ¾î¾ßÇÑ´Ù.
¹Ì´ÏÆ÷Æ®´Â ·ÎÄÃÀ̳ª ³×Æ®¿öÅ© Ŭ·°ÀÇ ºÎÀç¿¡¼ ¾î¶² ŸÀÌ¹Ö ÀÎÀڵ鿡 ´ëÇÑ Áö¿øÀ» Á¦°øÇÑ´Ù. Ưº°È÷, ¹Ì´ÏÆ÷Æ®´Â ¼ö½Å ½Ã°£ Áö½Ãµé, ŸÀÓµÈ º¸³»±â, ŸÀÓ ½ºÅÛÇο¡ ´ëÇØ¼ ½Ã½ºÅÛ Å¬·°À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. NIC ±â¹Ý Ŭ·°Àº ´õ ³ôÀº Á¤µµ¸¦ Á¦°øÇÏ°í ½Ã½ºÅÛ Å¬·°º¸´Ù ´õ ³·Àº Áö¿¬À¸·Î Á¢±ÙÇÒ ¼ö Àֱ⶧¹®¿¡ ´õ ÁÁ´Ù. ¸ðµç °æ¿ì¿¡¼, ¹Ì´ÏÆ÷Æ®´Â ±×°ÍÀÌ »ç¿ëÇÑ Å¬·°ÀÇ Á¤µµ¸¦ »ó¼úÇØ¾ßÇÑ´Ù. À̰ÍÀº ¹Ì´ÏÆ÷Æ®µéÀÇ Å¸ÀÌ¹Ö Áö¿øÀ» »ç¿ëÀ» ÃÖ´ëÈÇÏ´Â ¹ýÀ» °áÁ¤ÇÏ´Â °ÍÀ» ÇÁ·ÎÅäÄÝ¿¡°Ô Çã¿ëÇÑ´Ù.
¸¸¾à ¹Ì´ÏÆ÷Æ®°¡ ÀÐÀ» ¼ö Àִ Ŭ·°ÀÇ Á¸À縦 º¸°íÇÑ´Ù¸é, ±×°ÍÀº OID_GEN_GET_NETCARD_TIME ÁúÀÇÀÇ ÀÀ´äÀ¸·Î Áï½Ã ÁغñµÇ¾î¾ß ÇÑ´Ù. ÀÌÈ£Ãâ¿¡¼ ¹Ì´ÏÆ÷Æ®ÀÇ ÀÀ´äÀº ŸÀÓ-Å©¸®Æ¼ÄÀÀÌ°í ±×·¡¼ µ¿±âȵǾî¾ßÇÑ´Ù.
OID_GEN_CO_GET_NETCARD_TIME
ÀÌ OID´Â ³×Æ®¿öÅ©·ÎºÎÅͳª NIC¿¡¼ Ŭ·°À¸·ÎºÎÅÍ »ó¼úµÈ °Í °°ÀÌ NICÀÇ ·ÎÄÝ ½Ã°£À» ¸®ÅÏÇ϶ó°í ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿ä±¸ÇÑ´Ù. ÀÌ ½Ã°£Àº ´ÙÀ½¿¡ Á¤ÀÇµÈ °Í°°ÀÌ GEN_GET_NETCARD_TIME ±¸Á¶Ã¼·Î¼ Æ÷¸ËµÈ´Ù.
typedef struct _GEN_GET_NETCARD_TIME {
ULONGLONG ReadTime;
} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
- ReadTime
- NICÀÇ ·ÎÄà ½Ã°£
¹Ì´ÏÆ÷Æ®°¡ ÀüÀÇ OID_GEN_CO_GET_TIME_CAPS ÁúÀÇ¿¡ ´ëÇÑ ÀÀ´äÀ» ¸®ÅÏÇß´ø GEN_GET_TIME_CAPS ±¸Á¶Ã¼ÀÇ ClockPrecision ¿¤¸®¸ÕÆ®¿¡¼ ±×°ÍÀÇ ·ÎÄà ½Ã°£¿¡ ´ëÇÑ À¯´ÖµéÀ» »ó¼úÇß´Ù.
¸¸¾à ¹Ì´ÏÆ÷Æ®°¡ OID_GEN_CO_GET_TIME_CAPS ÁúÀÇ ´ëÇÑ ÀÀ´äÀ¸·Î READABLE_LOCAL_CLOCK Ç÷¡±×¸¦ ¼ÂÇÑ´Ù¸é, NICÀº ¿Âº¸µå Ŭ·°À¸·ÎºÎÅÍ ±×°ÍÀÇ ·ÎÄà ½Ã°£À» »ó¼ÓÇÑ´Ù. ¸¸¾à ¹Ì´ÏÆ÷Æ®°¡ OID_GEN_CO_GET_TIME_CAPS ÁúÀÇ¿¡ ´ëÇÑ ÀÀ´ä¿¡¼ CLOCK_NETWORK_DERIVED Ç÷¡±×¸¦ ¼ÂÇÑ´Ù¸é, NICÀº ³×Æ®¿öÅ©·ÎºÎÅÍ ±×°ÍÀÇ ·ÎÄà ½Ã°£À» »ó¼ÓÇÑ´Ù.
¸¸¾à ·ÎÄà ½Ã°£ÀÌ ¿Âº¸µå Ŭ·°À¸·ÎºÎÅÍ »ó¼ÓµÈ´Ù¸é, ¹Ì´ÏÆ÷Æ®´Â ¹Ð¸®¾ð´ç ÆÄÆ®µé¿¡¼ Ŭ·° Á¤µµ¸¦ º¸°íÇÒ ¼ö ÀÖ¾î¾ßÇÑ´Ù. ÀϹÝÀûÀ¸·Î, ³×Æ®¿öÅ©-»ó¼ÓµÈ Ŭ·°Àº ´õ ÁÁ´Ù. ÀÌÀ¯´Â ±×°ÍÀº ´õ Á¤¹ÐÇÏ°í °°Àº ³×Æ®¿öÅ©³ª ½ºÀ§Ä¡¿¡ Á¢±ÙµÈ ¸¹Àº ¸Ó½ÅµéÀ» µ¿±âÈÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù.
¹Ì´ÏÆ÷Æ®´Â OID_GEN_CO_GET_NETCARD_TIME ÁúÀÇ¿¡ ´ëÇÑ ÀÀ´ä¿¡¼ µ¿±âÀûÀ¸·Î ·ÎÄà ½Ã°£À» ¸®ÅÏÇØ¾é³ª´Ù. ÀÌ ÁúÀÌ´Â NICÀÇ ·ÎÄà ½Ã°£À¸·Î ÇÁ·ÎÅäÄÝ µå¶óÀ̹öµéÀ» µ¿±âÈÇÑ´Ù. ÇÁ·ÎÅäÄÝ µå¶óÀ̹öµéÀº ÀÀ´ä-½Ã°£ Áö¿¬µéÀ» ÇÊÅÍÇϴµ¥ ¼º°ø¿¡¼ ¿©·¯¹ø OID_GEN_CO_GET_NETCARD_TIME ÁúÀǸ¦ º¸³»¾ßÇÑ´Ù.
|