누군가 PROPERTYKEY
구조의 pid
필드가 무엇인지 설명 할 수 있습니까? Microsoft는 단지 0
또는 1
을 사용하지 않는다고 말하지만 코드는 IPropertyStore
을 구현해야 할 때 도움이되지 않습니다. pid
은 키의 일부로 간주 되므로 fmtid
이면서 pid
이 아닌 여러 값이있을 수 있습니까? 아니면 무시해야합니까? GetValue
은 fmtid
과 일치하는 값을 반환해야하며 pid
을 무시 하시겠습니까?PROPERTYKEY :: pid 의미
답변
이 fmtid + pid 조합은 역사적으로 OLE와 관련이 있습니다 (예, 상당히 오래된 것입니다).
그 당시 fmtid
(형식 ID)은 카테고리와 유사했으며 PID (속성 ID)는 카테고리의 속성 식별자였습니다. 예를 들어, 여기에 첫 번째 FMTID가 정의되어 있습니다 : Predefined Property Set Format Identifiers. 이러한 속성은 Office 문서 (작성자, 키워드 등)에 여전히 사용됩니다. 따라서 여러 속성 (많은 속성의 경우 fmtid가 적음)이 많았지 만 fmtid와 pid의 조합은 항상 속성을 공간 전체에서 고유하게 만듭니다. 은하. 새로운 속성의 FMTID 아무것도 의미하지 않는다,
오늘 ... FMTID_AudioSummaryInformation, FMTID_Volume, FMTID_ShellDetails 등 :
기타 FMTID에서는 Windows SDK의 propkey.h에에에 모습을 가질 수 있습니다, 이후 등장 더 이상. 예를 들어, System.Contact.Birthday의 fmtid는 1 76DC63C-2688-4E89-8143-A347800F25E9
이고 ID는 47
이지만 fmtid는 특별한 의미가 없으며 구체적으로 정의되지 않으므로 실제로 키에만 사용할 수 있습니다.
따라서 주어진 속성에 대해 키가 여전히 두 가지 (즉 구조 이름 : PROPERTYKEY)의 조합이라고 생각해야하지만 pid를 사용하여 자신의 속성을 2보다 크거나 같은 것으로 정의 할 수 있습니다 (공식 doc 지정) 및 fmtid를 새로운 guid로 사용하십시오. 필자는 개인적으로 한 그룹의 속성에 대해 하나의 공통 FMTID를 정의하는 것을 선호합니다.
- 1. PID 대 PID (2 DOF)
- 2. 결정 - PID
- 3. Angular2 Final : es2015.core.d.ts : 17 : 14 : 중복 식별자 'PropertyKey'
- 4. 프롤로그 - 연산자 "_ : _"- 의미?
- 5. 코드의 의미 오류
- 6. 의미
- 7. 의미
- 8. 의미
- 9. 의미
- 10. 의미
- 11. 의미
- 12. 의미
- 13. 의미
- 14. 의미
- 15. 의미
- 16. 의미
- 17. 의미
- 18. 의미
- 19. 의미
- 20. 의미
- 21. 의미,`
- 22. 의미
- 23. 의미
- 24. ps의 열의 의미
- 25. pid =`cat $ pidfile` 또는 읽기 pid <$ pidfile?
- 26. sendto를 PID 및 그룹
- 27. Erlang-Pid 컨트롤
- 28. Keil Uvision4의 PID 컨트롤러
- 29. /proc/pid/smaps 읽기
- 30. 리눅스의 PID 파일
사용자 정의 fmtids에도 pid 0 또는 one을 사용하지 마십시오. –
@ RayayChen - PROPERTYKEY 참조 문서는 실제로 값이 2보다 크거나 같아야 함을 규정합니다. 이는 PID_DICTIONARY 및 PID_CODEPAGE 권한입니까? 나는 이것들이 OLE 복합 기억 장치에 특별한 의미가 있다는 것을 알았지 만, 복합 파일에 사용되지 않았더라도 여전히 금지되어 있습니까? –
예약 된 pid가 예약되어 있습니다. –