NdisOpenFile

VOID

  NdisOpenFile(

    OUT PNDIS_STATUS  Status,

    OUT PNDIS_HANDLE  FileHandle,

    OUT PUINT  FileLength,

    IN PNDIS_STRING  FileName,

    IN NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress

    );

NdisOpenFile ÇÔ¼ö´Â ¿­¸° ÆÄÀÏ¿¡ ´ëÇÑ ÇÚµéÀ» ¸®ÅÏÇÑ´Ù.

¸Å°³º¯¼ö

Status
´ÙÀ½Áß Çϳª°¡ µÉ ¼ö ÀÖ´Â ÆÄÀÏ ¿­±â ¿¬»êÀÇ »óŸ¦ ¸®ÅÏÇÏ´Â ÀÌ ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù:

NDIS_STATUS_SUCCESS
FileHandle¿¡ ÇÚµéÀº NdisMapFile ÇÔ¼ö·ÎÀÇ ¼øÂ÷ÀûÀΠȣÃâ¿¡¼­ À¯È¿ÇÏ´Ù.

NDIS_STATUS_FILE_NOT_FOUND
FileName¿¡ ÁÖ¾îÁø ¹®ÀÚ¿­Àº ½Ã½ºÅÛ °´Ã¼ ³×ÀÓ½ºÆäÀ̽º¿¡¼­ ¹ß°ßµÈ À̸§À» ¼­¼úÇÏÁö ¾Ê´Â´Ù.

NDIS_STATUS_RESOURCES
NDIS´Â ÆÄÀÏ ³»¿ëÀ» À§Çؼ­ ÆÄÀÏÀ» ¿­°í ¹öÆÛ¸¦ ÇÒ´çÇÒ Çʿ䰡 ÀÖ´Â ÀÚ¿øÀ» ÇÒ´çÇÒ ¼ö ¾ø´Ù.

NDIS_STATUS_ERROR_READING_FILE
¸í½ÃµÈ ÆÄÀÏÀÇ µ¥ÀÌŸ°¡ È£ÃâÀÚÀÇ ¼øÂ÷ÀûÀΠȣÃâ¿¡ ´ëÇØ¼­ ½Ã½ºÅÛ ¸Þ¸ð¸®¿¡¼­ ÀÐÀ» ¼ö ¾ø´Ù.

FileHandle
È£ÃâÀÌ ¼º°øÇÑ´Ù¸é ¿­¸° ÆÄÀÏÀÇ ÇÚµéÀ» ¸®ÅÏÇÏ´Â ÀÌ ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.

FileLength
È£ÃâÀÌ ¼º°øÇÑ´Ù¸é ¿­¸° ÆÄÀϾȿ¡ µ¥ÀÌŸÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ¾²´Â ÀÌ ÇÔ¼öÀÇ È£ÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.

FileName
¿­¸®´Â ÆÄÀÏÀ» ¸í¸íÇÏ´Â ½Ã½ºÅÛ ±âº» ¹®ÀÚÁýÇÕ¿¡¼­ ¹öÆÛÈ­µÇ°í È£ÃâÀÚ°¡ ÃʱâÈ­ÇÑ Ä«¿îÆ®µÈ ¹®ÀÚ¿­À» °¡¸®Å²´Ù. À©µµ¿ìÁî 2000 µå¶óÀ̹ö¿¡¼­ ÀÌ ¹®ÀÚ¿­Àº À¯´ÏÄÚµå ¹®ÀÚµéÀ» Æ÷ÇÔÇÑ´Ù.

HighestAcceptableAddress
ÆÄÀÏ µ¥ÀÌŸ°¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ»óÀ§ ¹°¸® ÁÖ¼Ò¸¦ ¼­¼úÇÑ´Ù. ȤÀº µå¶óÀ̹ö°¡ Á¦ÇѾøÀÌ À§Ä¡ÇÑ´Ù¸é -1À» ¼­¼úÇÑ´Ù.

ÁÖ¼®

NdisOpenFile ÇÔ¼ö´Â µå¶óÀ̹ö°¡ ÀΰøÁö´ÉÀÇ NICÀ» ÇÁ·Î±×·¥Çϱâ À§Çؼ­ ÈÄ¿¡ ´Ù¿î·ÎµåÇÒ ÆÄÀÏÀÎ µð½ºÅ© ÆÄÀÏÀ» ¿¬´Ù. NdisOpenFile ÇÔ¼ö´Â ¶ÇÇÑ NdisMapFile ÇÔ¼ö·ÎÀÇ µå¶óÀ̹öÀÇ ¼øÂ÷ÀûÀΠȣÃâ¿¡ ´ëÇØ¼­ ÆÄÀÏ ³»¿ëÀ» À¯ÁöÇÏ´Â ÀúÀå¼Ò¸¦ ÇÒ´çÇÑ´Ù.

NIC µå¶óÀ̹ö´Â MiniportInitialize ÇÔ¼ö¿¡¼­¸¸ NdisOpenFile ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

NdisOpenFile ÇÔ¼ö°¡ ¸®ÅÏÇÒ ¶§ NIC µå¶óÀ̹ö´Â NdisMapFile ÇÔ¼ö¸¦ È£ÃâÇÏ¹Ç·Î½á ÆÄÀÏ µ¥ÀÌŸ·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù. µå¶óÀ̹ö°¡ ÆÄÀÏ µ¥ÀÌŸ·Î Á¢±ÙÇÏÁö ¾Ê´Â µ¿¾È¿¡´Â ºÒÇÊ¿äÇÏ°Ô ÀÚ¿øÀ» ¼ÒºñÇÏÁö ¾Ê±â À§ÇØ ÆÄÀÏÀ» ÆäÀÌÁö¾Æ¿ôÇÏ´Â NdisUnmapFile ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏ »ç¿ëÀÌ ³¡³µÀ» ¶§ MiniportInitialize ÇÔ¼ö´Â NdisCloseFile ÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù.

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