NdisReadEisaSlotInformation

VOID

  NdisReadEisaSlotInformation(

    OUT PNDIS_STATUS  Status,

    IN NDIS_HANDLE  WrapperConfigurationContext,

    OUT PUINT  SlotNumber,

    OUT PNDIS_EISA_FUNCTION_INFORMATION  EisaData

    );

NdisReadEisaSlotInformation ÇÔ¼ö´Â EISA ¹ö½º¿¡ ÀÖ´Â NICÀ» À§Çؼ­ EISA ±¸¼º Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù.

¸Å°³º¯¼ö

Status
´ÙÀ½Áß Çϳª·Î È£Ãâ»óŸ¦ ¸®ÅÏÇÏ´Â ÀÌ ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù:

NDIS_STATUS_SUCCESS
NIC µå¶óÀ̹ö´Â ±×°ÍÀ» Áö¿øÇÏ´Â NICÀÌ ¹ß°ßµÆ´ÂÁö¸¦ °áÁ¤Çϱâ À§Çؼ­ ¹öÆÛÈ­µÈ ±¸¼º µ¥ÀÌŸ¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ±×·¸´Ù¸é ¾î¶² NdisXxx ÃʱâÈ­ ÇÔ¼öÀÇ ¸Å°³º¯¼ö·Î½á ¹ö½º°ü·Ã ±¸¼º °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

NDIS_STATUS_RESOURCES
NDIS´Â EISA ±¸¼º Á¤º¸¸¦ ¼öÁýÇϱâ À§Çؼ­ ÇÊ¿äÇÑ ÀÚ¿øÀ» ÇÒ´çÇÏÁö ¾Ê¾Ò´Ù.

NDIS_STATUS_FAILURE
À̰ÍÀº NICÀÌ EISA ¹ö½º¿¡¼­ ¹ß°ßµÇÁö ¾Ê°Å³ª È£ÃâÀÚ°¡ À¯È¿ÇÏÁö ¾ÊÀº ¸Å°³º¯¼ö¸¦ Á¦°øÇß´Ù¸é ¸®ÅϵǴ ±âº»ÀûÀÎ »óÅÂÀÌ´Ù. ¿¹¸¦µé¾î NdisMSetAttributes(Ex) ÇÔ¼ö°¡ È£ÃâµÆÀ» ¶§ È£ÃâÀÚ°¡ AdapterTypeÀ» NdisInterfaceEisa°¡ ¾Æ´Ñ ´Ù¸¥ °ÍÀ¸·Î ¼³Á¤Çß´Ù¸é NdisReadEisaSlotInformation ÇÔ¼ö´Â ÀÌ »óŸ¦ ¸®ÅÏÇÑ´Ù.

WrapperConfigurationContext
MiniportInitialize·Î ÀԷµǴ ÇÚµéÀ» ¼­¼úÇÑ´Ù.

SlotNumber
ÀÌ È£ÃâÀÌ ¼º°øÀûÀ̶ó¸é EISA ¹ö½º¿¡¼­ ¹ß°ßµÈ NICÀÇ ½½·Ô³Ñ¹ö¸¦ ¸®ÅÏÇÏ´Â ÀÌ ÇÔ¼öÀÇ º¯¼ö¸¦ °¡¸®Å²´Ù.

EisaData
Àû¾îµµ sizeof(NDIS_EISA_FUNCTION_INFORMATION) À̾î¾ßÇϴ ȣÃâÀÚ ÇÒ´ç ¹öÆÛ¸¦ °¡¸®Å²´Ù.

ÁÖ¼®

NdisReadEisaSlotInformation ÇÔ¼ö´Â EISA I/O ¹ö½º¿¡¼­ ¹ß°ßµÈ NIC¿¡ ´ëÇØ¼­ Ç¥ÁØ EISA ¹ö½º ±¸¼ºÁ¤º¸¸¦ Àд´Ù. ±×¸®°í ¹ö½º°ü·Ã ±¸¼ºÁ¤º¸¸¦ ¹öÆÛ ¾ÈÀ¸·Î º¹»çÇÑ´Ù.

NdisReadEisaSlotInformation ÇÔ¼ö È£ÃâÀÌ ¼º°øÇÑ´Ù¸é ÀÌ ÇÔ¼ö´Â NDIS_EISA_FUNCTION_INFORMATION ±¸Á¶Ã¼·Î Æ÷¸ËµÈ EisaData¿¡ È£ÃâÀÚ Á¦°ø ¹öÆÛ·Î Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù.

NDIS_EISA_FUNCTION_INFORMATION ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇÑ´Ù:


typedef struct _NDIS_EISA_FUNCTION_INFORMATION {

    ULONG CompressedId;

    UCHAR IdSlotFlags1;

    UCHAR IdSlotFlags2;

    UCHAR MinorRevision;

    UCHAR MajorRevision;

    UCHAR Selections[26];

    UCHAR FunctionFlags;

    UCHAR TypeString[80];

    EISA_MEMORY_CONFIGURATION EisaMemory[9];

    EISA_IRQ_CONFIGURATION EisaIrq[7];

    EISA_DMA_CONFIGURATION EisaDma[4];

    EISA_PORT_CONFIGURATION EisaPort[60];

    UCHAR InitializationData[60];

} NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;

ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö´Â ´ÙÀ½°ú °°ÀÌ Ç¥ÁØ EISA ±¸¼ºÇÔ¼ö ºí·°°ú ´ëÀÀÇÑ´Ù:

