2011-10-07 2 views
3

WMI의 Win32_NetworkAdapterConfiguration 클래스 인 EnableStatic 메서드를 사용하여 테스트를 위해 루프백 네트워크 어댑터의 고정 IP를 설정합니다. 가시적 인 속성 시트가있을 때 OS가 잠금을 해제하는 것으로 나타났습니다. 사용자가 변경된 시트를 닫으면 업데이트가 완료 될 때까지 사물이 고정됩니다.네트워크 어댑터 속성을 수정할 때 독점적 액세스를 보장하는 방법

내 프로그램 C#과 Windows UI 간의 독점적 인 액세스를 어떻게 보장 할 수 있습니까?

답변

2

Win32_NetworkAdapterConfiguration 클래스의 EnableStatic 메서드는 이미 독점 잠금을 획득하여 네트워크 어댑터 설정을 변경한다고 생각합니다. Microsoft 지식 기반 기사를 통해이 결론을 내릴 수 있습니다. Microsoft KB. INetCfgLock이라는 COM 인터페이스가있어 네트워크 어댑터 설정 변경을위한 배타적 잠금을 획득하는 데 사용할 수 있습니다. 잠금을 획득하려면 INetCfgLock::AcquireWriteLock 메소드를 사용하십시오. 여기

INetCfgLock COM 인터페이스의 사용 및 C#에서 INetCfgLock::AcquireWriteLock을 보여줍니다 codeproject에서 프로젝트에 대한 링크입니다 :

는 편집이 시작됩니다.

끝 편집

희망.

+0

C#에서 어떻게합니까? – GregC

+0

유추 주제 : EnableStatic이 더 이상 잠금을 해제하지 않은 것처럼 들리지만 사용자 앱이 충돌하지 않도록합니다. – GregC

+0

@GregC : 코드 플롯 C# 샘플에 대한 링크로 내 대답을 업데이트했습니다. – Hans

관련 문제