배경 : 서버의 파일 및 폴더에 대한 가상보기를 제공하기 위해 네임 스페이스 확장을 구현 중입니다. Microsoft SDK 샘플 explorerdataprovider로 시작했습니다. 열거 로직을 수정하고 요구 사항에 맞게 메뉴 항목을 변경했습니다.삭제 작업을위한 네임 스페이스 확장의 진입 점은 무엇입니까?
문제 : IShellFolder::GetAttributesOf()
기능에 , 나는 플래그 SFGAO_CANDELETE|SFGAO_CANRENAME
로 항목을 표시합니다. 이름 바꾸기를 시도하면 IShellFolder::SetNameOf()
이 호출됩니다. 그러나 delete 키를 눌러 삭제 작업을 시도하면 삭제 처리를 위해 호출 된 것으로 보이는 IShellFolder
에는 사용할 수있는 인터페이스가 없습니다.
참고 : 내가이 처리하는 상황에 맞는 메뉴에서 내 자신의 메뉴 항목을 추가 할 수 있지만 삭제는 키보드를 사용하여 시작되는 경우가 호출되지 않으며, 사용자가 있습니까 "의 표준 대화 상자가 표시되지 않습니다 이걸 정말로 지우시겠습니까? ".
네임 스페이스 확장에서 삭제를 처리하는 방법을 알려주십시오.
이것은 물론 이전에 Google의 "셸 네임 스페이스 확장 삭제 작업"을 수행했습니다. 첫 번째 공격은 올바른 방향으로 나아갈 수있는 방법과 같습니다. –