¸â¹ö ÀǹÌ
CompressedId ÀåÄ¡¸¦ À§Çؼ­ EISAÀÇ °£°áÇÑ ID¸¦ ¼­¼úÇÑ´Ù.
IdSlotFlags1 ¹ÙÀÌÆ® 0 ½Äº°ÀÚ¿Í ½½·Ô Á¤º¸¸¦ ¼­¼úÇÑ´Ù.
IdSlotFlags2 ¹ÙÀÌÆ® 1 ½Äº°ÀÚ¿Í ½½·Ô Á¤º¸¸¦ ¼­¼úÇÑ´Ù.
MinorRevision .cfg È­ÀÏÀÇ ¸¶ÀÌ³Ê ¼öÁ¤ ·¹º§À» ¼­¼úÇÑ´Ù.
MajorRevision .cfg È­ÀÏÀÇ ¸ÞÀÌÀú ¼öÁ¤ ·¹º§À» ¼­¼úÇÑ´Ù.
Selections[26] 26 selectionÀ» À§ÇÑ ¹è¿­À» ¼­¼úÇÑ´Ù.
FunctionFlags ÇÔ¼ö Ç÷¡±×¸¦ ¼­¼úÇÑ´Ù.
TypeString[80] ŸÀÔ°ú ¼­ºêŸÀÔ ¾Æ½ºÅ° ¹®ÀÚ¿­À» À§ÇÑ ¹è¿­À» ¼­¼úÇÑ´Ù.
EisaMemory[9] °¢°¢ÀÇ ¿ä¼Ò°¡ ¹ö½º°ü·Ã ÀåÄ¡ÀÇ ¸Þ¸ð¸® ¹üÀ§¸¦ Á¤ÀÇÇÏ´Â EISA_MEMORY_CONFIGURATION ±¸Á¶Ã¼ÀÎ ¹è¿­À» ¼­¼úÇÑ´Ù.
EisaIrq[7] °¢°¢ÀÇ ¿ä¼Ò°¡ ¹ö½º°ü·Ã ÀåÄ¡ ÀÎÅÍ·´Æ®¸¦ Á¤ÀÇÇÏ´Â EISA_IRQ_CONFIGURATION ±¸Á¶Ã¼ÀÎ ¹è¿­À» ¼­¼úÇÑ´Ù.
EisaDma[4] °¢°¢ÀÇ ¿ä¼Ò°¡ ¹ö½º°ü·Ã DMA ´É·Â, ŸÀ̹Ö, ä³Î ³Ñ¹ö¸¦ Á¤ÀÇÇÏ´Â EISA_DMA_CONFIGURATION ±¸Á¶Ã¼ÀÇ ¹è¿­À» ¼­¼úÇÑ´Ù.
EisaPort[60] °¢°¢ÀÇ ¿ä¼Ò°¡ ¹ö½º°ü·Ã ÀåÄ¡ÀÇ I/O Æ÷Æ® ¹üÀ§¸¦ Á¤ÀÇÇÏ´Â EISA_PORT_CONFIGURATION ±¸Á¶Ã¼ÀÇ ¹è¿­À» ¼­¼úÇÑ´Ù.
InitializationData[60] EISA ÃʱâÈ­ µ¥ÀÌŸÀÇ ¹è¿­À» ¼­¼úÇÑ´Ù.

NIC µå¶óÀ̹ö´Â ÇöÀç Ç÷§Æû¿¡¼­ ±×µé °¢°¢ÀÇ ¾î´ðÅ͸¦ È®ÀÎÇϱâ À§Çؼ­ NdisReadEisaSlotInformation ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ƯÁ¤ µå¶óÀ̹öÀÇ NICÀÌ ¹ß°ßµÆÀ» ¶§ EisaData·¹ ¸®ÅÏµÈ ¹ö½º°ü·Ã ±¸¼º ¸Å°³º¯¼ö´Â NdisMRegisterInterrupt (EisaIrq), NdisMMapIoSpace (EisaMemory), ±×¸®°í NdisMRegisterIoPortRange (EisaPort)¿Í °°ÀÌ ÇÔ¼ö·ÎÀÇ ¼øÂ÷ÀûÀΠȣÃâ¿¡¼­ Àü´ÞµÈ´Ù.

¸®ÅÏµÈ Á¤º¸¸¦ ¼ÒºñÇÑ ÈÄ¿¡ NdisReadEisaSlotInformation ÇÔ¼öÀÇ È£ÃâÀÚ´Â EisaData¿¡ ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÒ Ã¥ÀÓÀÌ ÀÖ´Ù.

NdisReadEisaSlotInformation ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL PASSIVE_LEVEL¿¡¼­ ½ÇÇàÇÑ´Ù.