2017-01-27 2 views
4

예를 들어 this question에서와 같이 ExtendedPropertyDefinition을 만들 때 마술 번호를 사용하여 웹에 많은 코드 스 니펫이 표시됩니다. 예 :PublicProperties ExtendedPropertyDefinition ID에 대한 Enums가 있습니까?

Dim PR_DELETED_ON As New ExtendedPropertyDefinition(26255, MapiPropertyType.SystemTime) 
Dim PR_SEARCH_KEY As New ExtendedPropertyDefinition(12299, MapiPropertyType.Binary) 

내가의 종류가 reference location for these on MSDN을 발견했다. 하나의 커다란 테이블을 개별적으로 볼 수 있습니다. 다음은 위의 예처럼 PR_DELETED_ON의 하나입니다

+------------------------+---------------+ 
| Associated properties: | PR_SEARCH_KEY | 
+------------------------+---------------+ 
| Identifier:   | 0x300B  | 
+------------------------+---------------+ 
| Data type:    | PT_BINARY  | 
+------------------------+---------------+ 
| Area:     | ID properties | 
+------------------------+---------------+ 

나는 그래서는 EWS API의 이것에 대한 열거를 찾고 있었다 매직 넘버를 싫어 진

에 12,299 인 0x300b. 나는 (잘하면) 노출 된 모든 열거 형을 보여주기 위해이 스 니펫을 작성했습니다.

$obj = [Reflection.Assembly]::LoadFile("C:\Program Files (x86)\EWSManagedAPI\Microsoft.Exchange.WebServices.dll") 
$obj.GetTypes() | Where-object{$_.isenum -and ($_.ispublic -or $_.isnestedpublic)} | ForEach-Object{ 
    $props = @{Name = $_.FullName} 
    [enum]::GetValues($_) | ForEach-Object{ 
     $props.Integer = [int64]$_ 
     $props.Text = $_ 
     [pscustomobject]$props 
    } 
} 

위의 내용과 일치하는 내용이 출력에 표시되지 않았습니다. 누구든지 이러한 속성에 대해 기존 열거 형이 있는지 알고 있습니까? 그렇지 않다면 괜찮습니다. 나는 거기에 뭔가있을 것이라고 가정했습니다.

세계의 끝은 아니지만 나 자신을 찾을 수 없습니다. 코드 스 니펫이 왜 참조를 계속하는지 설명 할 수 있습니다.

+0

의미 론적 이름은 컴파일 된 응용 프로그램이 맨손으로 숫자를 사용하는 반면 C++ 헤더에만 존재합니다. Windows, Outlook, Office, PR_SEARCH_KEY에 대한 공통 파일 폴더 등을 검색해 볼 수는 있지만. – wOxxOm

+0

도움이되는지 모르지만 일부 상용 라이브러리에 존재합니다. [Aspose] (http://www.aspose.com/api/net/email/aspose.email.mapi/knownpropertylist) – JPBlanc

답변

2

아니요. AFAIK와 EWS Managed API에는 Microsoft에서 관리하는 마스터 목록이 없습니다. 또한 Tagged 및 Named 속성과 같은 여러 유형의 속성이 있으며 EWS에서 Extended 속성을 사용하려면 먼저 Exchange에서 해당 속성을 반환하거나 설정하도록 지정해야합니다. 그러면 EWS가 해당 속성의 모든 확장 속성을 열거하도록 허용하지 않습니다. MAPI와 같은 항목입니다. 내가 아는 가장 가까운 목록은 EWSEditor의 하나이며 꽤 포괄적 인 https://ewseditor.codeplex.com/SourceControl/latest#EWSEditor/PropertyInformation/KnownExtendedPropertiesData.cs입니다. Mapi 포함 파일에도 좋은 목록이 있습니다. 예 : https://github.com/openchange/openchange/blob/master/properties_enum.h (단, 태그가 지정된 속성 만 가능).

+0

여기 저기에서 보입니다. 최근. 당신의 블로그를 사랑하십시오. 고마워요. – Matt