NdisMCmCreateVc

NDIS_STATUS

  NdisMCmCreateVc(

    IN NDIS_HANDLE  MiniportAdapterHandle,

    IN NDIS_HANDLE  NdisAfHandle,

    IN NDIS_HANDLE  MiniportVcContext,

    OUT PNDIS_HANDLE  NdisVcHandle

    );

NdisMCmCreateVcÇÔ¼ö´Â MCM¹Ì´ÏÆ÷Æ®°¡ µé¾î¿À´Â È£Ãâ Á¦¾ÈÀ» Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü´ÞÇϴ°Ϳ¡´ëÇÑ ¿¬°á ¿£Æ®Æ÷ÀÎÆ®¸¦ ¼³Á¤ÇÑ´Ù.

¸Å°³º¯¼ö

MiniportAdapterHandle
MiniportInitialize¿¡´ëÇÑ Ã³À½ ÀÔ·Â NDISÁ¦°ø ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

NdisAfHandle
µé¾î¿À´Â È£ÃâÀÇ Å¸°ÙÀΠŬ¶óÀÌ¾ðÆ®¸¦ È®ÀÎÇÏ´Â ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. MCMµå¶óÀ̹ö´Â ÀÌ ÇÚµéÀ» ProtocolCmOpenAfÇÔ¼öÀÇ ÀÔ·Â ÆÄ¶ó¹ÌÅÍ·Î½á ¾ò´Â´Ù.

MiniportVcContext
MCMµå¶óÀ̹ö°¡ ÀÌ VC¿¡´ëÇÑ »óŸ¦ À¯ÁöÇϴ ȣÃâÀÚ Á¦°ø »óÁÖ ÄÁÅØ½ºÆ® ¿µ¿ª¿¡´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à NdisMCmCreateVcÇÔ¼ö¿¡´ëÇÑ È£ÃâÀÌ ¼º°øÀûÀ̶ó¸é, NDIS´Â ÀÌ ÇÚµéÀ» ´Ù½Ã ÀÌ VC¿Í °ü°èµÈ ¸ðµç ¼øÂ÷ÀûÀΠȣÃâµé¿¡¼­ÀÇ MCM¹Ì´ÏÆ÷Æ®¿¡°Ô ³Ñ±ä´Ù.

NdisVcHandle
NdisMCmCreateVcÇÔ¼ö°¡ È£ÃâµÇ±âÀü¿¡ NULL·Î ÃʱâÈ­µÇ¾î¾ß¸¸Çϴ ȣÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù. ¼º°øÀûÀΠȣÃâ·ÎºÎÅÍ ¸®ÅϵÇÀÚ¸¶ÀÚ, ÀÌ º¯¼ö´Â »õ·Ó°Ô »ý¼ºµÈ VC¿¡´ëÇÑ NDISÁ¦°ø ÇÚµé·Î ¼³Á¤µÇ¾î¾ß¸¸ ÇÑ´Ù. È£ÃâÀÚ´Â ÀÌ VC¿Í °ü°èµÈ ¿¬°áÁöÇâ NdisXxxÇÔ¼öµé¿¡´ëÇÑ ¼øÂ÷ÀûÀΠȣÃâ¿¡´ëÇÑ ÀÌ ÇÚµéÀ» ÀúÀåÇÑ´Ù.

¸®Åϰª

NdisMCmCreateVcÇÔ¼ö´Â ´ÙÀ½Áß Çϳª¸¦ ¸®ÅÏÇÑ´Ù.:

NDIS_STATUS_SUCCESS
NDIS°¡ ¼º°øÀûÀ¸·Î VC¸¦ ¸¸µé¾úÀ»¶§.

NDIS_STATUS_RESOURCES
NDIS°¡ VC¸¦ ¼³Á¤ÇϱâÀ§ÇÑ ÃæºÐÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏÁö ¸øÇÒ¶§.

NDIS_STATUS_FAILURE
ÁÖ¾îÁø NdisAfHandle°¡ ¹«È¿ÇÒ¶§.

NDIS_STATUS_XXX
Ŭ¶óÀÌ¾ðÆ®´Â ¸î°¡Áö ÀÌÀ¯·Î VCÀÇ »ý¼º¿¡ ½ÇÆÐÇϰí, NDIS´Â ProtocolCoCreateVcÇÔ¼ö¿¡ÀÇÇØ ¸®ÅÏµÈ ¿¡·¯ »óŸ¦ MCMµå¶óÀ̹ö¿¡°Ô Àü´ÞÇÑ´Ù.

ÁÖ¼®

