Are there public announcements for ExtendedPropertyDefinition identifiers?

As in the example from this question , I see many pieces of code on the Internet using magic numbers when creating ExtendedPropertyDefinition. Example:

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

I found a link for these links on MSDN . I can watch them individually, as intended, on one large table. Here is an example for PR_DELETED_ON, as in the example above

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

0x300b is 12,299 in decimal format

I hate magic numbers, so I was looking for an enumeration for this in the EWS API. I wrote this snippet to (hopefully) show me all the published listings.

$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
    } 
}

, , . - , ? , . , - .

, . , .

+4

Source: https://habr.com/ru/post/1668048/


All Articles