NdisMCompleteDmaTransfer
VOID
NdisMCompleteDmaTransfer(
OUT PNDIS_STATUS Status,
IN NDIS_HANDLE MiniportDmaHandle,
IN PNDIS_BUFFER Buffer,
IN ULONG Offset,
IN ULONG Length,
IN BOOLEAN WriteToDevice
);
|
NdisMCompleteDmaTransfer´Â ½Ã½ºÅÛ DMA Àü¼Û ¿¬»êÀ» ¿Ï¼ºÇÏ´Â °ÍÀ» °¡¸®Å²´Ù. DMA Àü¼ÛµéÀ» À§ÇØ ÁغñÁßÀÎ ½Ã½ºÅÛ DMA ÄÁÆ®·Ñ·¯¸¦ ¸®¼ÂÇÑ´Ù.
¸Å°³º¯¼ö
- Status
- ´ÙÀ½°ú °°Àº Çϳª°¡ µÉ ¼ö ÀÖ´Ù. ÀÌ ÇÔ¼ö°¡ DMA Àü¼ÛÀÇ ¸¶Áö¸· »óÅ·Π¸®ÅÏÇϴ ȣÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.
- NDIS_STATUS_SUCCESS
- µ¥ÀÌÅͰ¡ µ¥ÀÌÅÍ ¹«°á¼ºÀ» À¯ÁöÇϱâ À§ÇØ ÀåÄ¡¿Í È£½ºÆ® ¸Þ¸ð¸®¿¡ Ç÷¯½¬¿Í Àü¼ÛÀÌ µÇ¾îÁø´Ù.
- NDIS_STATUS_RESOURCES
- DMA ÄÁÆ®·Ñ·¯´Â ÇØÁ¦µÇÁö¸¸Àº µ¥ÀÌÅÍ Àü¼ÛÀº Èð¾îÁ® ÀÖÀ» °ÍÀÌ´Ù.
- MiniportDmaHandle
- MiniportInitialize°¡ NdisMRegisterDmaChannel¸¦ È£ÃâÇÒ ¶§ ¸®ÅϵǾîÁö´Â ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
- Buffer
- Àü¿¡ NdisMSetupDmaTransfer¿¡ Àü´ÞµÈ ¹öÆÛ µð½ºÅ©¸³Å͸¦ °¡¸®Å²´Ù.
- Offset
- Àü¼ÛÀÌ ½ÃÀ۵Ǵ ½ÃÁ¡¿¡¼ ¹ÙÀÌÆ® ¿É¼ÂÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº ¶ÇÇÑ NdisMSetupDmaTransfer·Î Àü´ÞµÇ¾îÁø´Ù.
- Length
- Àü¼ÛÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ °ªÀº ¶ÇÇÑ NdisMSetupDmaTransfer·Î Àü´ÞµÇ¾îÁø´Ù.
- WriteToDevice
- ¸¸¾à Àü¼ÛÀÌ ¿¹¸¦ µé¾î º¸³»±â ¿¬»êÀ¸·Î È£½ºÆ®¿¡¼ NICÀ¸·Î µÈ´Ù¸éÀº TRUE·Î ÁöÁ¤µÈ´Ù.
ÁÖ¼®
NdisMCompleteDmaTransfer´Â Àü¼Û µ¥ÀÌÅͰ¡ NIC ¸Þ¸ð¸®³»¿¡ Á¸ÀçÇÑ´Ù°í ¿©°ÜÁö±â Àü¿¡ WriteToDevice°¡ TRUE·Î ¼³Á¤µÇ¾î¼ È£ÃâµÇ¾îÁú °ÍÀÌ´Ù. NdisMCompleteDmaTransfer´Â Àü¼Û µ¥ÀÌÅͰ¡ È£½ºÆ® ¸Þ¸ð¸®·ÎºÎÅÍ ÀÐÀ» ¼ö ÀÖ±â Àü¿¡ WriteToDevice°¡ FALSE·Î ¼³Á¤µÇ¾îÁ®¼ È£ÃâµÇ¾îÁú ¼ö ÀÖ´Ù.
NdisMCompleteDamTransferÀÇ È£ÃâÀÚµéÀº IRQL <= DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|