NdisReadPciSlotInformation

ULONG 

  NdisReadPciSlotInformation(

    IN NDIS_HANDLE  NdisAdapterHandle,

    IN ULONG  SlotNumber,

    IN ULONG  Offset,

    IN PVOID  Buffer,

    IN ULONG  Length

    );

NdisReadPciSlotInformationÀº ¹ö½º¿¡¼­ ƯÁ¤ ½½·Ô¿¡¼­ ÀåÄ¡¸¦ À§ÇÑ PCI ±¸¼º °ø°£À¸·ÎºÎÅÍ ¹ö½º ƯÁ¤ PCI ±¸¼º Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù.

¸Å°³º¯¼ö

NdisAdapterHandle
MiniportInitialize ¿Í ´Ù¸¥ ´ëºÎºÐÀÇ MiniportXxx ÇÔ¼öµé¿¡°Ô Àü´ÞµÇ¾îÁö´Â MiniportAdapterHandle¸¦ ÁöÁ¤ÇÑ´Ù.

SlotNumber
I/O ¹ö½º¿¡¼­ NICÀÇ ½½·Ô ³Ñ¹ö¸¦ ÁöÁ¤ÇÑ´Ù.

Offset
±¸¼º Á¤º¸¸¦ Àü´ÞÇϱ⠽ÃÀÛÇÏ´Â PCI ±¸¼º °ø°£³»¿¡ ¹ÙÀÌÆ® ¿É¼ÂÀ» ÁöÁ¤ÇÑ´Ù.

Buffer
¿ä±¸µÈ ±¸¼º Á¤º¸¸¦ ¸®ÅÏÇϱâ À§ÇØ È£ÃâÀÚ ÇÒ´ç ¹öÆÛ¸¦ °¡¸®Å²´Ù.

Length
¾ó¸¶³ª ¸¹Àº ¹ÙÀÌÆ®ÀÇ ±¸¼º Á¤º¸°¡ ¸®ÅϵǴÂÁö BufferÀÇ ¹ÙÀÌÆ®µéÀÎ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù.

¸®Åϰª

NdisReadPciSlotInformationÀº Buffer¿¡¼­ ¸®ÅϵǾîÁö´Â ¾ó¸¶³ª ±¸¼º Á¤º¸ÀÇ ¾ó¸¶³ª ¸¹Àº ¹ÙÀÌÆ®°¡¸¦ ¸®ÅÏÇÑ´Ù.

ÁÖ¼®

NdisReadPciSlotInformationÇÔ¼ö´Â µå¶óÀ̹ö°¡ PCI ¹ö½º¸¦ ÅëÇØ Áö¿øÇÏ´Â NICÀ» ¹ß°ßÇϵµ·Ï µµ¿î´Ù. ¹ß°ßÇßÀ» ¶§ µå¶óÀ̹ö´Â NdisMRegisterInterrupt, NdisMMapIoSpace, NdisMRegisterIoPortRange¿Í °°Àº ´Ù¸¥ NdisXxx ±¸¼º ÇÔ¼öµé¿¡ ´ëÇÑ °è¼ÓÀûÀΠȣÃâ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹ö½º °ü·Ã ±¸¼º ¸Å°³º¯¼öµéÀ» °áÁ¤Çϱâ À§ÇØ NdisMPciAssignResources¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

NdisReadPciSlotInformationÀº NdisImmediateReadPciSlotInformation¿Í °°ÀÌ ¹ö½º °ü·Ã PCI ±¸¼º Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. ±×·¯³ª, NdisReadPciSlotInformationÀÇ È£ÃâÀÚµéÀº WrapperConfigurationContext Çڵ麸´Ù´Â ¿ÀÈ÷·Á MiniportInitialize ÇÔ¼ö¿¡ Àü´ÞµÇ¾îÁö´Â MiniportAdapterHandle¸¦ Àü´ÞÇÑ´Ù.

È£ÃâÀÚ´Â µå¶óÀ̹ö°¡ NdisFreeMemory·Î ±¸¼º Á¤º¸¸¦ ¼ÒºñÇÒ ¶§ Buffer¿¡ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇØ¾ß ÇÒ Ã¥ÀÓÀÌ ÀÖ´Ù.

Miniport µå¶óÀ̹öµéÀº ±×µéÀÇ MiniportInitialize ÇÔ¼öµé·ÎºÎÅÍ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

NdisReadPciSlotInformationÀÇ È£ÃâÀÚµéÀº IRQL <= DISPATCH_LEVEL ¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. Ç×»ó, È£ÃâÀÚµéÀº IRQL PASSIVE_LEVEL¿¡¼­ ½ÇÇàÇϰí ÀÖ´Ù.