9.2 TAPI Á¤º¸ ¿äû ¼³Á¤Çϱâ
WAN ¹Ì´ÏÆ÷Æ®µéÀº ¿Ï¼º »óź¸´Ù´Â ¼³Á¤ ¿äûÀ» À§Çؼ ¾î¶°ÇÑ Á¤º¸µµ ¸®ÅÏÇÏÁö ¾Ê´Â´Ù. ¸ðµç OID-ƯÁ¤ ±¸Á¶Ã¼µéÀº ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡ ÀÇÇØ¼ Á¦°øµÇ°í, ±×µéÀÇ ¸â¹öµéÀº ¾Æ·¡ÀÇ WAN NIC ¹Ì´ÏÆ÷Æ®¿¡ Àбâ-Àü¿ëÀÌ´Ù.
OID_TAPI_ANSWER
ÀÌ OID ´Â Á¦°ø¿¡¼(on offer) ÁöÁ¤µÈ È£Ãâ¿¡ ÀÀ´äÇÒ °ÍÀ» ¿äûÇÑ´Ù. Ãß°¡ÀûÀ¸·Î ±×°ÍÀº ¹Ì´ÏÆ÷Æ®°¡ È£Ãâ ÆÄÆ¼¿¡°Ô ÁöÁ¤µÈ »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸¸¦ º¸³¾°ÍÀ» ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
OID_TAPI_ANSWER ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_ANSWER ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_ANSWER {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulUserUserInfoSize;
IN UCHAR UserUserInfo[1];
} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
- ulRequestID
-
¿¹¾àµÊ.
- hdCall
-
ÀÀ´äµÉ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. µå¶óÀ̹ö´Â ±×°ÍÀÌ LINE_EVENT_NEWCALL ¾Ë¸²À¸·Î NdisMIndicateStatus ¸¦ È£ÃâÇßÀ» ¶§ ÀÌ ÇÚµéÀ» ¼³Á¤ÇÑ´Ù.
-
ulUserUserInfoSize
-
UserUserInfo ¿¡ ÀÖ´Â »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸ÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ÀÌ ¸â¹ö°¡ 0À̸é, UserUserInfo ´Â ¹«½ÃµÉ¼ö ÀÖ´Ù.
-
UserUserInfo
-
È£Ãâ ¼ö¶ôÀÇ ºÎºÐÀ¸·Î½á ¸®¸ðÆ® ÆÄƼ¿¡°Ô º¸³»Áú »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ½ºÆ®¸µÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸´Â ¸¸¾à ¾Æ·¡ÀÇ ³×Æ®¿öÅ©¿¡ ÀÇÇØ¼ Áö¿øµÈ´Ù¸é º¸³»Áø´Ù.(OID_TAPI_GET_DEV_CAPS¸¦ ºÁ¶ó.)
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_TAPI_USERUSERINFOTOOBIG
NDIS_STATUS_FAILURE
OID_TAPI_ANSWER ¿äûÀÇ ¼º°øÀûÀÎ ¿Ï¼º¶§, ¹Ì´ÏÆ÷Æ®´Â OID_TAPI_GET_ID ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ÁغñµÇ¾î¾ß ÇÑ´Ù.
óÀ½ÀÇ ¾îÇø®ÄÉÀ̼ÇÀº ½ÇÁ¦·Î µ¥ÀÌÅ͸¦ ¾²±âÀü¿¡ LINECALLSTATE_CONNECTED ¾Ë¸²À» ±â´Ù·Á¾ßÇÑ´Ù.
OID_TAPI_CLOSE
ÀÌ OID ´Â ÁöÁ¤µÈ ¿ÀÇ ¶óÀÎ ÀåÄ¡¸¦ ´ÝÀ» °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_CLOSE ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_CLOSE {
IN ULONG ulRequestID;
IN HDRV_LINE hdLine;
} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdLine
-
´ÝÇôÁú ¶óÀο¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¶óÀÎÀÌ ¼º°øÀûÀ¸·Î ´ÝÇôÁøÈÄ¿¡, ÀÌ ÇÚµéÀº ´õÀÌ»ó À¯È¿ÇÏÁö ¾Ê´Ù.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
OID_TAPI_CLOSE_CALL
ÀÌ OID ´Â È£Ãâ»ó¿¡ ÀÖ´Â ¸ðµç ³ª°¡´Â ºñµ¿±â ¿äûµéÀ» ¿Ï·áÇϰí Á¾·áÇÑ ÈÄ¿¡ ÁöÁ¤µÈ È£ÃâÀ» ´ÝÀ»°ÍÀ» ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_CLOSE_CALL ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_CLOSE_CALL {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
´ÝÇôÁú È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. È£ÃâÀÌ ¼º°øÀûÀ¸·Î ´ÝÇôÁøÈÄ¿¡, ÀÌ ÇÚµéÀº ´õÀÌ»ó À¯È¿ÇÏÁö ¾Ê´Ù.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
OID_TAPI_CONDITIONAL_MEDIA_DETECTION
Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀÌ ¶óÀεéÀÌ ¿ä±¸µÈ ¹Ìµð¾î ¸ðµå(µé)°ú È£Ãâ ÆÄ¶ó¹ÌÅ͵éÀ» Áö¿øÇÏ´Â °ÍÀ» ã±â À§Çؼ ½ºÄµ(scaned)µÉ°ÍÀ» ¿äûÇϱâ À§Çؼ lineOpen ÇÔ¼ö¿¡ ÀÖ´Â dwDeviceID ·Î½á LINEMAPPER ¸¦ »ç¿ëÇÒ ¶§¸¶´Ù, NDISTAPI ´Â WAN NIC ¹Ì´ÏÆ÷Æ®¿¡°Ô ¾Æ·¡·Î ±×°ÍÀ» Åë°ú½ÃŰ´Â NDISWAN ¿¡ ´ëÇÑ OID ¿äûÀ» ¸¸µç´Ù.
NDISTAPI ½ºÄµµéÀº ±×°ÍÀÌ µ¿½Ã¿¡ ¿äûµÈ ¹Ìµð¾î ¸ðµåµéÀÇ ¸ðµç °Í¿¡ ´ëÇØ¼ ¸ð´ÏÅÍÇÒ ¼ö ÀÖ´Â Áö¸¦ ¾Ë¸®±â À§ÇÑ ÀûÀýÇÑ ½Ã±â¸¦ °¢°¢ÀÇ WAN ¹Ì´ÏÆ÷Æ®¿¡°Ô ÁÖ±â À§Çؼ, ¶óÀλ󿡼 ¸ð´ÏÅÍ µÉ ¼ö ÀÖ´Â ÇöÀçÀÇ ¿ä±¸µÈ ¹Ìµð¾î ¸ðµåµé°ú ´Ù¸¥ ¹Ìµð¾î ¸ðµåµéÀÇ À¯´Ï¿Â¿¡ ±â¹ÝµÈ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {
IN ULONG ulRequestID;
IN HDRV_LINE hdLine;
IN ULONG ulMediaModes;
IN LINE_CALL_PARAMS LineCallParams;
} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdLine
-
¹Ìµð¾î ¸ð´ÏÅ͸µ°ú ÆÄ¶ó¹ÌÅʹɷµéÀÌ ¼³Á¤µÇ´Â ¶óÀο¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulMediaModes
-
È£Ãâ ¾îÇø®ÄÉÀ̼ǿ¡ °ü½ÉÀÌ ÀÖ´Â(interest) ÇöÀç ¹Ìµð¾î ¸ðµå(µé)À» ÁöÁ¤ÇÑ´Ù.(¾Ö¸Å??). ÀÌ ÆÄ¶ó¹ÌÅÍ´Â LINEMEDIAMODE ³»¿ëµéÀ» »ç¿ëÇÑ´Ù. ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
-
LineCallParams
-
LINE_CALL_PARAMS ±¸Á¶Ã¼´Â ¶óÀÎ ÀåÄ¡°¡ Á¦°øÇؾßÇÏ´Â Á¤º¸¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¿äûÀÇ ¸ñÀûÀ» À§ÇÑ À¯ÀÏÇÑ °ü·ÃµÈ(relevent) ¸â¹ö´Â ¾Æ·¡ÀÌ´Ù.:
ULONG ulBearerMode;
ULONG ulMinRate;
ULONG ulMaxRate;
ULONG ulMediaMode;
ULONG ulCallParamFlags;
ULONG ulAddressMode;
¸¸¾à ulAddressMode ÀÇ °ªÀÌ LINEADDRESSMODE_ADDRESSID À̸é, ¶óÀÎ»ó¿¡ ÀÖ´Â ¾î¶² ÁÖ¼Ò´Â ¼ö¶ôÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ulAddressMode °ªÀº ¹Ì´ÏÆ÷Æ®°¡ ÁöÁ¤µÈ originating ÁÖ¼Ò(Æù ³Ñ¹ö)¸¦ ã¾Æ¾ßÇϰųª ¶Ç´Â ¸¸¾à ±×°ÍÀÌ ulOrigAddressSize/Offset ¿Í the ulDevSpecificSize/Offset °ªÀÌ ¶ÇÇÑ °ü·ÃÀÌ ÀÖ´Â, Á¦°øÀÚ-ƯÁ¤ È®ÀåÀÎÁö¸¦ ¾Ë¸®´Â LINEADDRESSMODE_DIALABLEADDR ÀÌ´Ù. LINE_CALL_PARAMS ±¸Á¶Ã¼ÀÇ ¸ðµç ´Ù¸¥ ¸â¹öµéÀº ÀÌ OID ¿äû¿¡ °ü·ÃÀÌ ¾ø´Ù.(irrelevant)
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALLINEHANDLE
NDIS_STATUS_TAPI_NODRIVER
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_TAPI_INVALMEDIAMODE
NDIS_STATUS_FAILURE
¸¸¾à ¹Ì´ÏÆ÷Æ®°¡ ¹Ìµð¾î ¸ðµåµéÀÇ ÁöÁ¤µÈ ÁýÇÕ¿¡ ´ëÇØ¼ ¸ð´ÏÅÍÇÒ ¼ö ÀÖ°í, CallParams¿¡ ÁöÁ¤µÈ ´É·ÂµéÀ» Áö¿øÇÑ´Ù¸é, ±×°ÍÀº NDIS_STATUS_SUCCESSÀ¸·Î ¿äûÀ» ¿Ï¼ºÇÏÁö¸¸, ±×°ÍÀº º¯ÈµÇÁö¾ÊÀº ¶óÀο¡ ´ëÇÑ ¾×Ƽºê ¹Ìµð¾î ¸ð´ÏÅ͸µ ¸ðµåµéÀ» ±×´ë·Î µÐ´Ù.
OID_TAPI_DROP
ÀÌ OID ´Â ÁöÁ¤µÈ È£ÃâÀ» µå¶øÇϰųª ¿¬°áÀ» ²÷À» °ÍÀ» ¿äûÇÑ´Ù.
»ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸´Â Ãß°¡ÀûÀ¸·Î È£Ãâ disconnect ÀÇ ºÎºÐÀ¸·Î½á Àü¼ÛµÉ ¼ö ÀÖ´Ù. ÀÌ ¿äûÀº ¾î¶² ¶§¶ó°í ¾îÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ¼ ¸¸µé¾îÁú ¼ö ÀÖ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_DROP ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_DROP {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulUserUserInfoSize;
IN UCHAR UserUserInfo[1];
} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
µå¶øµÉ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulUserUserInfoSize
-
UserUserInfo¿¡ ÀÖ´Â »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸ÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ÀÌ ¸â¹ö°¡ 0À̶ó¸é, ¹Ì´ÏÆ÷Æ®´Â ´ÙÀ½ ¸â¹ö¸¦ ¹«½ÃÇØ¾ß ÇÑ´Ù.
-
UserUserInfo
-
È£Ãâ µå¶øÀÇ ºÎºÐÀ¸·Î½á ¸®¸ðÆ® ÆÄƼ¿¡ º¸³»Áú »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ½ºÆ®¸µÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸´Â ´ÜÁö ¾Æ·¡ÀÇ ³×Æ®¿öÅ©¿¡ ÀÇÇØ¼ Áö¿øµÈ´Ù¸é º¸³»Áø´Ù. (OID_TAPI_GET_DEV_CAPS ¸¦ ºÁ¶ó)
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_USERUSERINFOTOOBIG
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
¹Ì´ÏÆ÷Æ®°¡ ÀÌ ¿äûÀ» ¼º°øÀûÀ¸·Î ¿Ï¼ºÇÒ¶§, È£ÃâÀº ¾ÆÀ̵é(idle) »óÅ¿¡ ÀÖÀ» ¼ö ÀÖ´Ù. ±×·¯³ª, ¹Ì´ÏÆ÷Æ®´Â ±×°ÍÀÌ ÀÌ ÇÚµéÀ» À§Çؼ OID_TAPI_CLOSE_CALL ¿äûÀ» ¿Ï¼ºÇÒ ¶§±îÁö hdCall ÇÚµéÀ» ÁöÁ¤ÇÏ´Â Åë°è Äõ¸® °°Àº ¿äûµéÀ» ¿©ÀüÈ÷ ¼ö½ÅÇÒ ¼ö ÀÖ´Ù.
OID_TAPI_PROVIDER_SHUTDOWN
¾îÇø®ÄÉÀ̼ÇÀÌ ´õÀÌ»ó TAPI ¼ºñ½ºµéÀ» »ç¿ëÇÏÁö ¾Ê±â¶§¹®¿¡ TAPI °¡ ±×°ÍÀÇ »óŸ¦ Áö¿ï¶§, ÀÌ OID ´Â ±×°ÍÀÇ TAPI ¿¬»êµéÀ» ¼Ë´Ù¿î ÇÒ°ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù.
ÀÌ OID ¸¦ Á¦¿ÜÇϰí, ¹Ì´ÏÆ÷Æ®´Â ±×°ÍÀÌ Ã³¸®ÁßÀÎ TAP¿Í ¿¬°üµÈ ¾î´ø Ȱµ¿µéÀ» Á¾·áÇØ¾ßÇϰí, ÇöÀç ¿ÀÇÂÇÏ´Â ¾î¶² ¶óÀε鿡 ´ëÇÑ NDISWAN¿¡°Ô NDIS_MAC_LINE_DOWN ·Î NdisMIndicateStatus ¸¦ È£ÃâÇØ¾ßÇϰí, ±×¸®°í TAPI ¿¬»êµéÀ» ´õµë±â(track) À§Çؼ »ç¿ëÇÏ´Â ¾î¶² »óŸ¦ Áö¿ö¾ßÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_PROVIDER_SHUTDOWN ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
IN ULONG ulRequestID;
} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_APP_SPECIFIC
ÀÌ OID ´Â ÁöÁ¤µÈ È£ÃâÀÇ LINECALLINFO ±¸Á¶Ã¼ÀÇ ulAppSpecific ¸â¹ö¸¦ ¼³Á¤ÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_APP_SPECIFIC ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_APP_SPECIFIC {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulAppSpecific;
} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
¾îÇø®ÄÉÀ̼Ç-ƯÁ¤ ¸â¹ö°¡ ¼³Á¤µÇ±â À§ÇÑ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulAppSpecific
-
È£ÃâÀÇ LINECALLINFO ±¸Á¶Ã¼¿¡ ´ëÇÑ ulAppSpecific ¸â¹öÀÇ »õ·Î¿î ³»¿ëÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº NIC µå¶óÀ̹ö¿¡ ÀÇÇØ¼ ¹«°ü½ÉµÈ´Ù.(uninterpreted). ÀÌ °ªÀº ÀÌ ¿äûÀÌ ¸¸µé¾îÁú ¶§, NDISTAPI ¿¡ ÀÇÇØ¼ ÀÔÁõµÇÁö(validated) ¾Ê´Â´Ù.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_CALL_PARAMS
ÀÌ OID ´Â Á¸ÀçÇϴ ȣÃâÀ» À§Çؼ ¾î¶² È£Ãâ ÆÄ¶ó¹ÌÅ͵éÀ» ¼³Á¤ÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_CALL_PARAMS ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulBearerMode;
IN ULONG ulMinRate;
IN ULONG ulMaxRate;
IN BOOLEAN bSetLineDialParams;
IN LINE_DIAL_PARAMS LineDialParams;
} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
¾Æ·¡ÀÇ ÆÄ¶ó¹ÌÅ͵éÀÌ º¯ÈµÇ´Â °ÍÀ» À§ÇÑ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulBearerMode
-
È£Ãâ¿¡ ´ëÇÑ »õ·Î¿î Àü´ÞÀÚ(bearer) ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¸â¹ö´Â ´ÜÁö ¾Æ·¡ÀÇ LINEBEARERMODE Ç÷¡±× ¼³Á¤ÁßÀÇ Çϳª¸¦ °¡Áú ¼ö ÀÖ´Ù.:
LINEBEARERMODE_VOICE
LINEBEARERMODE_SPEECH
LINEBEARERMODE_MULTIUSE
LINEBEARERMODE_DATA
LINEBEARERMODE_ALTSPEECHDATA
LINEBEARERMODE_NONCALLSIGNALING
-
ulMinRate
-
È£ÃâÀÇ »õ·Î¿î µ¥ÀÌÅÍ ºñÀ²(rate)¿¡ ´ëÇÑ ¾Æ·¡ÀÇ(lower) ¹Ù¿îµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¸â¹öÀÇ °ªÀº ¹Ì´ÏÆ÷Æ®°¡ È£ÃâµÇ±âÀü¿¡ NDISTAPI¿¡ ÀÇÇØ¼ ÀÔÁõµÇÁö(validated) ¾Ê´Â´Ù. ÀÌ °ªÀº È£ÃâÀÚ°¡ ÀÌ°Í ¸¸Å ³·°Ô »õ·Î¿î ºñÀ²(rate)¸¦ ¼ö¶ôÇÒ °ÍÀ̶ó´Â°ÍÀ» ¾Ë¸°´Ù.
-
ulMaxRate
-
È£ÃâÀÇ »õ·Î¿î µ¥ÀÌÅÍ ºñÀ²(rate)¿¡ ´ëÇÑ À§ÀÇ(upper) ¹Ù¿îµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¸â¹öÀÇ °ªÀº ¹Ì´ÏÆ÷Æ®°¡ È£ÃâµÇ±âÀü¿¡ NDISTAPI¿¡ ÀÇÇØ¼ ÀÔÁõµÇÁö(validated) ¾Ê´Â´Ù.
ÀÌ °ªÀº È£ÃâÀÚ°¡ Çϰí½Í¾îÇÏ´Â(like) ÃÖ´ë µ¥ÀÌÅÍ ºñÀ²À» ¾Ë¸°´Ù.
È£ÃâÀÚ°¡ Á¤È®ÇÑ ºñÀ²À» ¿ä±¸ÇÏ´Â °ÍÀ» ¾Ë¸®´Â ulMinRate ¿Í ulMaxRate ¸â¹öµé¿¡ ´ëÇÑ °ªÀº ¶È°°´Ù.
-
bSetLineDialParams
-
¾Æ·¡ÀÇ ´ÙÀ̾ ÆÄ¶ó¹ÌÅ͵éÀÌ È£ÃâÀ» À§Çؼ »ç¿ëµÉ Áö¸¦ °áÁ¤Çϳ®. ¸¸¾à ÀÌ ¸â¹ö°¡ FALSE À̸é, È£ÃâÀÇ ÇöÀç ´ÙÀÌ¾ó¸µ ÆÄ¶ó¹ÌÅ͵éÀº »ç¿ëµÇ¾î¾ßÇÏ°í ´ÙÀ½ ¸â¹ö´Â ¹«½ÃµÇ¾î¾ßÇÑ´Ù.
-
LineDialParams
-
ÀÌ ±¸Á¶Ã¼´Â È£Ãâ¿¡ ´ëÇÑ »õ·Î¿î ´ÙÀ̾ó ÆÄ¶ó¹ÌÅ͵éÀ» ÁöÁ¤ÇÑ´Ù. ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_INVALBEARERMODE
NDIS_STATUS_TAPI_BEARERMODEUNAVAIL
NDIS_STATUS_TAPI_INVALRATE
NDIS_STATUS_TAPI_RATEUNAVAIL
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_DEFAULT_MEDIA_DETECTION
ÀÌ OID ´Â ¾Ë·ÁÁø ¶óÀÎÀ» °ËÃâÇϱâ À§Çؼ »õ·Î¿î ¹Ìµð¾î ¸ðµåµéÀÇ ÁýÇÕÀ» »ç¿ëÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÏ´Ù. ±× ¶§¹®¿¡, ±×°ÍÀÌ »ç¿ëÁßÀÎ °ÍÀ» ¼³Á¤ÇÒ ¶§¸¶´Ù ´ëÄ¡ÇÑ´Ù.
¹Ì´ÏÆ÷Æ®´Â ÀÌ ¿äûÀÌ µé¾î¿À´Â È£ÃâÀÇ ¹Ìµð¾î ¸ðµå¿¡ ´ëÇØ¼ ¼º°øÀûÀ¸·Î ¿Ï¼ºµÉ¶§±îÁö µé¾î¿À´Â È£ÃâÀ» NDIWAN ¿¡°Ô ÅëÁöÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION {
IN ULONG ulRequestID;
IN HDRV_LINE hdLine;
IN ULONG ulMediaModes;
} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdLine
-
¼³Á¤µÇ¾ßÇÏ´Â ±âº» ¹Ìµð¾î ¸ðµå¸¦ À§ÇÑ ¶óÀο¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulMediaModes
-
NDISTAPI ¿¡ °ü½ÉÀÌ ÀÖ´Â ¹Ìµð¾î ¸ðµå(µé)À» ÁöÁ¤ÇÑ´Ù. ÀÌ ¸â¹ö´Â Çϳª ÀÌ»óÀÇ LINEMEDIAMODE »ó¼öµé(constants)À» ¼³Á¤ÇÑ´Ù. ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_CALL_PARAMS ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALLINEHANDLE
NDIS_STATUS_TAPI_INVALMEDIAMODE
NDIS_STATUS_TAPI_NODRIVER
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_DEV_CONFIG
ÀÌ OID ´Â OID_TAPI_GET_DEV_CONFIG¸¦ »ç¿ëÇÔÀ¸·Î½á ¾Õ¾î ¾òÀº ±¸¼ºÀ¸·ÎºÎÅÍ ¶óÀÎ ÀåÄ¡¿¡ ÀÏ´ëÀÏ·Î ¿¬°üµÈ ÀåÄ¡ÀÇ ±¸¼ºÀ» º¹±¸ÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù.
ÀÌ ±¸Á¶Ã¼ÀÇ ³»¿ëÀº ¹Ì´ÏÆ÷Æ®ÀÇ ¶óÀΰú ÀåÄ¡ Ŭ·¡½º¿¡ ƯÁ¤ÀûÀÌ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_DEV_CONFIG ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_DEV_CONFIG {
IN ULONG ulRequestID;
IN ULONG ulDeviceID;
IN ULONG ulDeviceClassSize;
IN ULONG ulDeviceClassOffset;
IN ULONG ulDeviceConfigSize;
IN UCHAR DeviceConfig[1];
} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
ulDeviceID
-
±¸¼ºµÉ ¶óÀÎ ÀåÄ¡¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº ¾ÕÀÇ OID_TAPI_PROVIDER_INITIALIZE ¿äû¿¡¼ ¼³Á¤µÈ´Ù.
-
ulDeviceClassSize
-
º¹±¸µÉ ÀåÄ¡ÀÇ ±¸¼ºÀ» À§ÇÑ ÀåÄ¡ Ŭ·¡½ºÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. À¯È¿ÇÑ ÀåÄ¡ Ŭ·¡½º ½ºÆ¼¸µÀº ±×°ÍÀÌ "¶óÀÎ" ÀåÄ¡¿¡ Àû¿ëµÉ ¶§ OID_TAPI_GET_ID ¿äûÀ» À§Çؼ ÁöÁ¤µÈ ÀÌ·¯ÇÑ °Í°ú ¶È°°´Ù. (ulSelect ´Â °ª LINECALLSELECT_LINE¸¦ °¡Áø´Ù.)
-
ulDeviceClassOffset
-
º¹±¸µÉ ÀåÄ¡ÀÇ ±¸¼ºÀ» À§ÇÑ ÀåÄ¡ Ŭ·¡½ºÀÇ ¹ÙÀÌÆ® ¿É¼ÂÀ» ÁöÁ¤ÇÑ´Ù.
-
ulDeviceConfigSize
-
DeviceConfig¿¡¼ ¹ÙÀÌÆ® ³Ñ¹ö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº ÀÌ¹Ì ¾ÕÀÇ OID_TAPI_GET_DEV_CONFIG ¿äû¿¡¼ ¸®ÅÏµÈ VAR_STRING ½ºÆ®¸µ¿¡ ÀÖ´Â ulStringSize ¸â¹ö¿¡ ÀÌ¹Ì ¸®ÅϵȴÙ.
-
DeviceConfig
-
¾ÕÀÇ OID_TAPI_GET_DEV_CONFIG ¿äû¿¡ ´ëÇÑ VAR_STRING ±¸Á¶Ã¼ÀÇ °¡º¯ ºÎºÐ¿¡¼ ¸®ÅÏµÈ µ¥ÀÌÅ͸¦ ÁöÁ¤ÇÑ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_DEV_CONFIG ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALDEVICECLASS
NDIS_STATUS_TAPI_INVALPARAM
NDIS_STATUS_TAPI_NODRIVER
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_MEDIA_MODE
ÀÌ OID´Â ±× È£Ãâ¿¡ ´ëÇÑ LINE_CALL_INFO ±¸Á¶Ã¼¿¡ ÀúÀåµÈ °ÍÀ¸·Î½á È£ÃâÀÇ ¹Ìµð¾î ¸ðµå¸¦ ¹Ù²Ü°ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù. LINE_CALL_INFO ÀÇ ¼±¾ð¿¡ ´ëÇØ¼´Â ndistapi.h ¸¦ ºÁ¶ó.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_MEDIA_MODE ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_MEDIA_MODE {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulMediaMode;
} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
¹Ìµð¾î ¸ðµå¸¦ º¯ÈÇØ¾ßÇϴ ȣÃâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulMediaMode
-
Çϳª ÀÌ»óÀÇ LINEMEDIAMODE_XXX Ç÷¡±× È£ÃâÀ» À§ÇÑ »õ·Î¿î ¹Ìµð¾î ¸ðµå(µé)À» ÁöÁ¤ÇÑ´Ù. ¸¸¾à¿¡ LINEMEDIAMODE_UNKNOWN Ç÷¡±×°¡ ¼³Á¤µÇ¸é, ´Ù¸§ ¹Ìµð¾î ¸ðµå Ç÷¡±×´Â ¶ÇÇÑ ¼³Á¤µÉ ¼ö ÀÖ´Ù. ±×·± Ç÷¡±×µéÀÇ Á¶ÇÕÀÌ È£ÃâÀÇ ¹Ìµð¾î ¸ðµå°¡ ¿ÏÀüÈ÷ °áÁ¤µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó, °¡´ÉÇÑ ¹Ìµð¾î ¸ðµåµéÀÇ ¼ºê¼ÂÀ¸·Î narrowed ´Â °ÍÀ» ÁöÁ¤ÇÑ´Ù.(¾Ö¸Å??) ¸¸¾à LINEMEDIAMODE_UNKNOWN Ç÷¡±×°¡ Áö¿öÁö¸é, ´ÜÁö ½Ì±Û ¹Ìµð¾î ¸ðµå°¡ ÁöÁ¤µÉ ¼ö ÀÖ´Ù.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALMEDIAMODE
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SET_STATUS_MESSAGES
ÀÌ OID´Â NDISTAPI°¡ ¹Ì´ÏÆ÷Æ®°¡ ÁöÁ¤µÈ ¶óÀÎÀ̳ª ±×°ÍÀÇ ÁÖ¼ÒµéÀÇ ¾î¶²°ÍÀ» À§ÇÑ »óÅ º¯Èµé¿¡ ¿¬°üµÈ À̺¥Æ®µéÀ» ¹ß»ýÇÒ ¼ö ÀÖ´Â ÅëÁö ¸Þ½ÃÁöµéÀ» ÁöÁ¤Çϴ°ÍÀ» Çã¶ôÇÒ °ÍÀ» ¿äûÇÑ´Ù.
±âº»ÀûÀ¸·Î, address-status ¿Í line-status º¸°í´Â(reporting)´Â Ãʱ⿡ ¶óÀο¡ ´ëÇØ¼ µð½º¿¡À̺íÀÌ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Àǹ«ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_STATUS_MESSAGES ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES {
IN ULONG ulRequestID;
IN HDRV_LINE hdLine;
IN ULONG ulLineStates;
IN ULONG ulAddressStates;
} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdLine
-
¶óÀÎÀåÄ¡¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulLineStates
-
NDISTAPI¿¡°Ô º¸³»Á®¾ßÇÏ´Â ¸Þ½ÃÁöµéÀ» À§ÇÑ »óÅ º¯ÈµéÀ» ¾Ë¸®´Â ºñÆ® ¹è¿À» ÁöÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â LINEDEVSTATE »ó¼öµéÀ» »ç¿ëÇÑ´Ù. ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
-
ulAddressStates
-
NDISTAPI¿¡ ÀûÇÕÇÑ ÅëÁöµéÀ» º¸³»±â À§Çؼ ¸ð´ÏÅÍÇØ¾ßÇÏ´Â ¹Ì´ÏÆ÷Æ®ÀÇ »óÅ º¯ÈµéÀ» ¾Ë¸®´Â ºñÆ® ¹è¿À» ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº LINEADDRESSSTATE Ç÷¡±×ÀÇ ORed Á¶ÇÕÀÌ´Ù. ¼¼ºÎÀûÀÎ °ÍÀº ndistapi.h À» ºÁ¶ó.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_SET_MEDIA_MODE ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALLINEHANDLE
NDIS_STATUS_TAPI_INVALLINESTATE
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_ACCEPT
ÀÌ OID ´Â ÁöÁ¤µÈ È£ÃâÀ» ¼ö¶ôÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù. Ãß°¡ÀûÀ¸·Î, ±×°ÍÀº ¹Ì´ÏÆ÷Æ®°¡ ÁöÁ¤µÈ »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸¸¦ È£Ãâ ÆÄÆ¼¿¡°Ô º¸³»´Â °ÍÀ» ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Ãß°¡ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_ACCEPT ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_ACCEPT {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulUserUserInfoSize;
IN UCHAR UserUserInfo[1];
} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
¼ö¶ôµÉ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. µå¶óÀ̹ö´Â LINE_EVENT_NEWCALL ¾Ë¸²À¸·Î NdisMIndicateStatus ¸¦ È£ÃâÇÒ ¶§ ÀÌ ÇÚµéÀ» ¼³Á¤ÇÑ´Ù.
-
ulUserUserInfoSize
-
UserUserInfo¿¡ ÀÖ´Â »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸ÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ÀÌ ¸â¹ö°¡ 0À̸é, ¹Ì´ÏÆ÷Æ®´Â ´ÙÀ½ ¸â¹ö¸¦ ¹«½ÃÇØ¾ß ÇÑ´Ù.
-
UserUserInfo
-
È£Ãâ-¼ö¶ô ¿¬»êÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¸®¸ðÆ® ÆÄƼ¿¡ º¸³»Áú »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ½ºÆ®¸µÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ-to-»ç¿ëÀÚ Á¤º¸´Â ¸¸¾à ¾Æ·¡ÀÇ ³×Æ®¿öÅ©·ÎºÎÅÍ Áö¿øµÈ´Ù¸é º¸³»Áø´Ù(OID_TAPI_GET_DEV_CAPS ¸¦ ºÁ¶ó).
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_TAPI_USERUSERINFOTOOBIG
NDIS_STATUS_FAILURE
OID_TAPI_DIAL
ÀÌ OID´Â ÁöÁ¤µµ È£Ãâ»ó¿¡ ÀÖ´Â ÁöÁ¤µÈ ¹øÈ£¿¡ ´ÙÀ̾óÇÒ °ÍÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡ ´ëÇÑ Áö¿øÀº Ãß°¡ÀûÀÌ´Ù.
ÀÌ ¿äûÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ NDIS_TAPI_DIAL ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.:
typedef struct _NDIS_TAPI_DIAL {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulDestAddressSize;
IN CHAR szDestAddress[1];
} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
´ÙÀ̾óÇØ¾ßÇÒ È£Ãâ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÚµéÀº ¾ÕÀÇ OID_TAPI_MAKE_CALL ¿äû¿¡¼ ¼³Á¤µÈ´Ù.
-
ulDestAddressSize
-
´ÙÀ½ ¸â¹ö¿¡ ÀÖ´Â ÁÖ¼ÒÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù.
-
szDestAddress
-
Ç¥ÁØ dialable ³Ñ¹ö Æ÷¸ä¿¡¼ ´ÙÀ̾óµÉ ¸ñÀûÁö¸¦ ÁöÁ¤ÇÑ´Ù.
MiniportSetInformation ÇÔ¼ö´Â ¾Æ·¡ÁßÀÇ Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.;
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALADDRESS
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_ADDRESSBLOCKED
NDIS_STATUS_TAPI_DIALBILLING
NDIS_STATUS_TAPI_DIALQUIET
NDIS_STATUS_TAPI_DIALDIALTONE
NDIS_STATUS_TAPI_DIALPROMPT
NDIS_STATUS_TAPI_OPERATIONUNAVAIL
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SECURE_CALL
ÀÌ OID´Â ¹Ì´ÏÆ÷Æ®¿¡°Ô È£ÃâÀÇ ¹Ìµð¾î ½ºÆ®¸²¿¡ ¿µÇâÀ» ³¢Ä¥¼ö ÀÖ´Â ÀÎÅÍ·´¼Ç ȤÀº Ãæµ¹·ÎºÎÅÍÀÇ Æ¯Á¤ÇÑ È£ÃâÀ» º¸È£Çϵµ·Ï ¿äûÇÑ´Ù.
ÀÌ ¿äû¿¡´ëÇÑ Áö¿øÀº Ãß°¡ÀûÀΰÍÀÌ´Ù.
ÀÌ ¿äûÀº ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ NDIS_TAPI_SECURE_CALL±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.
typedef struct _NDIS_TAPI_SECURE_CALL {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
-
ulRequestID
-
¿¹¾àµÊ.
-
hdCall
-
º¸È£µÉ È£Ãâ¿¡´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
MiniportSetInformationÇÔ¼ö´Â ´ÙÀ½Áß Çϳª¸¦ ¸®ÅÏÇÒ¼ö ÀÖ´Ù.:
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_OPERATIONUNAVAIL
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SELECT_EXT_VERSION
ÀÌ OID´Â ¹Ì´ÏÆ÷Æ®°¡ ÀεðÄÉÀÌÆ®µÈ ¶óÀÎ ÀåÄ¡¸¦ À§ÇØ ÀεðÄÉÀÌÆ®µÈ È®Àå ¹öÀüÀ» ¼±ÅÃÇϵµ·Ï ¿ä±¸ÇÑ´Ù. ¶óÀο¡¼ °è¼ÓÀûÀÎ ¿ä±¸µéÀº ¼±ÅÃµÈ È®Àå ¹öÀü¿¡ µû¶ó ¿î¿µÇÑ´Ù.
ÀÌ·¯ÇÑ ¿ä±¸¸¦ À§ÇÑ Áö¿øÀº ¼±ÅÃÀûÀÌ´Ù.
ÀÌ·¯ÇÑ ¿ä±¸´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵÈ, NDIS_TAPI_SELECT_EXT_VERSION ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.
typedef struct _NDIS_TAPI_SELECT_EXT_VERSION {
IN ULONG ulRequestID;
IN HDRV_LINE hdLine;
IN ULONG ulExtVersion;
} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½°ú °°Àº Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
-
ulRequestID
-
¿¹¾à
-
hdLine
-
È®Àå ¹öÀüÀÌ ¼±ÅÃµÈ ¶óÀο¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
ulExtVersion
-
¼±ÅÃµÈ È®Àå ¹öÀüÀ» ÁöÁ¤ÇÑ´Ù. °¡Àå Å« 2 ¹ÙÀÌÆ®´Â ¸ÞÀÌÀú ¹öÀü ³Ñ¹ö¸¦ ÁöÁ¤Çϰí ÀÛÀº ÀǹÌÀÖ´Â µÎ ¹ÙÀÌÆ®´Â ¸¶ÀÌ³Ê ¹öÀü ³Ñ¹ö¸¦ ÁöÁ¤ÇÑ´Ù. 0Àº ¹Ì´ÏÆ÷Æ®°¡ Çö ¼±ÅÃÀ» Ãë¼ÒÇØ¾ß ÇÑ´Ù´Â °ÍÀ» °¡¸®Å²´Ù.
ÀÌ ¹öÀüÀº ¼±Çà OID_TAPI_NEGOTIATE_EXT_VERSION ¿ä±¸¿¡¼ Çù»óµÇ¾îÁø´Ù.
MiniportSetInformation ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION
NDIS_STATUS_TAPI_OPERATIONUNAVAIL
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
OID_TAPI_SEND_USER_USER_INFO
ÀÌ OID´Â ¹Ì´ÏÆ÷Æ®¿¡°Ô ƯÁ¤ ÄÝ¿¡¼ ¸®¸ðÆ® ÆÄƼ¿¡°Ô »ç¿ëÀÚ ´ë »ç¿ëÀÚ Á¤º¸¸¦ º¸³»µµ·Ï ¿ä±¸ÇÑ´Ù.
ÀÌ·¯ÇÑ ¿ä±¸¸¦ À§ÇÑ Áö¿øÀº ¼±ÅÃÀûÀÌ´Ù.
ÀÌ·¯ÇÑ ¿ä±¸´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÈ NDIS_TAPI_SEND_USER_USER_INFO ±¸Á¶Ã¼¸¦ »ç¿ëÇÑ´Ù.
typedef struct _NDIS_TAPI_SEND_USER_USER_INFO {
IN ULONG ulRequestID;
IN HDRV_CALL hdCall;
IN ULONG ulUserUserInfoSize;
IN UCHAR UserUserInfo[1];
} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;
|
ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ´ÙÀ½ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
-
ulRequestID
-
¿¹¾à
-
hdCall
-
user-to-user Á¤º¸¸¦ º¸³»´Â ÄÝ¿¡ ´ëÇÑ ¹Ì´ÏÆ÷Æ®ÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
-
UserUserInfo
-
ÄÝ ¼ö¶ô ¿¬»êÀÇ ºÎºÐÀ¸·Î ¸®¸ðÆ® ÆÄƼ·Î º¸³»Áø »ç¿ëÀÚ´ë»ç¿ëÀÚ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿À» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ´ë»ç¿ëÀÚ Á¤º¸´Â ¸¸¾à ¾Æ·¡ ³×Æ®¿öÅ©¿¡ ÀÇÇØ Áö¿øµÈ´Ù¸é, º¸³»¾îÁø´Ù. (OID_TAPI_GET_DEV_CAPS¸¦ ºÁ¶ó)
MiniportSetInformation ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.
NDIS_STATUS_SUCCESS
NDIS_STATUS_PENDING
NDIS_STATUS_TAPI_INVALCALLHANDLE
NDIS_STATUS_TAPI_INVALCALLSTATE
NDIS_STATUS_TAPI_USERUSERINFOTOOBIG
NDIS_STATUS_TAPI_OPERATIONUNAVAIL
NDIS_STATUS_TAPI_RESOURCEUNAVAIL
NDIS_STATUS_FAILURE
|