다음을 통해 공유


NdisReadNetworkAddress 함수(ndis.h)

NdisReadNetworkAddress 함수는 컴퓨터에 설치되었을 때 NIC에 대한 레지스트리에 저장된 소프트웨어 구성 가능한 네트워크 주소를 반환합니다.

통사론

void NdisReadNetworkAddress(
  [out] PNDIS_STATUS Status,
  [out] PVOID        *NetworkAddress,
  [out] PUINT        NetworkAddressLength,
  [in]  NDIS_HANDLE  ConfigurationHandle
);

매개 변수

[out] Status

이 함수가 호출 상태를 다음 중 하나로 반환하는 호출자 제공 변수에 대한 포인터입니다.

NDIS_STATUS_SUCCESS

호출자는 NIC에 대한 NetworkAddress 반환된 주소를 사용할 수 있습니다.

NDIS_STATUS_FAILURE

매개 변수 키 또는 저장된 값이 문자열이 아닌 호출자의 레지스트리에서 사용할 수 있는 NIC 주소 정보가 없습니다.

[out] NetworkAddress

호출에 성공하면 이 함수가 바이트 정수 시퀀스로 저장된 네트워크 주소(일반적으로 MAC 주소)가 포함된 버퍼에 대한 포인터를 반환하는 호출자 제공 변수에 대한 포인터입니다.

[out] NetworkAddressLength

이 함수가 NetworkAddress반환되는 바이트 수를 반환하는 호출자 제공 변수에 대한 포인터입니다.

[in] ConfigurationHandle

에서 반환하는 구성 핸들 NdisOpenConfigurationEx 함수입니다.

반환 값

없음

발언

NdisReadNetworkAddress 지정된 ConfigurationHandle 지정된 레지스트리 매개 변수 키에서 NetworkAddress 키워드를 검색하고, 이 문자열 형식 항목의 값을 바이트 정수 시퀀스로 변환하고, 요청된 정보를 내부적으로 저장합니다. NDIS가 이러한 주소에 할당하는 스토리지는 미니포트 드라이버가 메모리를 해제하는 NdisCloseConfiguration 함수를 호출할 때까지 유효합니다.

NdisReadNetworkAddress상태NDIS_STATUS_SUCCESS 반환하지 않는 한 호출자는 NetworkAddress 변수를 포인터로 사용할 수 없습니다.

소프트웨어 구성 가능한 네트워크 주소를 지원하는 NIC의 설치 프로그램은 HKLM\System\CurrentControlSet\Control\Class{4d36e972...}에 NetworkAddress 키워드로 명명된 값 항목을 저장해야 합니다.레지스트리의 \00xx 키입니다.

NIC 설치 관리자는 일반적으로 레지스트리에 NetworkAddress 항목의 값을 16진수 문자열로 저장합니다. 필요에 따라 설치 관리자는 이러한 주소를 쌍을 이루는 숫자 문자열로 저장할 수 있으며 각 쌍은 하이픈으로 다음 쌍과 구분됩니다. NdisReadNetworkAddress 하이픈을 삭제하고 이러한 각 쌍을 단일 바이트로 변환합니다.

두 양식에서 NdisReadNetworkAddress 문자열로 지정된 주소를 문자열이 소진될 때까지 한 번에 한 문자씩 동일한 정수로 변환합니다.

Windows 2000 이상 버전의 레지스트리에서 설치된 주소 문자열에는 유니코드 문자가 포함됩니다.

NDIS는 NetworkAddress값의 유효성을 검사하지 않습니다. NDIS는 이 값이 유효한 주소이거나, 값의 길이가 적절하거나, 값이 네트워크 주소임을 보장하지 않습니다. 따라서 NdisReadNetworkAddress 호출자는 이 값에 대해 어떠한 가정도 하지 않아야 하며 그 자체로 값의 유효성을 검사해야 합니다. 호출자가 값이 범위를 벗어난 것으로 확인되면 값을 사용하면 안 됩니다. 대신 MAC(영구 중간 액세스 제어) 주소 또는 기본 주소를 사용해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista 이상에서 NDIS 6.0 이상 드라이버에 대해 지원됩니다. Windows XP 이상에서 NDIS 5.1 드라이버(NdisReadNetworkAddress(NDIS 5.1 참조)에 대해 지원됩니다.
대상 플랫폼 보편적
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Miscellaneous_Function(ndis)

참고 항목

NdisCloseConfiguration

NdisOpenConfigurationEx