NdisMAllocateSharedMemoryAsync

NDIS_STATUS

  NdisMAllocateSharedMemoryAsync(

    IN NDIS_HANDLE  MiniportAdapterHandle,

    IN ULONG  Length,

    IN BOOLEAN  Cached,

    IN PVOID  Context

    );

º¸Åë ¹Ì´ÏÆ÷Æ®°¡ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â NIC ¸®½Ãºê ¹öÆÛ°¡ ÀúÁ¶ÇÒ ¶§ NdisMAllocateSharedMemoryAsync ÇÔ¼ö´Â ¹Ì´ÏÆ÷Æ®¿Í ¹ö½º¸¶½ºÅÍ DMA NIC »çÀÌ¿¡ °øÀ¯µÈ Ãß°¡ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÑ´Ù.

¸Å°³º¯¼ö

MiniportAdapterHandle
MiniportInitialize·Î µé¾î¿À´Â ¿ø·¡ÀÇ ÇÚµéÀ» ¼­¼úÇÑ´Ù..

Length
ÇÒ´çÇÒ ¹ÙÀÌÆ® ¼ö¸¦ ¼­¼úÇÑ´Ù.

Cached
¸Þ¸ð¸®°¡ ij½¬µÉ ¼ö ÀÖ´Ù¸é TRUE¸¦ ¼­¼úÇÑ´Ù.

Context
MiniportAllocateComplete ÇÔ¼ö°¡ È£ÃâµÉ ¶§ MiniportAllocateComplete ÇÔ¼ö·Î ÀüÇØÁö´Â µå¶óÀ̹ö°¡ °áÁ¤ÇÑ ÄÁÅØ½ºÆ®¸¦ °¡¸®Å²´Ù.

¸®Åϰª

´ÙÀ½Áß Çϳª¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù:

NDIS_STATUS_PENDING
È£ÃâÀÚÀÇ MiniportAllocateComplete ÇÔ¼ö´Â ¸ÊµÈ °¡»óÀÇ ±×¸®°í ÀåÄ¡¿¡ Á¢±Ù °¡´ÉÇÑ °øÀ¯ ¸Þ¸ð¸® ¹üÀ§¿¡ ´ëÇÑ ³í¸® ±âº» ÁÖ¼ÒµéÀ» °¡Áö°í È£ÃâµÈ´Ù. ¿©±â¼­ ¹üÀ§´Â ¿äûµÈ ¸Þ¸ð¸®°¡ ÇÒ´çµÆÀ» ¶§ ±×°ÍÀÇ ±æÀÌ¿Í ÄÁÅØ½ºÆ®ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. ¹Ý¸é¿¡ MiniportAllocateComplete ÇÔ¼ö´Â °øÀ¯ ¸Þ¸ð¸®ÀÇ ÇÒ´ç ½Ãµµ°¡ ½ÇÆÐÇÒ °æ¿ì NULL Æ÷ÀÎÅ͸¦ °¡Áö°í È£ÃâµÈ´Ù.

NDIS_STATUS_FAILURE
ÀÌ °æ¿ì ¿äûµÈ ¸Þ¸ð¸®´Â ÇÒ´çµÉ ¼ö ¾ø´Ù. NdisMAllocateSharedMemoryAsync ÇÔ¼ö°¡ ÀÌ »óŸ¦ ¸®ÅÏÇÑ´Ù¸é, ¶È°°Àº ÆÄ¶ó¹ÌÅ͸¦ °®´Â ´ÙÀ½ È£ÃâÀº ¼º°øÇÒÁöµµ ¸ð¸¥´Ù. ÀÌ´Â ½Ã½ºÅÛ ¸®¼Ò½ºÀÇ »ç¿ë°¡´É ¿©ºÎ¿¡ ´Þ·ÁÀÖ´Ù.

ÁÖ¼®

³ôÀº ³×Æ®¿öÅ© Æ®·¡ÇÈÀÌ µå¶óÀ̹ö°¡ ÃʱâÈ­ µ¿¾È¿¡ ÇÒ´çÇÑ °øÀ¯ ¸Þ¸ð¸® °ø°£¿¡ °úµµÇÑ ¿ä±¸¸¦ ÇÒ ¶§ ¹ö½º¸¶½ºÅÍ DMA NICÀÇ µå¶óÀ̹ö´Â Àü´Þ±â´É¿¡ ´ëÇÑ °øÀ¯ ¸Þ¸ð¸®¸¦ µ¿ÀûÀ¸·Î ÇÒ´çÇϱâ À§ÇØ NdisMAllocateSharedMemoryAsync¸¦ È£ÃâÇÑ´Ù.

±×·¯ÇÑ NIC µå¶óÀ̹ö´Â µé¾î¿À´Â Àü´Þ¿¡ ´ëÇØ »ç¿ë°¡´ÉÇÑ °øÀ¯ ¸Þ¸ð¸® ¹öÆÛÀÇ ¼ö¸¦ ±â·ÏÇϱâ À§ÇØ º¸Åë Çϳª³ª ±× ÀÌ»óÀÇ »óÅ º¯¼ö¸¦ À¯ÁöÇÑ´Ù. »ç¿ë°¡´ÉÇÑ ¹öÆÛÀÇ ¼ö°¡ µå¶óÀ̹ö °áÁ¤ Low ÀÏ ¶§, ¹Ì´ÏÆ÷Æ®´Â °øÀ¯ ¸Þ¸ð¸® °ø°£¿¡ ±× ÀÌ»óÀÇ ¹öÆÛ °ø°£À» ÇÒ´çÇϱâ À§ÇØ NdisMAllocateSharedMemoryAsync ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. »ç¿ë°¡´ÉÇÑ ¹öÆÛÀÇ ¼ö°¡ µå¶óÀ̹ö °áÁ¤ highÀÏ ¶§, ¹Ì´ÏÆ÷Æ®´Â ÀÌÀü µ¿Àû ÇÒ´ç¿¡ ´ëÇÑ ÇØÁ¦·Î NdisMFreeSharedMemory ÇÔ¼ö¸¦ ¿©·¯¹ø È£ÃâÇÑ´Ù.

º¸Åë ±×·¯ÇÑ µå¶óÀ̹ö´Â MiniportHalt ÇÔ¼ö°¡ È£ÃâµÆ¿ï ¶§ MiniportInitialize ÇÔ¼ö°¡ NdisMAllocateSharedMemory ÇÔ¼ö¸¦ °¡Áö°í ÇÒ´çÇß´ø °øÀ¯ ¸Þ¸ð¸® ºí·°À» NICÀÌ Á¦°ÅµÉ ¶§±îÁö À¯ÁöÇÑ´Ù. ÀÌ ÇÒ´çÀº NICÀ» ÅëÇÑ Àü´Þ¿¡ ´ëÇÑ Æò±ÕÀû ¿ä±¸¸¦ ó¸®Çϱ⿡´Â ÃæºÐÇÏ´Ù.

NdisMAllocateSharedMemoryAsyncÀ̳ª NdisMAllocateSharedMemory ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¾î¶² ¹Ì´ÏÆ÷Æ®´Â NICÀ» Á¦°ÅÇÒ ¶§ ¿©·¯¹øÀÇ NdisMFreeSharedMemory ÇÔ¼ö È£ÃâÀ» ÅëÇØ¼­ ¹ÌÇØ°áÀÇ ¸ðµç ÇÒ´çÀ» ÇØÁ¦ÇؾßÇÑ´Ù.

NdisMAllocateSharedMemoryAsync ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ ½ÇÇàÇÑ´Ù.