인증 레지스트리 키
네트워크 공급자를 설치할 때 애플리케이션은 이 항목에 설명된 레지스트리 키와 값을 만들어야 합니다. 이러한 키와 값은 시스템에 설치된 네트워크 공급자에 대한 정보를 MPR에 제공합니다. MPR은 이러한 키를 시작하고 찾은 네트워크 공급자 DLL을 로드할 때 이러한 키를 확인합니다.
네트워크 공급자에 대한 정보를 보관할 키 집합을 만들기 전에 네트워크 공급자의 이름을 주문 키에 추가해야 합니다. 이 키는 다음 키의 하위 키입니다.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
NetworkProvider
주문 키에는 설치된 공급자를 나열하고 수락 공급자가 발견될 때까지 공급자를 순환하는 작업 중에 시도해야 하는 순서를 지정하는 단일 값 ProviderOrder가 포함됩니다.
ProviderOrder 값에는 쉼표로 구분된 키 이름 목록이 포함됩니다. ProviderOrder의 각 키 이름은 네트워크 공급자를 식별합니다. MPR은 공급자를 순환할 때 이 목록에 표시되는 순서대로 호출합니다.
ProviderOrder에 설정된 공급자 이름은 해당 공급자에 대한 정보를 포함하는 레지스트리 키의 이름으로도 사용해야 합니다. 공급자별 레지스트리 키는 다음 키의 하위 키로 만들어집니다.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
즉, ProviderOrder 에 지정된 공급자 이름은 다음 경로를 기준으로 네트워크 공급자별 키의 레지스트리에 대한 경로입니다.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
네트워크 공급자 서비스가 설치되면 설치 애플리케이션은 다음과 같이 키를 추가해야 합니다.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
ProviderName
여기서 ProviderName은 주문 키의 ProviderOrder 값에 지정된 네트워크 공급자의 이름입니다. ProviderName 키 아래의 그룹 값은 "NetworkProvider"로 설정해야 합니다. 그러면 서비스가 네트워크 공급자 그룹에 있는 것으로 식별됩니다.
ProviderName, networkprovider의 하위 키도 만들어야 합니다. 이 키에는 네트워크 공급자를 설명하는 다음 값이 포함되어 있습니다.
값 | Description |
---|---|
이름 |
공급자의 이름을 포함합니다. 이 이름은 찾아보기 대화 상자에서 네트워크 이름으로 사용자에게 표시되며 NETRESOURCE 구조에 반환된 lpProvider 필드와 일치해야 합니다. 이 이름은 제품 이름의 일부 변형이어야 하며, 명확하고 고유하기 때문에 회사의 일부 표시와 함께 가급적이어야 합니다. 예를 들어 "MS-LanMan"은 좋은 이름인 반면 "The Net"은 잘못된 선택입니다. |
ProviderPath |
네트워크 공급자를 구현하는 DLL의 전체 경로를 포함합니다. MPR은 이 경로에서 LoadLibrary 를 호출합니다. |
다음 값은 자격 증명 관리 함수인 NPLogonNotify 및 NPPasswordChangeNotify를 지원하는 네트워크 공급자에서만 사용됩니다.
값 | 설명 |
---|---|
클래스 |
이 공급자가 지원하는 공급자 기능의 클래스 또는 형식을 식별하는 DWORD 입니다. 적절한 경우 OR 연산자가 값을 조인할 수 있습니다. 유효한 값은 WN_NETWORK_CLASS, WN_CREDENTIAL_CLASS, WN_PRIMARY_AUTHENT_CLASS 및 WN_SERVICE_CLASS. 공급자가 기본 인증자 기능을 지원할 수 있지만 다른 방법을 사용하여 기본 인증자를 결정합니다. Windows XP/2000: 기본 인증자 전환은 지원되지 않으므로 이 값은 무시됩니다. |
AuthentProviderPath |
자격 증명 관리 함수를 내보내는 DLL의 정규화된 파일 이름입니다. 이 값은 공급자가 CREDENTIAL_CLASS 또는 PRIMARY_AUTHENT_CLASS 공급자로 식별되는 경우에만 유용하지만 필요하지는 않습니다. 이 클래스의 공급자에 대해 이 값이 없으면 ProviderPath 값으로 식별된 DLL에서 자격 증명 관리 함수를 내보낼 것으로 예상됩니다. 이 값은 네트워크 함수와 자격 증명 관리자 함수를 별도의 DLL로 패키지하는 것이 바람직한 경우에만 사용됩니다. |
네트워크 공급자 및 자격 증명 관리자를 등록하는 데 사용되는 값 외에도 레지스트리에 값을 추가하여 연결 알림을 받을 DLL을 등록할 수 있습니다. 이렇게 하려면 다음 키 아래에 REG_EXPAND_SZ 값을 만듭니다.
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
NetworkProvider
Notifyees
이 값은 연결 알림 API를 구현하는 DLL의 경로를 지정해야 합니다. 이 값의 이름은 기존 값 이름과 충돌하지 않는 한 원하는 모든 항목이 될 수 있습니다.
예제
다음 예제에서는 LanmanWorkStation 및 AnotherNetSvc라는 두 개의 네트워크 공급자가 설치된 시스템의 레지스트리 키를 보여 줍니다. AnotherNetSvc는 자격 증명 관리자이기도 합니다. 예제에서 키 이름은 굵게 표시되고 값 이름은 기울임꼴입니다.
Hkey_local_machine\시스템\CurrentControlSet\컨트롤\NetworkProvider\순서
ProviderOrder = "LanmanWorkStation,AnotherNetSvc"
Hkey_local_machine\시스템\CurrentControlSet\컨트롤\NetworkProvider\알림
MyNotifyApp = "c:\connect\connect.dll"
Hkey_local_machine\시스템\CurrentControlSet\서비스\LanmanWorkStation\
Group = "NetworkProvider"
Hkey_local_machine\시스템\CurrentControlSet\서비스\LanmanWorkStation\NetworkProvider
Name = "NT LanMan"ProviderPath = "ntlanman.dll"
클래스 = 0x00000001(WN_NETWORK_CLASS)
Hkey_local_machine\시스템\CurrentControlSet\서비스\AnotherNetSvc\
Group = "NetworkProvider"
Hkey_local_machine\시스템\CurrentControlSet\서비스\AnotherNetSvc\NetworkProvider
Name = "Another Network"ProviderPath = "c:\another\anet.dll"
클래스 = 0x00000003(WN_NETWORK_CLASS | WN_CREDENTIAL_CLASS)
AuthentProviderPath = "c:\another\anetCM.dll"