2013-03-08 2 views
5

clipboard에 멀티미디어 파일이나 텍스트 (확실하지는 않음)를 제외한 파일을 복사 할 때마다 3GB와 같은 동영상을 복사 할 때마다 파일 또는 데이터 복사본의 주소가 저장됩니다. , C 디스크 크기가 증가하지 않습니다. 클립 보드가 사본이 아닌 주소를 저장한다는 의미입니다. 사실입니까?데이터가 Windows 클립 보드에 저장되는 방법

답변

7

, 당신은 거의 공간을 차지 HDROP 같은 파일 포인터, 상대하고 . 복사를 거의 수행 할 시간이 없습니다. 실제로 3GB가 메모리 버퍼에 복사 될 때까지 기다려야한다면 오랜 시간 동안 기다릴 것입니다. 많은 I/O가있을 것이고, 많은 메모리가 없으면 시스템이 메모리 버퍼를 사용해야합니다. 페이지 파일 공간을 차지하게되어 더 많은 I/O가 발생합니다.
또한 텍스트/HTML/RTF/그래픽 복사본 (실제로 데이터가 클립 보드에있는)과 달리 클립 보드를 안전망으로 사용할 수 없음을 알아야합니다. 텍스트를 사용하면 복사 한 다음 텍스트를 삭제하고 붙여 넣을 수 있습니다. 파일은 그렇지 않습니다. 파일을 복사 한 다음 해당 파일을 삭제하면 붙여 넣을 수 없습니다. 이것은 분명해 보일지 모르지만 이전 클립으로 돌아가서 붙여 넣을 수있는 모든 종류의 클립 보드 관리자를 사용할 때를 이해하는 것이 중요합니다. 예를 들어, 3 일 전부터 파일 포인터를 붙여 넣을 수 있지만 결과는 3 일 전의 파일이 아닙니다. 현재 디스크에서 파일 포인터가 참조하는 것은 무엇이든지 될 것입니다.

+0

Chris는 클립 보드에서 파일 포인터를 검색 할 수 있습니다. –

+1

CF_HDROP에는 파일 포인터가 들어 있습니다. 참조하십시오 : http://msdn.microsoft.com/en-us/library/windows/desktop/bb776902(v=vs.85).aspx#CF_HDROP –

+0

chris 나는 당신에 의해 주어진 링크를 시도했지만 어떻게 이해할 수 없다. 파일 포인터를 검색한다. –

3
does it stores the address of file 

기본적으로 예,하지만 정말 해결하지만 핸들 파일의 소위.

리소스, 대개 메모리 또는 열린 파일 또는 파이프에 대한 추상 참조 값입니다.

Windows에서 (일반적으로 컴퓨팅에서) 핸들은 API 사용자로부터 실제 메모리 주소를 숨기는 추상화로, 시스템이 실제 메모리를 프로그램에 투명하게 재구성 할 수 있도록합니다. 핸들을 포인터로 해석하면 메모리가 잠기고 핸들을 놓으면 포인터가 무효화됩니다. 이 경우 그것을 포인터 테이블에 대한 인덱스로 생각하십시오. 시스템 API 호출에 인덱스를 사용하면 시스템이 테이블의 포인터를 마음대로 변경할 수 있습니다.

클립 보드가 어떻게 작동하는지 정확히 알고 싶다면이 문서에서 좀 걸릴 수 있습니다

: 당신이 파일을 복사하는 경우 http://blogs.msdn.com/b/ntdebugging/archive/2012/03/16/how-the-clipboard-works-part-1.aspx

+1

클립 보드에서 추상 참조 값을 얻을 수 있습니까? –

1

@Hot 쿨 스터드 :

파일의 경로를 복사하려면/폴더

보도, 다운 시프트 파일이나 폴더를 선택하고, 마우스 오른쪽, 당신은 경로로 복사 "로 추가 menu_option를 볼 수 있습니다 ". 그것을 선택하면 경로가 클립 보드에 복사됩니다.