MCMµå¶óÀ̹ö´Â ÀÌ¹Ì MCMµå¶óÀ̹ö·Î µî·ÏµÈ SAP¿¡°Ô ´ÙÀÌ·ºÆ®µÈ ¸®¸ðÆ® ³ëµå·ÎºÎÅÍ ¿¬µé¾î¿À´Â ¿¬°á Á¦¾ÈÀ» ³ªÅ¸³»±âÀ§ÇØ NdisMCmCreateVcÇÔ¼ö·Î VC¸¦ »ý¼ºÇÑ´Ù.

VC»ý¼º°úÁ¤¿¡¼­, NDIS´Â NdisVcHandleÀ» Ŭ¶óÀÌ¾ðÆ®¿Í MCM¹Ì´ÏÆ÷Æ®¿¡°Ô Àü´ÞÇÑ´Ù. ÀÌ ÇÚµéÀº ÁÖ¾îÁø VC¿Í °ü°èµÈ ¼øÂ÷ÀûÀÎ ¿äûµéÀÌ ´ÙÀÌ·ºÆ®µÇ±âÀ§ÇÑ Å¬¶óÀÌ¾ðÆ®¿Í ¹Ì´ÏÆ÷Æ®¿¡´ëÇÑ °¡»ó ¿¬°áÀ» È®ÀÎÇÑ´Ù.

ÀϹÝÀûÀ¸·Î, NdisMCmCreateVcÇÔ¼öÀÇ È£ÃâµéÀº ¸®ÅÏµÈ NdisVcHandleÀ» È£ÃâÀÚ ÇÒ´ç »óÅ¿µ¿ªÀÎ MiniportVcContext¿¡ ÀúÀåÇÑ´Ù. NDIS´Â MCMµå¶óÀ̹ö°¡ VC¸¦ »ý¼ºÇÒ¶§¸¶´Ù, NdisVcHandleÀ» ÀÔ·ÂÆÄ¶ó¹ÌÅͷνá ÀûÀýÇÑ Å¬¶óÀ̾ðÆ®ÀÇ ProtocolCoCreateVcÇÔ¼ö¿¡°Ô ³Ñ±ä´Ù.

MCMµå¶óÀ̹ö°¡ µî·ÏµÈSAPµéÁß Çϳª¸¦ ´ÙÀÌ·ºÆ®ÇÏ´Â µé¾î¿À´Â È£ÃâÀÇ Á¦¾ÈÀ» ó¸®ÇÒ¶§, ¿ì¼± NdisMCmCreateVc¸¦ È£ÃâÇØ¾ß¸¸ ÇÑ´Ù. µ¿±âÀûÀÎ ¿¬»êÀ¸·Î½á, NDIS´Â NdisMCmCreateVcÇÔ¼ö°¡ ÄÁÃß·²À» ¸®ÅÏÇϱâÀü¿¡ Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolCoCreateVcÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¸¸¾à NdisMCmCreateVcÇÔ¼ö¿¡´ëÇÑ È£ÃâÀÌ ¼º°øÀ̶ó¸é, MCM¹Ì´ÏÆ÷Æ®´Â ÀûÀýÇÑ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸®¸é¼­, ¸®ÅÏµÈ °ªÀ» NdisMCmDispatchIncomingCallÇÔ¼öÀÇ NdisVcHandle¿¡ ³Ñ±æ¼ö ÀÖ´Ù.

µå¶óÀ̹ö °³¹ßÀÚ´Â MCM¹Ì´ÏÆ÷Æ®°¡ (³»ºÎÀûÀ¸·Î) µå¶óÀ̹ö°¡ ³ª°¡°í µé¾î¿À´Â È£Ãâµé¿¡´ëÇÑ ¿¬°áÀ» ¼³Á¤ÇÏ´Â ÄÁÅØ½º³»¿¡¼­ È£ÃâÇÏ´Â MiniportCoCreateVcÇÔ¼ö¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ °áÁ¤ÇÑ´Ù.

´ÜÁö ÅëÇÕÀûÀÎ ÄÝ ¸Å´ÏÁö¸ÕÆ®¸¦ Á¦°øÇÏ´Â ¿¬°áÁöÇâ ´Ð µå¶óÀ̹öµé¸¸ÀÌ NdisMCmCreateVcÇÔ¼ö¸¦ È£ÃâÇÒ¼ö ÀÖ´Ù. ½º½º·Î¸¦ NDIS¿¡°Ô ÇÁ·ÎÅäÄÝ·Î½á µî·ÏÇÏ´Â µ¶¸³ÀûÀÎ ÄݸŴÏÀú¿Í Ŭ¶óÀÌ¾îÆ®µéÀº ´ë½Å NdisCoCreateVcÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

NdisMCmCreateVcÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿ÀÛ µÉ ¼ö ÀÖ´Ù.