NdisMSetAttributes
VOID
NdisMSetAttributes(
IN NDIS_HANDLE MiniportAdapterHandle,
IN NDIS_HANDLE MiniportAdapterContext,
IN BOOLEAN BusMaster,
IN NDIS_INTERFACE_TYPE AdapterType
);
|
NdisMSetAttributes ÇÔ¼ö´Â ÃʱâÈ µ¿¾È¿¡ È£ÃâÀÚ NICÀÇ Áß¿äÇÑ Æ¯Â¡¿¡ ´ëÇØ¼ NDIS ¶óÀ̺귯¸®¿¡°Ô ¾Ë¸°´Ù.
¸Å°³º¯¼ö
- MiniportAdapterHandle
- MiniportInitialize ÇÔ¼ö·Î ÀԷµǴ ÇÚµéÀ» ¼¼úÇÑ´Ù.
- MiniportAdapterContext
- MiniportInitialize ÇÔ¼ö¿¡ ÀÇÇØ¼ ÇÒ´çµÈ Á¸ÀçÇÏ´Â ÄÁÅØ½ºÆ® Áö¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ¼¼úÇÑ´Ù.
- BusMaster
- È£ÃâÀÚÀÇ NICÀÌ ¹ö½º¸¶½ºÅÍ DMA ÀåÄ¡¶ó¸é TRUE¸¦ ¼¼úÇÑ´Ù.
- AdapterType
- NICÀÌ ¿¬°áµÆÀ» ¶§ ´ÙÀ½°ú °°Àº I/O ¹ö½º ŸÀÔÀÇ È£ÃâÀÚ NICÀÇ I/O ¹ö½º ÀÎÅÍÆäÀ̽º ŸÀÔÀ» ¼¼úÇÑ´Ù:
- NdisInterfaceInternal
- È£½ºÆ® ƯÁ¤ ³»ºÎ ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
- NdisInterfaceIsa
- ISA ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
- NdisInterfaceEisa
- È®ÀåµÈ ISA (EISA) ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
- NdisInterfaceMca
- À̰ÍÀº ´õÀÌ»ó Áö¿øµÇÁö ¾Ê´Â MCA ¹ö½º¸¦ ¾ð±ÞÇÑ´Ù.
- NdisInterfaceTurboChannel
- Åͺ¸ ä³Î ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
- NdisInterfacePci
- PCI ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
- NdisInterfacePcMcia
- ÆÛ½º³Î ÄÄÇ»ÅÍ ¸Þ¸ð¸® Ä«µå ÀÎÅͳ»¼Ç³Î Çùȸ(PC Card) ÀÎÅÍÆäÀ̽º¸¦ ¼¼úÇÑ´Ù.
ÁÖ¼®
MiniportInitialize ÇÔ¼ö´Â NdisMSetAttributes(Ex) ÇÔ¼ö·Î Á¦°øµÇ´Â Á¤º¸¿¡ ÀÇÁ¸ÇÏ´Â NdisMRegisterXxx³ª NdisXxx ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ NdisMSetAttributes³ª NdisMSetAttributesEx ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. ¿¹¸¦µé¾î MiniportInitialize ÇÔ¼ö°¡ BusMaster°¡ TRUE·Î ¼³Á¤µÈ NdisMSetAttributes ÇÔ¼ö¸¦ ¾ÆÁ÷ È£ÃâÇÏÁö ¾Ê¾Ò°Å³ª AttributeFlags°¡ NDIS_ATTRIBUTE_BUS_MASTER·Î ¼³Á¤µÈ NdisMSetAttributesEx ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê¾Ò´Ù¸é NdisMAllocateMapRegisters ÇÔ¼öÀÇ È£ÃâÀº ½ÇÆÐÇÒ °ÍÀÌ´Ù.
ÀϹÝÀûÀ¸·Î NIC µå¶óÀ̹ö´Â NICÀ» À§Çؼ ·¹Áö½ºÆ®¸®¾È¿¡ Çϵå¿þ¾î ÀÚ¿øÀ» ¿ä±¸ÇÏ´Â ¾î¶² NdisXxx ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ NdisMSetAttributes(Ex) ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. ¿Ö³ªÇϸé NDIS´Â ±×·¯ÇÑ È£ÃâÀÌ ÀϾ±â Àü¿¡ BusMaster³ª AttributeFlags °ªÀ» °¡Áö°í ÀÖ¾î¾ßÇϱ⠶§¹®ÀÌ´Ù. ±×¸®°í µå¶óÀ̹ö´Â ÀÌ È£Ãâ¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇÏ´Â MiniportAdapterContext¿¡ ¸Þ¸ð¸®¸¦ ÇÊ¿ä·ÎÇϱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ Á¦ÇÑÀº NIC µå¶óÀ̹öÀÇ MiniportInitialize ÇÔ¼ö°¡ NdisMSetAttributes(Ex) ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ´ÙÀ½ÀÇ NdisXxx ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ¾øÀ½À» ¾Ï½ÃÇÑ´Ù:
- NdisMPciAssignResources
- NdisMAllocateMapRegisters¿Í NdisMAllocateSharedMemory
- NdisMMapIoSpace¿Í ±×¿¡ µû¸¥ Ndis..RegisterXxx ÇÔ¼öµé
- NdisMRegisterDmaChannel
- NdisMRegisterInterrupt
- NdisMRegisterIoPortRange¿Í ±×¿¡ µû¸¥ NdisRaw..PortXxx ÇÔ¼öµé
±×·¯³ª NdisMSetAttributes(Ex) ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ NIC µå¶óÀ̹ö´Â ·¹Áö½ºÆ®¸®¾È¿¡ ±×¸®°í NdisImmediate..PortXxx ÇÔ¼ö¿Í ¸¶Âù°¡Áö·Î NdisImmediateReadPciSlotInformation ȤÀº NdisImmediateReadSharedMemory ÇÔ¼ö°°Àº NdisImmediateXxx ÇÔ¼ö¿¡ ¼³Ä¡µÈ ±¸¼º Á¤º¸¸¦ ¾ò±â À§Çؼ Ndis..Configuration ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ MiniportInitialize ÇÔ¼ö´Â µå¶óÀ̹öÀÇ ÀÎÅÍÆäÀ̽º ŸÀÔÀ» À§Çؼ ¼³Ä¡µÈ ·¹Áö½ºÆ®¸® ¿£Æ®¸®°¡ MiniportInitialize ÇÔ¼ö°¡ È£ÃâÇÏ´Â ¹ö½º ŸÀÔ Æ¯Á¤ NdisReadXxx ÇÔ¼ö¿Í ÀûÀýÇÏ°Ô ¾î¿ï¸®´Â ÇÑ NdisReadPciSlotInformation ÇÔ¼öó·³ ¹ö½º ŸÀÔ Æ¯Á¤ NdisReadXxx ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.
NdisMSetAttributes(Ex) ÇÔ¼ö¿¡¼ Á¦°øµÈ MiniportAdapterContext ÇÚµéÀº NdisMRegisterMiniport ÇÔ¼öÀÇ È£Ãâ¿¡¼ µî·ÏµÈ MiniportInitialize ÇÔ¼ö¸¦ µû¸£´Â ¸ðµç MiniportXxx ÇÔ¼öÀÇ ÀÔ·Â ¸Å°³º¯¼ö°¡ µÈ´Ù. º¸Åë ÀÌ ÇÚµéÀº MiniportInitialize ÇÔ¼ö¿¡ ÀÇÇØ¼ ÇÒ´çµÈ NIC ƯÁ¤ ·±Å¸ÀÓ »óŸ¦ À¯ÁöÇÏ´Â µå¶óÀ̹ö¾È¿¡ Á¸ÀçÇÏ´Â ¸Þ¸ð¸®¿¡ ´ëÇÑ Æ÷ÀÎÅÍÀÌ´Ù.
ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö´Â NdisMSetAttributes ÇÔ¼öº¸´Ù´Â NdisMSetAttributesEx ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. NIC µå¶óÀ̹ö´Â ÀÌ ÇÔ¼öÁß Çϳª¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ NdisMSetAttributesEx ÇÔ¼ö´Â ¹Ì´ÏÆ÷Æ®·Î ÇÏ¿©±Ý MiniportCheckForHangÀ̳ª MiniportReset ÇÔ¼ö°¡ È£ÃâµÉ ¶§·Î °£°ÝÀ» Àû¿ëÇÏ°Ô ÇÑ´Ù.
NdisMSetAttributes ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL PASSIVE_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|