2012-08-22 3 views
1

저는 Kontron 평가 보드에서 Windows 7을 실행 중이므로 관리자 권한으로 응용 프로그램을 실행하지 않고도 드라이버 중 하나와 문제가 있습니다. 드라이버를 사용하여 보드의 GPIO 핀을 읽고 쓸 수 있습니다. 거기에 하나의 드라이버가 설치되어 있고 몇 DLL을 우리가 드라이버와 얘기하는 데 사용하는 API를 노출 system32 디렉토리에 있습니다. 상승 된 권한없이 테스트 응용 프로그램을 실행할 때 보드를 초기화하는 API 호출이 실패합니다. 상승 된 권한으로 테스트 응용 프로그램을 실행하면 API 호출이 성공합니다. Kontron 드라이버와 함께 제공된 테스트 응용 프로그램은 실행 전에 상승 된 권한으로 실행하라는 모든 프롬프트를 설치하지만 승격 된 권한이 필요한 이유를 이해하지 못합니다.Windows 7 DLL 기능에 높은 권한이 필요합니다.

나는 이유에 대해 조사하기 위해 아침 내내 Google을 검색했지만 정보를 찾을 수 없거나 적절한 용어를 찾지 않았습니다. 나는 단지 승진 된 특권을 가지고 달려 가야 할 지 여부를 결정하기를 원합니다. 그렇다면 Windows 7은 하드웨어에 직접 액세스하는 드라이버와 대화하는 데 제한이 있습니까? 그것은 DLL 파일의 위치와 관련이 있습니까? 운전자를 설치하는 것과 관련이 있습니까? 그들이 DLL을 만든 방식과 관련이 있습니까?

왜 내가이 문제를 경험했는지 설명하는 정보는 훌륭합니다.

+2

: 여기

자세한 내용은 일부 링크입니다 공급 업체의 샘플에 관리자 권한이 필요하다고 표시되면 분명히 요구되며, 왜 그런지 판매자에게 문의해야합니다. 투표에서 "주제 해제"로 마감; 이것은 공급 업체 지원 질문이며 StackOverflow IMO가 아닙니다. –

+0

나는 약간의 문맥을주기 위해 세부 사항을 주었다. 더 많은 권한이없는 드라이버와 대화하기 위해 Windows 7에 특정 제한 사항이 있는지 질문하는 것이 더 일반적입니다. – EarlCrapstone

+1

장치 개체에 대한 액세스 제어 목록은 런타임 또는 설치 중에 장치 드라이버에 의해 결정됩니다. –

답변

0

Harry의 의견에 따르면 Windows ACL (Access Control Lists)을 살펴 보았습니다. 장치 드라이버는 장치 개체에 대한 액세스 권한을 설정합니다. 필자의 경우, 드라이버의 INF 파일에 보안 설정이 지정되어 있지 않기 때문에 드라이버가 런타임에 설정하는 것처럼 보입니다.

Of SDs, ACLs & INFs: The INs and OUTs of Device Object Protection

SuperUser: What are Windows ACLs?

MSDN: Access Control

MSDN: Applying Security Descriptors on the Device Object

SysInternals: WinObj tool

관련 문제