NdisClRegisterSap

NDIS_STATUS

  NdisClRegisterSap(

    IN NDIS_HANDLE  NdisAfHandle,

    IN NDIS_HANDLE  ProtocolSapContext,

    IN PCO_SAP  Sap,

    OUT PNDIS_HANDLE  NdisSapHandle

    );

NdisClRegisterSapÇÔ¼ö´Â Ŭ¶óÀÌ¾ðÆ®°¡ ¸®¸ðÆ® ³ëµå·ÎºÎÅÍ µé¾î¿À´Â È£ÃâµéÀ» ¹ÞÀ»¼ö Àִ°Ϳ¡¼­ SAP¸¦ µî·ÏÇÑ´Ù.

¸Å°³º¯¼ö

NdisAfHandle
NdisClOpenAddressFamily¿¡ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. À̰ÍÀº SAP¸¦ µî·ÏÇϱâÀ§ÇØ ÄÝ ¸Å´ÏÀú¸¦ Àý´ëÀûÀ¸·Î È®ÀÎÇÑ´Ù.

ProtocolSapContext
Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ ¿­·ÁÁøSAP¿¡´ëÇÑ »óŸ¦ À¯ÁöÇϴ°Ϳ¡´ëÇÑ È£ÃâÀÚ Á¦°ø »óÁÖ ÄÁÅýºÆ® ¿µ¿ª¿¡´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à NdisClRegisterSap¿¡´ëÇÑ È£ÃâÀÌ ¼º°øÇÑ´Ù¸é NDIS´Â ÀÌÇÚµéÀ» ´Ù½Ã ÀÌ SAP¿¡ °üÇÑ ¼øÂ÷ÀûÀΠȣÃâµé³»ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ³Ñ±ä´Ù.

Sap
CO_SAPŸÀÔ ±¸Á¶Ã¼·Î½á Çü¼ºµÈ ¿­·ÁÁø SAP¿¡´ëÇÑ È£ÃâÀÚ Á¦°ø Ư¼º¿¡´ëÇÑ Æ÷ÀÎÅÍ.

NdisSapHandle
ÀÌ È£ÃâÀÌ ¼º°øÇÑ´Ù¸é »õ·Ó°Ô µî·ÏµÈ SAP¿¡´ëÇÑ ÇÚµéÀÌ ¸®ÅÏµÈ °Í¿¡´ëÇÑ º¯¼öÀÇ Æ÷ÀÎÅÍ.

¸®Åϰª

NdisClRegisterSapÇÔ¼ö´Â NDIS_STATUS_PENDINGÀÌ¿ÜÀÇ ´Ù¸¥ °ÍÀ» ¸®ÅÏÇÒ¶§, Ŭ¶óÀÌ¾ðÆ®´Â ProtocolClRegisterSapCompleteÇÔ¼ö¿¡´ëÇÑ ³»ºÎÀûÀΠȣÃâÀ» ¸¸µé¾î¾ß¸¸ÇÑ´Ù. ±×·¸Áö ¾ÈÀ¸¸é, NDIS´Â ÀÌ ¿¬»êÀÌ ¿Ï·áµÆÀ»¶§, Ŭ¶óÀ̾ðÆ®ÀÇProtocolClRegisterSapCompleteÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

ÁÖ¼®

NdisClRegisterSapÀÇ È£Ãâ·Î, Ŭ¶óÀÌ¾ðÆ®´Â Æ¯º°ÇÑ SAP¿¡´ëÇÑ µé¾î¿À´Â È£ÃâÀÇ ¾Ë¸²À» ¿äûÇÑ´Ù. NDIS´Â ÁÖ¾îÁø SAPÁ¤º¸¸¦ ÄÝ ¸Þ´ÏÀúÀÇ ProtocolCmRegisterSapÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¸¸¾à ÁÖ¾îÁø SAP°¡ ÀÌ¹Ì »ç¿ë ÁßÀ̰ųª ÄÝ ¸Þ´ÏÀú°¡ SAP¿¡¼­ Ŭ¶óÀÌ¾ðÆ® Á¦°ø Ư¼ºÀ» ÀνÄÇÏÁö ¾Ê´Â´Ù¸é, ÄÝ ¸Å´ÏÀú´Â ÀÌ ¿äûÀ» ½ÇÆÐÇÑ´Ù.

