2017-01-27 4 views
4

例のように、this questionからExtendedPropertyDefinitionを作成するときに、マジックナンバーを使ってWeb上に多数のコードスニペットが表示されます。例:PublicProperties ExtendedPropertyDefinition IDの列挙型はありますか?

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を発見しました。 1つの大きなテーブルを想定して個別に見ることができます。私は、EWSのAPIで、このための列挙型を探していたので、上記の例では、小数点

で12299であること

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

0x300bは、私はマジックナンバーを憎むようにここでPR_DELETED_ONするためのものです。私は、(うまくいけば)公開されたすべてのenumを私に見せるためにこのスニペットを書いた。

$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が管理するマスターリストはありません。たとえば、タグ付きプロパティや名前付きプロパティなど、さまざまなプロパティもあります。また、EWSでExtendedプロパティを使用するには、最初に定義してExchangeにそのプロパティを返すか設定する必要がありますので、EWSではすべてのExtendedプロパティを列挙できませんMAPIのようなアイテム。私が知っている最も近いリストは、かなり包括的なhttps://ewseditor.codeplex.com/SourceControl/latest#EWSEditor/PropertyInformation/KnownExtendedPropertiesData.csであるEWSEditorのものです。 Mapiのインクルードファイルには、例えばhttps://github.com/openchange/openchange/blob/master/properties_enum.hなどの良いリストもあります(ただし、タグ付きのプロパティのみです)。

+0

あなたを大歓迎します。最近、あなたのブログを愛してください。コンフォーマンスのおかげで – Matt

関連する問題