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) |