2009-07-31 5 views
3

시스템 종료 또는 서비스 종료 직전에 파일/메모리에 내용을 기록합니다. 다음에 시스템을 다시 시작하면 파일 시스템이로드되기 전에 디스크의 동일한 파일이나 동일한 메모리에 액세스 할 수 있습니까? 실제 요구 사항은 이렇습니다. 볼륨 레벨 드라이버와 파일 시스템 드라이버 사이에 드라이버가 있습니다 ... 드라이버 코드의 일부에서 메모리 또는 파일에 액세스하려고합니다.Windows에서 다시 시작될 때 동일한 리소스에 액세스

감사 & 감사합니다,
캘빈 여기에 논리적 것은 읽기/너무 큰 수없는 경우 레지스트리에이를 작성하는 것입니다

답변

2

. 레지스트리를 사용하고 싶지 않은 이유가 있습니까?

큰 데이터에 액세스해야하고 볼륨 또는 장치 필터를 작성하고 커널의 ZwOpen/읽기/쓰기/닫기 기능에 의존 할 수없는 경우 사용자 모드에서 파일을 생성하고 장치를 가져 오는 것이 좋습니다 이름 및 클러스터 체인을 만들고 레지스트리에 저장합니다. 다음에 부팅 할 때 레지스트리에서 장치 및 클러스터를 가져 와서 I/O를 직접 수행 할 수 있습니다.

+0

예, 데이터가 많이 있습니다. 12MB보다 큰 (reg는 12 개만 저장할 수 있습니다.) 또한 고객은 전체 레지스트리를 사용하는 것을 허용하지 않습니다. – rplusg

+0

그런 다음 12mb 파일을 만들고 클러스터 체인을 만들어 사용하십시오. – KIV

+0

해답을 주셔서 감사합니다. 어떤 샘플 의사 코드를 사용해도 더 나은 결과를 얻을 수 있습니다. – rplusg

0

파일 시스템이로드되기 전에이 파일에 액세스하려면 첫 번째 생각은 파일 시스템 외부의 하드 드라이브에 저장 공간 블록을 할당하고 사용하는 것입니다. 드라이브에 숨겨진 미니 파티션을 만들고 저수준 I/O 명령을 사용하여 데이터를 읽고 쓸 수 있습니다.

이것은 임베디드 시스템 분야에서 일반적인 작업으로, 일종의 비 휘발성 메모리 장치 (플래시, 배터리 백업 DRAM 등)를 추가하고이를 읽고 쓰기 장치. 임베디드 개발자처럼 사용 가능한 하드웨어를 제어 할 수있는 수준이 같지 않기 때문에 내가 생각할 수있는 가장 유사한 아날로그 디스크는 마운트하지 않고 읽을 수있는 물리 디스크 공간을 확보하는 것입니다. 파일 시스템. 전용 미니 파티션은 크기를 알면 하나의 큰 로우 액세스 버퍼로 취급 할 수 있고 파일 이름, 파일 시스템 등과 같은 번거 로움을 피할 수 있기 때문에 최선을 다할 수 있습니다.

관련 문제