이더넷 어댑터의 MAC 주소 가져오기 방법

기술 자료 번역 기술 자료 번역
기술 자료: 118623 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 카드의 데 NetBIOS 바인딩된 경우 MAC (미디어 액세스 제어) 주소가 이더넷 어댑터에 대해 프로그래밍 방식으로 NetBIOS를 사용하여 가져오는 방법을 보여 줍니다.

추가 정보

이더넷 어댑터의 MAC (미디어 액세스 제어) 주소를 프로그래밍 방식으로 가져오려면 Netbios() NCBASTAT 명령을 사용하고 제공해야 하는 "*" NCB.ncb_CallName 필드 이름으로. 이 샘플 코드에는 보여.

여러 네트워크 어댑터 사용하여 컴퓨터에 대한 LANA 번호를 열거하고 각에 대해 NCBASTAT 명령을 수행하는 합니다. 경우에도 단일 네트워크 어댑터가 있는 경우 유효한 LANA 번호를 먼저 열거하고 해당 NCBASTAT 유효한 LANA 번호를 중 하나를 수행하는 것이 좋습니다. 잘못된 LANA 번호를 0으로 하드코딩하지 위해 프로그래밍 간주됩니다.

또한 다른 하드웨어 및 소프트웨어 자신의 MAC 주소를 할당할 수 있습니다. 예를 들어, 모뎀을 MAC 주소를 가질 수 있습니다. 또한 RAS 클라이언트 또는 서버에 해당하는 "더미" 네트워크 어댑터는 전화 접속 또는 직렬 연결을 설치할 수 있습니다. 일반적으로 이러한 MAC 주소는 임의로 생성됩니다. 어댑터 상태를 연결이 없는 경우 이러한 어댑터 중 하나에 해당하는 LANA 호출될 경우 Netbios 다시 이전에 수행된 경우에도 오류 (NRC_ENVNOTDEF) 0x34 반환합니다.

NetBEUI 및 IPX 전송 동일한 정보를 명령 프롬프트에서 사용하여 얻을 수 있습니다:
   net config workstation
				
주어진 ID MAC 주소입니다.

다음 코드는 모든 LANA 번호를 열거하고, 재설정 (NCBREST)을 수행하고 어댑터 상태 (NCBASTAT).

예제 코드

   #include <windows.h>
   #include <wincon.h>
   #include <stdlib.h>
   #include <stdio.h>
   #include <time.h>

   typedef struct _ASTAT_
   {

      ADAPTER_STATUS adapt;
      NAME_BUFFER    NameBuff [30];

   }ASTAT, * PASTAT;

   ASTAT Adapter;

   void main (void)
   {
      NCB Ncb;
      UCHAR uRetCode;
      char NetName[50];
      LANA_ENUM   lenum;
      int      i;

      memset( &Ncb, 0, sizeof(Ncb) );
      Ncb.ncb_command = NCBENUM;
      Ncb.ncb_buffer = (UCHAR *)&lenum;
      Ncb.ncb_length = sizeof(lenum);
      uRetCode = Netbios( &Ncb );
      printf( "The NCBENUM return code is: 0x%x \n", uRetCode );

      for(i=0; i < lenum.length ;i++)
      {
          memset( &Ncb, 0, sizeof(Ncb) );
          Ncb.ncb_command = NCBRESET;
          Ncb.ncb_lana_num = lenum.lana[i];

          uRetCode = Netbios( &Ncb );
          printf( "The NCBRESET on LANA %d return code is: 0x%x \n",
                  lenum.lana[i], uRetCode );

          memset( &Ncb, 0, sizeof (Ncb) );
          Ncb.ncb_command = NCBASTAT;
          Ncb.ncb_lana_num = lenum.lana[i];

          strcpy( Ncb.ncb_callname,  "*               " );
          Ncb.ncb_buffer = (char *) &Adapter;
          Ncb.ncb_length = sizeof(Adapter);

          uRetCode = Netbios( &Ncb );
          printf( "The NCBASTAT on LANA %d return code is: 0x%x \n",
                  lenum.lana[i], uRetCode );
          if ( uRetCode == 0 )
          {
             printf( "The Ethernet Number on LANA %d is:
                     %02x%02x%02x%02x%02x%02x\n",
            lenum.lana[i],
                  Adapter.adapt.adapter_address[0],
                  Adapter.adapt.adapter_address[1],
                  Adapter.adapt.adapter_address[2],
                  Adapter.adapt.adapter_address[3],
                  Adapter.adapt.adapter_address[4],
                  Adapter.adapt.adapter_address[5] );
          }
       }

   }
				

속성

기술 자료: 118623 - 마지막 검토: 2005년 7월 8일 금요일 - 수정: 2.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Platform Software Development Kit-January 2000 Edition?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT Advanced Server 3.1
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.1
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
키워드:?
kbmt kbapi kbhowto kbnetbios kbnetwork KB118623 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com