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¿¡¼ µ¿ÀÛ µÉ¼ö ÀÖ´Ù.
|