0

난 그냥 here 사용할 수있는 레시피 재산권 처리기에 대한 Windows 응용 프로그램 샘플을 시도하고 있었고, 난 그것을 .doc 파일 대신 .recipe 파일에 사용되는 수정 :Windows 셸이 여러 셸 속성 처리기를 지원합니까?

const WCHAR c_szRecipeFileExtension[] = L".doc"; 

하지만, 이것은 이전을 덮어 듯 문제를 일으키는 Office 핸들러의 속성은 Windows 셸에서 여러 셸 속성 처리기를 지원합니까? 아니면 특정 파일 형식에 대해 한 번에 하나씩 만 사용할 수 있습니까? 가능한 경우 샘플의 코드 또는 논리에서 무엇을 놓치고 있습니까?

이 질문에 대한 MSDN의 구체적인 답변을 찾을 수 없습니다.

답변

1

그러나 당신이 사용할 수있는 변종 (내가 좋아 해달라고하지만 추가적인 변형을 참조 해달라고)가 제

. 자신을 등록 할 때 이전 속성 핸들러 CLSID를 저장하십시오. 그리고 셸이 처리 할 수없는 속성을 요청하면 이전 핸들러의 인스턴스를 만들고 요청을 전달합니다.

CoCreateInstance(SavedCLSID, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IPropertyStore, PS) 
PS.QueryInterface(IInitializeWithStream, IWS) 
IWS.Initialize(Stream, Mode) 
PS.GetValue(AUnknownKey)