SAPÆ÷¸ËÀº ¹Ìµð¾ö-ÀÇÁ¸À̰í ÄÝ ¸Å´ÏÀú¿¡ÀÇÇØ Áö¿øµÇ´Â ¾îµå·¹½º ÆÐ¹Ð¸®¸¦ ÁöÁ¤ÇÑ´Ù. À̰ÍÀº SAPµéÀ» ¼øÂ÷ÀûÀ¸·Î ÀûÀýÇÑ Å¬¶óÀÌ¾ðÆ®¿¡°Ô µé¾î¿À´Â È£Ãâ¿¡°Ô µî·ÏÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ´Ù¸¥ ³×Æ®¿÷ ÄÄÆ÷³ÍÆ®µé°úÀÇ ¸¶ÁÖħ¾øÀÌ, ÇÏÀ§ ¹Ìµð¾ö¿¡ ÀÇÁ¸Çϴ°;øÀÌ ¼º¸³µÈ PVCµé¿¡´ëÇÑ SAPµéÀ» µî·ÏÇÒ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î ¸¸¾à NdisClRegisterSap¿¡°Ô ÁÖ¾îÁø SAPƯ¼ºÀÌ Çϳª ȤÀº ATM ÄÝ ¸Å´ÏÀú¿¡ÀÇÇØ ÀÌ¹Ì ¼³Á¤µÈ ±×ÀÌ»óÀÇ PVC¸¦ ¸ÅÄ¡ÇÑ´Ù¸é, Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ·¯ÇÑ PVCµé¿¡´ëÇÑ µé¾î¿À´Â È£ÃâÀ» Áï½Ã ¹ÞÀ»¼ö ÀÖ´Ù. ½ÉÁö¾î SAPµî·ÏÀÌ ¿©ÀüÈ÷ ÆÒµùÀϵ¿¾È¿¡Á¶Â÷.

¸¸¾à NdisClRegisterSapÇÔ¼öÀÇ È£ÃâÀÌ ¼º°øÀ̶ó¸é, Ŭ¶óÀÌ¾ðÆ®´Â NdisSapHandle¿¡ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤Çؾ߸¸ÇÑ´Ù. ¿Ö³ÄÇϸé NdisClDeregisterSap¿¡´ëÇÑ ¿ä±¸µÈ ÆÄ¶ó¹ÌÅÍÀ̱⠶§¹®ÀÌ´Ù. NdisClRegisterSapÀÇ È£ÃâÀÚ´Â ÀϹÝÀûÀ¸·Î Æ÷ÀÎÅ͸¦ ProtocolSapContext¿¡ Ŭ¶óÀÌ¾ðÆ® ÇÒ´ç »óÅ ¿µ¿ª³»ÀÇ º¯¼ö¿¡ ³Ñ°Ü¼­ ¸¸¾à ÀÌ È£ÃâÀÌ ¼º°øÇÑ´Ù¸é NDIS°¡ ±×°ÍÀ» NdisSapHandle¿¡°Ô ¼³Á¤ÇÒ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ NdisClDeregisterSapÇÔ¼ö¸¦ È£ÃâÇÒ¶§±îÁö, NDIS´Â ÁÖ¾îÁø ProtocolSapContext¸¦ ÀÌ SAP¿¡ °üÇÑ ¸ðµç ¼øÂ÷ÀûÀΠȣÃâµé³»¿¡ Ŭ¶óÀ̾ðÆ®ÀÇ µî·ÏµÈ ProtocolCl/CoXxxÇÔ¼ö¿¡°Ô ³Ñ±ä´Ù.

ÀϹÝÀûÀ¸·Î, Ŭ¶óÀÌ¾ðÆ®´Â NdisClOpenAddressFamilyÇÔ¼öÀÇ ¼º°øÀûÀΠȣÃâÀ» µû¸£´Â ProtocolAfRegisterNotifyÇÔ¼ö·Î ºÎÅÍ NdisClRegisterSapÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÇϳªÈ¤Àº ±×ÀÌ»óÀÇ SAPµéÀ» µî·ÏÇϴ°ÍÀº Ŭ¶óÀÌ¾ðÆ®°¡ ÄÝ ¸Å´ÏÀú°¡ ³×Æ®¿÷»óÀ¸·Î µé¾î¿À´Â È£ÃâÀ» ¹ÞÀÚ¸¶ÀÚ µé¾î¿À´Â È£ÃâÀ» ¹Þµµ·Ï ÇÑ´Ù.

Ŭ¶óÀÌ¾ðÆ®°¡ ÃʱâÈ­ÇÑ ³ª°¡´Â È£Ãâ°ú´Â ´ëÁ¶ÀûÀ¸·Î, Ŭ¶óÀÌ¾ðÆ®´Â NdisClRegisterSapÀ» È£ÃâÇϱâÀü¿¡, NdisCoCreateVcÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê´Â´Ù. µé¾î¿À´Â È£Ãâ¿¡´ëÇØ, ÄÝ ¸Å´ÏÀú´Â VCÀÇ »ý¼ºÀ» ÃʱâÈ­ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ:

  • µî·ÏµÈ SAP¿¡´ëÇÑ µé¾î¿À´Â È£ÃâÀÇ ¼ö½Å¿¡´ëÇØ, ÄÝ ¸Å´ÏÀú´Â ¿ì¼± NDIS·Î ÇÏ¿©±Ý Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolCoCreateVcÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÏ´Â NdisCoCreateVcÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
  • VC°¡ ¼³Á¤µÇ°í Ȱ¼ºÈ­ µÉ¶§, ÄÝ ¸Þ´ÏÀú´Â NDIS·Î ÇÏ¿©±Ý Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCallÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÏ´Â NdisCmDispatchIncomingCallÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
NdisClRegisterSapÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿ÀÛ µÉ¼ö ÀÖ´Ù.