diff --git a/CHANGES.txt b/CHANGES.txt index 29a9356bb0..ad8aed7744 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +Release 3.2.0 - ??? + + * Improve extraction of properties from msg files (TIKA_4381). + Release 3.1.0 - 01/28/25 * Allow users to turn off the injection of some headers into the content stream of MSG diff --git a/tika-core/src/main/java/org/apache/tika/metadata/MAPI.java b/tika-core/src/main/java/org/apache/tika/metadata/MAPI.java new file mode 100644 index 0000000000..45fbad1bc3 --- /dev/null +++ b/tika-core/src/main/java/org/apache/tika/metadata/MAPI.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.metadata; + +/** + * + * Properties that typically appear in MSG/PST message format files. + * + * @since Apache Tika 4.0 + */ +public interface MAPI { + + String PREFIX_MAPI_META = "mapi" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; + String PREFIX_MAPI_ATTACH_META = "mapi:attach" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; + String PREFIX_MAPI_RAW_META = PREFIX_MAPI_META + "raw" + TikaCoreProperties.NAMESPACE_PREFIX_DELIMITER; + + /** + * MAPI message class. What type of .msg/MAPI file is it? + * This is normalized via "mapi_message_classes.properties + */ + Property MESSAGE_CLASS = Property.internalText(PREFIX_MAPI_META + "message-class"); + + /** + * MAPI message class. What type of .msg/MAPI file is it? + * This is the raw value that is retrieved from the underlying chunk + */ + Property MESSAGE_CLASS_RAW = Property.internalText(PREFIX_MAPI_META + "message-class-raw"); + + Property SENT_BY_SERVER_TYPE = Property.internalText(PREFIX_MAPI_META + "sent-by-server-type"); + + Property FROM_REPRESENTING_NAME = Property.internalText(PREFIX_MAPI_META + "from-representing-name"); + + Property FROM_REPRESENTING_EMAIL = Property.internalText(PREFIX_MAPI_META + "from-representing-email"); + + Property SUBMISSION_ACCEPTED_AT_TIME = Property.internalDate(PREFIX_MAPI_META + "msg-submission-accepted-at-time"); + + Property SUBMISSION_ID = Property.internalText(PREFIX_MAPI_META + "msg-submission-id"); + + Property INTERNET_MESSAGE_ID = Property.internalText(PREFIX_MAPI_META + "internet-message-id"); + + Property INTERNET_REFERENCES = Property.internalTextBag(PREFIX_MAPI_META + "internet-references"); + + + Property CONVERSATION_TOPIC = Property.internalText(PREFIX_MAPI_META + "conversation-topic"); + + Property CONVERSATION_INDEX = Property.internalText(PREFIX_MAPI_META + "conversation-index"); + Property IN_REPLY_TO_ID = Property.internalText(PREFIX_MAPI_META + "in-reply-to-id"); + + Property RECIPIENTS_STRING = Property.internalText(PREFIX_MAPI_META + "recipients-string"); + Property IMPORTANCE = Property.internalInteger(PREFIX_MAPI_META + "importance"); + Property PRIORTY = Property.internalInteger(PREFIX_MAPI_META + "priority"); + Property IS_FLAGGED = Property.internalBoolean(PREFIX_MAPI_META + "is-flagged"); + + Property ATTACH_LONG_PATH_NAME = Property.internalText(PREFIX_MAPI_ATTACH_META + "long-path-name"); + Property ATTACH_LONG_FILE_NAME = Property.internalText(PREFIX_MAPI_ATTACH_META + "long-file-name"); + Property ATTACH_FILE_NAME = Property.internalText(PREFIX_MAPI_ATTACH_META + "file-name"); + Property ATTACH_CONTENT_ID = Property.internalText(PREFIX_MAPI_ATTACH_META + "content-id"); + Property ATTACH_CONTENT_LOCATION = Property.internalText(PREFIX_MAPI_ATTACH_META + "content-location"); + Property ATTACH_DISPLAY_NAME = Property.internalText(PREFIX_MAPI_ATTACH_META + "display-name"); + Property ATTACH_EXTENSION = Property.internalText(PREFIX_MAPI_ATTACH_META + "extension"); + Property ATTACH_MIME = Property.internalText(PREFIX_MAPI_ATTACH_META + "mime"); + Property ATTACH_LANGUAGE = Property.internalText(PREFIX_MAPI_ATTACH_META + "language"); + +} + diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java index b42c0f5888..8910b1c007 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractPOIFSExtractor.java @@ -156,6 +156,14 @@ protected void handleEmbeddedOfficeDoc(DirectoryEntry dir, XHTMLContentHandler x protected void handleEmbeddedOfficeDoc(DirectoryEntry dir, String resourceName, XHTMLContentHandler xhtml, boolean outputHtml) throws IOException, SAXException, TikaException { + handleEmbeddedOfficeDoc(dir, new Metadata(), resourceName, xhtml, outputHtml); + } + /** + * Handle an office document that's embedded at the POIFS level + */ + protected void handleEmbeddedOfficeDoc(DirectoryEntry dir, Metadata metadata, + String resourceName, XHTMLContentHandler xhtml, boolean outputHtml) + throws IOException, SAXException, TikaException { // Is it an embedded OLE2 document, or an embedded OOXML document? @@ -165,7 +173,6 @@ protected void handleEmbeddedOfficeDoc(DirectoryEntry dir, String resourceName, if (ooxml != null) { // It's OOXML (has a ZipFile): - Metadata metadata = new Metadata(); metadata.set(Metadata.CONTENT_LENGTH, Integer.toString(((DocumentEntry)ooxml).getSize())); try (TikaInputStream stream = TikaInputStream @@ -191,7 +198,6 @@ protected void handleEmbeddedOfficeDoc(DirectoryEntry dir, String resourceName, // It's regular OLE2: // What kind of document is it? - Metadata metadata = new Metadata(); metadata.set(TikaCoreProperties.EMBEDDED_RELATIONSHIP_ID, dir.getName()); if (dir.getStorageClsid() != null) { metadata.set(TikaCoreProperties.EMBEDDED_STORAGE_CLASS_ID, diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParserConfig.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParserConfig.java index 863d906197..af2ebbfdf3 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParserConfig.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParserConfig.java @@ -41,6 +41,8 @@ public class OfficeParserConfig implements Serializable { private String dateOverrideFormat = null; private int maxOverride = 0;//ignore + private boolean extractExtendedMsgProperties = false; + /** * @return whether or not to extract macros */ @@ -292,6 +294,14 @@ public void setMaxOverride(int maxOverride) { public int getMaxOverride() { return this.maxOverride; } + + public boolean isExtractExtendedMsgProperties() { + return extractExtendedMsgProperties; + } + + public void setExtractExtendedMsgProperties(boolean extractExtendedMsgProperties) { + this.extractExtendedMsgProperties = extractExtendedMsgProperties; + } } diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java index a73adbaf62..4ac44b00ff 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java @@ -18,14 +18,18 @@ import static java.nio.charset.StandardCharsets.UTF_8; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; import java.nio.charset.UnsupportedCharsetException; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collections; import java.util.Date; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; @@ -34,6 +38,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.codec.binary.Hex; import org.apache.commons.io.input.UnsynchronizedByteArrayInputStream; import org.apache.james.mime4j.codec.DecodeMonitor; import org.apache.james.mime4j.codec.DecoderUtil; @@ -44,6 +49,7 @@ import org.apache.poi.hsmf.datatypes.Chunk; import org.apache.poi.hsmf.datatypes.Chunks; import org.apache.poi.hsmf.datatypes.MAPIProperty; +import org.apache.poi.hsmf.datatypes.MessageSubmissionChunk; import org.apache.poi.hsmf.datatypes.PropertyValue; import org.apache.poi.hsmf.datatypes.RecipientChunks; import org.apache.poi.hsmf.datatypes.StringChunk; @@ -51,14 +57,16 @@ import org.apache.poi.hsmf.exceptions.ChunkNotFoundException; import org.apache.poi.poifs.filesystem.DirectoryNode; import org.apache.poi.util.CodePageUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.xml.sax.SAXException; import org.apache.tika.exception.TikaException; import org.apache.tika.extractor.EmbeddedDocumentUtil; import org.apache.tika.io.TikaInputStream; +import org.apache.tika.metadata.MAPI; import org.apache.tika.metadata.Message; import org.apache.tika.metadata.Metadata; -import org.apache.tika.metadata.Office; import org.apache.tika.metadata.Property; import org.apache.tika.metadata.TikaCoreProperties; import org.apache.tika.mime.MediaType; @@ -67,32 +75,100 @@ import org.apache.tika.parser.html.HtmlEncodingDetector; import org.apache.tika.parser.html.JSoupParser; import org.apache.tika.parser.mailcommons.MailDateParser; +import org.apache.tika.parser.microsoft.msg.ExtendedMetadataExtractor; import org.apache.tika.parser.microsoft.rtf.RTFParser; import org.apache.tika.parser.txt.CharsetDetector; import org.apache.tika.parser.txt.CharsetMatch; import org.apache.tika.sax.BodyContentHandler; import org.apache.tika.sax.EmbeddedContentHandler; import org.apache.tika.sax.XHTMLContentHandler; +import org.apache.tika.utils.StringUtils; + /** * Outlook Message Parser. */ public class OutlookExtractor extends AbstractPOIFSExtractor { + static Logger LOGGER = LoggerFactory.getLogger(OutlookExtractor.class); private static final Metadata EMPTY_METADATA = new Metadata(); + private static final MAPIProperty[] LITERAL_TIME_MAPI_PROPERTIES = new MAPIProperty[] { + MAPIProperty.CLIENT_SUBMIT_TIME, + MAPIProperty.CREATION_TIME, + MAPIProperty.DEFERRED_DELIVERY_TIME, + MAPIProperty.DELIVER_TIME, + //EXPAND BEGIN and EXPAND END? + MAPIProperty.EXPIRY_TIME, + MAPIProperty.LAST_MODIFICATION_TIME, + MAPIProperty.LATEST_DELIVERY_TIME, + MAPIProperty.MESSAGE_DELIVERY_TIME, + MAPIProperty.MESSAGE_DOWNLOAD_TIME, + MAPIProperty.ORIGINAL_DELIVERY_TIME, + MAPIProperty.ORIGINAL_SUBMIT_TIME, + MAPIProperty.PROVIDER_SUBMIT_TIME, + MAPIProperty.RECEIPT_TIME, + MAPIProperty.REPLY_TIME, + MAPIProperty.REPORT_TIME + + }; + + private static final Map LITERAL_TIME_PROPERTIES = new HashMap<>(); + + private static final Map MESSAGE_CLASSES = new LinkedHashMap<>(); + + static { + for (MAPIProperty property : LITERAL_TIME_MAPI_PROPERTIES) { + String name = property.mapiProperty.toLowerCase(Locale.ROOT); + name = name.substring(3); + name = name.replace('_', '-'); + name = MAPI.PREFIX_MAPI_META + name; + Property tikaProp = Property.internalDate(name); + LITERAL_TIME_PROPERTIES.put(property, tikaProp); + } + loadMessageClasses(); + } - private static Pattern HEADER_KEY_PAT = - Pattern.compile("\\A([\\x21-\\x39\\x3B-\\x7E]+):(.*?)\\Z"); - private final MAPIMessage msg; + + private static void loadMessageClasses() { + String fName = "/org/apache/tika/parser/microsoft/msg/mapi_message_classes.properties"; + try (BufferedReader r = new BufferedReader( + new InputStreamReader( + OutlookExtractor.class.getResourceAsStream(fName), UTF_8))) { + String line = r.readLine(); + while (line != null) { + if (line.isBlank() || line.startsWith("#")) { + line = r.readLine(); + continue; + } + String[] cols = line.split("\\s+"); + String lcKey = cols[0].toLowerCase(Locale.ROOT); + String value = cols[1]; + if (MESSAGE_CLASSES.containsKey(lcKey)) { + throw new IllegalArgumentException("Can't have duplicate keys: " + lcKey); + } + MESSAGE_CLASSES.put(lcKey, value); + line = r.readLine(); + } + } catch (IOException e) { + throw new IllegalStateException("can't find mapi_message_classes.properties?!"); + } + + } + //this according to the spec; in practice, it is probably more likely //that a "split field" fails to start with a space character than //that a real header contains anything but [-_A-Za-z0-9]. //e.g. //header: this header goes onto the next line // chunks, Property property, Metadata metadata) { - if (chunks == null || chunks.size() < 1 || chunks.get(0) == null) { + if (chunks == null || chunks.isEmpty() || chunks.get(0) == null) { return; } metadata.set(property, chunks.get(0).toString()); } - private static void addFirstChunk(List chunks, Property property, Metadata metadata) { - if (chunks == null || chunks.size() < 1 || chunks.get(0) == null) { - return; - } - metadata.add(property, chunks.get(0).toString()); - } - - //Still needed by PSTParser - public static String getMessageClass(String messageClass) { - if (messageClass == null || messageClass.trim().length() == 0) { + public static String getNormalizedMessageClass(String messageClass) { + if (messageClass == null || messageClass.isBlank()) { return "UNSPECIFIED"; - } else if (messageClass.equalsIgnoreCase("IPM.Note")) { - return "NOTE"; - } else if (messageClass.equalsIgnoreCase("IPM.Contact")) { - return "CONTACT"; - } else if (messageClass.equalsIgnoreCase("IPM.Appointment")) { - return "APPOINTMENT"; - } else if (messageClass.equalsIgnoreCase("IPM.StickyNote")) { - return "STICKY_NOTE"; - } else if (messageClass.equalsIgnoreCase("IPM.Task")) { - return "TASK"; - } else if (messageClass.equalsIgnoreCase("IPM.Post")) { - return "POST"; - } else { - return "UNKNOWN"; } + String lc = messageClass.toLowerCase(Locale.ROOT); + if (MESSAGE_CLASSES.containsKey(lc)) { + return MESSAGE_CLASSES.get(lc); + } + return "UNKNOWN"; } - public void parse(XHTMLContentHandler xhtml) - throws TikaException, SAXException, IOException { + public void parse(XHTMLContentHandler xhtml) throws TikaException, SAXException, IOException { try { - msg.setReturnNullOnMissingChunk(true); - - try { - parentMetadata.set(Office.MAPI_MESSAGE_CLASS, msg.getMessageClassEnum().name()); - } catch (ChunkNotFoundException e) { - //swallow - } + _parse(xhtml); + } catch (ChunkNotFoundException e) { + throw new TikaException("POI MAPIMessage broken - didn't return null on missing chunk", e); + } /*finally { + //You'd think you'd want to call msg.close(). + //Don't do that. That closes down the file system. + //If an msg has multiple msg attachments, some of them + //can reside in the same file system. After the first + //child is read, the fs is closed, and the other children + //get a java.nio.channels.ClosedChannelException + }*/ + } - // If the message contains strings that aren't stored - // as Unicode, try to sort out an encoding for them - if (msg.has7BitEncodingStrings()) { - guess7BitEncoding(msg); - } + private void _parse(XHTMLContentHandler xhtml) throws TikaException, SAXException, IOException, ChunkNotFoundException { + msg.setReturnNullOnMissingChunk(true); - // Start with the metadata - String subject = msg.getSubject(); - Map headers = normalizeHeaders(msg.getHeaders()); - String from = msg.getDisplayFrom(); + // If the message contains strings that aren't stored + // as Unicode, try to sort out an encoding for them + if (msg.has7BitEncodingStrings()) { + guess7BitEncoding(msg); + } - handleFromTo(headers, parentMetadata); + // Start with the metadata + Map headers = normalizeHeaders(msg.getHeaders()); - parentMetadata.set(TikaCoreProperties.TITLE, subject); - parentMetadata.set(TikaCoreProperties.SUBJECT, msg.getConversationTopic()); - parentMetadata.set(TikaCoreProperties.DESCRIPTION, msg.getConversationTopic()); + handleFromTo(headers, parentMetadata); + handleMessageInfo(msg, headers, parentMetadata); + if (extractExtendedMsgProperties) { + ExtendedMetadataExtractor.extract(msg, parentMetadata); + } - try { - for (String recipientAddress : msg.getRecipientEmailAddressList()) { - if (recipientAddress != null) { - parentMetadata.add(Metadata.MESSAGE_RECIPIENT_ADDRESS, recipientAddress); - } + try { + for (String recipientAddress : msg.getRecipientEmailAddressList()) { + if (recipientAddress != null) { + parentMetadata.add(Metadata.MESSAGE_RECIPIENT_ADDRESS, recipientAddress); } - } catch (ChunkNotFoundException he) { - // Will be fixed in POI 3.7 Final } + } catch (ChunkNotFoundException e) { + //you'd think we wouldn't need this. we do. + } - for (Map.Entry e : headers.entrySet()) { - String headerKey = e.getKey(); - for (String headerValue : e.getValue()) { - parentMetadata.add(Metadata.MESSAGE_RAW_HEADER_PREFIX + headerKey, headerValue); - } + for (Map.Entry e : headers.entrySet()) { + String headerKey = e.getKey(); + for (String headerValue : e.getValue()) { + parentMetadata.add(Metadata.MESSAGE_RAW_HEADER_PREFIX + headerKey, headerValue); } + } - // Date - try two ways to find it - // First try via the proper chunk - if (msg.getMessageDate() != null) { - parentMetadata.set(TikaCoreProperties.CREATED, msg.getMessageDate().getTime()); - parentMetadata.set(TikaCoreProperties.MODIFIED, msg.getMessageDate().getTime()); - } else { - if (headers != null && headers.size() > 0) { - for (Map.Entry header : headers.entrySet()) { - String headerKey = header.getKey(); - if (headerKey.toLowerCase(Locale.ROOT).startsWith("date:")) { - String date = headerKey.substring(headerKey.indexOf(':') + 1).trim(); - - // See if we can parse it as a normal mail date - try { - Date d = MailDateParser.parseDateLenient(date); - parentMetadata.set(TikaCoreProperties.CREATED, d); - parentMetadata.set(TikaCoreProperties.MODIFIED, d); - } catch (SecurityException e ) { - throw e; - } catch (Exception e) { - // Store it as-is, and hope for the best... - parentMetadata.set(TikaCoreProperties.CREATED, date); - parentMetadata.set(TikaCoreProperties.MODIFIED, date); - } - break; - } - } - } + handleGeneralDates(msg, headers, parentMetadata); + + // Get the message body. Preference order is: html, rtf, text + Chunk htmlChunk = null; + Chunk rtfChunk = null; + Chunk textChunk = null; + for (Chunk chunk : msg.getMainChunks().getChunks()) { + if (chunk.getChunkId() == MAPIProperty.BODY_HTML.id) { + htmlChunk = chunk; } + if (chunk.getChunkId() == MAPIProperty.RTF_COMPRESSED.id) { + rtfChunk = chunk; + } + if (chunk.getChunkId() == MAPIProperty.BODY.id) { + textChunk = chunk; + } + } + handleBodyChunks(htmlChunk, rtfChunk, textChunk, xhtml); + + // Process the attachments + for (AttachmentChunks attachment : msg.getAttachmentFiles()) { + Metadata metadata = new Metadata(); + updateAttachmentMetadata(attachment, metadata); + String filename = null; + if (!StringUtils.isBlank(metadata.get(MAPI.ATTACH_LONG_FILE_NAME))) { + filename = metadata.get(MAPI.ATTACH_LONG_FILE_NAME); + } else if (!StringUtils.isBlank(metadata.get(MAPI.ATTACH_DISPLAY_NAME))) { + filename = metadata.get(MAPI.ATTACH_DISPLAY_NAME); + } else if (!StringUtils.isBlank(metadata.get(MAPI.ATTACH_FILE_NAME))) { + filename = metadata.get(MAPI.ATTACH_FILE_NAME); + } + //this is allowed to be null; + String mimeType = metadata.get(MAPI.ATTACH_MIME); + if (attachment.getAttachData() != null) { + handleEmbeddedResource(TikaInputStream.get(attachment + .getAttachData() + .getValue()), metadata, filename, null, null, mimeType, xhtml, true); + } + if (attachment.getAttachmentDirectory() != null) { + handleEmbeddedOfficeDoc(attachment + .getAttachmentDirectory() + .getDirectory(), metadata, filename, xhtml, true); + } + } - writeSelectHeadersInBody(subject, from, msg, xhtml); + } - // Get the message body. Preference order is: html, rtf, text - Chunk htmlChunk = null; - Chunk rtfChunk = null; - Chunk textChunk = null; - for (Chunk chunk : msg.getMainChunks().getChunks()) { - if (chunk.getChunkId() == MAPIProperty.BODY_HTML.id) { - htmlChunk = chunk; - } - if (chunk.getChunkId() == MAPIProperty.RTF_COMPRESSED.id) { - rtfChunk = chunk; - } - if (chunk.getChunkId() == MAPIProperty.BODY.id) { - textChunk = chunk; - } - } - handleBodyChunks(htmlChunk, rtfChunk, textChunk, xhtml); + private void updateAttachmentMetadata(AttachmentChunks attachment, Metadata metadata) { + addStringChunkToMetadata(MAPI.ATTACH_LONG_PATH_NAME, attachment.getAttachLongPathName(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_LONG_FILE_NAME, attachment.getAttachLongFileName(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_FILE_NAME, attachment.getAttachFileName(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_CONTENT_ID, attachment.getAttachContentId(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_CONTENT_LOCATION, attachment.getAttachContentLocation(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_DISPLAY_NAME, attachment.getAttachDisplayName(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_EXTENSION, attachment.getAttachExtension(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_MIME, attachment.getAttachMimeTag(), metadata); + addStringChunkToMetadata(MAPI.ATTACH_LANGUAGE, attachment.getAttachLanguage(), metadata); + } - // Process the attachments - for (AttachmentChunks attachment : msg.getAttachmentFiles()) { + private void addStringChunkToMetadata(Property property, StringChunk stringChunk, Metadata metadata) { + if (stringChunk == null) { + return; + } + String v = stringChunk.getValue(); + if (StringUtils.isBlank(v)) { + return; + } + metadata.set(property, v); + } - String filename = null; - if (attachment.getAttachLongFileName() != null) { - filename = attachment.getAttachLongFileName().getValue(); - } else if (attachment.getAttachFileName() != null) { - filename = attachment.getAttachFileName().getValue(); - } + private void handleMessageInfo(MAPIMessage msg, Map headers, Metadata metadata) throws ChunkNotFoundException { + //this is the literal subject including "re: " + metadata.set(TikaCoreProperties.TITLE, msg.getSubject()); + //this is the original topic for the thread without the "re: " + String topic = msg.getConversationTopic(); + metadata.set(TikaCoreProperties.SUBJECT, topic); + metadata.set(TikaCoreProperties.DESCRIPTION, topic); + metadata.set(MAPI.CONVERSATION_TOPIC, topic); + Chunks mainChunks = msg.getMainChunks(); + if (mainChunks == null) { + return; + } + if (mainChunks.getMessageId() != null) { + metadata.set(MAPI.INTERNET_MESSAGE_ID, mainChunks + .getMessageId() + .getValue()); + } + + String mc = msg.getStringFromChunk(mainChunks.getMessageClass()); + if (mc != null) { + metadata.set(MAPI.MESSAGE_CLASS_RAW, mc); + } + metadata.set(MAPI.MESSAGE_CLASS, getNormalizedMessageClass(mc)); + List conversationIndex = mainChunks + .getAll() + .get(MAPIProperty.CONVERSATION_INDEX); + if (conversationIndex != null && !conversationIndex.isEmpty()) { + Chunk chunk = conversationIndex.get(0); + if (chunk instanceof ByteChunk) { + byte[] bytes = ((ByteChunk) chunk).getValue(); + String hex = Hex.encodeHexString(bytes); + metadata.set(MAPI.CONVERSATION_INDEX, hex); + } + } - if (attachment.getAttachData() != null) { - handleEmbeddedResource( - TikaInputStream.get(attachment.getAttachData().getValue()), filename, - null, null, xhtml, true); - } - if (attachment.getAttachmentDirectory() != null) { - handleEmbeddedOfficeDoc(attachment.getAttachmentDirectory().getDirectory(), filename, - xhtml, true); + List internetReferences = mainChunks + .getAll() + .get(MAPIProperty.INTERNET_REFERENCES); + if (internetReferences != null) { + for (Chunk ref : internetReferences) { + if (ref instanceof StringChunk) { + metadata.add(MAPI.INTERNET_REFERENCES, ((StringChunk) ref).getValue()); } } - } catch (ChunkNotFoundException e) { - throw new TikaException("POI MAPIMessage broken - didn't return null on missing chunk", - e); - } finally { - //You'd think you'd want to call msg.close(). - //Don't do that. That closes down the file system. - //If an msg has multiple msg attachments, some of them - //can reside in the same file system. After the first - //child is read, the fs is closed, and the other children - //get a java.nio.channels.ClosedChannelException } - } + List inReplyToIds = mainChunks + .getAll() + .get(MAPIProperty.IN_REPLY_TO_ID); + if (inReplyToIds != null && !inReplyToIds.isEmpty()) { + metadata.add(MAPI.IN_REPLY_TO_ID, inReplyToIds + .get(0) + .toString()); + } + + for (Map.Entry e : LITERAL_TIME_PROPERTIES.entrySet()) { + List timeProp = mainChunks + .getProperties() + .get(e.getKey()); + if (timeProp != null && !timeProp.isEmpty()) { + Calendar cal = ((PropertyValue.TimePropertyValue) timeProp.get(0)).getValue(); + metadata.set(e.getValue(), cal); + } + } - private void writeSelectHeadersInBody(String subject, String from, MAPIMessage msg, XHTMLContentHandler xhtml) - throws SAXException, ChunkNotFoundException { - if (! officeParserConfig.isWriteSelectHeadersInBody()) { - return; + MessageSubmissionChunk messageSubmissionChunk = mainChunks.getSubmissionChunk(); + if (messageSubmissionChunk != null) { + String submissionId = messageSubmissionChunk.getSubmissionId(); + metadata.set(MAPI.SUBMISSION_ID, submissionId); + metadata.set(MAPI.SUBMISSION_ACCEPTED_AT_TIME, messageSubmissionChunk.getAcceptedAtTime()); } - xhtml.element("h1", subject); + } - // Output the from and to details in text, as you - // often want them in text form for searching - xhtml.startElement("dl"); - if (from != null) { - header(xhtml, "From", from); + + private void handleGeneralDates(MAPIMessage msg, Map headers, Metadata metadata) throws ChunkNotFoundException { + // Date - try two ways to find it + // First try via the proper chunk + if (msg.getMessageDate() != null) { + metadata.set(TikaCoreProperties.CREATED, msg.getMessageDate().getTime()); + metadata.set(TikaCoreProperties.MODIFIED, msg.getMessageDate().getTime()); + } else { + if (headers != null && headers.size() > 0) { + for (Map.Entry header : headers.entrySet()) { + String headerKey = header.getKey(); + if (headerKey.toLowerCase(Locale.ROOT).startsWith("date:")) { + String date = headerKey.substring(headerKey.indexOf(':') + 1).trim(); + + // See if we can parse it as a normal mail date + try { + Date d = MailDateParser.parseDateLenient(date); + metadata.set(TikaCoreProperties.CREATED, d); + metadata.set(TikaCoreProperties.MODIFIED, d); + } catch (SecurityException e) { + throw e; + } catch (Exception e) { + // Store it as-is, and hope for the best... + metadata.set(TikaCoreProperties.CREATED, date); + metadata.set(TikaCoreProperties.MODIFIED, date); + } + break; + } + } + } } - header(xhtml, "To", msg.getDisplayTo()); - header(xhtml, "Cc", msg.getDisplayCC()); - header(xhtml, "Bcc", msg.getDisplayBCC()); - try { - header(xhtml, "Recipients", msg.getRecipientEmailAddress()); - } catch (ChunkNotFoundException e) { - //swallow + //try to overwrite the modified property if the actual LAST_MODIFICATION_TIME property exists. + List timeProp = msg.getMainChunks().getProperties().get(MAPIProperty.LAST_MODIFICATION_TIME); + if (timeProp != null && ! timeProp.isEmpty()) { + Calendar cal = ((PropertyValue.TimePropertyValue)timeProp.get(0)).getValue(); + metadata.set(TikaCoreProperties.MODIFIED, cal); } - xhtml.endElement("dl"); } @@ -312,13 +453,8 @@ private void handleBodyChunks(Chunk htmlChunk, Chunk rtfChunk, Chunk textChunk, extractAllAlternatives(htmlChunk, rtfChunk, textChunk, xhtml); return; } - if (officeParserConfig.isWriteSelectHeadersInBody()) { - xhtml.startElement("div", "class", "message-body"); - _handleBodyChunks(htmlChunk, rtfChunk, textChunk, xhtml); - xhtml.endElement("div"); - } else { - _handleBodyChunks(htmlChunk, rtfChunk, textChunk, xhtml); - } + _handleBodyChunks(htmlChunk, rtfChunk, textChunk, xhtml); + } private void _handleBodyChunks(Chunk htmlChunk, Chunk rtfChunk, Chunk textChunk, XHTMLContentHandler xhtml) @@ -427,7 +563,7 @@ private void handleFromTo(Map headers, Metadata metadata) Chunks chunks = msg.getMainChunks(); StringChunk sentByServerType = chunks.getSentByServerType(); if (sentByServerType != null) { - metadata.set(Office.MAPI_SENT_BY_SERVER_TYPE, sentByServerType.getValue()); + metadata.set(MAPI.SENT_BY_SERVER_TYPE, sentByServerType.getValue()); } Map> mainChunks = msg.getMainChunks().getAll(); @@ -440,15 +576,11 @@ private void handleFromTo(Map headers, Metadata metadata) //sometimes in SMTP .msg files there is an email in the sender name field. - setFirstChunk(mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME, - metadata); - setFirstChunk(mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME), - Office.MAPI_FROM_REPRESENTING_NAME, metadata); + setFirstChunk(mainChunks.get(MAPIProperty.SENDER_NAME), Message.MESSAGE_FROM_NAME, metadata); + setFirstChunk(mainChunks.get(MAPIProperty.SENT_REPRESENTING_NAME), MAPI.FROM_REPRESENTING_NAME, metadata); - setFirstChunk(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS), Message.MESSAGE_FROM_EMAIL, - metadata); - setFirstChunk(mainChunks.get(MAPIProperty.SENT_REPRESENTING_EMAIL_ADDRESS), - Office.MAPI_FROM_REPRESENTING_EMAIL, metadata); + setFirstChunk(mainChunks.get(MAPIProperty.SENDER_EMAIL_ADDRESS), Message.MESSAGE_FROM_EMAIL, metadata); + setFirstChunk(mainChunks.get(MAPIProperty.SENT_REPRESENTING_EMAIL_ADDRESS), MAPI.FROM_REPRESENTING_EMAIL, metadata); for (Recipient recipient : buildRecipients()) { switch (recipient.recipientType) { @@ -464,8 +596,7 @@ private void handleFromTo(Map headers, Metadata metadata) break; case BCC: addEvenIfNull(Message.MESSAGE_BCC_NAME, recipient.name, metadata); - addEvenIfNull(Message.MESSAGE_BCC_DISPLAY_NAME, recipient.displayName, - metadata); + addEvenIfNull(Message.MESSAGE_BCC_DISPLAY_NAME, recipient.displayName, metadata); addEvenIfNull(Message.MESSAGE_BCC_EMAIL, recipient.emailAddress, metadata); break; default: @@ -562,8 +693,7 @@ private void guess7BitEncoding(MAPIMessage msg) { Map> props = mainChunks.getProperties(); if (props != null) { // First choice is a codepage property - for (MAPIProperty prop : new MAPIProperty[]{MAPIProperty.MESSAGE_CODEPAGE, - MAPIProperty.INTERNET_CPID}) { + for (MAPIProperty prop : new MAPIProperty[]{MAPIProperty.MESSAGE_CODEPAGE, MAPIProperty.INTERNET_CPID}) { List val = props.get(prop); if (val != null && val.size() > 0) { int codepage = ((PropertyValue.LongPropertyValue) val.get(0)).getValue(); @@ -585,8 +715,7 @@ private void guess7BitEncoding(MAPIMessage msg) { String[] headers = msg.getHeaders(); if (headers != null && headers.length > 0) { // Look for a content type with a charset - Pattern p = Pattern.compile("Content-Type:.*?charset=[\"']?([^;'\"]+)[\"']?", - Pattern.CASE_INSENSITIVE); + Pattern p = Pattern.compile("Content-Type:.*?charset=[\"']?([^;'\"]+)[\"']?", Pattern.CASE_INSENSITIVE); for (String header : headers) { if (header.startsWith("Content-Type")) { diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/ExtendedMetadataExtractor.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/ExtendedMetadataExtractor.java new file mode 100644 index 0000000000..6d4880c517 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/ExtendedMetadataExtractor.java @@ -0,0 +1,312 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.parser.microsoft.msg; + +import static java.nio.charset.StandardCharsets.UTF_8; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import org.apache.poi.hpsf.ClassID; +import org.apache.poi.hsmf.MAPIMessage; +import org.apache.poi.hsmf.datatypes.ByteChunk; +import org.apache.poi.hsmf.datatypes.Chunk; +import org.apache.poi.hsmf.datatypes.MAPIProperty; +import org.apache.poi.hsmf.datatypes.PropertyValue; +import org.apache.poi.hsmf.datatypes.Types; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.tika.metadata.MAPI; +import org.apache.tika.metadata.Metadata; +import org.apache.tika.parser.microsoft.OutlookExtractor; +import org.apache.tika.utils.StringUtils; + +/** + * This class extracts mapi properties as defined in the props_table.txt, which was generated from MS-OXPROPS. + * For now, this ignores binary and unknown property types. + */ +public class ExtendedMetadataExtractor { + + static Logger LOGGER = LoggerFactory.getLogger(ExtendedMetadataExtractor.class); + static Map> TIKA_MAPI_PROPERTIES = new ConcurrentHashMap<>(); + static Map> TIKA_MAPI_LONG_PROPERTIES = new ConcurrentHashMap<>(); + + static { + loadProperties(); + } + + + private static List parseDataTypes(String[] arr) { + if (arr.length == 1) { + Types.MAPIType type = parseDataType(arr[0]); + if (type != null) { + return List.of(type); + } + return Collections.EMPTY_LIST; + } + List types = new ArrayList<>(); + for (String s : arr) { + Types.MAPIType type = parseDataType(s); + if (type != null) { + types.add(type); + } + } + return types; + } + + private static Types.MAPIType parseDataType(String s) { + if (StringUtils.isBlank(s)) { + return null; + } + String[] parts = s.split(", "); + if (parts.length != 2) { + throw new IllegalArgumentException("expected two parts: " + s); + } + String num = parts[1]; + if (num.startsWith("0x")) { + num = num.substring(2); + } + int id = Integer.parseInt(num, 16); + Types.MAPIType type = Types.getById(id); + if (type == null) { + //TODO: + /* + PtypRestriction, 0x00FD + PtypRuleAction, 0x00FE + PtypServerId, 0x00FB + */ + return Types.createCustom(id); + } + return type; + } + + + public static void extract(MAPIMessage msg, Metadata metadata) { + //prep our custom nameIdchunk handler + TikaNameIdChunks tikaNameIdChunks = new TikaNameIdChunks(); + //short-circuit for files that have an empty nameIdChunk + long len = 0; + for (Chunk chunk : msg + .getNameIdChunks() + .getAll()) { + tikaNameIdChunks.record(chunk); + if (chunk instanceof ByteChunk) { + byte[] value = ((ByteChunk)chunk).getValue(); + if (value != null) { + len += value.length; + } + } + } + if (len == 0) { + return; + } + tikaNameIdChunks.chunksComplete(); + for (Map.Entry e : msg + .getMainChunks() + .getRawProperties() + .entrySet()) { + //the mapiproperties from POI are the literal storage id for that particular file. + //Those storage ids must be mapped via the name chunk ids into a known id + PropertyValue v = e.getValue(); + List mapiTags = tikaNameIdChunks.getTags(e.getKey().id); + MAPITagPair pair = null; + for (MAPITag mapiTag : mapiTags) { + List tikaMapiProperties = TIKA_MAPI_LONG_PROPERTIES.get(mapiTag.tagId); + if (tikaMapiProperties == null) { + tikaMapiProperties = TIKA_MAPI_PROPERTIES.get(mapiTag.tagId); + } + pair = findMatch(mapiTag, tikaMapiProperties, v); + if (pair != null) { + break; + } + } + updateMetadata(pair, v, metadata); + } + + } + + + private static MAPITagPair findMatch(MAPITag mapiTag, List tikaMapiProperties, PropertyValue propertyValue) { + if (mapiTag == null || tikaMapiProperties == null || propertyValue == null) { + return null; + } + for (TikaMapiProperty tikaMapiProperty : tikaMapiProperties) { + if (!mapiTag.classID.equals(tikaMapiProperty.classID)) { + continue; + } + if (tikaMapiProperty.types == null || tikaMapiProperty.types.isEmpty()) { + continue; + } + for (Types.MAPIType type : tikaMapiProperty.types) { + if (propertyValue + .getActualType() + .equals(type)) { + return new MAPITagPair(mapiTag, tikaMapiProperty); + } + } + } + return null; + } + + + private static void updateMetadata(MAPITagPair pair, PropertyValue propertyValue, Metadata metadata) { + if (pair == null || propertyValue == null) { + return; + } + if (!includeType(propertyValue)) { + return; + } + String key = MAPI.PREFIX_MAPI_RAW_META + pair.tikaMapiProperty.name; + Types.MAPIType type = propertyValue.getActualType(); + if (type == Types.TIME || type == Types.MV_TIME || type == Types.APP_TIME || type == Types.MV_APP_TIME) { + Calendar calendar = (Calendar) propertyValue.getValue(); + String calendarString = calendar + .toInstant() + .truncatedTo(ChronoUnit.SECONDS) + .toString(); + metadata.add(key, calendarString); + } else if (type == Types.BOOLEAN) { + metadata.add(key, Boolean.toString((boolean) propertyValue.getValue())); + } else { + metadata.add(key, propertyValue.toString()); + } + + } + + private static boolean includeType(PropertyValue propertyValue) { + Types.MAPIType mapiType = propertyValue.getActualType(); + if (mapiType == Types.BINARY || mapiType == Types.UNKNOWN || mapiType == Types.UNSPECIFIED || mapiType == Types.DIRECTORY || mapiType.isPointer()) { + return false; + } + return true; + } + + private static boolean isString(PropertyValue propertyValue) { + Types.MAPIType mapiType = propertyValue.getActualType(); + return mapiType == Types.ASCII_STRING || mapiType == Types.MV_ASCII_STRING || mapiType == Types.MV_UNICODE_STRING || mapiType == Types.UNICODE_STRING; + } + + private static class TikaMapiProperty { + String name; + ClassID classID; // can be null + List types; + String refShort; + + TikaMapiProperty(String name, ClassID classID, List types, String refShort) { + this.name = name; + this.classID = classID; + this.types = types; + this.refShort = refShort; + } + } + + private static void loadProperties() { + Map knownClassIds = new HashMap<>(); + for (TikaNameIdChunks.PredefinedPropertySet set : TikaNameIdChunks.PredefinedPropertySet.values()) { + knownClassIds.put(set + .getClassID() + .toUUIDString(), set.getClassID()); + } + for (TikaNameIdChunks.PropertySetType setType : TikaNameIdChunks.PropertySetType.values()) { + knownClassIds.put(setType + .getClassID() + .toUUIDString(), setType.getClassID()); + } + try (BufferedReader r = new BufferedReader( + new InputStreamReader(OutlookExtractor.class.getResourceAsStream("/org/apache/tika/parser/microsoft/msg/props_table.txt"), UTF_8))) { + String line = r.readLine(); + while (line != null) { + if (line.isBlank() || line.startsWith("#")) { + line = r.readLine(); + continue; + } + String[] cols = line.split("\\|"); + if (cols.length != 11) { + throw new IllegalArgumentException("column count must == 11: " + line); + } + String name = cols[1].trim(); + ClassID classID = parseClassId(cols[3], knownClassIds); + List types = parseDataTypes(cols[7].split(";")); + String ref = cols[10]; + + String shortId = cols[5]; + String longId = cols[6]; + if (!StringUtils.isBlank(shortId)) { + int id = Integer.parseInt(shortId.substring(2), 16); + List props = TIKA_MAPI_PROPERTIES.computeIfAbsent(id, k -> new ArrayList<>()); + props.add(new TikaMapiProperty(name, classID, types, ref)); + } else if (!StringUtils.isBlank(longId)) { + //remove leading "0x" + long id = Long.parseLong(longId.substring(2), 16); + if (id > Integer.MAX_VALUE) { + throw new IllegalArgumentException("id must actually be within int range"); + } + int intId = (int) id; + List props = TIKA_MAPI_LONG_PROPERTIES.computeIfAbsent(intId, k -> new ArrayList<>()); + props.add(new TikaMapiProperty(name, classID, types, ref)); + } else { + // some properties don't have an id + } + + line = r.readLine(); + } + } catch (IOException e) { + throw new IllegalStateException("can't find props_table.txt?!"); + } + } + + private static ClassID parseClassId(String s, Map knownClassIDs) { + if (StringUtils.isBlank(s)) { + return null; + } + int space = s.indexOf(" "); + if (space < 0) { + return null; + } + s = s + .substring(space) + .replaceAll("[\\{\\}]", "") + .trim(); + if (knownClassIDs.containsKey(s)) { + return knownClassIDs.get(s); + } + LOGGER.warn("Add '{}' to list of known property set IDs", s); + ClassID classID = new ClassID(s); + knownClassIDs.put(classID.toUUIDString(), classID); + return classID; + } + + private static class MAPITagPair { + final MAPITag mapiTag; + final TikaMapiProperty tikaMapiProperty; + + public MAPITagPair(MAPITag mapiTag, TikaMapiProperty tikaMapiProperty) { + this.mapiTag = mapiTag; + this.tikaMapiProperty = tikaMapiProperty; + } + } +} diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/MAPITag.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/MAPITag.java new file mode 100644 index 0000000000..08908eb961 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/MAPITag.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.parser.microsoft.msg; + +import org.apache.poi.hpsf.ClassID; + +public class MAPITag { + + //this is the tag id in the MS specs. + //This needs to be mapped to the actual storage id in the msg file. + int tagId; + String nameId; + ClassID classID; + + public MAPITag(int tagId, String nameId, ClassID classID) { + this.tagId = tagId; + this.nameId = nameId; + this.classID = classID; + } +} diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/TikaNameIdChunks.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/TikaNameIdChunks.java new file mode 100644 index 0000000000..54e963ee34 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/msg/TikaNameIdChunks.java @@ -0,0 +1,344 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.tika.parser.microsoft.msg; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.function.Consumer; + +import org.apache.commons.codec.digest.PureJavaCrc32; +import org.apache.poi.hpsf.ClassID; +import org.apache.poi.hsmf.datatypes.ByteChunk; +import org.apache.poi.hsmf.datatypes.Chunk; +import org.apache.poi.hsmf.datatypes.ChunkGroup; +import org.apache.poi.hsmf.datatypes.MAPIProperty; +import org.apache.poi.hsmf.datatypes.Types; +import org.apache.poi.util.LittleEndian; +import org.apache.poi.util.LittleEndianByteArrayInputStream; +import org.apache.poi.util.StringUtil; + +/** + * Collection of convenience chunks for the NameID part of an outlook file + *

+ * This is a temporary copy+paste+modify from Apache POI + */ +public final class TikaNameIdChunks implements ChunkGroup { + public static final String NAME = "__nameid_version1.0"; + + public enum PropertySetType { + PS_MAPI("00020328-0000-0000-C000-000000000046"), PS_PUBLIC_STRINGS("00020329-0000-0000-C000-000000000046"), + PS_INTERNET_HEADERS("00020386-0000-0000-C000-000000000046"); + + private final ClassID classID; + + PropertySetType(String uuid) { + classID = new ClassID(uuid); + } + + public ClassID getClassID() { + return classID; + } + } + + public enum PredefinedPropertySet { + PSETID_COMMON("00062008-0000-0000-C000-000000000046"), PSETID_ADDRESS("00062004-0000-0000-C000-000000000046"), PSETID_APPOINTMENT("00062002-0000-0000-C000-000000000046"), + PSETID_MEETING("6ED8DA90-450B-101B-98DA-00AA003F1305"), PSETID_LOG("0006200A-0000-0000-C000-000000000046"), PSETID_MESSAGING("41F28F13-83F4-4114-A584-EEDB5A6B0BFF"), + PSETID_NOTE("0006200E-0000-0000-C000-000000000046"), PSETID_POST_RSS("00062041-0000-0000-C000-000000000046"), PSETID_TASK("00062003-0000-0000-C000-000000000046"), + PSETID_UNIFIED_MESSAGING("4442858E-A9E3-4E80-B900-317A210CC15B"), PSETID_AIR_SYNC("71035549-0739-4DCB-9163-00F0580DBBDF"), + PSETID_SHARING("00062040-0000-0000-C000-000000000046"), PSETID_XML_EXTRACTED_ENTITIES("23239608-685D-4732-9C55-4C95CB4E8E33"), + PSETID_ATTACHMENT("96357F7F-59E1-47D0-99A7-46515C183B54"), //add this to POI + PSETID_CALENDAR_ASSISTANT("11000E07-B51B-40D6-AF21-CAA85EDAB1D0"); + + private final ClassID classID; + + PredefinedPropertySet(String uuid) { + classID = new ClassID(uuid); + } + + public ClassID getClassID() { + return classID; + } + } + + private ByteChunk guidStream; + private ByteChunk entryStream; + private ByteChunk stringStream; + + /** + * Holds all the chunks that were found, keyed by id. Not clear if we need a list + * or if we can rely on a unique id + */ + private Map> chunksById = new HashMap<>(); + private Map> mapiTagMap = new HashMap<>(); + + public Chunk[] getAll() { + List chunks = new ArrayList<>(); + for (List c : chunksById.values()) { + chunks.addAll(c); + } + return chunks.toArray(new Chunk[0]); + } + + @Override + public Chunk[] getChunks() { + return getAll(); + } + + /** + * Called by the parser whenever a chunk is found. + */ + @Override + public void record(Chunk chunk) { + if (chunk.getType() == Types.BINARY) { + switch (chunk.getChunkId()) { + case 2: + guidStream = (ByteChunk) chunk; + break; + case 3: + entryStream = (ByteChunk) chunk; + break; + case 4: + stringStream = (ByteChunk) chunk; + break; + } + } + List chunkList = chunksById.computeIfAbsent(chunk.getChunkId(), k -> new ArrayList<>()); + chunkList.add(chunk); + } + + /** + * Used to flag that all the chunks of the NameID have now been located. + */ + @Override + public void chunksComplete() { + loadTags(); + } + + public List getTags(int storageId) { + List tags = mapiTagMap.get(storageId); + if (tags == null) { + return new ArrayList<>(); + } + return tags; + } + + private void loadTags() { + final byte[] entryStreamBytes = (entryStream == null) ? null : entryStream.getValue(); + if (guidStream == null || entryStream == null || stringStream == null || entryStreamBytes == null) { + return; + } + LittleEndianByteArrayInputStream leis = new LittleEndianByteArrayInputStream(entryStreamBytes); + for (int i = 0; i < entryStreamBytes.length / 8; i++) { + final long nameOffset = leis.readUInt(); + int guidIndex = leis.readUShort(); + final int propertyKind = guidIndex & 0x01; + guidIndex = guidIndex >>> 1; + final int propertyIndex = leis.readUShort(); + + // fetch and match property GUID + ClassID guid = getPropertyGUID(guidIndex); + + + // fetch property name / stream ID + final String[] propertyName = {null}; + final long[] propertyNameCRC32 = {-1L}; + long streamID = getStreamID(propertyKind, (int) nameOffset, guid, guidIndex, n -> propertyName[0] = n, c -> propertyNameCRC32[0] = c); + + long tag = -1; + // find property index in matching stream entry + if (propertyKind == 1 && propertyNameCRC32[0] < 0) { + // skip stream entry matching and return tag from property index from entry stream + // this code should not be reached + tag = 0x8000L + propertyIndex; + } else { + tag = getPropertyTag(streamID, nameOffset, propertyNameCRC32[0]); + } + if (tag > 0 && tag < Integer.MAX_VALUE) { + List tagList = mapiTagMap.computeIfAbsent((int) tag, k -> new ArrayList<>()); + tagList.add(new MAPITag((int) nameOffset, propertyName[0], guid)); + } + } + + } + + /** + * Get property tag id by property set GUID and string name or numerical name from named properties mapping + * + * @param guid Property set GUID in registry format without brackets. + * May be one of the PS_* or PSETID_* constants + * @param name Property name in case of string named property + * @param id Property id in case of numerical named property + * @return Property tag which can be matched with {@link MAPIProperty#id} + * or 0 if the property could not be found. + */ + public long getPropertyTag(ClassID guid, String name, long id) { + final byte[] entryStreamBytes = (entryStream == null) ? null : entryStream.getValue(); + if (guidStream == null || entryStream == null || stringStream == null || guid == null || entryStreamBytes == null) { + return 0; + } + + LittleEndianByteArrayInputStream leis = new LittleEndianByteArrayInputStream(entryStreamBytes); + for (int i = 0; i < entryStreamBytes.length / 8; i++) { + final long nameOffset = leis.readUInt(); + int guidIndex = leis.readUShort(); + final int propertyKind = guidIndex & 0x01; + guidIndex = guidIndex >>> 1; + final int propertyIndex = leis.readUShort(); + + // fetch and match property GUID + if (!guid.equals(getPropertyGUID(guidIndex))) { + continue; + } + + // fetch property name / stream ID + final String[] propertyName = {null}; + final long[] propertyNameCRC32 = {-1L}; + long streamID = getStreamID(propertyKind, (int) nameOffset, guid, guidIndex, n -> propertyName[0] = n, c -> propertyNameCRC32[0] = c); + + if (!matchesProperty(propertyKind, nameOffset, name, propertyName[0], id)) { + continue; + } + + // find property index in matching stream entry + if (propertyKind == 1 && propertyNameCRC32[0] < 0) { + // skip stream entry matching and return tag from property index from entry stream + // this code should not be reached + return 0x8000L + propertyIndex; + } + + return getPropertyTag(streamID, nameOffset, propertyNameCRC32[0]); + } + return 0; + } + + private long getPropertyTag(long streamID, long nameOffset, long propertyNameCRC32) { + List chunks = chunksById.get((int) streamID); + if (chunks == null) { + return 0; + } + for (Chunk chunk : chunks) { + if (chunk.getType() != Types.BINARY || chunk.getChunkId() != streamID) { + continue; + } + byte[] matchChunkBytes = ((ByteChunk) chunk).getValue(); + if (matchChunkBytes == null) { + continue; + } + LittleEndianByteArrayInputStream leis = new LittleEndianByteArrayInputStream(matchChunkBytes); + for (int m = 0; m < matchChunkBytes.length / 8; m++) { + long nameCRC = leis.readUInt(); + int matchGuidIndex = leis.readUShort(); + int matchPropertyIndex = leis.readUShort(); + int matchPropertyKind = matchGuidIndex & 0x01; + + if (nameCRC == (matchPropertyKind == 0 ? nameOffset : propertyNameCRC32)) { + return 0x8000L + matchPropertyIndex; + } + } + } + return 0; + } + + private ClassID getPropertyGUID(int guidIndex) { + if (guidIndex == 1) { + // predefined GUID + return PropertySetType.PS_MAPI.classID; + } else if (guidIndex == 2) { + // predefined GUID + return PropertySetType.PS_PUBLIC_STRINGS.classID; + } else if (guidIndex >= 3) { + // GUID from guid stream + byte[] guidStreamBytes = guidStream.getValue(); + int guidIndexOffset = (guidIndex - 3) * 0x10; + if (guidStreamBytes.length >= guidIndexOffset + 0x10) { + return new ClassID(guidStreamBytes, guidIndexOffset); + } + } + return null; + } + + // property set GUID matches + private static boolean matchesProperty(int propertyKind, long nameOffset, String name, String propertyName, long id) { + return + // match property by id + (propertyKind == 0 && id >= 0 && id == nameOffset) || + // match property by name + (propertyKind == 1 && name != null && name.equals(propertyName)); + } + + + private long getStreamID(int propertyKind, int nameOffset, ClassID guid, int guidIndex, Consumer propertyNameSetter, Consumer propertyNameCRC32Setter) { + if (propertyKind == 0) { + // numerical named property + return 0x1000L + (nameOffset ^ (guidIndex << 1)) % 0x1F; + } + + // string named property + byte[] stringBytes = stringStream.getValue(); + long propertyNameCRC32 = -1; + if (stringBytes.length > nameOffset) { + long nameLength = LittleEndian.getUInt(stringBytes, nameOffset); + if (stringBytes.length >= nameOffset + 4 + nameLength) { + int nameStart = nameOffset + 4; + String propertyName = new String(stringBytes, nameStart, (int) nameLength, StringUtil.UTF16LE); + if (PropertySetType.PS_INTERNET_HEADERS.classID.equals(guid)) { + byte[] n = propertyName + .toLowerCase(Locale.ROOT) + .getBytes(StringUtil.UTF16LE); + propertyNameCRC32 = calculateCRC32(n, 0, n.length); + } else { + propertyNameCRC32 = calculateCRC32(stringBytes, nameStart, (int) nameLength); + } + propertyNameSetter.accept(propertyName); + propertyNameCRC32Setter.accept(propertyNameCRC32); + } + } + return 0x1000 + (propertyNameCRC32 ^ ((guidIndex << 1) | 1)) % 0x1F; + } + + /** + * Calculates the CRC32 of the given bytes (conforms to RFC 1510, SSH-1). + * The CRC32 calculation is similar to the standard one as demonstrated in RFC 1952, + * but with the inversion (before and after the calculation) omitted. + *

    + *
  • poly: 0x04C11DB7
  • + *
  • init: 0x00000000
  • + *
  • xor: 0x00000000
  • + *
  • revin: true
  • + *
  • revout: true
  • + *
  • check: 0x2DFD2D88 (CRC32 of "123456789")
  • + *
+ * + * @param buf the byte array to calculate CRC32 on + * @param off the offset within buf at which the CRC32 calculation will start + * @param len the number of bytes on which to calculate the CRC32 + * @return the CRC32 value (unsigned 32-bit integer stored in a long). + * @see CRC parameter check + */ + private static long calculateCRC32(byte[] buf, int off, int len) { + PureJavaCrc32 crc = new PureJavaCrc32(); + // set initial crc value to 0 + crc.update(new byte[]{-1, -1, -1, -1}, 0, 4); + crc.update(buf, off, len); + return ~crc.getValue() & 0xFFFFFFFFL; + } + +} diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/pst/PSTMailItemParser.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/pst/PSTMailItemParser.java index a87c6cb845..b54d25683f 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/pst/PSTMailItemParser.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/pst/PSTMailItemParser.java @@ -155,7 +155,7 @@ private void extractMetadata(PSTMessage pstMail, Metadata metadata) { metadata.set(Office.MAPI_PRIORTY, pstMail.getPriority()); metadata.set(Office.MAPI_IS_FLAGGED, pstMail.isFlagged()); metadata.set(Office.MAPI_MESSAGE_CLASS, - OutlookExtractor.getMessageClass(pstMail.getMessageClass())); + OutlookExtractor.getNormalizedMessageClass(pstMail.getMessageClass())); metadata.set(Message.MESSAGE_FROM_EMAIL, pstMail.getSenderEmailAddress()); diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/mapi_message_classes.properties b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/mapi_message_classes.properties new file mode 100644 index 0000000000..f48fb5afb4 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/mapi_message_classes.properties @@ -0,0 +1,37 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +IPM.Note NOTE +IPM.Contact CONTACT +IPM.Appointment APPOINTMENT +IPM.StickyNote STICKY_NOTE +IPM.Task TASK +IPM.Post POST +IPM.Schedule.Meeting.Request MEETING_REQUEST +IPM.Schedule.Meeting.Canceled MEETING_CANCELED +IPM.Schedule.Meeting.Resp.Pos MEETING_RESPONSE_POSITIVE +IPM.Schedule.Meeting.Resp.Neg MEETING_RESPONSE_NEGATIVE +IPM.Schedule.Meeting.Resp.Tent MEETING_RESPONSE_TENTATIVE +IPM.Schedule.Meeting.Notification.Forward MEETING_NOTIFICATION_FORWARD +IPM.Schedule.Inquiry SCHEDULE_INQUIRY +IPM.Configuration.MRM CONFIGURATION_MRM +REPORT.IPM.Note.DR NOTE_DELIVERED +REPORT.IPM.Note.NDR NOTE_NOT_DELIVERED +REPORT.IPM.Note.IPNRN IPNRN READ_RECEIPT +REPORT.IPM.Note.IPNNRN IPNNRN NOT_READ_RECEIPT +RPM.Note.Rules.OofTemplate.Microsoft OUT_OF_OFFICE_TEMPLATE +IPM.Microsoft.FolderDesign.NamedView FOLDER_DESIGN_NAMED_VIEW +# see https://learn.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxocal/e920fdbf-b561-4dc2-bee7-0c4fd36bd2ac +IPM.OLE.CLASS.{00061055-0000-0000-C000-000000000046} RECURRING_EVENT_MEETING_EXCEPTION diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/props_table.txt b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/props_table.txt new file mode 100644 index 0000000000..ea9837afa9 --- /dev/null +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/resources/org/apache/tika/parser/microsoft/msg/props_table.txt @@ -0,0 +1,1104 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Extracted from https://msopenspecs.azureedge.net/files/MS-OXPROPS/%5bMS-OXPROPS%5d.pdf Revision 29.0 November 12, 2024 +# We manually extracted the text and then made a few modifications to the text to make extraction easier +# and we fixed a few typos. +# +# We've manually added other properties from other MS specs below +# +#PARAGRAPH|CANONICAL_NAME|DESCRIPTION|PROPERTY_SET|PROPERTY_SET_SHORT|ID|LONG_ID|DATA_TYPE|AREA|REF|REF_SHORT +2.1|PidLidAddressBookProviderArrayType|Specifies the state of the electronic addresses of the contact and represents a set of bit flags.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008029|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.12|MS-OXOCNTC +2.2|PidLidAddressBookProviderEmailList|Specifies which electronic address properties are set on the Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008028|PtypMultipleInteger32, 0x1003|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.11|MS-OXOCNTC +2.3|PidLidAddressCountryCode|Specifies the country code portion of the mailing address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DD|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.6|MS-OXOCNTC +2.4|PidLidAgingDontAgeMe|Specifies whether to automatically archive the message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000850E|PtypBoolean, 0x000B|Common|[MS-OXCMSG] section 2.2.1.33|MS-OXCMSG +2.5|PidLidAllAttendeesString|Specifies a list of all the attendees except for the organizer, including resources and unsendable attendees.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008238|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.16|MS-OXOCAL +2.6|PidLidAllowExternalCheck|This property is set to TRUE.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008246|PtypBoolean, 0x000B|Conferencing|[MS-OXOCAL] section 2.2.1.56.5|MS-OXOCAL +2.7|PidLidAnniversaryEventEntryId|Specifies the EntryID of the Appointment object that represents an anniversary of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000804E|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.5.6|MS-OXOCNTC +2.8|PidLidAppointmentAuxiliaryFlags|Specifies a bit field that describes the auxiliary state of the object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008207|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.1.3|MS-OXOCAL +2.9|PidLidAppointmentColor|Specifies the color to be used when displaying the Calendar object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008214|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.1.50|MS-OXOCAL +2.10|PidLidAppointmentCounterProposal|Indicates whether a Meeting Response object is a counter proposal.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008257|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.4.7|MS-OXOCAL +2.11|PidLidAppointmentDuration|Specifies the length of the event, in minutes.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008213|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.1.7|MS-OXOCAL +2.12|PidLidAppointmentEndDate|Indicates the date that the appointment ends.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008211|PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.7.3|MS-XWDCAL +2.13|PidLidAppointmentEndTime|Indicates the time that the appointment ends.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008210|PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.7.4|MS-XWDCAL +2.14|PidLidAppointmentEndWhole|Specifies the end date and time for the event.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000820E|PtypTime, 0x0040|Calendar|[MS-OXOCAL] section 2.2.1.6|MS-OXOCAL +2.15|PidLidAppointmentLastSequence|Indicates to the organizer the last sequence number that was sent to any attendee.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008203|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.4.2|MS-OXOCAL +2.16|PidLidAppointmentMessageClass|Indicates the message class of the Meeting object to be generated from the Meeting Request object.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000024|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.6.6|MS-OXOCAL +2.17|PidLidAppointmentNotAllowPropose|Indicates whether attendees are not allowed to propose a new date and/or time for the meeting.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000825A|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.1.26|MS-OXOCAL +2.18|PidLidAppointmentProposalNumber|Specifies the number of attendees who have sent counter proposals that have not been accepted or rejected by the organizer.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008259|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.4.6|MS-OXOCAL +2.19|PidLidAppointmentProposedDuration|Indicates the proposed value for the PidLidAppointmentDuration property (section 2.11) for a counter proposal.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008256|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.7.5|MS-OXOCAL +2.20|PidLidAppointmentProposedEndWhole|Specifies the proposed value for the PidLidAppointmentEndWhole property (section 2.14) for a counter proposal.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008251|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.7.4|MS-OXOCAL +2.21|PidLidAppointmentProposedStartWhole|Specifies the proposed value for the PidLidAppointmentStartWhole property (section 2.29) for a counter proposal.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008250|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.7.3|MS-OXOCAL +2.22|PidLidAppointmentRecur|Specifies the dates and times when a recurring series occurs.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008216|PtypBinary, 0x0102|Calendar|[MS-OXOCAL] section 2.2.1.44|MS-OXOCAL +2.23|PidLidAppointmentReplyName|Specifies the user who last replied to the meeting request or meeting update.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008230|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.4.5|MS-OXOCAL +2.24|PidLidAppointmentReplyTime|Specifies the date and time at which the attendee responded to a received meeting request or Meeting Update object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008220|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.4.3|MS-OXOCAL +2.25|PidLidAppointmentSequence|Specifies the sequence number of a Meeting object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008201|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.1.1|MS-OXOCAL +2.26|PidLidAppointmentSequenceTime|Indicates the date and time at which the PidLidAppointmentSequence property (section 2.25) was last modified.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008202|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.4.1|MS-OXOCAL +2.27|PidLidAppointmentStartDate|Identifies the date that the appointment starts.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008212|PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.7.10|MS-XWDCAL +2.28|PidLidAppointmentStartTime|Identifies the time that the appointment starts.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000820F|PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.7.11|MS-XWDCAL +2.29|PidLidAppointmentStartWhole|Specifies the start date and time of the appointment.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000820D|PtypTime, 0x0040|Calendar|[MS-OXOCAL] section 2.2.1.5|MS-OXOCAL +2.30|PidLidAppointmentStateFlags|Specifies a bit field that describes the state of the object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008217|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.1.10|MS-OXOCAL +2.31|PidLidAppointmentSubType|Specifies whether the event is an all-day event.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008215|PtypBoolean, 0x000B|Calendar|[MS-OXOCAL] section 2.2.1.9|MS-OXOCAL +2.32|PidLidAppointmentTimeZoneDefinitionEndDisplay|Specifies time zone information that indicates the time zone of the PidLidAppointmentEndWhole property (section 2.14).|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000825F|PtypBinary, 0x0102|Calendar|[MS-OXOCAL] section 2.2.1.43|MS-OXOCAL +2.33|PidLidAppointmentTimeZoneDefinitionRecur|Specifies time zone information that describes how to convert the meeting date and time on a recurring series to and from UTC.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008260|PtypBinary, 0x0102|Calendar|[MS-OXOCAL] section 2.2.1.41|MS-OXOCAL +2.34|PidLidAppointmentTimeZoneDefinitionStartDisplay|Specifies time zone information that indicates the time zone of the PidLidAppointmentStartWhole property (section 2.29).|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000825E|PtypBinary, 0x0102|Calendar|[MS-OXOCAL] section 2.2.1.42|MS-OXOCAL +2.35|PidLidAppointmentUnsendableRecipients|Contains a list of unsendable attendees.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000825D|PtypBinary, 0x0102|Meetings|[MS-OXOCAL] section 2.2.1.25|MS-OXOCAL +2.36|PidLidAppointmentUpdateTime|Indicates the time at which the appointment was last updated.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008226|PtypTime, 0x0040|Meetings|[MS-XWDCAL] section 2.2.7.15|MS-XWDCAL +2.37|PidLidAttendeeCriticalChange|Specifies the date and time at which the meeting-related object was sent.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000001|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.5.2|MS-OXOCAL +2.38|PidLidAutoFillLocation|Indicates whether the value of the PidLidLocation property (section 2.159) is set to the PidTagDisplayName property (section 2.677).|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000823A|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.4.8|MS-OXOCAL +2.39|PidLidAutoLog|Specifies to the application whether to create a Journal object for each action associated with this Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008025|PtypBoolean, 0x000B|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.19|MS-OXOCNTC +2.40|PidLidAutoProcessState|Specifies the options used in the automatic processing of email messages.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000851A|PtypInteger32, 0x0003|General Message Properties|[MS-OXOMSG] section 2.2.1.73|MS-OXOMSG +2.41|PidLidAutoStartCheck|Specifies whether to automatically start the conferencing application when a reminder for the start of a meeting is executed.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008244|PtypBoolean, 0x000B|Conferencing|[MS-OXOCAL] section 2.2.1.56.1|MS-OXOCAL +2.42|PidLidBilling|Specifies billing information for the contact.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008535|PtypString, 0x001F|General Message Properties|[MS-OXOCNTC] section 2.2.1.10.24|MS-OXOCNTC +2.43|PidLidBirthdayEventEntryId|Specifies the EntryID of an optional Appointment object that represents the birthday of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000804D|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.5.3|MS-OXOCNTC +2.44|PidLidBirthdayLocal|Specifies the birthday of a contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DE|PtypTime, 0x0040|Contact Properties|[MS-OXOCNTC] section 2.2.1.5.2|MS-OXOCNTC +2.45|PidLidBusinessCardCardPicture|Contains the image to be used on a business card.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008041|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.2|MS-OXOCNTC +2.46|PidLidBusinessCardDisplayDefinition|Contains user customization details for displaying a contact as a business card.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008040|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.1|MS-OXOCNTC +2.47|PidLidBusyStatus|Specifies the availability of a user for the event described by the object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008205|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.1.2|MS-OXOCAL +2.48|PidLidCalendarType|Contains the value of the CalendarType field from the PidLidAppointmentRecur property (section 2.22).|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000001C|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.6.11|MS-OXOCAL +2.49|PidLidCategories|Contains the array of text labels assigned to this Message object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS||0x00009000|PtypMultipleString, 0x101F|Common|[MS-OXCMSG] section 2.2.1.22|MS-OXCMSG +2.50|PidLidCcAttendeesString|Contains a list of all the sendable attendees who are also optional attendees.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000823C|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.18|MS-OXOCAL +2.51|PidLidChangeHighlight|Specifies a bit field that indicates how the Meeting object has changed.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008204|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.6.2|MS-OXOCAL +2.52|PidLidClassification|Contains a list of the classification categories to which the associated Message object has been assigned.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085B6|PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.23|MS-OXCMSG +2.53|PidLidClassificationDescription|Contains a human-readable summary of each of the classification categories included in the PidLidClassification property (section 2.53).|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085B7|PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.24|MS-OXCMSG +2.54|PidLidClassificationGuid|Contains the GUID that identifies the list of email classification categories used by a Message object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085B8|PtypString, 0x001F|General Message Properties|[MS-OXCMAIL] section 2.5.1|MS-OXCMAIL +2.55|PidLidClassificationKeep|Indicates whether the message uses any classification categories.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085BA|PtypBoolean, 0x000B|General Message Properties|[MS-OXCMAIL] section 2.5.2|MS-OXCMAIL +2.56|PidLidClassified|Indicates whether the contents of this message are regarded as classified information.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085B5|PtypBoolean, 0x000B|General Message Properties|[MS-OXCMSG] section 2.2.1.25|MS-OXCMSG +2.57|PidLidCleanGlobalObjectId|Contains the value of the PidLidGlobalObjectId property (section 2.142) for an object that represents an Exception object to a recurring series, where the Year, Month, and Day fields|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000023|PtypBinary, 0x0102|Meetings|[MS-OXOCAL] section 2.2.1.28|MS-OXOCAL +2.58|PidLidClientIntent|Indicates what actions the user has taken on this Meeting object.|PSETID_CalendarAssistant {11000E07-B51B-40D6-AF21-CAA85EDAB1D0}|PSETID_CalendarAssistant||0x00000015|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.2.4|MS-OXOCAL +2.59|PidLidClipEnd|Specifies the end date and time of the event in UTC.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008236|PtypTime, 0x0040|Calendar|[MS-OXOCAL] section 2.2.1.15|MS-OXOCAL +2.60|PidLidClipStart|Specifies the start date and time of the event in UTC.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008235|PtypTime, 0x0040|Calendar|[MS-OXOCAL] section 2.2.1.14|MS-OXOCAL +2.61|PidLidCollaborateDoc|Specifies the document to be launched when the user joins the meeting.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008247|PtypString, 0x001F|Conferencing|[MS-OXOCAL] section 2.2.1.56.7|MS-OXOCAL +2.62|PidLidCommonEnd|Indicates the end time for the Message object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008517|PtypTime, 0x0040|General Message Properties|[MS-OXCMSG] section 2.2.1.19|MS-OXCMSG +2.63|PidLidCommonStart|Indicates the start time for the Message object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008516|PtypTime, 0x0040|General Message Properties|[MS-OXCMSG] section 2.2.1.18|MS-OXCMSG +2.64|PidLidCompanies|Contains a list of company names, each of which is associated with a contact that is specified in the PidLidContacts property ([MS-OXCMSG] section 2.2.1.59.2).|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008539|PtypMultipleString, 0x101F|General Message Properties|[MS-OXOJRNL] section 2.2.2.4|MS-OXOJRNL +2.65|PidLidConferencingCheck|When set to TRUE (0x00000001), the PidLidConferencingCheck property indicates that the associated meeting is one of the following types:|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008240|PtypBoolean, 0x000B|Conferencing|[MS-OXOCAL] section 2.2.1.56.2|MS-OXOCAL +2.66|PidLidConferencingType|Specifies the type of the meeting.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008241|PtypInteger32, 0x0003|Conferencing|[MS-OXOCAL] section 2.2.1.56.3|MS-OXOCAL +2.67|PidLidContactCharacterSet|Specifies the character set used for a Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008023|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.18|MS-OXOCNTC +2.68|PidLidContactItemData|Specifies the visible fields in the application's user interface that are used to help display the contact information.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008007|PtypMultipleInteger32, 0x1003|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.22|MS-OXOCNTC +2.69|PidLidContactLinkedGlobalAddressListEntryId|Specifies the EntryID of the GAL contact to which the duplicate contact is linked.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E2|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.1|MS-OXOCNTC +2.70|PidLidContactLinkEntry|Contains the elements of the PidLidContacts property (section 2.77).|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008585|PtypBinary, 0x0102|Contact Properties|[MS-OXCMSG] section 2.2.1.59.1|MS-OXCMSG +2.71|PidLidContactLinkGlobalAddressListLinkId|Specifies the GUID of the GAL contact to which the duplicate contact is linked.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E8|PtypGuid, 0x0048|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.2|MS-OXOCNTC +2.72|PidLidContactLinkGlobalAddressListLinkState|Specifies the state of the linking between the GAL contact and the duplicate contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E6|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.3|MS-OXOCNTC +2.73|PidLidContactLinkLinkRejectHistory|Contains a list of GAL contacts that were previously rejected for linking with the duplicate contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E5|PtypMultipleBinary, 0x1102|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.4|MS-OXOCNTC +2.74|PidLidContactLinkName||PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008586|PtypString, 0x001F|Contact Properties|[MS-OXCMSG] section 2.2.1.59.3|MS-OXCMSG +2.75|PidLidContactLinkSearchKey|Contains the list of SearchKeys for a Contact object linked to by the Message object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008584|PtypBinary, 0x0102|Contact Properties|[MS-OXCMSG] section 2.2.1.59.4|MS-OXCMSG +2.76|PidLidContactLinkSMTPAddressCache|Contains a list of the SMTP addresses that are used by the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E3|PtypMultipleString, 0x101F|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.5|MS-OXOCNTC +2.77|PidLidContacts|Contains the PidTagDisplayName property (section 2.677) of each Address Book EntryID referenced in the value of the PidLidContactLinkEntry property (section 2.70).|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000853A|PtypMultipleString, 0x101F|General Message Properties|[MS-OXCMSG] section 2.2.1.59.2|MS-OXCMSG +2.78|PidLidContactUserField1|Contains text used to add custom text to a business card representation of a Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000804F|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.3|MS-OXOCNTC +2.79|PidLidContactUserField2|Contains text used to add custom text to a business card representation of a Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008050|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.3|MS-OXOCNTC +2.80|PidLidContactUserField3|Contains text used to add custom text to a business card representation of a Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008051|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.3|MS-OXOCNTC +2.81|PidLidContactUserField4|Contains text used to add custom text to a business card representation of a Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008052|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.7.3|MS-OXOCNTC +2.82|PidLidConversationActionLastAppliedTime|Contains the time, in UTC, that an Email object was last received in the conversation, or the last time that the user modified the conversation action, whichever occurs|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085CA|PtypTime, 0x0040|Conversation Actions|[MS-OXOCFG] section 2.2.8.1|MS-OXOCFG +2.83|PidLidConversationActionMaxDeliveryTime|Contains the maximum value of the PidTagMessageDeliveryTime property (section 2.791) of all of the Email objects modified in response to the last time that the user changed a|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085C8|PtypTime, 0x0040|Conversation Actions|[MS-OXOCFG] section 2.2.8.2|MS-OXOCFG +2.84|PidLidConversationActionMoveFolderEid|Contains the EntryID for the destination folder.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085C6|PtypBinary, 0x0102|Conversation Actions|[MS-OXOCFG] section 2.2.8.3|MS-OXOCFG +2.85|PidLidConversationActionMoveStoreEid|Contains the EntryID for a move to a folder in a different message store.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085C7|PtypBinary, 0x0102|Conversation Actions|[MS-OXOCFG] section 2.2.8.4|MS-OXOCFG +2.86|PidLidConversationActionVersion|Contains the version of the conversation action FAI message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085CB|PtypInteger32, 0x0003|Conversation Actions|[MS-OXOCFG] section 2.2.8.5|MS-OXOCFG +2.87|PidLidConversationProcessed|Specifies a sequential number to be used in the processing of a conversation action.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085C9|PtypInteger32, 0x0003|Conversation Actions|[MS-OXOCFG] section 2.2.8.6|MS-OXOCFG +2.88|PidLidCurrentVersion|Specifies the build number of the client application that sent the message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008552|PtypInteger32, 0x0003|General Message Properties|[MS-OXCMSG] section 2.2.1.34|MS-OXCMSG +2.89|PidLidCurrentVersionName|Specifies the name of the client application that sent the message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008554|PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.35|MS-OXCMSG +2.90|PidLidDayInterval|Identifies the day interval for the recurrence pattern.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000011|PtypInteger16, 0x0002|Meetings|[MS-XWDCAL] section 2.2.7.19|MS-XWDCAL +2.91|PidLidDayOfMonth|Identifies the day of the month for the appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00001000|PtypInteger32, 0x0003|Calendar|[MS-XWDCAL] section 2.2.7.20|MS-XWDCAL +2.92|PidLidDelegateMail|Indicates whether a delegate responded to the meeting request.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000009|PtypBoolean, 0x000B|Meetings|[MS-XWDCAL] section 2.2.7.21|MS-XWDCAL +2.93|PidLidDepartment|This property is ignored by the server and is set to an empty string by the client.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008010|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.6.4|MS-OXOCNTC +2.94|PidLidDirectory|Specifies the directory server to be used.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008242|PtypString, 0x001F|Conferencing|[MS-OXOCAL] section 2.2.1.56.4|MS-OXOCAL +2.95|PidLidDistributionListChecksum|Specifies the 32-bit cyclic redundancy check (CRC) polynomial checksum, as specified in [ISO/IEC8802-3], calculated on the value of the PidLidDistributionListMembers|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000804C|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.2.2.3|MS-OXOCNTC +2.96|PidLidDistributionListMembers|Specifies the list of EntryIDs of the objects corresponding to the members of the personal distribution list.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008055|PtypMultipleBinary, 0x1102|Contact Properties|[MS-OXOCNTC] section 2.2.2.2.1|MS-OXOCNTC +2.97|PidLidDistributionListName|Specifies the name of the personal distribution list.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008053|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.2.1.2|MS-OXOCNTC +2.98|PidLidDistributionListOneOffMembers|Specifies the list of one-off EntryIDs corresponding to the members of the personal distribution list.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008054|PtypMultipleBinary, 0x1102|Contact Properties|[MS-OXOCNTC] section 2.2.2.2.2|MS-OXOCNTC +2.99|PidLidDistributionListStream|Specifies the list of EntryIDs and one-off EntryIDs corresponding to the members of the personal distribution list.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008064|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.2.2.4|MS-OXOCNTC +2.100|PidLidEmail1AddressType|Specifies the address type of an electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008082|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.2|MS-OXOCNTC +2.101|PidLidEmail1DisplayName|Specifies the user-readable display name for the email address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008080|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.1|MS-OXOCNTC +2.102|PidLidEmail1EmailAddress|Specifies the email address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008083|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.3|MS-OXOCNTC +2.103|PidLidEmail1OriginalDisplayName|Specifies the SMTP email address that corresponds to the email address for the Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008084|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.4|MS-OXOCNTC +2.104|PidLidEmail1OriginalEntryId|Specifies the EntryID of the object corresponding to this electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008085|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.5|MS-OXOCNTC +2.105|PidLidEmail2AddressType|Specifies the address type of the electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008092|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.2|MS-OXOCNTC +2.106|PidLidEmail2DisplayName|Specifies the user-readable display name for the email address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008090|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.1|MS-OXOCNTC +2.107|PidLidEmail2EmailAddress|Specifies the email address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008093|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.3|MS-OXOCNTC +2.108|PidLidEmail2OriginalDisplayName|Specifies the SMTP email address that corresponds to the email address for the Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008094|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.4|MS-OXOCNTC +2.109|PidLidEmail2OriginalEntryId|Specifies the EntryID of the object that corresponds to this electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008095|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.5|MS-OXOCNTC +2.110|PidLidEmail3AddressType|Specifies the address type of the electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080A2|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.2|MS-OXOCNTC +2.111|PidLidEmail3DisplayName|Specifies the user-readable display name for the email address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080A0|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.1|MS-OXOCNTC +2.112|PidLidEmail3EmailAddress|Specifies the email address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080A3|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.3|MS-OXOCNTC +2.113|PidLidEmail3OriginalDisplayName|Specifies the SMTP email address that corresponds to the email address for the Contact object.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080A4|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.4|MS-OXOCNTC +2.114|PidLidEmail3OriginalEntryId|Specifies the EntryID of the object that corresponds to this electronic address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080A5|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.5|MS-OXOCNTC +2.115|PidLidEndRecurrenceDate|Identifies the end date of the recurrence range.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000000F|PtypInteger32, 0x0003|Meetings|[MS-XWDCAL] section 2.2.7.22|MS-XWDCAL +2.116|PidLidEndRecurrenceTime|Identifies the end time of the recurrence range.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000010|PtypInteger32, 0x0003|Meetings|[MS-XWDCAL] section 2.2.7.23|MS-XWDCAL +2.117|PidLidExceptionReplaceTime|Specifies the date and time, in UTC, within a recurrence pattern that an exception will replace.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008228|PtypTime, 0x0040|Calendar|[MS-OXOCAL] section 2.2.10.2.5|MS-OXOCAL +2.118|PidLidFax1AddressType|Contains the string value "FAX".|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080B2|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.7|MS-OXOCNTC +2.119|PidLidFax1EmailAddress|Contains a user-readable display name, followed by the "@" character, followed by a fax number.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080B3|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.8|MS-OXOCNTC +2.120|PidLidFax1OriginalDisplayName|Contains the same value as the PidTagNormalizedSubject property (section 2.814).|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080B4|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.9|MS-OXOCNTC +2.121|PidLidFax1OriginalEntryId|Specifies a one-off EntryID that corresponds to this fax address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080B5|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.10|MS-OXOCNTC +2.122|PidLidFax2AddressType|Contains the string value "FAX".|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080C2|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.7|MS-OXOCNTC +2.123|PidLidFax2EmailAddress|Contains a user-readable display name, followed by the "@" character, followed by a fax number.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080C3|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.8|MS-OXOCNTC +2.124|PidLidFax2OriginalDisplayName|Contains the same value as the PidTagNormalizedSubject property (section 2.814).|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080C4|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.9|MS-OXOCNTC +2.125|PidLidFax2OriginalEntryId|Specifies a one-off EntryID corresponding to this fax address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080C5|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.10|MS-OXOCNTC +2.126|PidLidFax3AddressType|Contains the string value "FAX".|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080D2|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.7|MS-OXOCNTC +2.127|PidLidFax3EmailAddress|Contains a user-readable display name, followed by the "@" character, followed by a fax number.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080D3|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.8|MS-OXOCNTC +2.128|PidLidFax3OriginalDisplayName|Contains the same value as the PidTagNormalizedSubject property (section 2.814).|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080D4|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.9|MS-OXOCNTC +2.129|PidLidFax3OriginalEntryId|Specifies a one-off EntryID that corresponds to this fax address.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080D5|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.10|MS-OXOCNTC +2.130|PidLidFExceptionalAttendees|Indicates that the object is a Recurring Calendar object with one or more exceptions, and that at least one of the Exception Embedded Message objects has at least one RecipientRow|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000822B|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.2.3|MS-OXOCAL +2.131|PidLidFExceptionalBody|Indicates that the Exception Embedded Message object has a body that differs from the Recurring Calendar object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008206|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.10.2.6|MS-OXOCAL +2.132|PidLidFileUnder|Specifies the name under which to file a contact when displaying a list of contacts.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008005|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.1.11|MS-OXOCNTC +2.133|PidLidFileUnderId|Specifies how to generate and recompute the value of the PidLidFileUnder property (section 2.132) when other contact name properties change.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008006|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.1.1.12|MS-OXOCNTC +2.134|PidLidFileUnderList|Specifies a list of possible values for the PidLidFileUnderId property (section 2.133).|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008026|PtypMultipleInteger32, 0x1003|Contact Properties|[MS-OXOCNTC] section 2.2.1.1.13|MS-OXOCNTC +2.135|PidLidFInvited|Indicates whether invitations have been sent for the meeting that this Meeting object represents.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008229|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.4.4|MS-OXOCAL +2.136|PidLidFlagRequest|Contains user-specifiable text to be associated with the flag.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008530|PtypString, 0x001F|Flagging|[MS-OXOFLAG] section 2.2.1.9|MS-OXOFLAG +2.137|PidLidFlagString|Contains an index identifying one of a set of pre-defined text strings to be associated with the flag.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085C0|PtypInteger32, 0x0003|Tasks|[MS-OXOFLAG] section 2.2.1.10|MS-OXOFLAG +2.138|PidLidForwardInstance|Indicates whether the Meeting Request object represents an exception to a recurring series, and whether it was forwarded (even when forwarded by the organizer) rather|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000820A|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.6.3|MS-OXOCAL +2.139|PidLidForwardNotificationRecipients|Contains a list of RecipientRow structures, as described in [MS-OXCDATA] section 2.8.3, that indicate the recipients of a meeting forward.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008261|PtypBinary, 0x0102|Meetings|[MS-OXOCAL] section 2.2.9.3|MS-OXOCAL +2.140|PidLidFOthersAppointment|Indicates whether the Calendar folder from which the meeting was opened is another user's calendar.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000822F|PtypBoolean, 0x000B|Meetings|[MS-XWDCAL] section 2.2.7.26|MS-XWDCAL +2.141|PidLidFreeBusyLocation|Specifies a URL path from which a client can retrieve free/busy status information for the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080D8|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.10|MS-OXOCNTC +2.142|PidLidGlobalObjectId|Contains an ID for an object that represents an exception to a recurring series.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000003|PtypBinary, 0x0102|Meetings|[MS-OXOCAL] section 2.2.1.27|MS-OXOCAL +2.143|PidLidHasPicture|Specifies whether the attachment has a picture.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008015|PtypBoolean, 0x000B|Contact Properties|[MS-OXOCNTC] section 2.2.1.8.1|MS-OXOCNTC +2.144|PidLidHomeAddress|Specifies the complete address of the home address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000801A|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.8|MS-OXOCNTC +2.145|PidLidHomeAddressCountryCode|Specifies the country code portion of the home address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DA|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.6|MS-OXOCNTC +2.146|PidLidHtml|Specifies the business webpage URL of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000802B|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.12|MS-OXOCNTC +2.147|PidLidICalendarDayOfWeekMask|Identifies the day of the week for the appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00001001|PtypInteger32, 0x0003|Calendar|[MS-XWDCAL] section 2.2.7.27|MS-XWDCAL +2.148|PidLidInboundICalStream|Contains the contents of the iCalendar MIME part of the original MIME message.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000827A|PtypBinary, 0x0102|Calendar|[MS-OXCICAL] section 2.1.3.4.1|MS-OXCICAL +2.149|PidLidInfoPathFormName|Contains the name of the form associated with this message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085B1|PtypString, 0x001F|Common|[MS-OXCMSG] section 2.2.1.27|MS-OXCMSG +2.150|PidLidInstantMessagingAddress|Specifies the instant messaging address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008062|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.6|MS-OXOCNTC +2.151|PidLidIntendedBusyStatus|Contains the value of the PidLidBusyStatus property (section 2.47) on the Meeting object in the organizer's calendar at the time that the Meeting Request object or Meeting|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008224|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.6.4|MS-OXOCAL +2.152|PidLidInternetAccountName|Specifies the user-visible email account name through which the email message is sent.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008580|PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.1.62|MS-OXOMSG +2.153|PidLidInternetAccountStamp|Specifies the email account ID through which the email message is sent.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008581|PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.1.63|MS-OXOMSG +2.154|PidLidIsContactLinked|Specifies whether the contact is linked to other contacts.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080E0|PtypBoolean, 0x000B|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.6|MS-OXOCNTC +2.155|PidLidIsException|Indicates whether the object represents an exception (including an orphan instance).|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000000A|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.1.35|MS-OXOCAL +2.156|PidLidIsRecurring|Specifies whether the object is associated with a recurring series.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000005|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.1.13|MS-OXOCAL +2.157|PidLidIsSilent|Indicates whether the user did not include any text in the body of the Meeting Response object.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000004|PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.7.7|MS-OXOCAL +2.158|PidLidLinkedTaskItems|Indicates whether the user did not include any text in the body of the Meeting Response object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000820C|PtypMultipleBinary, 0x1102|Tasks|[MS-OXOCAL] section 2.2.1.47|MS-OXOCAL +2.159|PidLidLocation|Specifies the location of the event.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008208|PtypString, 0x001F|Calendar|[MS-OXOCAL] section 2.2.1.4|MS-OXOCAL +2.160|PidLidLogDocumentPosted|Indicates whether the document was sent by email or posted to a server folder during journaling.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008711|PtypBoolean, 0x000B|Journal|[MS-OXOJRNL] section 2.2.1.10|MS-OXOJRNL +2.161|PidLidLogDocumentPrinted|Indicates whether the document was printed during journaling.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x0000870E|PtypBoolean, 0x000B|Journal|[MS-OXOJRNL] section 2.2.1.7|MS-OXOJRNL +2.162|PidLidLogDocumentRouted|Indicates whether the document was sent to a routing recipient during journaling.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008710|PtypBoolean, 0x000B|Journal|[MS-OXOJRNL] section 2.2.1.9|MS-OXOJRNL +2.163|PidLidLogDocumentSaved|Indicates whether the document was saved during journaling.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x0000870F|PtypBoolean, 0x000B|Journal|[MS-OXOJRNL] section 2.2.1.8|MS-OXOJRNL +2.164|PidLidLogDuration|Contains the duration, in minutes, of the activity.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008707|PtypInteger32, 0x0003|Journal|[MS-OXOJRNL] section 2.2.1.5|MS-OXOJRNL +2.165|PidLidLogEnd|Contains the time, in UTC, at which the activity ended.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008708|PtypTime, 0x0040|Journal|[MS-OXOJRNL] section 2.2.1.4|MS-OXOJRNL +2.166|PidLidLogFlags|Contains metadata about the Journal object.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x0000870C|PtypInteger32, 0x0003|Journal|[MS-OXOJRNL] section 2.2.1.6|MS-OXOJRNL +2.167|PidLidLogStart|Contains the time, in UTC, at which the activity began.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008706|PtypTime, 0x0040|Journal|[MS-OXOJRNL] section 2.2.1.3|MS-OXOJRNL +2.168|PidLidLogType|Briefly describes the journal activity that is being recorded.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008700|PtypString, 0x001F|Journal|[MS-OXOJRNL] section 2.2.1.1|MS-OXOJRNL +2.169|PidLidLogTypeDesc|Contains an expanded description of the journal activity that is being recorded.|PSETID_Log {0006200A-0000-0000-C000-000000000046}|PSETID_Log||0x00008712|PtypString, 0x001F|Journal|[MS-OXOJRNL] section 2.2.1.2|MS-OXOJRNL +2.170|PidLidMeetingType|Indicates the type of Meeting Request object or Meeting Update object.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000026|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.6.5|MS-OXOCAL +2.171|PidLidMeetingWorkspaceUrl|Specifies the URL of the Meeting Workspace that is associated with a Calendar object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008209|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.48|MS-OXOCAL +2.172|PidLidMonthInterval|Indicates the monthly interval of the appointment or meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000013|PtypInteger16, 0x0002|Meetings|[MS-XWDCAL] section 2.2.7.33|MS-XWDCAL +2.173|PidLidMonthOfYear|Indicates the month of the year in which the appointment or meeting occurs.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00001006|PtypInteger32, 0x0003|Calendar|[MS-XWDCAL] section 2.2.7.34|MS-XWDCAL +2.174|PidLidMonthOfYearMask|Indicates the calculated month of the year in which the appointment or meeting occurs.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000017|PtypInteger32, 0x0003|Meetings|[MS-XWDCAL] section 2.2.7.35|MS-XWDCAL +2.175|PidLidNetShowUrl|Specifies the URL to be launched when the user joins the meeting.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008248|PtypString, 0x001F|Conferencing|[MS-OXOCAL] section 2.2.1.56.8|MS-OXOCAL +2.176|PidLidNoEndDateFlag|Indicates whether the recurrence pattern has an end date.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000100B|PtypBoolean, 0x000B|Calendar|[MS-XWDCAL] section 2.2.7.36|MS-XWDCAL +2.177|PidLidNonSendableBcc|Contains a list of all of the unsendable attendees who are also resources.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008538|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.21|MS-OXOCAL +2.178|PidLidNonSendableCc|Contains a list of all of the unsendable attendees who are also optional attendees.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008537|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.20|MS-OXOCAL +2.179|PidLidNonSendableTo|Contains a list of all of the unsendable attendees who are also required attendees.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008536|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.19|MS-OXOCAL +2.180|PidLidNonSendBccTrackStatus|Contains the value from the response table.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008545|PtypMultipleInteger32, 0x1003|General Message Properties|[MS-OXOCAL] section 2.2.1.24|MS-OXOCAL +2.181|PidLidNonSendCcTrackStatus|Contains the value from the response table.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008544|PtypMultipleInteger32, 0x1003|General Message Properties|[MS-OXOCAL] section 2.2.1.23|MS-OXOCAL +2.182|PidLidNonSendToTrackStatus|Contains the value from the response table.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008543|PtypMultipleInteger32, 0x1003|General Message Properties|[MS-OXOCAL] section 2.2.1.22|MS-OXOCAL +2.183|PidLidNoteColor|Specifies the suggested background color of the Note object.|PSETID_Note {0006200E-0000-0000-C000-000000000046}|PSETID_Note||0x00008B00|PtypInteger32, 0x0003|Sticky Notes|[MS-OXONOTE] section 2.2.1.1|MS-OXONOTE +2.184|PidLidNoteHeight|Specifies the height of the visible message window in pixels.|PSETID_Note {0006200E-0000-0000-C000-000000000046}|PSETID_Note||0x00008B03|PtypInteger32, 0x0003|Sticky Notes|[MS-OXONOTE] section 2.2.1.3|MS-OXONOTE +2.185|PidLidNoteWidth|Specifies the width of the visible message window in pixels.|PSETID_Note {0006200E-0000-0000-C000-000000000046}|PSETID_Note||0x00008B02|PtypInteger32, 0x0003|Sticky Notes|[MS-OXONOTE] section 2.2.1.2|MS-OXONOTE +2.186|PidLidNoteX|Specifies the distance, in pixels, from the left edge of the screen that a user interface displays a Note object.|PSETID_Note {0006200E-0000-0000-C000-000000000046}|PSETID_Note||0x00008B04|PtypInteger32, 0x0003|Sticky Notes|[MS-OXONOTE] section 2.2.1.4|MS-OXONOTE +2.187|PidLidNoteY|Specifies the distance, in pixels, from the top edge of the screen that a user interface displays a Note object.|PSETID_Note {0006200E-0000-0000-C000-000000000046}|PSETID_Note||0x00008B05|PtypInteger32, 0x0003|Sticky Notes|[MS-OXONOTE] section 2.2.1.5|MS-OXONOTE +2.188|PidLidOccurrences|Indicates the number of occurrences in the recurring appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00001005|PtypInteger32, 0x0003|Calendar|[MS-XWDCAL] section 2.2.7.43|MS-XWDCAL +2.189|PidLidOldLocation|Indicates the original value of the PidLidLocation property (section 2.159) before a meeting update.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000028|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.6.7|MS-OXOCAL +2.190|PidLidOldRecurrenceType|Indicates the recurrence pattern for the appointment or meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000018|PtypInteger16, 0x0002|Meetings|[MS-XWDCAL] section 2.2.7.44|MS-XWDCAL +2.191|PidLidOldWhenEndWhole|Indicates the original value of the PidLidAppointmentEndWhole property (section 2.14) before a meeting update.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000002A|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.6.9|MS-OXOCAL +2.192|PidLidOldWhenStartWhole|Indicates the original value of the PidLidAppointmentStartWhole property (section 2.29) before a meeting update.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000029|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.6.8|MS-OXOCAL +2.193|PidLidOnlinePassword|Specifies the password for a meeting on which the PidLidConferencingType property (section 2.66) has the value 0x00000002.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008249|PtypString, 0x001F|Conferencing|[MS-OXOCAL] section 2.2.1.56.9|MS-OXOCAL +2.194|PidLidOptionalAttendees|Specifies optional attendees.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000007|PtypString, 0x001F|Meetings|[MS-XWDCAL] section 2.2.7.45|MS-XWDCAL +2.195|PidLidOrganizerAlias|Specifies the email address of the organizer.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008243|PtypString, 0x001F|Conferencing|[MS-OXOCAL] section 2.2.1.56.6|MS-OXOCAL +2.196|PidLidOriginalStoreEntryId|Specifies the EntryID of the delegator’s message store.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008237|PtypBinary, 0x0102|Meetings|[MS-OXOCAL] section 2.2.4.9|MS-OXOCAL +2.197|PidLidOtherAddress|Specifies the complete address of the other address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000801C|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.8|MS-OXOCNTC +2.198|PidLidOtherAddressCountryCode|Specifies the country code portion of the other address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DC|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.6|MS-OXOCNTC +2.199|PidLidOwnerCriticalChange|Specifies the date and time at which a Meeting Request object was sent by the organizer.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000001A|PtypTime, 0x0040|Meetings|[MS-OXOCAL] section 2.2.1.34|MS-OXOCAL +2.200|PidLidOwnerName|Indicates the name of the owner of the mailbox.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000822E|PtypString, 0x001F|Meetings|[MS-XWDCAL] section 2.2.7.47|MS-XWDCAL +2.201|PidLidPendingStateForSiteMailboxDocument|Specifies the synchronization state of the Document object that is in the Document Libraries folder of the site mailbox.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085E0|PtypInteger32, 0x0003|Site Mailbox|[MS-OXODOC] section 2.2.1.34|MS-OXODOC +2.202|PidLidPercentComplete|Indicates whether a time-flagged Message object is complete.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008102|PtypFloating64, 0x0005|Tasks|[MS-OXOFLAG] section 2.2.2.3|MS-OXOFLAG +2.203|PidLidPostalAddressId|Specifies which physical address is the mailing address for this contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008022|PtypInteger32, 0x0003|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.9|MS-OXOCNTC +2.204|PidLidPostRssChannel|Contains the contents of the title field from the XML of the Atom feed or RSS channel.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008904|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.5|MS-OXORSS +2.205|PidLidPostRssChannelLink|Contains the URL of the RSS or Atom feed from which the XML file came.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008900|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.1|MS-OXORSS +2.206|PidLidPostRssItemGuid|Contains a unique identifier for the RSS object.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008903|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.4|MS-OXORSS +2.207|PidLidPostRssItemHash|Contains a hash of the feed XML computed by using an implementation-dependent algorithm.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008902|PtypInteger32, 0x0003|RSS|[MS-OXORSS] section 2.2.1.3|MS-OXORSS +2.208|PidLidPostRssItemLink|Contains the URL of the link from an RSS or Atom item.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008901|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.2|MS-OXORSS +2.209|PidLidPostRssItemXml|Contains the item element and all of its sub-elements from an RSS feed, or the entry element and all of its sub-elements from an Atom feed.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008905|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.6|MS-OXORSS +2.210|PidLidPostRssSubscription|Contains the user's preferred name for the RSS or Atom subscription.|PSETID_PostRss {00062041-0000-0000-C000-000000000046}|PSETID_PostRss||0x00008906|PtypString, 0x001F|RSS|[MS-OXORSS] section 2.2.1.7|MS-OXORSS +2.211|PidLidPrivate|Indicates whether the end user wishes for this Message object to be hidden from other users who have access to the Message object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008506|PtypBoolean, 0x000B|General Message Properties|[MS-OXCMSG] section 2.2.1.15|MS-OXCMSG +2.212|PidLidPromptSendUpdate|Indicates that the Meeting Response object was out-of-date when it was received.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008045|PtypBoolean, 0x000B|Meeting Response|[MS-OXOCAL] section 2.2.7.8|MS-OXOCAL +2.213|PidLidRecurrenceDuration|Identifies the length, in minutes, of the appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000100D|PtypInteger32, 0x0003|Calendar|[MS-XWDCAL] section 2.2.7.48|MS-XWDCAL +2.214|PidLidRecurrencePattern|Specifies a description of the recurrence pattern of the Calendar object.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008232|PtypString, 0x001F|Calendar|[MS-OXOCAL] section 2.2.1.46|MS-OXOCAL +2.215|PidLidRecurrenceType|Specifies the recurrence type of the recurring series.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008231|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.1.45|MS-OXOCAL +2.216|PidLidRecurring|Specifies whether the object represents a recurring series.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008223|PtypBoolean, 0x000B|Calendar|[MS-OXOCAL] section 2.2.1.12|MS-OXOCAL +2.217|PidLidReferenceEntryId|Specifies the value of the EntryID of the Contact object unless the Contact object is a copy of an earlier original.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085BD|PtypBinary, 0x0102|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.1|MS-OXOCNTC +2.218|PidLidReminderDelta|Specifies the interval, in minutes, between the time at which the reminder first becomes overdue and the start time of the Calendar object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008501|PtypInteger32, 0x0003|Reminders|[MS-OXORMDR] section 2.2.1.3|MS-OXORMDR +2.219|PidLidReminderFileParameter|Specifies the filename of the sound that a client is to play when the reminder for that object becomes overdue.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000851F|PtypString, 0x001F|Reminders|[MS-OXORMDR] section 2.2.1.7|MS-OXORMDR +2.220|PidLidReminderOverride|Specifies whether the client is to respect the current values of the PidLidReminderPlaySound property (section 2.221) and the PidLidReminderFileParameter|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000851C|PtypBoolean, 0x000B|Reminders|[MS-OXORMDR] section 2.2.1.5|MS-OXORMDR +2.221|PidLidReminderPlaySound|Specifies whether the client is to play a sound when the reminder becomes overdue.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000851E|PtypBoolean, 0x000B|Reminders|[MS-OXORMDR] section 2.2.1.6|MS-OXORMDR +2.222|PidLidReminderSet|Specifies whether a reminder is set on the object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008503|PtypBoolean, 0x000B|Reminders|[MS-OXORMDR] section 2.2.1.1|MS-OXORMDR +2.223|PidLidReminderSignalTime|Specifies the point in time when a reminder transitions from pending to overdue.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008560|PtypTime, 0x0040|Reminders|[MS-OXORMDR] section 2.2.1.2|MS-OXORMDR +2.224|PidLidReminderTime|Specifies the initial signal time for objects that are not Calendar objects.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008502|PtypTime, 0x0040|Reminders|[MS-OXORMDR] section 2.2.1.4|MS-OXORMDR +2.225|PidLidReminderTimeDate|Indicates the time and date of the reminder for the appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008505|PtypTime, 0x0040|Reminders|[MS-XWDCAL] section 2.2.7.59|MS-XWDCAL +2.226|PidLidReminderTimeTime|Indicates the time of the reminder for the appointment or meeting.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008504|PtypTime, 0x0040|Reminders|[MS-XWDCAL] section 2.2.7.60|MS-XWDCAL +2.227|PidLidReminderType|This property is not set and, if set, is ignored.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000851D|PtypInteger32, 0x0003|Reminders|[MS-OXORMDR] section 2.2.1.9|MS-OXORMDR +2.228|PidLidRemoteStatus|Indicates the remote status of the calendar item.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008511|PtypInteger32, 0x0003|Run-time configuration|[MS-XWDCAL] section 2.2.7.62|MS-XWDCAL +2.229|PidLidRequiredAttendees|Identifies required attendees for the appointment or meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000006|PtypString, 0x001F|Meetings|[MS-XWDCAL] section 2.2.7.63|MS-XWDCAL +2.230|PidLidResourceAttendees|Identifies resource attendees for the appointment or meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000008|PtypString, 0x001F|Meetings|[MS-XWDCAL] section 2.2.7.64|MS-XWDCAL +2.231|PidLidResponseStatus|Specifies the response status of an attendee.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008218|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.1.11|MS-OXOCAL +2.232|PidLidServerProcessed|Indicates whether the Meeting Request object or Meeting Update object has been processed.|PSETID_CalendarAssistant {11000E07-B51B-40D6-AF21-CAA85EDAB1D0}|PSETID_CalendarAssistant||0x000085CC|PtypBoolean, 0x000B|Calendar|[MS-OXOCAL] section 2.2.5.4|MS-OXOCAL +2.233|PidLidServerProcessingActions|Indicates what processing actions have been taken on this Meeting Request object or Meeting Update object.|PSETID_CalendarAssistant {11000E07-B51B-40D6-AF21-CAA85EDAB1D0}|PSETID_CalendarAssistant||0x000085CD|PtypInteger32, 0x0003|Calendar|[MS-OXOCAL] section 2.2.5.5|MS-OXOCAL +2.234|PidLidSharingAnonymity|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A19|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.235|PidLidSharingBindingEntryId|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2D|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.236|PidLidSharingBrowseUrl|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A51|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.237|PidLidSharingCapabilities|Indicates that the Message object relates to a special folder.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A17|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.2.1|MS-OXSHARE +2.238|PidLidSharingConfigurationUrl|Contains a zero-length string.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A24|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.3|MS-OXSHARE +2.239|PidLidSharingDataRangeEnd|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A45|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.240|PidLidSharingDataRangeStart|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A44|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.241|PidLidSharingDetail|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2B|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.242|PidLidSharingExtensionXml|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A21|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.243|PidLidSharingFilter|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A13|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.244|PidLidSharingFlags|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0A|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.245|PidLidSharingFlavor|Indicates the type of Sharing Message object.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A18|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.2.5|MS-OXSHARE +2.246|PidLidSharingFolderEntryId|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A15|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.247|PidLidSharingIndexEntryId|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2E|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.248|PidLidSharingInitiatorEntryId|Contains the value of the PidTagEntryId property (section 2.684) for the Address Book object of the currently logged-on user.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A09|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.2.7|MS-OXSHARE +2.249|PidLidSharingInitiatorName|Contains the value of the PidTagDisplayName property (section 2.677) from the Address Book object identified by the PidLidSharingInitiatorEntryId property (section 2.248).|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A07|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.8|MS-OXSHARE +2.250|PidLidSharingInitiatorSmtp|Contains the value of the PidTagSmtpAddress property (section 2.1022) from the Address Book object identified by the PidLidSharingInitiatorEntryId property (section 2.248).|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A08|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.9|MS-OXSHARE +2.251|PidLidSharingInstanceGuid|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1C|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.252|PidLidSharingLastAutoSyncTime|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A55|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.253|PidLidSharingLastSyncTime|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1F|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.254|PidLidSharingLocalComment|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A4D|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.255|PidLidSharingLocalLastModificationTime|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A23|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.256|PidLidSharingLocalName|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0F|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.257|PidLidSharingLocalPath|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0E|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.258|PidLidSharingLocalStoreUid|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A49|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.259|PidLidSharingLocalType|Contains the value of the PidTagContainerClass property (section 2.643) of the folder being shared.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A14|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.10|MS-OXSHARE +2.260|PidLidSharingLocalUid|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A10|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.261|PidLidSharingOriginalMessageEntryId|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A29|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.262|PidLidSharingParentBindingEntryId|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A5C|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.263|PidLidSharingParticipants|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1E|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.264|PidLidSharingPermissions|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1B|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.265|PidLidSharingProviderExtension|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0B|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.266|PidLidSharingProviderGuid|Contains the value "%xAE.F0.06.00.00.00.00.00.C0.00.00.00.00.00.00.46".|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A01|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.2.12|MS-OXSHARE +2.267|PidLidSharingProviderName|Contains a user-displayable name of the sharing provider identified by the PidLidSharingProviderGuid property (section 2.266).|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A02|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.14|MS-OXSHARE +2.268|PidLidSharingProviderUrl|Contains a URL related to the sharing provider identified by the PidLidSharingProviderGuid property (section 2.266).|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A03|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.16|MS-OXSHARE +2.269|PidLidSharingRangeEnd|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A47|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.270|PidLidSharingRangeStart|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A46|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.271|PidLidSharingReciprocation|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1A|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.272|PidLidSharingRemoteByteSize|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A4B|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.273|PidLidSharingRemoteComment|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2F|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.274|PidLidSharingRemoteCrc|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A4C|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.275|PidLidSharingRemoteLastModificationTime|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A22|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.276|PidLidSharingRemoteMessageCount|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A4F|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.277|PidLidSharingRemoteName|Contains the value of the PidTagDisplayName property (section 2.677) on the folder being shared.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A05|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.1|MS-OXSHARE +2.278|PidLidSharingRemotePass|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0D|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.279|PidLidSharingRemotePath|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A04|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.280|PidLidSharingRemoteStoreUid|Contains a hexadecimal string representation of the value of the PidTagStoreEntryId property (section 2.1030) on the folder being shared.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A48|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.3|MS-OXSHARE +2.281|PidLidSharingRemoteType|Contains the same value as the PidLidSharingLocalType property (section 2.259).|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A1D|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.5|MS-OXSHARE +2.282|PidLidSharingRemoteUid|Contains the EntryID of the folder being shared.|PSTID_Sharing {00062040-0000-0000-C000-000000000046}|PSTID_Sharing||0x00008A06|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.7|MS-OXSHARE +2.283|PidLidSharingRemoteUser|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A0C|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.284|PidLidSharingRemoteVersion|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A5B|PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.285|PidLidSharingResponseTime|Contains the time at which the recipient of the sharing request sent a sharing response.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A28|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.4.1|MS-OXSHARE +2.286|PidLidSharingResponseType|Contains the type of response with which the recipient of the sharing request responded.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A27|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.4.2|MS-OXSHARE +2.287|PidLidSharingRoamLog|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A4E|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.288|PidLidSharingStart|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A25|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.289|PidLidSharingStatus|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A00|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.290|PidLidSharingStop|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A26|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.291|PidLidSharingSyncFlags|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A60|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.292|PidLidSharingSyncInterval|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2A|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.293|PidLidSharingTimeToLive|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A2C|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.294|PidLidSharingTimeToLiveAuto|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A56|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.295|PidLidSharingWorkingHoursDays|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A42|PtypInteger32, 0x0003|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.296|PidLidSharingWorkingHoursEnd|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A41|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.297|PidLidSharingWorkingHoursStart|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A40|PtypTime, 0x0040|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.298|PidLidSharingWorkingHoursTimeZone|Contains a value that is ignored by the server no matter what value is generated by the client.|PSETID_Sharing {00062040-0000-0000-C000-000000000046}|PSETID_Sharing||0x00008A43|PtypBinary, 0x0102|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.299|PidLidSideEffects|Specifies how a Message object is handled by the client in relation to certain user interface actions by the user, such as deleting a message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008510|PtypInteger32, 0x0003|Run-time configuration|[MS-OXCMSG] section 2.2.1.16|MS-OXCMSG +2.300|PidLidSingleBodyICal|Indicates that the original MIME message contained a single MIME part.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000827B|PtypBoolean, 0x000B|Calendar|[MS-OXCICAL] section 2.1.3.4.2|MS-OXCICAL +2.301|PidLidSmartNoAttach|Indicates whether the Message object has no end-user visible attachments.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008514|PtypBoolean, 0x000B|Run-time configuration|[MS-OXCMSG] section 2.2.1.14|MS-OXCMSG +2.302|PidLidSpamOriginalFolder|Specifies which folder a message was in before it was filtered into the Junk Email folder.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x0000859C|PtypBinary, 0x0102|Spam|[MS-OXCSPAM] section 2.2.1.1|MS-OXCSPAM +2.303|PidLidStartRecurrenceDate|Identifies the start date of the recurrence pattern.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000000D|PtypInteger32, 0x0003|Meetings|[MS-XWDCAL] section 2.2.7.66|MS-XWDCAL +2.304|PidLidStartRecurrenceTime|Identifies the start time of the recurrence pattern.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000000E|PtypInteger32, 0x0003|Meetings|[MS-XWDCAL] section 2.2.7.67|MS-XWDCAL +2.305|PidLidTaskAcceptanceState|Indicates the acceptance state of the task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000812A|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.30|MS-OXOTASK +2.306|PidLidTaskAccepted|Indicates whether a task assignee has replied to a task request for this Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008108|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.7|MS-OXOTASK +2.307|PidLidTaskActualEffort|Indicates the number of minutes that the user actually spent working on a task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008110|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.11|MS-OXOTASK +2.308|PidLidTaskAssigner|Specifies the name of the user that last assigned the task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008121|PtypString, 0x001F|Tasks|[MS-OXOTASK] section 2.2.2.2.24|MS-OXOTASK +2.309|PidLidTaskAssigners|Contains a stack of entries, each of which represents a task assigner.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008117|PtypBinary, 0x0102|Tasks|[MS-OXOTASK] section 2.2.2.2.16|MS-OXOTASK +2.310|PidLidTaskComplete|Indicates that the task is complete.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000811C|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.20|MS-OXOTASK +2.311|PidLidTaskCustomFlags|The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008139|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.33|MS-OXOTASK +2.312|PidLidTaskDateCompleted|Specifies the date when the user completed work on the task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000810F|PtypTime, 0x0040|Tasks|[MS-OXOTASK] section 2.2.2.2.9|MS-OXOTASK +2.313|PidLidTaskDeadOccurrence|Indicates whether new occurrences remain to be generated.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008109|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.8|MS-OXOTASK +2.314|PidLidTaskDueDate|Specifies the date by which the user expects work on the task to be complete.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008105|PtypTime, 0x0040|Tasks|[MS-OXOTASK] section 2.2.2.2.5|MS-OXOTASK +2.315|PidLidTaskEstimatedEffort|Indicates the number of minutes that the user expects to work on a task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008111|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.12|MS-OXOTASK +2.316|PidLidTaskFCreator|Indicates that the Task object was originally created by the action of the current user or user agent instead of by the processing of a task request.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000811E|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.21|MS-OXOTASK +2.317|PidLidTaskFFixOffline|Indicates the accuracy of the PidLidTaskOwner property (section 2.328).|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000812C|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.31|MS-OXOTASK +2.318|PidLidTaskFRecurring|Indicates whether the task includes a recurrence pattern.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008126|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.28|MS-OXOTASK +2.319|PidLidTaskGlobalId|Contains a unique GUID for this task, which is used to locate an existing task upon receipt of a task response or task update.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008519|PtypBinary, 0x0102|Tasks|[MS-OXOTASK] section 2.2.2.2.32|MS-OXOTASK +2.320|PidLidTaskHistory|Indicates the type of change that was last made to the Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000811A|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.18|MS-OXOTASK +2.321|PidLidTaskLastDelegate|Contains the name of the user who most recently assigned the task, or the user to whom it was most recently assigned.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008125|PtypString, 0x001F|Tasks|[MS-OXOTASK] section 2.2.2.2.27|MS-OXOTASK +2.322|PidLidTaskLastUpdate|Contains the date and time of the most recent change made to the Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008115|PtypTime, 0x0040|Tasks|[MS-OXOTASK] section 2.2.2.2.10|MS-OXOTASK +2.323|PidLidTaskLastUser|Contains the name of the most recent user to have been the owner of the task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008122|PtypString, 0x001F|Tasks|[MS-OXOTASK] section 2.2.2.2.25|MS-OXOTASK +2.324|PidLidTaskMode|Specifies the assignment status of the embedded Task object.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008518|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.3.2|MS-OXOTASK +2.325|PidLidTaskMultipleRecipients|Provides optimization hints about the recipients of a Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008120|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.23|MS-OXOTASK +2.326|PidLidTaskNoCompute|Not used. The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008124|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.35|MS-OXOTASK +2.327|PidLidTaskOrdinal|Provides an aid to custom sorting of Task objects.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008123|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.26|MS-OXOTASK +2.328|PidLidTaskOwner|Contains the name of the owner of the task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000811F|PtypString, 0x001F|Tasks|[MS-OXOTASK] section 2.2.2.2.22|MS-OXOTASK +2.329|PidLidTaskOwnership|Indicates the role of the current user relative to the Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008129|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.29|MS-OXOTASK +2.330|PidLidTaskRecurrence|Contains a RecurrencePattern structure that provides information about recurring tasks.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008116|PtypBinary, 0x0102|Tasks|[MS-OXOTASK] section 2.2.2.2.15|MS-OXOTASK +2.331|PidLidTaskResetReminder|Indicates whether future instances of recurring tasks need reminders, even though the value of the PidLidReminderSet property (section 2.222) is 0x00.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008107|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.6|MS-OXOTASK +2.332|PidLidTaskRole|Not used. The client can set this property, but it has no impact on the Task-Related Objects Protocol and is ignored by the server.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008127|PtypString, 0x001F|Tasks|[MS-OXOTASK] section 2.2.2.2.34|MS-OXOTASK +2.333|PidLidTaskStartDate|Specifies the date on which the user expects work on the task to begin.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008104|PtypTime, 0x0040|Tasks|[MS-OXOTASK] section 2.2.2.2.4|MS-OXOTASK +2.334|PidLidTaskState|Indicates the current assignment state of the Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008113|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.14|MS-OXOTASK +2.335|PidLidTaskStatus|Specifies the status of a task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008101|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.2|MS-OXOTASK +2.336|PidLidTaskStatusOnComplete|Indicates whether the task assignee has been requested to send an email message update upon completion of the assigned task.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008119|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.17|MS-OXOTASK +2.337|PidLidTaskUpdates|Indicates whether the task assignee has been requested to send a task update when the assigned Task object changes.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x0000811B|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.19|MS-OXOTASK +2.338|PidLidTaskVersion|Indicates which copy is the latest update of a Task object.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008112|PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.2.2.13|MS-OXOTASK +2.339|PidLidTeamTask|This property is set by the client but is ignored by the server.|PSETID_Task {00062003-0000-0000-C000-000000000046}|PSETID_Task||0x00008103|PtypBoolean, 0x000B|Tasks|[MS-OXOTASK] section 2.2.2.2.36|MS-OXOTASK +2.340|PidLidTimeZone|Specifies information about the time zone of a recurring meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x0000000C|PtypInteger32, 0x0003|Meetings|[MS-OXOCAL] section 2.2.5.6|MS-OXOCAL +2.341|PidLidTimeZoneDescription|Specifies a human-readable description of the time zone that is represented by the data in the PidLidTimeZoneStruct property (section 2.342).|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008234|PtypString, 0x001F|Calendar|[MS-OXOCAL] section 2.2.1.40|MS-OXOCAL +2.342|PidLidTimeZoneStruct|Specifies time zone information for a recurring meeting.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x00008233|PtypBinary, 0x0102|Calendar|[MS-OXOCAL] section 2.2.1.39|MS-OXOCAL +2.343|PidLidToAttendeesString|Contains a list of all of the sendable attendees who are also required attendees.|PSETID_Appointment {00062002-0000-0000-C000-000000000046}|PSETID_Appointment||0x0000823B|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.1.17|MS-OXOCAL +2.344|PidLidToDoOrdinalDate|Contains the current time, in UTC, which is used to determine the sort order of objects in a consolidated to-do list.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085A0|PtypTime, 0x0040|Tasks|[MS-OXOFLAG] section 2.2.1.13|MS-OXOFLAG +2.345|PidLidToDoSubOrdinal|Contains the numerals 0 through 9 that are used to break a tie when the PidLidToDoOrdinalDate property (section 2.344) is used to perform a sort of objects.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085A1|PtypString, 0x001F|Tasks|[MS-OXOFLAG] section 2.2.1.14|MS-OXOFLAG +2.346|PidLidToDoTitle|Contains user-specifiable text to identify this Message object in a consolidated to-do list.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085A4|PtypString, 0x001F|Tasks|[MS-OXOFLAG] section 2.2.1.12|MS-OXOFLAG +2.347|PidLidUseTnef|Specifies whether Transport Neutral Encapsulation Format (TNEF) is to be included on a message when the message is converted from TNEF to MIME or SMTP format.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008582|PtypBoolean, 0x000B|Run-time configuration|[MS-OXOMSG] section 2.2.1.66|MS-OXOMSG +2.348|PidLidValidFlagStringProof|Contains the value of the PidTagMessageDeliveryTime property (section 2.791) when modifying the PidLidFlagRequest property (section 2.136).|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x000085BF|PtypTime, 0x0040|Tasks|[MS-OXOFLAG] section 2.2.1.11|MS-OXOFLAG +2.349|PidLidVerbResponse|Specifies the voting option that a respondent has selected.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008524|PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.1.75|MS-OXOMSG +2.350|PidLidVerbStream|Specifies what voting responses the user can make in response to the message.|PSETID_Common {00062008-0000-0000-C000-000000000046}|PSETID_Common||0x00008520|PtypBinary, 0x0102|Run-time configuration|[MS-OXOMSG] section 2.2.1.74|MS-OXOMSG +2.351|PidLidWeddingAnniversaryLocal|Specifies the wedding anniversary of the contact, at midnight in the client's local time zone, and is saved without any time zone conversions.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DF|PtypTime, 0x0040|Contact Properties|[MS-OXOCNTC] section 2.2.1.5.5|MS-OXOCNTC +2.352|PidLidWeekInterval|Identifies the number of weeks that occur between each meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000012|PtypInteger16, 0x0002|Meetings|[MS-XWDCAL] section 2.2.7.71|MS-XWDCAL +2.353|PidLidWhere|Contains the value of the PidLidLocation property (section 2.159) from the associated Meeting object.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000002|PtypString, 0x001F|Meetings|[MS-OXOCAL] section 2.2.5.3|MS-OXOCAL +2.354|PidLidWorkAddress|Specifies the complete address of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000801B|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.8|MS-OXOCNTC +2.355|PidLidWorkAddressCity|Specifies the city or locality portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008046|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.2|MS-OXOCNTC +2.356|PidLidWorkAddressCountry|Specifies the country or region portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008049|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.5|MS-OXOCNTC +2.357|PidLidWorkAddressCountryCode|Specifies the country code portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x000080DB|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.6|MS-OXOCNTC +2.358|PidLidWorkAddressPostalCode|Specifies the postal code (ZIP code) portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008048|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.4|MS-OXOCNTC +2.359|PidLidWorkAddressPostOfficeBox|Specifies the post office box portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000804A|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.7|MS-OXOCNTC +2.360|PidLidWorkAddressState|Specifies the state or province portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008047|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.3|MS-OXOCNTC +2.361|PidLidWorkAddressStreet|Specifies the street portion of the work address of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x00008045|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.3.1|MS-OXOCNTC +2.362|PidLidYearInterval|Indicates the yearly interval of the appointment or meeting.|PSETID_Meeting {6ED8DA90-450B-101B-98DA-00AA003F1305}|PSETID_Meeting||0x00000014|PtypInteger16, 0x0002|Meetings|[MS-XWDCAL] section 2.2.7.73|MS-XWDCAL +2.363|PidLidYomiCompanyName|Specifies the phonetic pronunciation of the company name of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000802E|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.6.8|MS-OXOCNTC +2.364|PidLidYomiFirstName|Specifies the phonetic pronunciation of the given name of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000802C|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.1.9|MS-OXOCNTC +2.365|PidLidYomiLastName|Specifies the phonetic pronunciation of the surname of the contact.|PSETID_Address {00062004-0000-0000-C000-000000000046}|PSETID_Address||0x0000802D|PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.1.10|MS-OXOCNTC +2.366|PidNameAcceptLanguage|Contains the value of the MIME Accept-Language header.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.42|MS-OXCMSG +2.367|PidNameApplicationName|Specifies the application used to open the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.9|MS-OXODOC +2.368|PidNameAttachmentMacContentType|Contains the Content-Type of the Mac attachment.|PSETID_Attachment {96357F7F-59E1-47D0-99A7-46515C183B54}|PSETID_Attachment|||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.369|PidNameAttachmentMacInfo|Contains the headers and resource fork data associated with the Mac attachment.|PSETID_Attachment {96357F7F-59E1-47D0-99A7-46515C183B54}|PSETID_Attachment|||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.370|PidNameAttachmentOriginalPermissionType|Contains the original permission type data associated with a web reference attachment.|PSETID_Attachment {96357F7F-59E1-47D0-99A7-46515C183B54}|PSETID_Attachment|||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.27|MS-OXCMSG +2.371|PidNameAttachmentPermissionType|Contains the permission type data associated with a web reference attachment.|PSETID_Attachment {96357F7F-59E1-47D0-99A7-46515C183B54}|PSETID_Attachment|||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.28|MS-OXCMSG +2.372|PidNameAttachmentProviderType|Contains the provider type data associated with a web reference attachment.|PSETID_Attachment {96357F7F-59E1-47D0-99A7-46515C183B54}|PSETID_Attachment|||PtypeString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.26|MS-OXCMSG +2.373|PidNameAudioNotes|Contains textual annotations to a voice message after it has been delivered to the user's mailbox.|PSETID_UnifiedMessaging {4442858E-A9E3-4E80-B900-317A210CC15B}|PSETID_UnifiedMessaging|||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.15|MS-OXOUM +2.374|PidNameAuthor|Specifies the author of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.3|MS-OXODOC +2.375|PidNameAutomaticSpeechRecognitionData|Contains an unprotected voice message.|PSETID_UnifiedMessaging {4442858E-A9E3-4E80-B900-317A210CC15B}|PSETID_UnifiedMessaging|||PtypBinary, 0x0102|Unified Messaging|[MS-OXOUM] section 2.2.5.13|MS-OXOUM +2.376|PidNameBirthdayContactAttributionDisplayName|Indicates the name of the contact associated with the birthday event.|PSETID_Address{00062004-0000-0000-C000-000000000046}||||PtypString, 0x001F|Contact Properties|[MS-OXOCAL] section 2.2.1.52|MS-OXOCAL +2.377|PidNameBirthdayContactEntryId|Indicate the EntryID of the contact associated with the birthday event.|PSETID_Address{00062004-0000-0000-C000-000000000046}||||PtypBinary, 0x0102|Contact Properties|[MS-OXOCAL] section 2.2.1.53|MS-OXOCAL +2.378|PidNameBirthdayContactPersonGuid|Indicates the person ID's GUID of the contact associated with the birthday event.|PSETID_Address{00062004-0000-0000-C000-000000000046}||||PtypBinary, 0x0102|Contact Properties|[MS-OXOCAL] section 2.2.1.54|MS-OXOCAL +2.379|PidNameByteCount|Specifies the size, in bytes, of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.22|MS-OXODOC +2.380|PidNameCalendarAttendeeRole|Specifies the role of the attendee.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.7|MS-XWDCAL +2.381|PidNameCalendarBusystatus|Specifies whether the attendee is busy at the time of an appointment on their calendar.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.8|MS-XWDCAL +2.382|PidNameCalendarContact|Identifies the name of a contact who is an attendee of a meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.9|MS-XWDCAL +2.383|PidNameCalendarContactUrl|Identifies the URL where you can access contact information in HTML format.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.10|MS-XWDCAL +2.384|PidNameCalendarCreated|Identifies the date and time, in UTC, when the organizer created the appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-XWDCAL] section 2.2.2.11|MS-XWDCAL +2.385|PidNameCalendarDescriptionUrl|Specifies the URL of a resource that contains a description of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.12|MS-XWDCAL +2.386|PidNameCalendarDuration|Identifies the duration, in seconds, of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.13|MS-XWDCAL +2.387|PidNameCalendarExceptionDate|Identifies a list of dates that are exceptions to a recurring appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleTime, 0x1040|Common|[MS-XWDCAL] section 2.2.2.14|MS-XWDCAL +2.388|PidNameCalendarExceptionRule|Specifies an exception rule for a recurring appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|Common|[MS-XWDCAL] section 2.2.2.15|MS-XWDCAL +2.389|PidNameCalendarGeoLatitude|Specifies the geographical latitude of the location of an appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypFloating64, 0x0005|Common|[MS-XWDCAL] section 2.2.2.16|MS-XWDCAL +2.390|PidNameCalendarGeoLongitude|Specifies the geographical longitude of the location of an appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypFloating64, 0x0005|Common|[MS-XWDCAL] section 2.2.2.17|MS-XWDCAL +2.391|PidNameCalendarInstanceType|Specifies the type of an appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.18|MS-XWDCAL +2.392|PidNameCalendarIsOrganizer|Specifies whether an attendee is the organizer of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-XWDCAL] section 2.2.2.19|MS-XWDCAL +2.393|PidNameCalendarLastModified|Specifies the date and time, in UTC, when an appointment was last modified.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-XWDCAL] section 2.2.2.20|MS-XWDCAL +2.394|PidNameCalendarLocationUrl|Specifies a URL with location information in HTML format.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.21|MS-XWDCAL +2.395|PidNameCalendarMeetingStatus|Specifies the status of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.22|MS-XWDCAL +2.396|PidNameCalendarMethod|Specifies the iCalendar method that is associated with an Appointment object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.23|MS-XWDCAL +2.397|PidNameCalendarProductId|Identifies the product that created the iCalendar-formatted stream.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.24|MS-XWDCAL +2.398|PidNameCalendarRecurrenceIdRange|Specifies which instances of a recurring appointment are being referred to.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.25|MS-XWDCAL +2.399|PidNameCalendarReminderOffset|Identifies the number of seconds before an appointment starts that a reminder is to be displayed.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.26|MS-XWDCAL +2.400|PidNameCalendarResources|Identifies a list of resources, such as rooms and video equipment, that are available for an appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.27|MS-XWDCAL +2.401|PidNameCalendarRsvp|Specifies whether the organizer of an appointment or meeting requested a response.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-XWDCAL] section 2.2.2.28|MS-XWDCAL +2.402|PidNameCalendarSequence|Specifies the sequence number of a version of an appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.29|MS-XWDCAL +2.403|PidNameCalendarTimeZone|Specifies the time zone of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.30|MS-XWDCAL +2.404|PidNameCalendarTimeZoneId|Specifies the time zone identifier of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.2.31|MS-XWDCAL +2.405|PidNameCalendarTransparent|Specifies whether an appointment or meeting is visible to busy time searches.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.32|MS-XWDCAL +2.406|PidNameCalendarUid|Specifies the unique identifier of an appointment or meeting.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.33|MS-XWDCAL +2.407|PidNameCalendarVersion|Identifies the version of the iCalendar specification, as specified in [MS-OXCICAL] section 2.1.3.1.1.3, that is required to correctly interpret an iCalendar object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.2.34|MS-XWDCAL +2.408|PidNameCategory|Specifies the category of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.18|MS-OXODOC +2.409|PidNameCharacterCount|Specifies the character count of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.16|MS-OXODOC +2.410|PidNameComments|Specifies the comments of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.5|MS-OXODOC +2.411|PidNameCompany|Specifies the company for which the file was created.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.21|MS-OXODOC +2.412|PidNameContentBase|Specifies the value of the MIME Content-Base header, which defines the base URI for resolving relative URLs contained within the message body.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.41|MS-OXCMSG +2.413|PidNameContentClass|Contains a string that identifies the type of content of a Message object.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.48|MS-OXCMSG +2.414|PidNameContentType|Specifies the type of the body part content.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.50|MS-OXCMSG +2.415|PidNameCreateDateTimeReadOnly|Specifies the time, in UTC, that the file was first created.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-OXODOC] section 2.2.1.12|MS-OXODOC +2.416|PidNameCrossReference|Contains the name of the host (with domains omitted) and a white-space-separated list of colon-separated pairs of newsgroup names and message numbers.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMAIL] section 2.5.3|MS-OXCMAIL +2.417|PidNameDavId|Specifies a unique ID for the calendar item.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.1.2|MS-XWDCAL +2.418|PidNameDavIsCollection|Indicates whether a Calendar object is a collection.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-XWDCAL] section 2.2.1.3|MS-XWDCAL +2.419|PidNameDavIsStructuredDocument|Indicates whether a Calendar object is a structured document.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-XWDCAL] section 2.2.1.4|MS-XWDCAL +2.420|PidNameDavParentName|Specifies the name of the Folder object that contains the Calendar object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.1.5|MS-XWDCAL +2.421|PidNameDavUid|Specifies the unique identifier for an item.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.1.6|MS-XWDCAL +2.422|PidNameDocumentParts|Specifies the title of each part of the document.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|Common|[MS-OXODOC] section 2.2.1.29|MS-OXODOC +2.423|PidNameEditTime|Specifies the time that the file was last edited.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.10|MS-OXODOC +2.424|PidNameExchangeIntendedBusyStatus|Specifies the intended free/busy status of a meeting in a Meeting request.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.8.1|MS-XWDCAL +2.425|PidNameExchangeJunkEmailMoveStamp|Indicates that the message is not to be processed by a spam filter.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Secure Messaging Properties|[MS-OXCSPAM] section 2.2.1.2|MS-OXCSPAM +2.426|PidNameExchangeModifyExceptionStructure|Specifies a structure that modifies an exception to the recurrence.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBinary, 0x0102|Common|[MS-XWDCAL] section 2.2.8.2|MS-XWDCAL +2.427|PidNameExchangeNoModifyExceptions|Indicates whether exceptions to a recurring appointment can be modified.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-XWDCAL] section 2.2.8.3|MS-XWDCAL +2.428|PidNameExchangePatternEnd|Identifies the maximum time when an instance of a recurring appointment ends.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-XWDCAL] section 2.2.8.4|MS-XWDCAL +2.429|PidNameExchangePatternStart|Identifies the absolute minimum time when an instance of a recurring appointment starts.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-XWDCAL] section 2.2.8.5|MS-XWDCAL +2.430|PidNameExchangeReminderInterval|Identifies the time, in seconds, between reminders.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-XWDCAL] section 2.2.8.6|MS-XWDCAL +2.431|PidNameExchDatabaseSchema|Specifies an array of URLs that identifies other folders within the same message store that contain schema definition items.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|Common|[MS-XWDCAL] section 2.2.5.1|MS-XWDCAL +2.432|PidNameExchDataExpectedContentClass|Specifies an array of names that indicates the expected content classes of items within a folder.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|Common|[MS-XWDCAL] section 2.2.5.2|MS-XWDCAL +2.433|PidNameExchDataSchemaCollectionReference|Specifies an array of names that indicates the expected content classes of items within a folder.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.5.3|MS-XWDCAL +2.434|PidNameExtractedAddresses|Contains an XML document with a single AddressSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.1|MS-OXCEXT +2.435|PidNameExtractedContacts|Contains an XML document with a single ContactSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.2|MS-OXCEXT +2.436|PidNameExtractedEmails|Contains an XML document with a single EmailSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.3|MS-OXCEXT +2.437|PidNameExtractedMeetings|Contains an XML document with a single MeetingSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.4|MS-OXCEXT +2.438|PidNameExtractedPhones|Contains an XML document with a single PhoneSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.5|MS-OXCEXT +2.439|PidNameExtractedTasks|Contains an XML document with a single TaskSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.6|MS-OXCEXT +2.440|PidNameExtractedUrls|Contains an XML document with a single UrlSet element.|PSETID_XmlExtractedEntities {23239608-685D-4732-9C55-4C95CB4E8E33}|PSETID_XmlExtractedEntities|||PtypString, 0x001F|Extracted Entities|[MS-OXCEXT] section 2.2.2.7|MS-OXCEXT +2.441|PidNameFrom|Specifies the SMTP email alias of the organizer of an appointment or meeting.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-XWDCAL] section 2.2.2.35|MS-XWDCAL +2.442|PidNameHeadingPairs|Specifies which group of headings are indented in the document.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBinary, 0x0102|Common|[MS-OXODOC] section 2.2.1.30|MS-OXODOC +2.443|PidNameHiddenCount|Specifies the hidden value of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.27|MS-OXODOC +2.444|PidNameHttpmailCalendar|Specifies the URL for the Calendar folder for a particular user.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.3.1|MS-XWDCAL +2.445|PidNameHttpmailHtmlDescription|Specifies the HTML content of the message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.3.2|MS-XWDCAL +2.446|PidNameHttpmailSendMessage|Specifies the email submission URI to which outgoing email is submitted.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-XWDCAL] section 2.2.3.3|MS-XWDCAL +2.447|PidNameICalendarRecurrenceDate|Identifies an array of instances of a recurring appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleTime, 0x1040|Common|[MS-XWDCAL] section 2.2.2.36|MS-XWDCAL +2.448|PidNameICalendarRecurrenceRule|Specifies the rule for the pattern that defines a recurring appointment.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|Common|[MS-XWDCAL] section 2.2.2.37|MS-XWDCAL +2.449|PidNameInternetSubject|Specifies the subject of the message.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-XWDCAL] section 2.2.4.1|MS-XWDCAL +2.450|PidNameIsBirthdayContactWritable|Indicates whether the contact associated with the birthday event is writable.|PSETID_Address{00062004-0000-0000-C000-000000000046}||||PtypBoolean, 0x000B|Contact Properties|[MS-OXOCAL] section 2.2.1.55|MS-OXOCAL +2.451|PidNameKeywords|Contains keywords or categories for the Message object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleString, 0x101F|General Message Properties|[MS-OXCMSG] section 2.2.1.17|MS-OXCMSG +2.452|PidNameLastAuthor|Specifies the most recent author of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.7|MS-OXODOC +2.453|PidNameLastPrinted|Specifies the time, in UTC, that the file was last printed.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-OXODOC] section 2.2.1.11|MS-OXODOC +2.454|PidNameLastSaveDateTime|Specifies the time, in UTC, that the file was last saved.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|Common|[MS-OXODOC] section 2.2.1.13|MS-OXODOC +2.455|PidNameLineCount|Specifies the number of lines in the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.23|MS-OXODOC +2.456|PidNameLinksDirty|Indicates whether the links in the document are up-to-date.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-OXODOC] section 2.2.1.31|MS-OXODOC +2.457|PidNameLocationUrl||PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Calendar||MS-UNKNOWN +2.458|PidNameManager|Specifies the manager of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.20|MS-OXODOC +2.459|PidNameMeetingDoNotForward|Specifies whether to allow the meeting to be forwarded.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Meetings|[MS-OXOCAL] section 2.2.1.51|MS-OXOCAL +2.460|PidNameMSIPLabels|Contains the string that specifies the CLP label information.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.56|MS-OXCMSG +2.461|PidNameMultimediaClipCount|Specifies the number of multimedia clips in the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.28|MS-OXODOC +2.462|PidNameNoteCount|Specifies the number of notes in the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.26|MS-OXODOC +2.463|PidNameOMSAccountGuid|Contains the GUID of the SMS account used to deliver the message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|SMS|[MS-OXOSMMS] section 2.2.1.1|MS-OXOSMMS +2.464|PidNameOMSMobileModel|Indicates the model of the mobile device used to send the SMS or MMS message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|SMS|[MS-OXOSMMS] section 2.2.1.6|MS-OXOSMMS +2.465|PidNameOMSScheduleTime|Contains the time, in UTC, at which the client requested that the service provider send the SMS or MMS message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypTime, 0x0040|SMS|[MS-OXOSMMS] section 2.2.1.2|MS-OXOSMMS +2.466|PidNameOMSServiceType|Contains the type of service used to send an SMS or MMS message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|SMS|[MS-OXOSMMS] section 2.2.1.3|MS-OXOSMMS +2.467|PidNameOMSSourceType|Contains the source of an SMS or MMS message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|SMS|[MS-OXOSMMS] section 2.2.1.4|MS-OXOSMMS +2.468|PidNamePageCount|Specifies the page count of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.14|MS-OXODOC +2.469|PidNameParagraphCount|Specifies the number of paragraphs in the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.24|MS-OXODOC +2.470|PidNamePhishingStamp|Indicates whether a message is likely to be phishing.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Secure Messaging Properties|[MS-OXPHISH] section 2.2.1.1|MS-OXPHISH +2.471|PidNamePresentationFormat|Specifies the presentation format of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.19|MS-OXODOC +2.472|PidNameQuarantineOriginalSender|Specifies the original sender of a message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXCMAIL] section 2.5.4|MS-OXCMAIL +2.473|PidNameRevisionNumber|Specifies the revision number of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.8|MS-OXODOC +2.474|PidNameRightsManagementLicense|Specifies the value used to cache the Use License for the rights-managed email message.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypMultipleBinary, 0x1102|Secure Messaging Properties|[MS-OXORMMS] section 2.2.1.1|MS-OXORMMS +2.475|PidNameScale|Indicates whether the image is to be scaled or cropped.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBoolean, 0x000B|Common|[MS-OXODOC] section 2.2.1.32|MS-OXODOC +2.476|PidNameSecurity|Specifies the security level of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.17|MS-OXODOC +2.477|PidNameSlideCount|Specifies the number of slides in the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.25|MS-OXODOC +2.478|PidNameSubject|Specifies the subject of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.2|MS-OXODOC +2.479|PidNameTemplate|Specifies the template of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.6|MS-OXODOC +2.480|PidNameThumbnail|Specifies the data representing the thumbnail image of the document.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypBinary, 0x0102|Common|[MS-OXODOC] section 2.2.1.33|MS-OXODOC +2.481|PidNameTitle|Specifies the title of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypString, 0x001F|Common|[MS-OXODOC] section 2.2.1.1|MS-OXODOC +2.482|PidNameWordCount|Specifies the word count of the file attached to the Document object.|PS_PUBLIC_STRINGS {00020329-0000-0000-C000-000000000046}|PS_PUBLIC_STRINGS|||PtypInteger32, 0x0003|Common|[MS-OXODOC] section 2.2.1.15|MS-OXODOC +2.483|PidNameXCallId|Contains a unique identifier associated with the phone call.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.12|MS-OXOUM +2.484|PidNameXFaxNumberOfPages|Specifies how many discrete pages are contained within an attachment representing a facsimile message.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypInteger16, 0x0002|Unified Messaging|[MS-OXOUM] section 2.2.5.8|MS-OXOUM +2.485|PidNameXRequireProtectedPlayOnPhone|Indicates that the client only renders the message on a phone.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypBoolean, 0x000B|Unified Messaging|[MS-OXOUM] section 2.2.5.14|MS-OXOUM +2.486|PidNameXSenderTelephoneNumber|Contains the telephone number of the caller associated with a voice mail message.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.2|MS-OXOUM +2.487|PidNameXSharingBrowseUrl|Contains a value that is ignored by the server no matter what value is generated by the client.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.488|PidNameXSharingCapabilities|Contains a string representation of the value of the PidLidSharingCapabilities property (section 2.237).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.2|MS-OXSHARE +2.489|PidNameXSharingConfigUrl|Contains the same value as the PidLidSharingConfigurationUrl property (section 2.238).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.4|MS-OXSHARE +2.490|PidNameXSharingExendedCaps|Contains a value that is ignored by the server no matter what value is generated by the client.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.491|PidNameXSharingFlavor|Contains a hexadecimal string representation of the value of the PidLidSharingFlavor property (section 2.245).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.6|MS-OXSHARE +2.492|PidNameXSharingInstanceGuid|Contains a value that is ignored by the server no matter what value is generated by the client.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.493|PidNameXSharingLocalType|Contains the same value as the PidLidSharingLocalType property (section 2.259).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.11|MS-OXSHARE +2.494|PidNameXSharingProviderGuid|Contains the hexadecimal string representation of the value of the PidLidSharingProviderGuid property (section 2.266).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.13|MS-OXSHARE +2.495|PidNameXSharingProviderName|Contains the same value as the PidLidSharingProviderName property (section 2.267).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.15|MS-OXSHARE +2.496|PidNameXSharingProviderUrl|Contains the same value as the PidLidSharingProviderUrl property (section 2.268).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.2.17|MS-OXSHARE +2.497|PidNameXSharingRemoteName|Contains the same value as the PidLidSharingRemoteName property (section 2.277).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.2|MS-OXSHARE +2.498|PidNameXSharingRemotePath|Contains a value that is ignored by the server no matter what value is generated by the client.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.6|MS-OXSHARE +2.499|PidNameXSharingRemoteStoreUid|Contains the same value as the PidLidSharingRemoteStoreUid property (section 2.282).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.4|MS-OXSHARE +2.500|PidNameXSharingRemoteType|Contains the same value as the PidLidSharingRemoteType property (section 2.281).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.6|MS-OXSHARE +2.501|PidNameXSharingRemoteUid|Contains the same value as the PidLidSharingRemoteUid property (section 2.282).|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Sharing|[MS-OXSHARE] section 2.2.3.8|MS-OXSHARE +2.502|PidNameXVoiceMessageAttachmentOrder|Contains the list of names for the audio file attachments that are to be played as part of a message, in reverse order.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.10|MS-OXOUM +2.503|PidNameXVoiceMessageDuration|Specifies the length of the attached audio message, in seconds.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypInteger16, 0x0002|Unified Messaging|[MS-OXOUM] section 2.2.5.4|MS-OXOUM +2.504|PidNameXVoiceMessageSenderName|Contains the name of the caller who left the attached voice message, as provided by the voice network's caller ID system.|PS_INTERNET_HEADERS {00020386-0000-0000-C000-000000000046}|PS_INTERNET_HEADERS|||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.6|MS-OXOUM +2.505|PidTagAccess|Indicates the operations available to the client for the object.|||0x0FF4||PtypInteger32, 0x0003|Access Control Properties|[MS-OXCPRPT] section 2.2.1.1|MS-OXCPRPT +2.506|PidTagAccessControlListData|Contains a permissions list for a folder.|||0x3FE0||PtypBinary, 0x0102|Access Control Properties|[MS-OXCPERM] section 2.2.3|MS-OXCPERM +2.507|PidTagAccessLevel|Indicates the client's access level to the object.|||0x0FF7||PtypInteger32, 0x0003|Access Control Properties|[MS-OXCPRPT] section 2.2.1.2|MS-OXCPRPT +2.508|PidTagAccount|Contains the alias of an Address Book object, which is an alternative name by which the object can be identified.|||0x3A00||PtypString, 0x001F|Address Book|[MS-OXOCNTC] section 2.2.1.10.11|MS-OXOCNTC +2.509|PidTagAdditionalRenEntryIds|Contains the indexed entry IDs for several special folders related to conflicts, sync issues, local failures, server failures, junk email and spam.|||0x36D8||PtypMultipleBinary, 0x1102|Outlook Application|[MS-OXOSFLD] section 2.2.4|MS-OXOSFLD +2.510|PidTagAdditionalRenEntryIdsEx|Contains an array of blocks that specify the EntryIDs of several special folders.|||0x36D9||PtypBinary, 0x0102|Outlook Application|[MS-OXOSFLD] section 2.2.5|MS-OXOSFLD +2.511|PidTagAddressBookAuthorizedSenders|Indicates whether delivery restrictions exist for a recipient.|||0x8CD8||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.4.42|MS-OXOABK +2.512|PidTagAddressBookContainerId|Contains the ID of a container on an NSPI server.|||0xFFFD||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.2.3|MS-OXOABK +2.513|PidTagAddressBookDeliveryContentLength|Specifies the maximum size, in bytes, of a message that a recipient can receive.|||0x806A||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.3.27|MS-OXOABK +2.514|PidTagAddressBookDisplayNamePrintable|Contains the printable string version of the display name.|||0x39FF||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.7|MS-OXOABK +2.515|PidTagAddressBookDisplayTypeExtended|Contains a value that indicates how to display an Address Book object in a table or as a recipient on a message.|||0x8C93||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.3.35|MS-OXOABK +2.516|PidTagAddressBookDistributionListExternalMemberCount|Contains the number of external recipients in the distribution list.|||0x8CE3||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.3.30|MS-OXOABK +2.517|PidTagAddressBookDistributionListMemberCount|Contains the total number of recipients in the distribution list.|||0x8CE2||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.3.29|MS-OXOABK +2.518|PidTagAddressBookDistributionListMemberSubmitAccepted|Indicates that delivery restrictions exist for a recipient.|||0x8073||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.4.44|MS-OXOABK +2.519|PidTagAddressBookDistributionListMemberSubmitRejected|Indicates that delivery restrictions exist for a recipient.|||0x8CDA||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.4.45|MS-OXOABK +2.520|PidTagAddressBookDistributionListRejectMessagesFromDLMembers|Indicates that delivery restrictions exist for a recipient.|||0x8CDB||PtypObject, 0x000D|Address book|[MS-OXOAB] section 2.9.2.2|MS-OXOAB +2.521|PidTagAddressBookEntryId|Contains the name-service EntryID of a directory object that refers to a public folder.|||0x663B||PtypBinary, 0x0102|Address Book|[MS-OXCFOLD] section 2.2.2.2.1.4|MS-OXCFOLD +2.522|PidTagAddressBookExtensionAttribute1|Contains custom values defined and populated by the organization that modified the display templates.|||0x802D||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.523|PidTagAddressBookExtensionAttribute10|Contains custom values defined and populated by the organization that modified the display templates.|||0x8036||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.524|PidTagAddressBookExtensionAttribute11|Contains custom values defined and populated by the organization that modified the display templates.|||0x8C57||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.525|PidTagAddressBookExtensionAttribute12|Contains custom values defined and populated by the organization that modified the display templates.|||0x8C58||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.526|PidTagAddressBookExtensionAttribute13|Contains custom values defined and populated by the organization that modified the display templates.|||0x8C59||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.527|PidTagAddressBookExtensionAttribute14|Contains custom values defined and populated by the organization that modified the display templates.|||0x8C60||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.528|PidTagAddressBookExtensionAttribute15|Contains custom values defined and populated by the organization that modified the display templates.|||0x8C61||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.529|PidTagAddressBookExtensionAttribute2|Contains custom values defined and populated by the organization that modified the display templates.|||0x802E||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.530|PidTagAddressBookExtensionAttribute3|Contains custom values defined and populated by the organization that modified the display templates.|||0x802F||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.531|PidTagAddressBookExtensionAttribute4|Contains custom values defined and populated by the organization that modified the display templates.|||0x8030||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.532|PidTagAddressBookExtensionAttribute5|Contains custom values defined and populated by the organization that modified the display templates.|||0x8031||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.533|PidTagAddressBookExtensionAttribute6|Contains custom values defined and populated by the organization that modified the display templates.|||0x8032||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.534|PidTagAddressBookExtensionAttribute7|Contains custom values defined and populated by the organization that modified the display templates.|||0x8033||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.535|PidTagAddressBookExtensionAttribute8|Contains custom values defined and populated by the organization that modified the display templates.|||0x8034||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.536|PidTagAddressBookExtensionAttribute9|Contains custom values defined and populated by the organization that modified the display templates.|||0x8035||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.34|MS-OXOABK +2.537|PidTagAddressBookFolderPathname|This property is deprecated and is to be ignored.|||0x8004||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.6.4|MS-OXOABK +2.538|PidTagAddressBookHierarchicalChildDepartments|Contains the child departments in a hierarchy of departments.|||0x8C9A||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.8.1|MS-OXOABK +2.539|PidTagAddressBookHierarchicalDepartmentMembers|Contains all of the mail users that belong to this department.|||0x8C97||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.8.3|MS-OXOABK +2.540|PidTagAddressBookHierarchicalIsHierarchicalGroup|Indicates whether the distribution list represents a departmental group.|||0x8CDD||PtypBoolean, 0x000B|Address Book|[MS-OXOABK] section 2.2.6.5|MS-OXOABK +2.541|PidTagAddressBookHierarchicalParentDepartment|Contains all of the departments to which this department is a child.|||0x8C99||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.8.2|MS-OXOABK +2.542|PidTagAddressBookHierarchicalRootDepartment|Contains the distinguished name (DN) of either the root Department object or the root departmental group in the department hierarchy for the organization.|||0x8C98||PtypString8, 0x001E|Address Book|[MS-OXOABK] section 2.2.7.2|MS-OXOABK +2.543|PidTagAddressBookHierarchicalShowInDepartments|Lists all Department objects of which the mail user is a member.|||0x8C94||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.6|MS-OXOABK +2.544|PidTagAddressBookHomeMessageDatabase|Contains the DN expressed in the X500 DN format. This property is returned from a name service provider interface (NSPI) server as a PtypEmbeddedTable. Otherwise, the data|||0x8006||PtypString8, 0x001E;PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.4.37|MS-OXOABK +2.545|PidTagAddressBookIsMaster|Contains a Boolean value of TRUE if it is possible to create Address Book objects in that container, and FALSE otherwise.|||0xFFFB||PtypBoolean, 0x000B|Address Book|[MS-OXOABK] section 2.2.2.4|MS-OXOABK +2.546|PidTagAddressBookIsMemberOfDistributionList|Lists all of the distribution lists for which the object is a member. This property is returned from an NSPI server as a PtypEmbeddedTable. Otherwise, the data type is PtypString8.|||0x8008||PtypString8, 0x001E; PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.3|MS-OXOABK +2.547|PidTagAddressBookManageDistributionList|Contains information for use in display templates for distribution lists.|||0x6704||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.10.2|MS-OXOABK +2.548|PidTagAddressBookManager|Contains one row that references the mail user's manager.|||0x8005||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.1|MS-OXOABK +2.549|PidTagAddressBookManagerDistinguishedName|Contains the DN of the mail user's manager.|||0x8005||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.9|MS-OXOABK +2.550|PidTagAddressBookMember|Contains the members of the distribution list.|||0x8009||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.6.1|MS-OXOABK +2.551|PidTagAddressBookMessageId|Contains the Short-term Message ID (MID) ([MS-OXCDATA] section 2.2.1.2) of the first message in the local site's offline address book public folder.|||0x674F||PtypInteger64, 0x0014|ProviderDefinedNonTransmittable|[MS-OXCSTOR] section 2.2.2.2.2|MS-OXCSTOR +2.552|PidTagAddressBookModerationEnabled|Indicates whether moderation is enabled for the mail user or distribution list.|||0x8CB5||PtypBoolean, 0x000B|Address Book|[MS-OXOABK] section 2.2.3.28|MS-OXOABK +2.553|PidTagAddressBookNetworkAddress|Contains a list of names by which a server is known to the various transports in use by the network.|||0x8170||PtypMultipleString, 0x101F|Address Book|[MS-OXOABK] section 2.2.4.38|MS-OXOABK +2.554|PidTagAddressBookObjectDistinguishedName|Contains the DN of the Address Book object.|||0x803C||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.15|MS-OXOABK +2.555|PidTagAddressBookObjectGuid|Contains a GUID that identifies an Address Book object.|||0x8C6D||PtypBinary, 0x0102|Address Book|[MS-OXOABK] section 2.2.3.25|MS-OXOABK +2.556|PidTagAddressBookOrganizationalUnitRootDistinguishedName|Contains the DN of the Organization object of the mail user's organization.|||0x8CA8||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.39|MS-OXOABK +2.557|PidTagAddressBookOwner|Contains one row that references the distribution list's owner.|||0x800C||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.6.2|MS-OXOABK +2.558|PidTagAddressBookOwnerBackLink|Contains a list of the distribution lists owned by a mail user.|||0x8024||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.4|MS-OXOABK +2.559|PidTagAddressBookParentEntryId|Contains the EntryID of the parent container in a hierarchy of address book containers.|||0xFFFC||PtypBinary, 0x0102|Address Book|[MS-OXOABK] section 2.2.2.5|MS-OXOABK +2.560|PidTagAddressBookPhoneticCompanyName|Contains the phonetic representation of the PidTagCompanyName property (section 2.640).|||0x8C91||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.12|MS-OXOABK +2.561|PidTagAddressBookPhoneticDepartmentName|Contains the phonetic representation of the PidTagDepartmentName property (section 2.673).|||0x8C90||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.13|MS-OXOABK +2.562|PidTagAddressBookPhoneticDisplayName|Contains the phonetic representation of the PidTagDisplayName property (section 2.677).|||0x8C92||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.9|MS-OXOABK +2.563|PidTagAddressBookPhoneticGivenName|Contains the phonetic representation of the PidTagGivenName property (section 2.715).|||0x8C8E||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.10|MS-OXOABK +2.564|PidTagAddressBookPhoneticSurname|Contains the phonetic representation of the PidTagSurname property (section 2.1038).|||0x8C8F||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.4.11|MS-OXOABK +2.565|PidTagAddressBookProxyAddresses|Contains alternate email addresses for the Address Book object.|||0x800F||PtypMultipleString, 0x101F|Address Book|[MS-OXOABK] section 2.2.3.23|MS-OXOABK +2.566|PidTagAddressBookPublicDelegates|Contains a list of mail users who are allowed to send email on behalf of the mailbox owner.|||0x8015||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.5|MS-OXOABK +2.567|PidTagAddressBookReports|Lists all of the mail user’s direct reports.|||0x800E||PtypEmbeddedTable, 0x000D|Address Book|[MS-OXOABK] section 2.2.5.2|MS-OXOABK +2.568|PidTagAddressBookRoomCapacity|Contains the maximum occupancy of the room.|||0x0807||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.9.1|MS-OXOABK +2.569|PidTagAddressBookRoomContainers|Contains a list of DNs that represent the address book containers that hold Resource objects, such as conference rooms and equipment.|||0x8C96||PtypMultipleString, 0x101F|Address Book|[MS-OXOABK] section 2.2.7.1|MS-OXOABK +2.570|PidTagAddressBookRoomDescription|Contains a description of the Resource object.|||0x0809||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.9.2|MS-OXOABK +2.571|PidTagAddressBookSenderHintTranslations|Contains the locale ID and translations of the default mail tip.|||0x8CAC||PtypMultipleString, 0x101F|Address Book|[MS-OXOABK] section 2.2.3.26|MS-OXOABK +2.572|PidTagAddressBookSeniorityIndex|Contains a signed integer that specifies the seniority order of Address Book objects that represent members of a department and are referenced by a Department object or|||0x8CA0||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.3.24|MS-OXOABK +2.573|PidTagAddressBookTargetAddress|Contains the foreign system email address of an Address Book object.|||0x8011||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.3.22|MS-OXOABK +2.574|PidTagAddressBookUnauthorizedSenders|Indicates whether delivery restrictions exist for a recipient.|||0x8CD9||PtypObject, 0x000D|Address Book|[MS-OXOABK] section 2.2.4.43|MS-OXOABK +2.575|PidTagAddressBookX509Certificate|Contains the ASN_1 DER encoded X.509 certificates for the mail user.|||0x8C6A||PtypMultipleBinary, 0x1102|Address Book|[MS-OXOABK] section 2.2.4.35|MS-OXOABK +2.576|PidTagAddressType|Contains the email address type of a Message object.|||0x3002||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.3.13|MS-OXOABK +2.577|PidTagAlternateRecipientAllowed|Specifies whether the sender permits the message to be auto-forwarded.|||0x0002||PtypBoolean, 0x000B|Address Properties|[MS-OXCMSG] section 2.2.1.36|MS-OXCMSG +2.578|PidTagAnr|Contains a filter value used in ambiguous name resolution.|||0x360C||PtypString, 0x001F|Address Book|[MS-OXOABK] section 2.2.10.1|MS-OXOABK +2.579|PidTagArchiveDate|Specifies the date, in UTC, after which a Message object is archived by the server.|||0x301F||PtypTime, 0x0040|Archive|[MS-OXCMSG] section 2.2.1.60.8|MS-OXCMSG +2.580|PidTagArchivePeriod|Specifies the number of days that a Message object can remain unarchived.|||0x301E||PtypInteger32, 0x0003|Archive|[MS-OXCMSG] section 2.2.1.60.7|MS-OXCMSG +2.581|PidTagArchiveTag|Specifies the GUID of an archive tag.|||0x3018||PtypBinary, 0x0102|Archive|[MS-OXCMSG] section 2.2.1.60.1|MS-OXCMSG +2.582|PidTagAssistant|Contains the name of the mail user's administrative assistant.|||0x3A30||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.8|MS-OXOABK +2.583|PidTagAssistantTelephoneNumber|Contains the telephone number of the mail user's administrative assistant.|||0x3A2E||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.31|MS-OXOABK +2.584|PidTagAssociated|Specifies whether the message being synchronized is an FAI message.|||0x67AA||PtypBoolean, 0x000B|Sync|[MS-OXCFXICS] section 2.2.1.5|MS-OXCFXICS +2.585|PidTagAttachAdditionalInformation|Contains attachment encoding information.|||0x370F||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.21|MS-OXCMSG +2.586|PidTagAttachContentBase|Contains the base of a relative URI.|||0x3711||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.587|PidTagAttachContentId|Contains a content identifier unique to the Message object that matches a corresponding "cid:" URI schema reference in the HTML body of the Message object.|||0x3712||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.588|PidTagAttachContentLocation|Contains a relative or full URI that matches a corresponding reference in the HTML body of a Message object.|||0x3713||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.589|PidTagAttachDataBinary|Contains the contents of the file to be attached.|||0x3701||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.7|MS-OXCMSG +2.590|PidTagAttachDataObject|Contains the binary representation of the Attachment object in an application-specific format.|||0x3701||PtypObject, 0x000D|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.8|MS-OXCMSG +2.591|PidTagAttachEncoding|Contains encoding information about the Attachment object.|||0x3702||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.20|MS-OXCMSG +2.592|PidTagAttachExtension|Contains a file name extension that indicates the document type of an attachment.|||0x3703||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.12|MS-OXCMSG +2.593|PidTagAttachFilename|Contains the 8.3 name of the PidTagAttachLongFilename property (section 2.595).|||0x3704||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.11|MS-OXCMSG +2.594|PidTagAttachFlags|Indicates which body formats might reference this attachment when rendering data.|||0x3714||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.18|MS-OXCMSG +2.595|PidTagAttachLongFilename|Contains the full filename and extension of the Attachment object.|||0x3707||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.10|MS-OXCMSG +2.596|PidTagAttachLongPathname|Contains the fully-qualified path and file name with extension.|||0x370D||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.13|MS-OXCMSG +2.597|PidTagAttachmentContactPhoto|Indicates that a contact photo attachment is attached to a Contact object.|||0x7FFF||PtypBoolean, 0x000B|Message Attachment Properties|[MS-OXOCNTC] section 2.2.1.8.2|MS-OXOCNTC +2.598|PidTagAttachmentFlags|Indicates special handling for an Attachment object.|||0x7FFD||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.23|MS-OXCMSG +2.599|PidTagAttachmentHidden|Indicates whether an Attachment object is hidden from the end user.|||0x7FFE||PtypBoolean, 0x000B|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.24|MS-OXCMSG +2.600|PidTagAttachmentLinkId|Contains the type of Message object to which an attachment is linked.|||0x7FFA||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.22|MS-OXCMSG +2.601|PidTagAttachMethod|Represents the way the contents of an attachment are accessed.|||0x3705||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.9|MS-OXCMSG +2.602|PidTagAttachMimeTag|Contains a content-type MIME header.|||0x370E||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.603|PidTagAttachNumber|Identifies the Attachment object within its Message object.|||0x0E21||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.6|MS-OXCMSG +2.604|PidTagAttachPathname|Contains the 8.3 name of the PidTagAttachLongPathname property (section 2.596).|||0x3708||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.14|MS-OXCMSG +2.605|PidTagAttachPayloadClass|Contains the class name of an object that can display the contents of the message.|||0x371A||PtypString, 0x001F|Outlook Application|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.606|PidTagAttachPayloadProviderGuidString|Contains the GUID of the software component that can display the contents of the message.|||0x3719||PtypString, 0x001F|Outlook Application|[MS-OXCMSG] section 2.2.2.29|MS-OXCMSG +2.607|PidTagAttachRendering|Contains a Windows Metafile, as specified in [MS-WMF], for the Attachment object.|||0x3709||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.17|MS-OXCMSG +2.608|PidTagAttachSize|Contains the size, in bytes, consumed by the Attachment object on the server.|||0x0E20||PtypInteger32, 0x0003|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.5|MS-OXCMSG +2.609|PidTagAttachTag|Contains the identifier information for the application that supplied the Attachment object data.|||0x370A||PtypBinary, 0x0102|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.15|MS-OXCMSG +2.610|PidTagAttachTransportName|Contains the name of an attachment file, modified so that it can be correlated with TNEF messages.|||0x370C||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.19|MS-OXCMSG +2.611|PidTagAttributeHidden|Specifies the hide or show status of a folder.|||0x10F4||PtypBoolean, 0x000B|Access Control Properties|[MS-OXCFOLD] section 2.2.2.2.2.1|MS-OXCFOLD +2.612|PidTagAttributeReadOnly|Indicates whether an item can be modified or deleted.|||0x10F6||PtypBoolean, 0x000B|Access Control Properties|[MS-XWDCAL] section 2.2.1.8|MS-XWDCAL +2.613|PidTagAutoForwardComment|Contains text included in an automatically-generated message.|||0x0004||PtypString, 0x001F|General Report Properties|[MS-OXCMSG] section 2.2.1.21|MS-OXCMSG +2.614|PidTagAutoForwarded|Indicates that a Message object has been automatically generated or automatically forwarded.|||0x0005||PtypBoolean, 0x000B|General Report Properties|[MS-OXCMSG] section 2.2.1.20|MS-OXCMSG +2.615|PidTagAutoResponseSuppress|Specifies whether a client or server application will forego sending automated replies in response to this message.|||0x3FDF||PtypInteger32, 0x0003|Email|[MS-OXOMSG] section 2.2.1.77|MS-OXOMSG +2.616|PidTagBirthday|Contains the date of the mail user's birthday at midnight.|||0x3A42||PtypTime, 0x0040|Contact Properties|[MS-OXOCNTC] section 2.2.1.5.1|MS-OXOCNTC +2.617|PidTagBlockStatus|Indicates the user's preference for viewing external content (such as links to images on an HTTP server) in the message body.|||0x1096||PtypInteger32, 0x0003|Secure Messaging Properties|[MS-OXOMSG] section 2.2.1.1|MS-OXOMSG +2.618|PidTagBody|Contains message body text in plain text format.|||0x1000||PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.58.1|MS-OXCMSG +2.619|PidTagBodyContentId|Contains a GUID that corresponds to the current message body.|||0x1015||PtypString, 0x001F|Exchange|[MS-OXCMSG] section 2.2.1.58.7|MS-OXCMSG +2.620|PidTagBodyContentLocation|Contains a globally unique Uniform Resource Identifier (URI) that serves as a label for the current message body.|||0x1014||PtypString, 0x001F|MIME Properties|[MS-OXCMSG] section 2.2.1.58.8|MS-OXCMSG +2.621|PidTagBodyHtml|Contains the HTML body of the Message object.|||0x1013||PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.58.3|MS-OXCMSG +2.622|PidTagBusiness2TelephoneNumber|Contains a secondary telephone number at the mail user's place of business.|||0x3A1B||PtypString, 0x001F|Contact Properties|[MS-OXOABK] section 2.2.4.23|MS-OXOABK +2.623|PidTagBusiness2TelephoneNumbers|Contains secondary telephone numbers at the mail user's place of business.|||0x3A1B||PtypMultipleString, 0x101F|Contact Properties|[MS-OXOABK] section 2.2.4.24|MS-OXOABK +2.624|PidTagBusinessFaxNumber|Contains the telephone number of the mail user's business fax machine.|||0x3A24||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.2.6|MS-OXOCNTC +2.625|PidTagBusinessHomePage|Contains the URL of the mail user's business home page.|||0x3A51||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.14|MS-OXOCNTC +2.626|PidTagBusinessTelephoneNumber|Contains the primary telephone number of the mail user's place of business.|||0x3A08||PtypString, 0x001F|Contact Properties|[MS-OXOABK] section 2.2.4.21|MS-OXOABK +2.627|PidTagCallbackTelephoneNumber|Contains a telephone number to reach the mail user.|||0x3A02||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.4.2|MS-OXOCNTC +2.628|PidTagCallId|Contains a unique identifier associated with the phone call.|||0x6806||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.11|MS-OXOUM +2.629|PidTagCarTelephoneNumber|Contains the mail user's car telephone number.|||0x3A1E||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.4.9|MS-OXOCNTC +2.630|PidTagCdoRecurrenceid|Identifies a specific instance of a recurring appointment.|||0x10C5||PtypTime, 0x0040|Exchange|[MS-XWDCAL] section 2.2.2.38|MS-XWDCAL +2.631|PidTagChangeKey|Contains a structure that identifies the last change to the object.|||0x65E2||PtypBinary, 0x0102|History Properties|[MS-OXCFXICS] section 2.2.1.2.7|MS-OXCFXICS +2.632|PidTagChangeNumber|Contains a structure that identifies the last change to the message or folder that is currently being synchronized.|||0x67A4||PtypInteger64, 0x0014|Sync|[MS-OXCFXICS] section 2.2.1.2.3|MS-OXCFXICS +2.633|PidTagChildrensNames|Specifies the names of the children of the contact.|||0x3A58||PtypMultipleString, 0x101F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.17|MS-OXOCNTC +2.634|PidTagClientActions|Specifies the actions the client is required to take on the message.|||0x6645||PtypBinary, 0x0102|Server-side Rules Properties|[MS-OXORULE] section 2.2.6.6|MS-OXORULE +2.635|PidTagClientActivelyEditingUntil|Specifies the date and time, in UTC, until which the client expects to be actively editing the object.|||0x3700|||Message Time Properties|[MS-OXCMSG] section 2.2.1.57|MS-OXCMSG +2.636|PidTagClientSubmitTime|Contains the current time, in UTC, when the email message is submitted.|||0x0039||PtypTime, 0x0040|Message Time Properties|[MS-OXOMSG] section 2.2.3.11|MS-OXOMSG +2.637|PidTagCodePageId|Contains the identifier for the client code page used for Unicode to double-byte character set (DBCS) string conversion.|||0x66C3||PtypInteger32, 0x0003|Exchange Profile Configuration|[MS-OXCSTOR] section 2.2.2.1.1.15|MS-OXCSTOR +2.638|PidTagComment|Contains a comment about the purpose or content of the Address Book object.|||0x3004||PtypString, 0x001F|Common|[MS-OXCFOLD] section 2.2.2.2.2.2|MS-OXCFOLD +2.639|PidTagCompanyMainTelephoneNumber|Contains the main telephone number of the mail user's company.|||0x3A57||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.4.14|MS-OXOCNTC +2.640|PidTagCompanyName|Contains the mail user's company name.|||0x3A16||PtypString, 0x001F|Contact Properties|[MS-OXOABK] section 2.2.4.7|MS-OXOABK +2.641|PidTagComputerNetworkName|Contains the name of the mail user's computer network.|||0x3A49||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.16|MS-OXOCNTC +2.642|PidTagConflictEntryId|Contains the EntryID of the conflict resolve message.|||0x3FF0||PtypBinary, 0x0102|ICS|[MS-OXCFXICS] section 2.2.1.4.2|MS-OXCFXICS +2.643|PidTagContainerClass|Contains a string value that describes the type of Message object that a folder contains.|||0x3613||PtypString, 0x001F|Container Properties|[MS-OXCFOLD] section 2.2.2.2.2.3|MS-OXCFOLD +2.644|PidTagContainerContents|Empty. An NSPI server defines this value for distribution lists and it is not present for other objects.|||0x360F||PtypEmbeddedTable, 0x000D|Container Properties|[MS-OXOABK] section 2.2.6.3|MS-OXOABK +2.645|PidTagContainerFlags|Contains a bitmask of flags that describe capabilities of an address book container.|||0x3600||PtypInteger32, 0x0003|Address Book|[MS-OXOABK] section 2.2.2.1|MS-OXOABK +2.646|PidTagContainerHierarchy|Identifies all of the subfolders of the current folder.|||0x360E||PtypObject, 0x000D|Container Properties|[MS-OXCFOLD] section 2.2.2.2.2.4|MS-OXCFOLD +2.647|PidTagContentCount|Specifies the number of rows under the header row.|||0x3602||PtypInteger32, 0x0003|Folder Properties|[MS-OXCFOLD] section 2.2.2.2.1.1|MS-OXCFOLD +2.648|PidTagContentFilterSpamConfidenceLevel|Indicates a confidence level that the message is spam.|||0x4076||PtypInteger32, 0x0003|Secure Messaging Properties|[MS-OXCSPAM] section 2.2.1.3|MS-OXCSPAM +2.649|PidTagContentUnreadCount|Specifies the number of rows under the header row that have the PidTagRead property (section 2.880) set to FALSE.|||0x3603||PtypInteger32, 0x0003|Folder Properties|[MS-OXCFOLD] section 2.2.2.2.1.2|MS-OXCFOLD +2.650|PidTagConversationId|Contains a computed value derived from other conversation-related properties.|||0x3013||PtypBinary, 0x0102|Conversations|[MS-OXOMSG] section 2.2.1.2|MS-OXOMSG +2.651|PidTagConversationIndex|Indicates the relative position of this message within a conversation thread.|||0x0071||PtypBinary, 0x0102|General Message Properties|[MS-OXOMSG] section 2.2.1.3|MS-OXOMSG +2.652|PidTagConversationIndexTracking|Indicates whether the GUID portion of the PidTagConversationIndex property (section 2.651) is to be used to compute the PidTagConversationId property (section 2.650).|||0x3016||PtypBoolean, 0x000B|Conversations|[MS-OXOMSG] section 2.2.1.4|MS-OXOMSG +2.653|PidTagConversationTopic|Contains an unchanging copy of the original subject.|||0x0070||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.1.5|MS-OXOMSG +2.654|PidTagCountry|Contains the name of the mail user's country/region.|||0x3A26||PtypString, 0x001F|Contact Properties|[MS-OXOABK] section 2.2.4.19|MS-OXOABK +2.655|PidTagCreationTime|Contains the time, in UTC, that the object was created.|||0x3007||PtypTime, 0x0040|Message Time Properties|[MS-OXCMSG] section 2.2.2.3|MS-OXCMSG +2.656|PidTagCreatorEntryId|Specifies the original author of the message according to their Address Book EntryID.|||0x3FF9||PtypBinary, 0x0102|ID Properties|[MS-OXCMSG] section 2.2.1.31|MS-OXCMSG +2.657|PidTagCreatorName|Contains the name of the creator of a Message object.|||0x3FF8||PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.51|MS-OXCMSG +2.658|PidTagCustomerId|Contains the mail user's customer identification number.|||0x3A4A||PtypString, 0x001F|Contact Properties|[MS-OXOCNTC] section 2.2.1.10.8|MS-OXOCNTC +2.659|PidTagDamBackPatched|Indicates whether the Deferred Action Message (DAM) was updated by the server.|||0x6647||PtypBoolean, 0x000B|Server-side Rules Properties|[MS-OXORULE] section 2.2.6.2|MS-OXORULE +2.660|PidTagDamOriginalEntryId|Contains the EntryID of the delivered message that the client has to process.|||0x6646||PtypBinary, 0x0102|Server-side Rules Properties|[MS-OXORULE] section 2.2.6.3|MS-OXORULE +2.661|PidTagDefaultPostMessageClass|Contains the message class of the object.|||0x36E5||PtypString, 0x001F|MapiContainer|[MS-OXOCAL] section 2.2.11.2|MS-OXOCAL +2.662|PidTagDeferredActionMessageOriginalEntryId|Contains the server EntryID for the DAM.|||0x6741||PtypServerId, 0x00FB|Server-side Rules Properties|[MS-OXORULE] section 2.2.6.8|MS-OXORULE +2.663|PidTagDeferredDeliveryTime|Contains the date and time, in UTC, at which the sender prefers that the message be delivered.|||0x000F||PtypTime, 0x0040|MapiEnvelope|[MS-OXOMSG] section 2.2.1.6|MS-OXOMSG +2.664|PidTagDeferredSendNumber|Contains a number used in the calculation of how long to defer sending a message.|||0x3FEB||PtypInteger32, 0x0003|MapiStatus|[MS-OXOMSG] section 2.2.3.2|MS-OXOMSG +2.665|PidTagDeferredSendTime|Contains the amount of time after which a client would like to defer sending the message.|||0x3FEF||PtypTime, 0x0040|MapiStatus|[MS-OXOMSG] section 2.2.3.4|MS-OXOMSG +2.666|PidTagDeferredSendUnits|Specifies the unit of time used as a multiplier with the PidTagDeferredSendNumber property (section 2.664) value.|||0x3FEC||PtypInteger32, 0x0003|MapiStatus|[MS-OXOMSG] section 2.2.3.3|MS-OXOMSG +2.667|PidTagDelegatedByRule|Specifies whether the message was forwarded due to the triggering of a delegate forward rule.|||0x3FE3||PtypBoolean, 0x000B|MapiStatus|[MS-OXOMSG] section 2.2.1.84|MS-OXOMSG +2.668|PidTagDelegateFlags|Indicates whether delegates can view Message objects that are marked as private.|||0x686B||PtypMultipleInteger32, 0x1003|MessageClassDefinedTransmittable|[MS-OXODLGT] section 2.2.2.2.6|MS-OXODLGT +2.669|PidTagDeleteAfterSubmit|Indicates that the original message is to be deleted after it is sent.|||0x0E01||PtypBoolean, 0x000B|MapiNonTransmittable|[MS-OXOMSG] section 2.2.3.8|MS-OXOMSG +2.670|PidTagDeletedCountTotal|Contains the total count of messages that have been deleted from a folder, excluding messages deleted within subfolders.|||0x670B||PtypInteger32, 0x0003|Server|[MS-OXCFOLD] section 2.2.2.2.1.15|MS-OXCFOLD +2.671|PidTagDeletedOn|Specifies the time, in UTC, when the item or folder was soft deleted.|||0x668F||PtypTime, 0x0040|ExchangeFolder|[MS-OXCFOLD] section 2.2.2.2.1.3|MS-OXCFOLD +2.672|PidTagDeliverTime|Contains the delivery time for a delivery status notification, as specified [RFC3464], or a message disposition notification, as specified in [RFC3798].|||0x0010||PtypTime, 0x0040|Email|[MS-OXOMSG] section 2.2.2.29|MS-OXOMSG +2.673|PidTagDepartmentName|Contains a name for the department in which the mail user works.|||0x3A18||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.6|MS-OXOABK +2.674|PidTagDepth|Specifies the number of nested categories in which a given row is contained.|||0x3005||PtypInteger32, 0x0003|MapiCommon|[MS-OXCTABL] section 2.2.1.4|MS-OXCTABL +2.675|PidTagDisplayBcc|Contains a list of blind carbon copy (Bcc) recipient display names.|||0x0E02||PtypString, 0x001F|Message Properties|[MS-OXOMSG] section 2.2.1.7|MS-OXOMSG +2.676|PidTagDisplayCc|Contains a list of carbon copy (Cc) recipient display names.|||0x0E03||PtypString, 0x001F|Message Properties|[MS-OXOMSG] section 2.2.1.8|MS-OXOMSG +2.677|PidTagDisplayName|Contains the display name of the folder.|||0x3001||PtypString, 0x001F|MapiCommon|[MS-OXCFOLD] section 2.2.2.2.2.5|MS-OXCFOLD +2.678|PidTagDisplayNamePrefix|Contains the mail user's honorific title.|||0x3A45||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.1.3|MS-OXOCNTC +2.679|PidTagDisplayTo|Contains a list of the primary recipient display names, separated by semicolons, when an email message has primary recipients .|||0x0E04||PtypString, 0x001F|Message Properties|[MS-OXOMSG] section 2.2.1.9|MS-OXOMSG +2.680|PidTagDisplayType|Contains an integer value that indicates how to display an Address Book object in a table or as an addressee on a message.|||0x3900||PtypInteger32, 0x0003|MapiAddressBook|[MS-OXOABK] section 2.2.3.11|MS-OXOABK +2.681|PidTagDisplayTypeEx|Contains an integer value that indicates how to display an Address Book object in a table or as a recipient on a message.|||0x3905||PtypInteger32, 0x0003|MapiAddressBook|[MS-OXOABK] section 2.2.3.12|MS-OXOABK +2.682|PidTagEmailAddress|Contains the email address of a Message object.|||0x3003||PtypString, 0x001F|MapiCommon|[MS-OXOABK] section 2.2.3.14|MS-OXOABK +2.683|PidTagEndDate|Contains the value of the PidLidAppointmentEndWhole property (section 2.14).|||0x0061||PtypTime, 0x0040|MapiEnvelope Property set|[MS-OXOCAL] section 2.2.1.31|MS-OXOCAL +2.684|PidTagEntryId|Contains the information to identify many different types of messaging objects.|||0x0FFF||PtypBinary, 0x0102|ID Properties|[MS-OXCPERM] section 2.2.4|MS-OXCPERM +2.685|PidTagExceptionEndTime|Contains the end date and time of the exception in the local time zone of the computer when the exception is created.|||0x7FFC||PtypTime, 0x0040|MessageClassDefinedNonTransmittable|[MS-OXOCAL] section 2.2.10.1.5|MS-OXOCAL +2.686|PidTagExceptionReplaceTime|Indicates the original date and time, in UTC, at which the instance in the recurrence pattern would have occurred if it were not an exception.|||0x7FF9||PtypTime, 0x0040|MessageClassDefinedNonTransmittable|[MS-OXOCAL] section 2.2.10.1.6|MS-OXOCAL +2.687|PidTagExceptionStartTime|Contains the start date and time of the exception in the local time zone of the computer when the exception is created.|||0x7FFB||PtypTime, 0x0040|MessageClassDefinedNonTransmittable|[MS-OXOCAL] section 2.2.10.1.4|MS-OXOCAL +2.688|PidTagExchangeNTSecurityDescriptor|Contains the calculated security descriptor for the item.|||0x0E84||PtypBinary, 0x0102|Calendar Document|[MS-XWDCAL] section 2.2.8.8|MS-XWDCAL +2.689|PidTagExpiryNumber|Contains an integer value that is used along with the PidTagExpiryUnits property (section 2.691) to define the expiry send time.|||0x3FED||PtypInteger32, 0x0003|MapiStatus|[MS-OXOMSG] section 2.2.3.5|MS-OXOMSG +2.690|PidTagExpiryTime|Contains the time, in UTC, after which a client wants to receive an expiry event if the message arrives late.|||0x0015||PtypTime, 0x0040|MapiEnvelope|[MS-OXOMSG] section 2.2.3.7|MS-OXOMSG +2.691|PidTagExpiryUnits|Contains the unit of time that the value of the PidTagExpiryNumber property (section 2.689) multiplies.|||0x3FEE||PtypInteger32, 0x0003|MapiStatus|[MS-OXOMSG] section 2.2.3.6|MS-OXOMSG +2.692|PidTagExtendedFolderFlags|Contains encoded sub-properties for a folder.|||0x36DA||PtypBinary, 0x0102|MapiContainer|[MS-OXOSRCH] section 2.2.2.1.2|MS-OXOSRCH +2.693|PidTagExtendedRuleMessageActions|Contains action information about named properties used in the rule.|||0x0E99||PtypBinary, 0x0102|Rules|[MS-OXORULE] section 2.2.4.1.9|MS-OXORULE +2.694|PidTagExtendedRuleMessageCondition|Contains condition information about named properties used in the rule.|||0x0E9A||PtypBinary, 0x0102|Rules|[MS-OXORULE] section 2.2.4.1.10|MS-OXORULE +2.695|PidTagExtendedRuleSizeLimit|Contains the maximum size, in bytes, that the user is allowed to accumulate for a single extended rule.|||0x0E9B||PtypInteger32, 0x0003|Rules|[MS-OXCSTOR] section 2.2.2.1.1.1|MS-OXCSTOR +2.696|PidTagFaxNumberOfPages|Contains the number of pages in a Fax object.|||0x6804||PtypInteger32, 0x0003|Unified Messaging|[MS-OXOUM] section 2.2.5.7|MS-OXOUM +2.697|PidTagFlagCompleteTime|Specifies the date and time, in UTC, that the Message object was flagged as complete.|||0x1091||PtypTime, 0x0040|Miscellaneous Properties|[MS-OXOFLAG] section 2.2.1.3|MS-OXOFLAG +2.698|PidTagFlagStatus|Specifies the flag state of the Message object.|||0x1090||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXOFLAG] section 2.2.1.1|MS-OXOFLAG +2.699|PidTagFlatUrlName|Contains a unique identifier for an item across the message store.|||0x670E||PtypString, 0x001F|ExchangeAdministrative|[MS-XWDCAL] section 2.2.8.9|MS-XWDCAL +2.700|PidTagFolderAssociatedContents|Identifies all FAI messages in the current folder.|||0x3610||PtypObject, 0x000D|MapiContainer|[MS-OXCFOLD] section 2.2.2.2.2.6|MS-OXCFOLD +2.701|PidTagFolderFlags|Contains a computed value to specify the type or state of a folder.|||0x66A8||PtypInteger32, 0x0003|ExchangeAdministrative|[MS-OXCFOLD] section 2.2.2.2.1.5|MS-OXCFOLD +2.702|PidTagFolderId|Contains the Folder ID (FID) ([MS-OXCDATA] section 2.2.1.1) of the folder.|||0x6748||PtypInteger64, 0x0014|ID Properties|[MS-OXCFOLD] section 2.2.2.2.1.6|MS-OXCFOLD +2.703|PidTagFolderType|Specifies the type of a folder that includes the Root folder, Generic folder, and Search folder.|||0x3601||PtypInteger32, 0x0003|MapiContainer|[MS-OXCFOLD] section 2.2.2.2.2.7|MS-OXCFOLD +2.704|PidTagFollowupIcon|Specifies the flag color of the Message object.|||0x1095||PtypInteger32, 0x0003|RenMessageFolder|[MS-OXOFLAG] section 2.2.1.2|MS-OXOFLAG +2.705|PidTagFreeBusyCountMonths|Contains an integer value used to calculate the start and end dates of the range of free/busy data to be published to the public folders.|||0x6869||PtypInteger32, 0x0003|MessageClassDefinedTransmittable|[MS-OXOCAL] section 2.2.12.1|MS-OXOCAL +2.706|PidTagFreeBusyEntryIds|Contains EntryIDs of the Delegate Information object, the free/busy message of the logged on user, and the folder with the PidTagDisplayName property (section 2.677) value of|||0x36E4||PtypMultipleBinary, 0x1102|MapiContainer|[MS-OXOSFLD] section 2.2.6|MS-OXOSFLD +2.707|PidTagFreeBusyMessageEmailAddress|Specifies the email address of the user or resource to whom this free/busy message applies.|||0x6849||PtypString, 0x001F|MessageClassDefinedTransmittable|[MS-OXOPFFB] section 2.2.1.2.12|MS-OXOPFFB +2.708|PidTagFreeBusyPublishEnd|Specifies the end time, in UTC, of the publishing range.|||0x6848||PtypInteger32, 0x0003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.10|MS-OXOPFFB +2.709|PidTagFreeBusyPublishStart|Specifies the start time, in UTC, of the publishing range.|||0x6847||PtypInteger32, 0x0003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.9|MS-OXOPFFB +2.710|PidTagFreeBusyRangeTimestamp|Specifies the time, in UTC, that the data was published.|||0x6868||PtypTime, 0x0040|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.11|MS-OXOPFFB +2.711|PidTagFtpSite|Contains the File Transfer Protocol (FTP) site address of the mail user.|||0x3A4C||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.15|MS-OXOCNTC +2.712|PidTagGatewayNeedsToRefresh|This property is deprecated and SHOULD NOT be used.|||0x6846||PtypBoolean, 0x000B|MessageClassDefinedTransmittable|[MS-OXOPFFB] section 2.2.1.4.1|MS-OXOPFFB +2.713|PidTagGender|Contains a value that represents the mail user's gender.|||0x3A4D||PtypInteger16, 0x0002|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.20|MS-OXOCNTC +2.714|PidTagGeneration|Contains a generational abbreviation that follows the full name of the mail user.|||0x3A05||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.1.2|MS-OXOCNTC +2.715|PidTagGivenName|Contains the mail user's given name.|||0x3A06||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.2|MS-OXOABK +2.716|PidTagGovernmentIdNumber|Contains a government identifier for the mail user.|||0x3A07||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.9|MS-OXOCNTC +2.717|PidTagHasAttachments|Indicates whether the Message object contains at least one attachment.|||0x0E1B||PtypBoolean, 0x000B|Message Attachment Properties Property set|[MS-OXCMSG] section 2.2.1.2|MS-OXCMSG +2.718|PidTagHasDeferredActionMessages|Indicates whether a Message object has a deferred action message associated with it.|||0x3FEA||PtypBoolean, 0x000B|Rules|[MS-OXORULE] section 2.2.9.1|MS-OXORULE +2.719|PidTagHasNamedProperties|Indicates whether the Message object has a named property.|||0x664A||PtypBoolean, 0x000B|ExchangeMessageReadOnly|[MS-OXCMSG] section 2.2.1.39|MS-OXCMSG +2.720|PidTagHasRules|Indicates whether a Folder object has rules.|||0x663A||PtypBoolean, 0x000B|ExchangeFolder|[MS-OXORULE] section 2.2.8.1|MS-OXORULE +2.721|PidTagHierarchyChangeNumber|Contains a number that monotonically increases every time a subfolder is added to, or deleted from, this folder.|||0x663E||PtypInteger32, 0x0003|ExchangeFolder|[MS-OXCFOLD] section 2.2.2.2.1.8|MS-OXCFOLD +2.722|PidTagHierRev|Specifies the time, in UTC, to trigger the client in cached mode to synchronize the folder hierarchy.|||0x4082||PtypTime, 0x0040|TransportEnvelope|[MS-OXCFOLD] section 2.2.2.2.1.9|MS-OXCFOLD +2.723|PidTagHobbies|Contains the names of the mail user's hobbies.|||0x3A43||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.2|MS-OXOCNTC +2.724|PidTagHome2TelephoneNumber|Contains a secondary telephone number at the mail user's home.|||0x3A2F||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.25|MS-OXOABK +2.725|PidTagHome2TelephoneNumbers|Contains secondary telephone numbers at the mail user's home.|||0x3A2F||PtypMultipleString, 0x101F|MapiMailUser|[MS-OXOABK] section 2.2.4.26|MS-OXOABK +2.726|PidTagHomeAddressCity|Contains the name of the mail user's home locality, such as the town or city.|||0x3A59||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.2|MS-OXOCNTC +2.727|PidTagHomeAddressCountry|Contains the name of the mail user's home country/region.|||0x3A5A||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.5|MS-OXOCNTC +2.728|PidTagHomeAddressPostalCode|Contains the postal code for the mail user's home postal address.|||0x3A5B||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.4|MS-OXOCNTC +2.729|PidTagHomeAddressPostOfficeBox|Contains the number or identifier of the mail user's home post office box.|||0x3A5E||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.7|MS-OXOCNTC +2.730|PidTagHomeAddressStateOrProvince|Contains the name of the mail user's home state or province.|||0x3A5C||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.3|MS-OXOCNTC +2.731|PidTagHomeAddressStreet|Contains the mail user's home street address.|||0x3A5D||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.20|MS-OXOABK +2.732|PidTagHomeFaxNumber|Contains the telephone number of the mail user's home fax machine.|||0x3A25||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.2.6|MS-OXOCNTC +2.733|PidTagHomeTelephoneNumber|Contains the primary telephone number of the mail user's home.|||0x3A09||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.22|MS-OXOABK +2.734|PidTagHtml|Contains message body text in HTML format.|||0x1013||PtypBinary, 0x0102|General Message Properties|[MS-OXCMSG] section 2.2.1.58.9|MS-OXCMSG +2.735|PidTagICalendarEndTime|Contains the date and time, in UTC, when an appointment or meeting ends.|||0x10C4||PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.2.39|MS-XWDCAL +2.736|PidTagICalendarReminderNextTime|Contains the date and time, in UTC, for the activation of the next reminder.|||0x10CA||PtypTime, 0x0040|Calendar|[MS-XWDCAL] section 2.2.2.40|MS-XWDCAL +2.737|PidTagICalendarStartTime|Contains the date and time, in UTC, when the appointment or meeting starts.|||0x10C3||PtypTime, 0x0040|Calendar Property set|[MS-XWDCAL] section 2.2.2.41|MS-XWDCAL +2.738|PidTagIconIndex|Specifies which icon is to be used by a user interface when displaying a group of Message objects.|||0x1080||PtypInteger32, 0x0003|General Message Properties|[MS-OXOMSG] section 2.2.1.10|MS-OXOMSG +2.739|PidTagImportance|Indicates the level of importance assigned by the end user to the Message object.|||0x0017||PtypInteger32, 0x0003|General Message Properties|[MS-OXCMSG] section 2.2.1.11|MS-OXCMSG +2.740|PidTagInConflict|Specifies whether the attachment represents an alternate replica.|||0x666C||PtypBoolean, 0x000B|Conflict Note|[MS-OXCFXICS] section 2.2.1.4.3|MS-OXCFXICS +2.741|PidTagInitialDetailsPane|Indicates which page of a display template to display first.|||0x3F08||PtypInteger32, 0x0003|MAPI Display Tables|[MS-OXOABK] section 2.2.3.33|MS-OXOABK +2.742|PidTagInitials|Contains the initials for parts of the full name of the mail user.|||0x3A0A||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.3|MS-OXOABK +2.743|PidTagInReplyToId|Contains the value of the original message's PidTagInternetMessageId property (section 2.749) value.|||0x1042||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.1.13|MS-OXOMSG +2.744|PidTagInstanceKey|Contains an object on an NSPI server.|||0x0FF6||PtypBinary, 0x0102|Table Properties|[MS-OXOABK] section 2.2.3.6|MS-OXOABK +2.745|PidTagInstanceNum|Contains an identifier for a single instance of a row in the table.|||0x674E||PtypInteger32, 0x0003|ProviderDefinedNonTransmittable|[MS-OXCTABL] section 2.2.1.2|MS-OXCTABL +2.746|PidTagInstID|Contains an identifier for all instances of a row in the table.|||0x674D||PtypInteger64, 0x0014|ProviderDefinedNonTransmittable|[MS-OXCTABL] section 2.2.1.1|MS-OXCTABL +2.747|PidTagInternetCodepage|Indicates the code page used for the PidTagBody property (section 2.618) or the PidTagBodyHtml property (section 2.621).|||0x3FDE||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXCMSG] section 2.2.1.58.6|MS-OXCMSG +2.748|PidTagInternetMailOverrideFormat|Indicates the encoding method and HTML inclusion for attachments.|||0x5902||PtypInteger32, 0x0003|MIME Properties|[MS-OXOMSG] section 2.2.1.11|MS-OXOMSG +2.749|PidTagInternetMessageId|Corresponds to the message-id field.|||0x1035||PtypString, 0x001F|MIME Properties|[MS-OXOMSG] section 2.2.1.12|MS-OXOMSG +2.750|PidTagInternetReferences|Contains a list of message IDs that specify the messages to which this reply is related.|||0x1039||PtypString, 0x001F|MIME Properties|[MS-OXCMSG] section 2.2.1.26|MS-OXCMSG +2.751|PidTagIpmAppointmentEntryId|Contains the EntryID of the Calendar folder.|||0x36D0||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.752|PidTagIpmArchiveEntryId|Contains the EntryID of the Archive folder.|||0x35FF||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.753|PidTagIpmContactEntryId|Contains the EntryID of the Contacts folder.|||0x36D1||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.754|PidTagIpmDraftsEntryId|Contains the EntryID of the Drafts folder.|||0x36D7||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.755|PidTagIpmJournalEntryId|Contains the EntryID of the Journal folder.|||0x36D2||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.756|PidTagIpmNoteEntryId|Contains the EntryID of the Notes folder.|||0x36D3||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.757|PidTagIpmTaskEntryId|Contains the EntryID of the Tasks folder.|||0x36D4||PtypBinary, 0x0102|Folder Properties|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.758|PidTagIsdnNumber|Contains the Integrated Services Digital Network (ISDN) telephone number of the mail user.|||0x3A2D||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.4.16|MS-OXOCNTC +2.759|PidTagJunkAddRecipientsToSafeSendersList|Indicates whether email recipients are to be added to the safe senders list.|||0x6103||PtypInteger32, 0x0003|Spam|[MS-OXCSPAM] section 2.2.2.1|MS-OXCSPAM +2.760|PidTagJunkIncludeContacts|Indicates whether email addresses of the contacts in the Contacts folder are treated in a special way with respect to the spam filter.|||0x6100||PtypInteger32, 0x0003|Spam|[MS-OXCSPAM] section 2.2.2.2|MS-OXCSPAM +2.761|PidTagJunkPermanentlyDelete|Indicates whether messages identified as spam can be permanently deleted.|||0x6102||PtypInteger32, 0x0003|Spam|[MS-OXCSPAM] section 2.2.2.3|MS-OXCSPAM +2.762|PidTagJunkPhishingEnableLinks|Indicated whether the phishing stamp on a message is to be ignored.|||0x6107||PtypBoolean, 0x000B|Spam|[MS-OXCSPAM] section 2.2.2.4|MS-OXCSPAM +2.763|PidTagJunkThreshold|Indicates how aggressively incoming email is to be sent to the Junk Email folder.|||0x6101||PtypInteger32, 0x0003|Spam|[MS-OXCSPAM] section 2.2.2.5|MS-OXCSPAM +2.764|PidTagKeyword|Contains a keyword that identifies the mail user to the mail user's system administrator.|||0x3A0B||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.32|MS-OXOABK +2.765|PidTagLanguage|Contains a value that indicates the language in which the messaging user is writing messages.|||0x3A0C||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.10.4|MS-OXOCNTC +2.766|PidTagLastModificationTime|Contains the time, in UTC, of the last modification to the object.|||0x3008||PtypTime, 0x0040|Message Time Properties|[MS-OXCMSG] section 2.2.2.2|MS-OXCMSG +2.767|PidTagLastModifierEntryId|Specifies the Address Book EntryID of the last user to modify the contents of the message.|||0x3FFB||PtypBinary, 0x0102|History Properties|[MS-OXCMSG] section 2.2.1.32|MS-OXCMSG +2.768|PidTagLastModifierName|Contains the name of the last mail user to change the Message object.|||0x3FFA||PtypString, 0x001F|History Properties|[MS-OXCPRPT] section 2.2.1.5|MS-OXCPRPT +2.769|PidTagLastVerbExecuted|Specifies the last verb executed for the message item to which it is related.|||0x1081||PtypInteger32, 0x0003|History Properties|[MS-OXOMSG] section 2.2.1.14|MS-OXOMSG +2.770|PidTagLastVerbExecutionTime|Contains the date and time, in UTC, during which the operation represented in the PidTagLastVerbExecuted property (section 2.769) took place.|||0x1082||PtypTime, 0x0040|History Properties|[MS-OXOMSG] section 2.2.1.15|MS-OXOMSG +2.771|PidTagListHelp|Contains a URI that provides detailed help information for the mailing list from which an email message was sent.|||0x1043||PtypString, 0x001F|Miscellaneous Properties|[MS-OXOMSG] section 2.2.1.81|MS-OXOMSG +2.772|PidTagListSubscribe|Contains the URI that subscribes a recipient to a message’s associated mailing list.|||0x1044||PtypString, 0x001F|Miscellaneous Properties|[MS-OXOMSG] section 2.2.1.82|MS-OXOMSG +2.773|PidTagListUnsubscribe|Contains the URI that unsubscribes a recipient from a message’s associated mailing list.|||0x1045||PtypString, 0x001F|Miscellaneous Properties|[MS-OXOMSG] section 2.2.1.83|MS-OXOMSG +2.774|PidTagLocalCommitTime|Specifies the time, in UTC, that a Message object or Folder object was last changed.|||0x6709||PtypTime, 0x0040|Server|: [MS-OXCMSG] section 2.2.1.49; [MS-OXCFOLD] section 2.2.2.2.1.13|MS-OXCMSG +2.775|PidTagLocalCommitTimeMax|Contains the time of the most recent message change within the folder container, excluding messages changed within subfolders.|||0x670A||PtypTime, 0x0040|Server|[MS-OXCFOLD] section 2.2.2.2.1.14|MS-OXCFOLD +2.776|PidTagLocaleId|Contains the Logon object LocaleID.|||0x66A1||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXCSTOR] section 2.2.2.1.1.12|MS-OXCSTOR +2.777|PidTagLocality|Contains the name of the mail user's locality, such as the town or city.|||0x3A27||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.16|MS-OXOABK +2.778|PidTagLocation|Contains the location of the mail user.|||0x3A0D||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.10.5|MS-OXOCNTC +2.779|PidTagMailboxOwnerEntryId|Contains the EntryID in the Global Address List (GAL) of the owner of the mailbox.|||0x661B||PtypBinary, 0x0102|Message Store Properties|[MS-OXCSTOR] section 2.2.2.1.1.7|MS-OXCSTOR +2.780|PidTagMailboxOwnerName|Contains the display name of the owner of the mailbox.|||0x661C||PtypString, 0x001F|Message Store Properties|[MS-OXCSTOR] section 2.2.2.1.1.8|MS-OXCSTOR +2.781|PidTagManagerName|Contains the name of the mail user's manager.|||0x3A4E||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.6.6|MS-OXOCNTC +2.782|PidTagMappingSignature|A 16-byte constant that is present on all Address Book objects, but is not present on objects in an offline address book.|||0x0FF8||PtypBinary, 0x0102|Miscellaneous Properties|[MS-OXOABK] section 2.2.3.32|MS-OXOABK +2.783|PidTagMaximumSubmitMessageSize|Maximum size, in kilobytes, of a message that a user is allowed to submit for transmission to another user.|||0x666D||PtypInteger32, 0x0003|Message Store Properties|[MS-OXCSTOR] section 2.2.2.1.1.2|MS-OXCSTOR +2.784|PidTagMemberId|Contains a unique identifier that the messaging server generates for each user.|||0x6671||PtypInteger64, 0x0014|Access Control Properties|[MS-OXCPERM] section 2.2.5|MS-OXCPERM +2.785|PidTagMemberName|Contains the user-readable name of the user.|||0x6672||PtypString, 0x001F|Access Control Properties|[MS-OXCPERM] section 2.2.6|MS-OXCPERM +2.786|PidTagMemberRights|Contains the permissions for the specified user.|||0x6673||PtypInteger32, 0x0003|Access Control Properties|[MS-OXCPERM] section 2.2.7|MS-OXCPERM +2.787|PidTagMessageAttachments|Identifies all attachments to the current message.|||0x0E13||PtypObject, 0x000D|Message Attachment Properties|[MS-OXCMSG] section 2.2.1.52|MS-OXCMSG +2.788|PidTagMessageCcMe|Indicates that the receiving mailbox owner is a carbon copy (Cc) recipient of this email message.|||0x0058||PtypBoolean, 0x000B|General Message Properties|[MS-OXOMSG] section 2.2.1.18|MS-OXOMSG +2.789|PidTagMessageClass|Denotes the specific type of the Message object.|||0x001A||PtypString, 0x001F|Common Property set|[MS-OXCMSG] section 2.2.1.3|MS-OXCMSG +2.790|PidTagMessageCodepage|Specifies the code page used to encode the non-Unicode string properties on this Message object.|||0x3FFD||PtypInteger32, 0x0003|Common|[MS-OXCMSG] section 2.2.1.4|MS-OXCMSG +2.791|PidTagMessageDeliveryTime|Specifies the time (in UTC) when the server received the message.|||0x0E06||PtypTime, 0x0040|Message Time Properties|[MS-OXOMSG] section 2.2.3.9|MS-OXOMSG +2.792|PidTagMessageEditorFormat|Specifies the format that an email editor can use for editing the message body.|||0x5909||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXOMSG] section 2.2.1.78|MS-OXOMSG +2.793|PidTagMessageFlags|Specifies the status of the Message object.|||0x0E07||PtypInteger32, 0x0003|General Message Properties|[MS-OXCMSG] section 2.2.1.6|MS-OXCMSG +2.794|PidTagMessageHandlingSystemCommonName|Contains the common name of a messaging user for use in a message header.|||0x3A0F||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.33|MS-OXOABK +2.795|PidTagMessageLocaleId|Contains the Windows Locale ID of the end-user who created this message.|||0x3FF1||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXCMSG] section 2.2.1.5|MS-OXCMSG +2.796|PidTagMessageRecipientMe|Indicates that the receiving mailbox owner is a primary or a carbon copy (Cc) recipient of this email message.|||0x0059||PtypBoolean, 0x000B|General Message Properties|[MS-OXOMSG] section 2.2.1.19|MS-OXOMSG +2.797|PidTagMessageRecipients|Identifies all of the recipients of the current message.|||0x0E12||PtypObject, 0x000D|Address Properties|[MS-OXCMSG] section 2.2.1.47|MS-OXCMSG +2.798|PidTagMessageSize|Contains the size, in bytes, consumed by the Message object on the server.|||0x0E08||PtypInteger32, 0x0003|General Message Properties|[MS-OXCFOLD] section 2.2.2.2.1.10|MS-OXCFOLD +2.799|PidTagMessageSizeExtended|Specifies the 64-bit version of the PidTagMessageSize property (section 2.798).|||0x0E08||PtypInteger64, 0x0014|General Message Properties|[MS-OXCFOLD] section 2.2.2.2.1.11|MS-OXCFOLD +2.800|PidTagMessageStatus|Specifies the status of a message in a contents table.|||0x0E17||PtypInteger32, 0x0003|General Message Properties|[MS-OXCMSG] section 2.2.1.8|MS-OXCMSG +2.801|PidTagMessageSubmissionId|Contains a message identifier assigned by a message transfer agent.|||0x0047||PtypBinary, 0x0102|Email|[MS-OXOMSG] section 2.2.1.79|MS-OXOMSG +2.802|PidTagMessageToMe|Indicates that the receiving mailbox owner is one of the primary recipients of this email message.|||0x0057||PtypBoolean, 0x000B|General Message Properties|[MS-OXOMSG] section 2.2.1.17|MS-OXOMSG +2.803|PidTagMid|Contains a value that contains the MID of the message currently being synchronized.|||0x674A||PtypInteger64, 0x0014|ID Properties|[MS-OXCFXICS] section 2.2.1.2.1|MS-OXCFXICS +2.804|PidTagMiddleName|Specifies the middle name(s) of the contact.|||0x3A44||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.1.5|MS-OXOCNTC +2.805|PidTagMimeSkeleton|Contains the top-level MIME message headers, all MIME message body part headers, and body part content that is not already converted to Message object properties, including|||0x64F0||PtypBinary, 0x0102|MIME properties|[MS-OXCMSG] section 2.2.1.28|MS-OXCMSG +2.806|PidTagMobileTelephoneNumber|Contains the mail user's cellular telephone number.|||0x3A1C||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.27|MS-OXOABK +2.807|PidTagNativeBody|Indicates the best available format for storing the message body.|||0x1016||PtypInteger32, 0x0003|BestBody|[MS-OXCMSG] section 2.2.1.58.2|MS-OXCMSG +2.808|PidTagNextSendAcct|Specifies the server that a client is currently attempting to use to send email.|||0x0E29||PtypString, 0x001F|Outlook Application|[MS-OXOMSG] section 2.2.1.65|MS-OXOMSG +2.809|PidTagNickname|Contains the mail user's nickname.|||0x3A4F||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.1.1|MS-OXOCNTC +2.810|PidTagNonDeliveryReportDiagCode|Contains the diagnostic code for a delivery status notification, as specified in [RFC3464].|||0x0C05||PtypInteger32, 0x0003|Email|[MS-OXOMSG] section 2.2.2.30|MS-OXOMSG +2.811|PidTagNonDeliveryReportReasonCode|Contains an integer value that indicates a reason for delivery failure.|||0x0C04||PtypInteger32, 0x0003|Email|[MS-OXOMSG] section 2.2.2.31|MS-OXOMSG +2.812|PidTagNonDeliveryReportStatusCode|Contains the value of the Status field for a delivery status notification, as specified in [RFC3464].|||0x0C20||PtypInteger32, 0x0003|Email|[MS-OXOMSG] section 2.2.2.32|MS-OXOMSG +2.813||Specifies whether the client sends a non-read receipt.|||0x0C06||PtypBoolean, 0x000B|Email|[MS-OXOMSG] section 2.2.1.31|MS-OXOMSG +2.814|PidTagNormalizedSubject|Contains the normalized subject of the message.|||0x0E1D||PtypString, 0x001F|Email|[MS-OXCMSG] section 2.2.1.10|MS-OXCMSG +2.815|PidTagObjectType|Indicates the type of Server object.|||0x0FFE||PtypInteger32, 0x0003|Common|[MS-OXCPRPT] section 2.2.1.7|MS-OXCPRPT +2.816|PidTagOfficeLocation|Contains the mail user's office location.|||0x3A19||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.5|MS-OXOABK +2.817|PidTagOfflineAddressBookContainerGuid|A string-formatted GUID that represents the address list container object.|||0x6802||PtypString8, 0x001E|Offline Address Book Properties|[MS-OXOAB] section 2.12.1|MS-OXOAB +2.818|PidTagOfflineAddressBookDistinguishedName|Contains the DN of the address list that is contained in the OAB message.|||0x6804||PtypString8, 0x001E|Offline Address Book Properties|[MS-OXOAB] section 2.12.2|MS-OXOAB +2.819|PidTagOfflineAddressBookMessageClass|Contains the message class for full OAB messages.|||0x6803||PtypInteger32, 0x0003|Offline Address Book Properties|[MS-OXPFOAB] section 2.2.2.1.1|MS-OXPFOAB +2.820|PidTagOfflineAddressBookName|Contains the display name of the address list.|||0x6800||PtypString, 0x001F|Offline Address Book Properties|[MS-OXOAB] section 2.12.3|MS-OXOAB +2.821|PidTagOfflineAddressBookSequence|Contains the sequence number of the OAB.|||0x6801||PtypInteger32, 0x0003|Offline Address Book Properties|[MS-OXOAB] section 2.12.4|MS-OXOAB +2.822|PidTagOfflineAddressBookTruncatedProperties|Contains a list of the property tags that have been truncated or limited by the server.|||0x6805||PtypMultipleInteger32, 0x1003|Offline Address Book Properties|[MS-OXOAB] section 2.9.2.2|MS-OXOAB +2.823|PidTagOrdinalMost|Contains a positive number whose negative is less than or equal to the value of the PidLidTaskOrdinal property (section 2.327) of all of the Task objects in the folder.|||0x36E2||PtypInteger32, 0x0003|Tasks|[MS-OXOTASK] section 2.2.1.1|MS-OXOTASK +2.824|PidTagOrganizationalIdNumber|Contains an identifier for the mail user used within the mail user's organization.|||0x3A10||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.10.7|MS-OXOCNTC +2.825|PidTagOriginalAuthorEntryId|Contains an address book EntryID structure ([MS-OXCDATA] section 2.2.5.2) and is defined in report messages to identify the user who sent the original message.|||0x004C||PtypBinary, 0x0102|Email|[MS-OXOMSG] section 2.2.1.32|MS-OXOMSG +2.826|PidTagOriginalAuthorName|Contains the display name of the sender of the original message referenced by a report message.|||0x004D||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.1.33|MS-OXOMSG +2.827|PidTagOriginalDeliveryTime|Contains the delivery time, in UTC, from the original message.|||0x0055||PtypTime, 0x0040|General Message Properties|[MS-OXOMSG] section 2.2.2.2|MS-OXOMSG +2.828|PidTagOriginalDisplayBcc|Contains the value of the PidTagDisplayBcc property (section 2.675) from the original message.|||0x0072||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.5|MS-OXOMSG +2.829|PidTagOriginalDisplayCc|Contains the value of the PidTagDisplayCc property(section 2.676) from the original message.|||0x0073||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.4|MS-OXOMSG +2.830|PidTagOriginalDisplayTo|Contains the value of the PidTagDisplayTo property (section 2.679) from the original message.|||0x0074||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.3|MS-OXOMSG +2.831|PidTagOriginalEntryId|Contains the original EntryID of an object.|||0x3A12||PtypBinary, 0x0102|General Message Properties|[MS-OXCFXICS] section 2.2.1.2.9|MS-OXCFXICS +2.832|PidTagOriginalMessageClass|Designates the PidTagMessageClass property ([MS-OXCMSG] section 2.2.1.3) from the original message.|||0x004B||PtypString, 0x001F|Secure Messaging Properties|[MS-OXOMSG] section 2.2.1.86|MS-OXOMSG +2.833|PidTagOriginalMessageId|Contains the message ID of the original message included in replies or resent messages.|||0x1046||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.85|MS-OXOMSG +2.834|PidTagOriginalSenderAddressType|Contains the value of the original message sender's PidTagSenderAddressType property (section 2.1002).|||0x0066||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.6|MS-OXOMSG +2.835|PidTagOriginalSenderEmailAddress|Contains the value of the original message sender's PidTagSenderEmailAddress property (section 2.1003).|||0x0067||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.7|MS-OXOMSG +2.836|PidTagOriginalSenderEntryId|Contains an address book EntryID that is set on delivery report messages.|||0x005B||PtypBinary, 0x0102|General Message Properties|[MS-OXOMSG] section 2.2.2.8|MS-OXOMSG +2.837|PidTagOriginalSenderName|Contains the value of the original message sender's PidTagSenderName property (section 2.1006), and is set on delivery report messages.|||0x005A||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.9|MS-OXOMSG +2.838|PidTagOriginalSenderSearchKey|Contains an address book search key set on the original email message.|||0x005C||PtypBinary, 0x0102|General Message Properties|[MS-OXOMSG] section 2.2.2.10|MS-OXOMSG +2.839|PidTagOriginalSensitivity|Contains the sensitivity value of the original email message.|||0x002E||PtypInteger32, 0x0003|General Message Properties|[MS-OXOMSG] section 2.2.1.22|MS-OXOMSG +2.840|PidTagOriginalSentRepresentingAddressType|Contains the address type of the end user who is represented by the original email message sender.|||0x0068||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.11|MS-OXOMSG +2.841|PidTagOriginalSentRepresentingEmailAddress|Contains the email address of the end user who is represented by the original email message sender.|||0x0069||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.12|MS-OXOMSG +2.842|PidTagOriginalSentRepresentingEntryId|Identifies an address book EntryID that contains the entry identifier of the end user who is represented by the original message sender.|||0x005E||PtypBinary, 0x0102|General Message Properties|[MS-OXOMSG] section 2.2.2.13|MS-OXOMSG +2.843|PidTagOriginalSentRepresentingName|Contains the display name of the end user who is represented by the original email message sender.|||0x005D||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.14|MS-OXOMSG +2.844|PidTagOriginalSentRepresentingSearchKey|Identifies an address book search key that contains the SearchKey of the end user who is represented by the original message sender.|||0x005F||PtypBinary, 0x0102|General Message Properties|[MS-OXOMSG] section 2.2.2.15|MS-OXOMSG +2.845|PidTagOriginalSubject|Specifies the subject of the original message.|||0x0049||PtypString, 0x001F|General Message Properties|[MS-OXOMSG] section 2.2.2.16|MS-OXOMSG +2.846|PidTagOriginalSubmitTime|Specifies the original email message's submission date and time, in UTC.|||0x004E||PtypTime, 0x0040|General Message Properties|[MS-OXOMSG] section 2.2.2.17|MS-OXOMSG +2.847|PidTagOriginatorDeliveryReportRequested|Indicates whether an email sender requests an email delivery receipt from the messaging system.|||0x0023||PtypBoolean, 0x000B|MIME Properties|[MS-OXOMSG] section 2.2.1.20|MS-OXOMSG +2.848|PidTagOriginatorNonDeliveryReportRequested|Specifies whether an email sender requests suppression of nondelivery receipts.|||0x0C08||PtypBoolean, 0x000B|MIME Properties|[MS-OXOMSG] section 2.2.1.21|MS-OXOMSG +2.849|PidTagOscSyncEnabled|Specifies whether contact synchronization with an external source is handled by the server.|||0x7C24||PtypBoolean, 0x000B|Contact Properties|[MS-OXOCNTC] section 2.2.1.9.7|MS-OXOCNTC +2.850|PidTagOtherAddressCity|Contains the name of the mail user's other locality, such as the town or city.|||0x3A5F||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.2|MS-OXOCNTC +2.851|PidTagOtherAddressCountry|Contains the name of the mail user's other country/region.|||0x3A60||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.5|MS-OXOCNTC +2.852|PidTagOtherAddressPostalCode|Contains the postal code for the mail user's other postal address.|||0x3A61||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.4|MS-OXOCNTC +2.853|PidTagOtherAddressPostOfficeBox|Contains the number or identifier of the mail user's other post office box.|||0x3A64||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.7|MS-OXOCNTC +2.854|PidTagOtherAddressStateOrProvince|Contains the name of the mail user's other state or province.|||0x3A62||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.3|MS-OXOCNTC +2.855|PidTagOtherAddressStreet|Contains the mail user's other street address.|||0x3A63||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.3.1|MS-OXOCNTC +2.856|PidTagOtherTelephoneNumber|Contains an alternate telephone number for the mail user.|||0x3A1F||PtypString, 0x001F|Address Properties|[MS-OXOCNTC] section 2.2.1.4.10|MS-OXOCNTC +2.857|PidTagOutOfOfficeState|Indicates whether the user is OOF.|||0x661D||PtypBoolean, 0x000B|Message Store Properties|[MS-OXCSTOR] section 2.2.2.1.2.4|MS-OXCSTOR +2.858|PidTagOwnerAppointmentId|Specifies a quasi-unique value among all of the Calendar objects in a user's mailbox.|||0x0062||PtypInteger32, 0x0003|Appointment|[MS-OXOCAL] section 2.2.1.29|MS-OXOCAL +2.859|PidTagPagerTelephoneNumber|Contains the mail user's pager telephone number.|||0x3A21||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.4.28|MS-OXOABK +2.860|PidTagParentEntryId|Contains the EntryID of the folder where messages or subfolders reside.|||0x0E09||PtypBinary, 0x0102|ID Properties|[MS-OXCFOLD] section 2.2.2.2.1.7|MS-OXCFOLD +2.861|PidTagParentFolderId|Contains a value that contains the Folder ID (FID), as specified in [MS-OXCDATA] section 2.2.1.1, that identifies the parent folder of the messaging object being synchronized.|||0x6749||PtypInteger64, 0x0014|ID Properties|[MS-OXCFXICS] section 2.2.1.2.4|MS-OXCFXICS +2.862|PidTagParentKey|Contains the search key that is used to correlate the original message and the reports about the original message.|||0x0025||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.2.18|MS-OXOMSG +2.863|PidTagParentSourceKey|Contains a value on a folder that contains the PidTagSourceKey property (section 2.1024) of the parent folder.|||0x65E1||PtypBinary, 0x0102|ExchangeNonTransmittableReserved|[MS-OXCFXICS] section 2.2.1.2.6|MS-OXCFXICS +2.864|PidTagPersonalHomePage|Contains the URL of the mail user's personal home page.|||0x3A50||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.13|MS-OXOCNTC +2.865|PidTagPolicyTag|Specifies the GUID of a retention tag.|||0x3019||PtypBinary, 0x0102|Archive|[MS-OXCMSG] section 2.2.1.60.2|MS-OXCMSG +2.866|PidTagPostalAddress|Contains the mail user's postal address.|||0x3A15||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.3.8|MS-OXOCNTC +2.867|PidTagPostalCode|Contains the postal code for the mail user's postal address.|||0x3A2A||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.18|MS-OXOABK +2.868|PidTagPostOfficeBox|Contains the number or identifier of the mail user's post office box.|||0x3A2B||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.15|MS-OXOABK +2.869|PidTagPredecessorChangeList|Contains a value that contains a serialized representation of a PredecessorChangeList structure.|||0x65E3||PtypBinary, 0x0102|Sync|[MS-OXCFXICS] section 2.2.1.2.8|MS-OXCFXICS +2.870|PidTagPrimaryFaxNumber|Contains the telephone number of the mail user's primary fax machine.|||0x3A23||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.29|MS-OXOABK +2.871|PidTagPrimarySendAccount|Specifies the first server that a client is to use to send the email with.|||0x0E28||PtypString, 0x001F|MapiNonTransmittable|[MS-OXOMSG] section 2.2.1.64|MS-OXOMSG +2.872|PidTagPrimaryTelephoneNumber|Contains the mail user's primary telephone number.|||0x3A1A||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.4.5|MS-OXOCNTC +2.873|PidTagPriority|Indicates the client's request for the priority with which the message is to be sent by the messaging system.|||0x0026||PtypInteger32, 0x0003|Email|[MS-OXCMSG] section 2.2.1.12|MS-OXCMSG +2.874|PidTagProcessed|Indicates whether a client has already processed a received task communication.|||0x7D01||PtypBoolean, 0x000B|Calendar|[MS-OXOCAL] section 2.2.5.7|MS-OXOCAL +2.875|PidTagProfession|Contains the name of the mail user's line of business.|||0x3A46||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.6.9|MS-OXOCNTC +2.876|PidTagProhibitReceiveQuota|Maximum size, in kilobytes, that a user is allowed to accumulate in their mailbox before no further email will be delivered to their mailbox.|||0x666A||PtypInteger32, 0x0003|Exchange Administrative|[MS-OXCSTOR] section 2.2.2.1.1.3|MS-OXCSTOR +2.877|PidTagProhibitSendQuota|Maximum size, in kilobytes, that a user is allowed to accumulate in their mailbox before the user can no longer send any more email.|||0x666E||PtypInteger32, 0x0003|ExchangeAdministrative|[MS-OXCSTOR] section 2.2.2.1.1.4|MS-OXCSTOR +2.878|PidTagPurportedSenderDomain|Contains the domain responsible for transmitting the current message.|||0x4083||PtypString, 0x001F|TransportEnvelope|[MS-OXCMSG] section 2.2.1.43|MS-OXCMSG +2.879|PidTagRadioTelephoneNumber|Contains the mail user's radio telephone number.|||0x3A1D||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.4.8|MS-OXOCNTC +2.880|PidTagRead|Indicates whether a message has been read.|||0x0E69||PtypBoolean, 0x000B|MapiNonTransmittable Property set|[MS-OXCMSG] section 2.2.1.53|MS-OXCMSG +2.881|PidTagReadReceiptAddressType|Contains the address type of the end user to whom a read receipt is directed.|||0x4029||PtypString, 0x001F|Transport Envelope|[MS-OXOMSG] section 2.2.2.24|MS-OXOMSG +2.882|PidTagReadReceiptEmailAddress|Contains the email address of the end user to whom a read receipt is directed.|||0x402A||PtypString, 0x001F|Transport Envelope|[MS-OXOMSG] section 2.2.2.25|MS-OXOMSG +2.883|PidTagReadReceiptEntryId|Contains an address book EntryID.|||0x0046||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.2.26|MS-OXOMSG +2.884|PidTagReadReceiptName|Contains the display name for the end user to whom a read receipt is directed.|||0x402B||PtypString, 0x001F|Transport Envelope|[MS-OXOMSG] section 2.2.2.27|MS-OXOMSG +2.885|PidTagReadReceiptRequested|Specifies whether the email sender requests a read receipt from all recipients when this email message is read or opened.|||0x0029||PtypBoolean, 0x000B|Email|[MS-OXOMSG] section 2.2.1.29|MS-OXOMSG +2.886|PidTagReadReceiptSearchKey|Contains an address book search key.|||0x0053||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.2.28|MS-OXOMSG +2.887|PidTagReadReceiptSmtpAddress|Contains the SMTP email address of the user to whom a read receipt is directed.|||0x5D05||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.30|MS-OXOMSG +2.888|PidTagReceiptTime|Contains the sent time for a message disposition notification, as specified in [RFC3798].|||0x002A||PtypTime, 0x0040|Email|[MS-OXOMSG] section 2.2.2.33|MS-OXOMSG +2.889|PidTagReceivedByAddressType|Contains the email message receiver's email address type.|||0x0075||PtypString, 0x001F|MapiEnvelope|[MS-OXOMSG] section 2.2.1.36|MS-OXOMSG +2.890|PidTagReceivedByEmailAddress|Contains the email message receiver's email address.|||0x0076||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.37|MS-OXOMSG +2.891|PidTagReceivedByEntryId|Contains the address book EntryID of the mailbox receiving the Email object.|||0x003F||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.38|MS-OXOMSG +2.892|PidTagReceivedByName|Contains the email message receiver's display name.|||0x0040||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.39|MS-OXOMSG +2.893|PidTagReceivedBySearchKey|Identifies an address book search key that contains a binary-comparable key that is used to identify correlated objects for a search.|||0x0051||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.40|MS-OXOMSG +2.894|PidTagReceivedBySmtpAddress|Contains the email message receiver's SMTP email address.|||0x5D07||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.41|MS-OXOMSG +2.895|PidTagReceivedRepresentingAddressType|Contains the email address type for the end user represented by the receiving mailbox owner.|||0x0077||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.23|MS-OXOMSG +2.896|PidTagReceivedRepresentingEmailAddress|Contains the email address for the end user represented by the receiving mailbox owner.|||0x0078||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.24|MS-OXOMSG +2.897|PidTagReceivedRepresentingEntryId|Contains an address book EntryID that identifies the end user represented by the receiving mailbox owner.|||0x0043||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.25|MS-OXOMSG +2.898|PidTagReceivedRepresentingName|Contains the display name for the end user represented by the receiving mailbox owner.|||0x0044||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.26|MS-OXOMSG +2.899|PidTagReceivedRepresentingSearchKey|Identifies an address book search key that contains a binary-comparable key of the end user represented by the receiving mailbox owner.|||0x0052||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.27|MS-OXOMSG +2.900|PidTagReceivedRepresentingSmtpAddress|Contains the SMTP email address of the user represented by the receiving mailbox owner.|||0x5D08||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.28|MS-OXOMSG +2.901|PidTagRecipientDisplayName|Specifies the display name of the recipient.|||0x5FF6||PtypString, 0x001F|TransportRecipient|[MS-OXCMSG] section 2.2.1.54|MS-OXCMSG +2.902|PidTagRecipientEntryId|Identifies an Address Book object that specifies the recipient.|||0x5FF7||PtypBinary, 0x0102|ID Properties|[MS-OXCMSG] section 2.2.1.55|MS-OXCMSG +2.903|PidTagRecipientFlags|Specifies a bit field that describes the recipient status.|||0x5FFD||PtypInteger32, 0x0003|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.1|MS-OXOCAL +2.904|PidTagRecipientOrder|Specifies the location of the current recipient in the recipient table.|||0x5FDF||PtypInteger32, 0x0003|TransportRecipient|[MS-OXCMSG] section 2.2.1.40|MS-OXCMSG +2.905|PidTagRecipientProposed|Indicates that the attendee proposed a new date and/or time.|||0x5FE1||PtypBoolean, 0x000B|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.4|MS-OXOCAL +2.906|PidTagRecipientProposedEndTime|Indicates the meeting end time requested by the attendee in a counter proposal.|||0x5FE4||PtypTime, 0x0040|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.6|MS-OXOCAL +2.907|PidTagRecipientProposedStartTime|Indicates the meeting start time requested by the attendee in a counter proposal.|||0x5FE3||PtypTime, 0x0040|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.5|MS-OXOCAL +2.908|PidTagRecipientReassignmentProhibited|Specifies whether adding additional or different recipients is prohibited for the email message when forwarding the email message.|||0x002B||PtypBoolean, 0x000B|MapiEnvelope|[MS-OXOMSG] section 2.2.1.42|MS-OXOMSG +2.909|PidTagRecipientTrackStatus|Indicates the response status that is returned by the attendee.|||0x5FFF||PtypInteger32, 0x0003|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.2|MS-OXOCAL +2.910|PidTagRecipientTrackStatusTime|Indicates the date and time at which the attendee responded.|||0x5FFB||PtypTime, 0x0040|TransportRecipient|[MS-OXOCAL] section 2.2.4.10.3|MS-OXOCAL +2.911|PidTagRecipientType|Represents the recipient type of a recipient on the message.|||0x0C15||PtypInteger32, 0x0003|MapiRecipient|[MS-OXOMSG] section 2.2.3.1|MS-OXOMSG +2.912|PidTagRecordKey|Contains a unique binary-comparable identifier for a specific object.|||0x0FF9||PtypBinary, 0x0102|ID Properties|[MS-OXCPRPT] section 2.2.1.8|MS-OXCPRPT +2.913|PidTagReferredByName|Contains the name of the mail user's referral.|||0x3A47||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.21|MS-OXOCNTC +2.914|PidTagRemindersOnlineEntryId|Contains an EntryID for the Reminders folder.|||0x36D5||PtypBinary, 0x0102|MapiContainer|[MS-OXOSFLD] section 2.2.3|MS-OXOSFLD +2.915|PidTagRemoteMessageTransferAgent|Contains the value of the Remote-MTA field for a delivery status notification, as specified in [RFC3464].|||0x0C21||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.2.34|MS-OXOMSG +2.916|PidTagRenderingPosition|Represents an offset, in rendered characters, to use when rendering an attachment within the main message text.|||0x370B||PtypInteger32, 0x0003|MapiAttachment|[MS-OXCMSG] section 2.2.2.16|MS-OXCMSG +2.917|PidTagReplyRecipientEntries|Identifies a FlatEntryList structure ([MS-OXCDATA] section 2.3.3) of address book EntryIDs for recipients that are to receive a reply.|||0x004F||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.1.43|MS-OXOMSG +2.918|PidTagReplyRecipientNames|Contains a list of display names for recipients that are to receive a reply.|||0x0050||PtypString, 0x001F|MapiEnvelope|[MS-OXOMSG] section 2.2.1.44|MS-OXOMSG +2.919|PidTagReplyRequested|Indicates whether a reply is requested to a Message object.|||0x0C17||PtypBoolean, 0x000B|MapiRecipient|[MS-OXOMSG] section 2.2.1.45|MS-OXOMSG +2.920|PidTagReplyTemplateId|Contains the value of the GUID that points to a Reply template.|||0x65C2||PtypBinary, 0x0102|Rules|[MS-OXORULE] section 2.2.9.2|MS-OXORULE +2.921|PidTagReplyTime|Specifies the time, in UTC, that the sender has designated for an associated work item to be due.|||0x0030||PtypTime, 0x0040|MapiEnvelope|[MS-OXOFLAG] section 2.2.3.1|MS-OXOFLAG +2.922|PidTagReportDisposition|Contains a string indicating whether the original message was displayed to the user or deleted (report messages only).|||0x0080||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.1.34|MS-OXOMSG +2.923|PidTagReportDispositionMode|Contains a description of the action that a client has performed on behalf of a user (report messages only).|||0x0081||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.1.35|MS-OXOMSG +2.924|PidTagReportEntryId|Specifies an entry ID that identifies the application that generated a report message.|||0x0045||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.1.45|MS-OXOMSG +2.925|PidTagReportingMessageTransferAgent|Contains the value of the Reporting-MTA field for a delivery status notification, as specified in [RFC3464].|||0x6820||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.2.35|MS-OXOMSG +2.926|PidTagReportName|Contains the display name for the entity (usually a server agent) that generated the report message.|||0x003A||PtypString, 0x001F|MapiEnvelope|[MS-OXOMSG] section 2.2.2.20|MS-OXOMSG +2.927|PidTagReportSearchKey|Contains an address book search key representing the entity (usually a server agent) that generated the report message.|||0x0054||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.2.21|MS-OXOMSG +2.928|PidTagReportTag|Contains the data that is used to correlate the report and the original message.|||0x0031||PtypBinary, 0x0102|MapiEnvelope|[MS-OXOMSG] section 2.2.2.22|MS-OXOMSG +2.929|PidTagReportText|Contains the optional text for a report message.|||0x1001||PtypString, 0x001F|MapiMessage|[MS-OXOMSG] section 2.2.2.23|MS-OXOMSG +2.930|PidTagReportTime|Indicates the last time that the contact list that is controlled by the PidTagJunkIncludeContacts property (section 2.760) was updated.|||0x0032||PtypTime, 0x0040|MapiEnvelope Property set|[MS-OXCSPAM] section 2.2.2.6|MS-OXCSPAM +2.931|PidTagResolveMethod|Specifies how to resolve any conflicts with the message.|||0x3FE7||PtypInteger32, 0x0003|MapiStatus|[MS-OXCFXICS] section 2.2.1.4.1|MS-OXCFXICS +2.932|PidTagResponseRequested|Indicates whether a response is requested to a Message object.|||0x0063||PtypBoolean, 0x000B|MapiEnvelope Property set|[MS-OXOMSG] section 2.2.1.46|MS-OXOMSG +2.933|PidTagResponsibility|Specifies whether another mail agent has ensured that the message will be delivered.|||0x0E0F||PtypBoolean, 0x000B|MapiNonTransmittable|[MS-OXCMSG] section 2.2.1.37|MS-OXCMSG +2.934|PidTagRetentionDate|Specifies the date, in UTC, after which a Message object is expired by the server.|||0x301C||PtypTime, 0x0040|Archive|[MS-OXCMSG] section 2.2.1.60.5|MS-OXCMSG +2.935|PidTagRetentionFlags|Contains flags that specify the status or nature of an item's retention tag or archive tag.|||0x301D||PtypInteger32, 0x0003|Archive|[MS-OXCMSG] section 2.2.1.60.6|MS-OXCMSG +2.936|PidTagRetentionPeriod|Specifies the number of days that a Message object can remain unarchived.|||0x301A||PtypInteger32, 0x0003|Archive|[MS-OXCMSG] section 2.2.1.60.3|MS-OXCMSG +2.937|PidTagRights|Specifies a user's folder permissions.|||0x6639||PtypInteger32, 0x0003|ExchangeFolder|[MS-OXCFOLD] section 2.2.2.2.2.8|MS-OXCFOLD +2.938|PidTagRoamingDatatypes|Contains a bitmask that indicates which stream properties exist on the message.|||0x7C06||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.2.1|MS-OXOCFG +2.939|PidTagRoamingDictionary|Contains a dictionary stream, as specified in [MS-OXOCFG] section 2.2.5.1.|||0x7C07||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.2.2|MS-OXOCFG +2.940|PidTagRoamingXmlStream|Contains an XML stream, as specified in [MS-OXOCFG] section 2.2.5.2.|||0x7C08||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.2.3|MS-OXOCFG +2.941|PidTagRowid|Contains a unique identifier for a recipient in a message's recipient table.|||0x3000||PtypInteger32, 0x0003|MapiCommon|[MS-OXCMSG] section 2.2.1.38|MS-OXCMSG +2.942|PidTagRowType|Identifies the type of the row.|||0x0FF5||PtypInteger32, 0x0003|MapiNonTransmittable|[MS-OXCTABL] section 2.2.1.3|MS-OXCTABL +2.943|PidTagRtfCompressed|Contains message body text in compressed RTF format.|||0x1009||PtypBinary, 0x0102|Email|[MS-OXCMSG] section 2.2.1.58.4|MS-OXCMSG +2.944|PidTagRtfInSync|Indicates whether the PidTagBody property (section 2.618) and the PidTagRtfCompressed property (section 2.943) contain the same text (ignoring formatting).|||0x0E1F||PtypBoolean, 0x000B|Email|[MS-OXCMSG] section 2.2.1.58.5|MS-OXCMSG +2.945|PidTagRuleActionNumber|Contains the index of a rule action that failed.|||0x6650||PtypInteger32, 0x0003|ExchangeMessageReadOnly|[MS-OXORULE] section 2.2.7.4|MS-OXORULE +2.946|PidTagRuleActions|Contains the set of actions associated with the rule.|||0x6680||PtypRuleAction, 0x00FE|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.10|MS-OXORULE +2.947|PidTagRuleActionType|Contains the ActionType field ([MS-OXORULE] section 2.2.5.1) of a rule that failed.|||0x6649||PtypInteger32, 0x0003|ExchangeMessageReadOnly|[MS-OXORULE] section 2.2.7.3|MS-OXORULE +2.948|PidTagRuleCondition|Defines the conditions under which a rule action is to be executed.|||0x6679||PtypRestriction, 0x00FD|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.9|MS-OXORULE +2.949|PidTagRuleError|Contains the error code that indicates the cause of an error encountered during the execution of the rule.|||0x6648||PtypInteger32, 0x0003|ExchangeMessageReadOnly|[MS-OXORULE] section 2.2.7.2|MS-OXORULE +2.950|PidTagRuleFolderEntryId|Contains the EntryID of the folder where the rule that triggered the generation of a DAM is stored.|||0x6651||PtypBinary, 0x0102|ExchangeMessageReadOnly|[MS-OXORULE] section 2.2.6.5|MS-OXORULE +2.951|PidTagRuleId|Specifies a unique identifier that is generated by the messaging server for each rule when the rule is first created.|||0x6674||PtypInteger64, 0x0014|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.1|MS-OXORULE +2.952|PidTagRuleIds|Contains a buffer that is obtained by concatenating the PidTagRuleId property (section 2.951) values from all of the rules contributing actions that are contained in the|||0x6675||PtypBinary, 0x0102|Server-Side Rules Properties|[MS-OXORULE] section 2.2.6.7|MS-OXORULE +2.953|PidTagRuleLevel|Contains 0x00000000. This property is not used.|||0x6683||PtypInteger32, 0x0003|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.6|MS-OXORULE +2.954|PidTagRuleMessageLevel|Contains 0x00000000. Set on the FAI message.|||0x65ED||PtypInteger32, 0x0003|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.6|MS-OXORULE +2.955|PidTagRuleMessageName|Specifies the name of the rule. Set on the FAI message.|||0x65EC||PtypString, 0x001F|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.1|MS-OXORULE +2.956|PidTagRuleMessageProvider|Identifies the client application that owns the rule. Set on the FAI message.|||0x65EB||PtypString, 0x001F|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.7|MS-OXORULE +2.957|PidTagRuleMessageProviderData|Contains opaque data set by the client for the exclusive use of the client. Set on the FAI message.|||0x65EE||PtypBinary, 0x0102|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.8|MS-OXORULE +2.958|PidTagRuleMessageSequence|Contains a value used to determine the order in which rules are evaluated and executed. Set on the FAI message.|||0x65F3||PtypInteger32, 0x0003|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.3|MS-OXORULE +2.959|PidTagRuleMessageState|Contains flags that specify the state of the rule. Set on the FAI message.|||0x65E9||PtypInteger32, 0x0003|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.4|MS-OXORULE +2.960|PidTagRuleMessageUserFlags|Contains an opaque property that the client sets for the exclusive use of the client. Set on the FAI message.|||0x65EA||PtypInteger32, 0x0003|ExchangeNonTransmittableReserved|[MS-OXORULE] section 2.2.4.1.5|MS-OXORULE +2.961|PidTagRuleName|Specifies the name of the rule.|||0x6682||PtypString, 0x001F|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.4|MS-OXORULE +2.962|PidTagRuleProvider|A string identifying the client application that owns a rule.|||0x6681||PtypString, 0x001F|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.5|MS-OXORULE +2.963|PidTagRuleProviderData|Contains opaque data set by the client for the exclusive use of the client.|||0x6684||PtypBinary, 0x0102|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.8|MS-OXORULE +2.964|PidTagRuleSequence|Contains a value used to determine the order in which rules are evaluated and executed.|||0x6676||PtypInteger32, 0x0003|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.2|MS-OXORULE +2.965|PidTagRuleState|Contains flags that specify the state of the rule.|||0x6677||PtypInteger32, 0x0003|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.3|MS-OXORULE +2.966|PidTagRuleUserFlags|Contains an opaque property that the client sets for the exclusive use of the client.|||0x6678||PtypInteger32, 0x0003|Server-Side Rules Properties|[MS-OXORULE] section 2.2.1.3.1.7|MS-OXORULE +2.967|PidTagRwRulesStream|Contains additional rule data about the Rule FAI message.|||0x6802||PtypBinary, 0x0102|Message Class Defined Transmittable|[MS-OXORULE] section 2.2.9.3|MS-OXORULE +2.968|PidTagScheduleInfoAppointmentTombstone|Contains a list of tombstones, where each tombstone represents a Meeting object that has been declined.|||0x686A||PtypBinary, 0x0102|Free/Busy Properties|[MS-OXOCAL] section 2.2.12.5|MS-OXOCAL +2.969|PidTagScheduleInfoAutoAcceptAppointments|Indicates whether a client or server is to automatically respond to all meeting requests for the attendee or resource.|||0x686D||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXOCAL] section 2.2.12.2|MS-OXOCAL +2.970|PidTagScheduleInfoDelegateEntryIds|Specifies the EntryIDs of the delegates.|||0x6845||PtypMultipleBinary, 0x1102|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.5|MS-OXODLGT +2.971|PidTagScheduleInfoDelegateNames|Specifies the names of the delegates.|||0x6844||PtypMultipleString, 0x101F|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.3|MS-OXODLGT +2.972|PidTagScheduleInfoDelegateNamesW|Specifies the names of the delegates in Unicode.|||0x684A||PtypMultipleString, 0x101F|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.4|MS-OXODLGT +2.973|PidTagScheduleInfoDelegatorWantsCopy|Indicates whether the delegator wants to receive copies of the meeting-related objects that are sent to the delegate.|||0x6842||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.1|MS-OXODLGT +2.974|PidTagScheduleInfoDelegatorWantsInfo|Indicates whether the delegator wants to receive informational updates.|||0x684B||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.2|MS-OXODLGT +2.975|PidTagScheduleInfoDisallowOverlappingAppts|Indicates whether a client or server, when automatically responding to meeting requests, is to decline Meeting Request objects that overlap with previously scheduled events.|||0x686F||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXOCAL] section 2.2.12.4|MS-OXOCAL +2.976|PidTagScheduleInfoDisallowRecurringAppts|Indicates whether a client or server, when automatically responding to meeting requests, is to decline Meeting Request objects that represent a recurring series.|||0x686E||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXOCAL] section 2.2.12.3|MS-OXOCAL +2.977|PidTagScheduleInfoDontMailDelegates|Contains a value set to TRUE by the client, regardless of user input.|||0x6843||PtypBoolean, 0x000B|Free/Busy Properties|[MS-OXODLGT] section 2.2.2.2.7|MS-OXODLGT +2.978|PidTagScheduleInfoFreeBusy|This property is deprecated and is not to be used.|||0x686C||PtypBinary, 0x0102|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.4.3|MS-OXOPFFB +2.979|PidTagScheduleInfoFreeBusyAway|Specifies the times for which the free/busy status is set a value of OOF.|||0x6856||PtypMultipleBinary, 0x1102|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.6|MS-OXOPFFB +2.980|PidTagScheduleInfoFreeBusyBusy|Specifies the blocks of time for which the free/busy status is set to a value of busy.|||0x6854||PtypMultipleBinary, 0x1102|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.4|MS-OXOPFFB +2.981|PidTagScheduleInfoFreeBusyMerged|Specifies the blocks for which free/busy data of type busy or OOF is present in the free/busy message.|||0x6850||PtypMultipleBinary, 0x1102|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.8|MS-OXOPFFB +2.982|PidTagScheduleInfoFreeBusyTentative|Specifies the blocks of times for which the free/busy status is set to a value of tentative.|||0x6852||PtypMultipleBinary, 0x1102|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.2|MS-OXOPFFB +2.983|PidTagScheduleInfoMonthsAway|Specifies the months for which free/busy data of type OOF is present in the free/busy message.|||0x6855||PtypMultipleInteger32, 0x1003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.5|MS-OXOPFFB +2.984|PidTagScheduleInfoMonthsBusy|Specifies the months for which free/busy data of type busy is present in the free/busy message.|||0x6853||PtypMultipleInteger32, 0x1003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.3|MS-OXOPFFB +2.985|PidTagScheduleInfoMonthsMerged|Specifies the months for which free/busy data of type busy or OOF is present in the free/busy message.|||0x684F||PtypMultipleInteger32, 0x1003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.7|MS-OXOPFFB +2.986|PidTagScheduleInfoMonthsTentative|Specifies the months for which free/busy data of type tentative is present in the free/busy message.|||0x6851||PtypMultipleInteger32, 0x1003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.2.1|MS-OXOPFFB +2.987|PidTagScheduleInfoResourceType|Set to 0x00000000 when sending and is ignored on receipt.|||0x6841||PtypInteger32, 0x0003|Free/Busy Properties|[MS-OXOPFFB] section 2.2.1.4.2|MS-OXOPFFB +2.988|PidTagSchedulePlusFreeBusyEntryId|Contains the EntryID of the folder named "SCHEDULE+ FREE BUSY" under the non-IPM subtree of the public folder message store.|||0x6622||PtypBinary, 0x0102|ExchangeMessageStore|[MS-OXOPFFB] section 2.2.2.2|MS-OXOPFFB +2.989|PidTagScriptData|Contains a series of instructions that can be executed to format an address and the data that is needed to execute those instructions.|||0x0004||PtypBinary, 0x0102|Address Book|[MS-OXOABKT] section 2.2.2|MS-OXOABKT +2.990|PidTagSearchFolderDefinition|Specifies the search criteria and search options.|||0x6845||PtypBinary, 0x0102|Search|[MS-OXOSRCH] section 2.2.1.2.8|MS-OXOSRCH +2.991|PidTagSearchFolderEfpFlags|Specifies flags that control how a folder is displayed.|||0x6848||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.7|MS-OXOSRCH +2.992|PidTagSearchFolderExpiration|Contains the time, in UTC, at which the search folder container will be stale and has to be updated or recreated.|||0x683A||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.5|MS-OXOSRCH +2.993|PidTagSearchFolderId|Contains a GUID that identifies the search folder.|||0x6842||PtypBinary, 0x0102|Search|[MS-OXOSRCH] section 2.2.1.2.1|MS-OXOSRCH +2.994|PidTagSearchFolderLastUsed|Contains the last time, in UTC, that the folder was accessed.|||0x6834||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.4|MS-OXOSRCH +2.995|PidTagSearchFolderRecreateInfo|This property is not to be used.|||0x6844||PtypBinary, 0x0102|Search|[MS-OXOSRCH] section 2.2.1.2.9|MS-OXOSRCH +2.996|PidTagSearchFolderStorageType|Contains flags that specify the binary large object (BLOB) data that appears in the PidTagSearchFolderDefinition (section 2.990) property.|||0x6846||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.6|MS-OXOSRCH +2.997|PidTagSearchFolderTag|Contains the value of the SearchFolderTag sub-property of the PidTagExtendedFolderFlags (section 2.692) property of the search folder container.|||0x6847||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.3|MS-OXOSRCH +2.998|PidTagSearchFolderTemplateId|Contains the ID of the template that is being used for the search.|||0x6841||PtypInteger32, 0x0003|Search|[MS-OXOSRCH] section 2.2.1.2.2|MS-OXOSRCH +2.999|PidTagSearchKey|Contains a unique binary-comparable key that identifies an object for a search.|||0x300B||PtypBinary, 0x0102|ID Properties|[MS-OXCPRPT] section 2.2.1.9|MS-OXCPRPT +2.1000|PidTagSecurityDescriptorAsXml|Contains security attributes in XML.|||0x0E6A||PtypString, 0x001F|Access Control Properties|[MS-XWDVSEC] section 2.2.2|MS-XWDVSEC +2.1001|PidTagSelectable|This property is not set and, if set, is ignored.|||0x3609||PtypBoolean, 0x000B|AB Container|[MS-OXOABKT] section 2.2.1|MS-OXOABKT +2.1002|PidTagSenderAddressType|Contains the email address type of the sending mailbox owner.|||0x0C1E||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.48|MS-OXOMSG +2.1003|PidTagSenderEmailAddress|Contains the email address of the sending mailbox owner.|||0x0C1F||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.49|MS-OXOMSG +2.1004|PidTagSenderEntryId|Identifies an address book EntryID that contains the address book EntryID of the sending mailbox owner.|||0x0C19||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.50|MS-OXOMSG +2.1005|PidTagSenderIdStatus|Reports the results of a Sender-ID check.|||0x4079||PtypInteger32, 0x0003|Secure Messaging Properties|[MS-OXOMSG] section 2.2.1.80|MS-OXOMSG +2.1006|PidTagSenderName|Contains the display name of the sending mailbox owner.|||0x0C1A||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.51|MS-OXOMSG +2.1007|PidTagSenderSearchKey|Identifies an address book search key.|||0x0C1D||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.52|MS-OXOMSG +2.1008|PidTagSenderSmtpAddress|Contains the SMTP email address format of the e–mail address of the sending mailbox owner.|||0x5D01||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.55|MS-OXOMSG +2.1009|PidTagSenderTelephoneNumber|Contains the telephone number of the caller associated with a voice mail message.|||0x6802||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.1|MS-OXOUM +2.1010|PidTagSendInternetEncoding|Contains a bitmask of message encoding preferences for email sent to an email-enabled entity that is represented by this Address Book object.|||0x3A71||PtypInteger32, 0x0003|Address Properties|[MS-OXOABK] section 2.2.3.19|MS-OXOABK +2.1011|PidTagSendRichInfo|Indicates whether the email-enabled entity represented by the Address Book object can receive all message content, including Rich Text Format (RTF) and other embedded objects.|||0x3A40||PtypBoolean, 0x000B|Address Properties|[MS-OXOABK] section 2.2.3.18|MS-OXOABK +2.1012|PidTagSensitivity|Indicates the sender's assessment of the sensitivity of the Message object.|||0x0036||PtypInteger32, 0x0003|General Message Properties|[MS-OXCMSG] section 2.2.1.13|MS-OXCMSG +2.1013|PidTagSentMailSvrEID|Contains an EntryID that represents the Sent Items folder for the message.|||0x6740||PtypServerId, 0x00FB|ProviderDefinedNonTransmittable|[MS-OXOMSG] section 2.2.3.10|MS-OXOMSG +2.1014|PidTagSentRepresentingAddressType|Contains an email address type.|||0x0064||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.54|MS-OXOMSG +2.1015|PidTagSentRepresentingEmailAddress|Contains an email address for the end user who is represented by the sending mailbox owner.|||0x0065||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.55|MS-OXOMSG +2.1016|PidTagSentRepresentingEntryId|Contains the identifier of the end user who is represented by the sending mailbox owner.|||0x0041||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.56|MS-OXOMSG +#2.1017|PidTagSentRepresentingFlags||||0x401A||PtypInteger32, 0x0003|Miscellaneous Properties|| +2.1018|PidTagSentRepresentingName|Contains the display name for the end user who is represented by the sending mailbox owner.|||0x0042||PtypString, 0x001F|Address Properties|[MS-OXOMSG] section 2.2.1.57|MS-OXOMSG +2.1019|PidTagSentRepresentingSearchKey|Contains a binary-comparable key that represents the end user who is represented by the sending mailbox owner.|||0x003B||PtypBinary, 0x0102|Address Properties|[MS-OXOMSG] section 2.2.1.58|MS-OXOMSG +2.1020|PidTagSentRepresentingSmtpAddress|Contains the SMTP email address of the end user who is represented by the sending mailbox owner.|||0x5D02||PtypString, 0x001F|Mail|[MS-OXOMSG] section 2.2.1.59|MS-OXOMSG +2.1021|PidTagSerializedReplidGuidMap|Contains a serialized list of REPLID and REPLGUID pairs which represent all or part of the REPLID / REPLGUID mapping of the associated Logon object.|||0x6638||PtypBinary, 0x0102|Logon Properties|[MS-OXCSTOR] section 2.2.2.1.1.13|MS-OXCSTOR +2.1022|PidTagSmtpAddress|Contains the SMTP address of the Message object.|||0x39FE||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.3.21|MS-OXOABK +2.1023|PidTagSortLocaleId|Contains the locale identifier.|||0x6705||PtypInteger32, 0x0003|ExchangeAdministrative|[MS-OXCSTOR] section 2.2.2.1.1.14|MS-OXCSTOR +2.1024|PidTagSourceKey|Contains a value that contains an internal global identifier (GID) for this folder or message.|||0x65E0||PtypBinary, 0x0102|Sync|[MS-OXCFXICS] section 2.2.1.2.5|MS-OXCFXICS +2.1025|PidTagSpokenName|Contains a recording of the mail user's name pronunciation.|||0x8CC2||PtypBinary, 0x0102|Address Book|[MS-OXOABK] section 2.2.4.41|MS-OXOABK +2.1026|PidTagSpouseName|Contains the name of the mail user's spouse/partner.|||0x3A48||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.10.3|MS-OXOCNTC +2.1027|PidTagStartDate|Contains the value of the PidLidAppointmentStartWhole property (section 2.29).|||0x0060||PtypTime, 0x0040|MapiEnvelope|[MS-OXOCAL] section 2.2.1.30|MS-OXOCAL +2.1028|PidTagStartDateEtc|Contains the default retention period, and the start date from which the age of a Message object is calculated.|||0x301B||PtypBinary, 0x0102|Archive|[MS-OXCMSG] section 2.2.1.60.4|MS-OXCMSG +2.1029|PidTagStateOrProvince|Contains the name of the mail user's state or province.|||0x3A28||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.17|MS-OXOABK +2.1030|PidTagStoreEntryId|Contains the unique EntryID of the message store where an object resides.|||0x0FFB||PtypBinary, 0x0102|ID Properties|[MS-OXCMSG] section 2.2.1.44|MS-OXCMSG +2.1031|PidTagStoreState|Indicates whether a mailbox has any active Search folders.|||0x340E||PtypInteger32, 0x0003|MapiMessageStore|[MS-OXCSTOR] section 2.2.2.1|MS-OXCSTOR +2.1032|PidTagStoreSupportMask|Indicates whether string properties within the .msg file are Unicode-encoded.|||0x340D||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXMSG] section 2.1.1.1|MS-OXMSG +2.1033|PidTagStreetAddress|Contains the mail user's street address.|||0x3A29||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.14|MS-OXOABK +2.1034|PidTagSubfolders|Specifies whether a folder has subfolders.|||0x360A||PtypBoolean, 0x000B|MapiContainer|[MS-OXCFOLD] section 2.2.2.2.1.12|MS-OXCFOLD +2.1035|PidTagSubject|Contains the subject of the email message.|||0x0037||PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.46|MS-OXCMSG +2.1036|PidTagSubjectPrefix|Contains the prefix for the subject of the message.|||0x003D||PtypString, 0x001F|General Message Properties|[MS-OXCMSG] section 2.2.1.9|MS-OXCMSG +2.1037|PidTagSupplementaryInfo|Contains supplementary information about a delivery status notification, as specified in [RFC3464].|||0x0C1B||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.2.36|MS-OXOMSG +2.1038|PidTagSurname|Contains the mail user's family name.|||0x3A11||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.1|MS-OXOABK +2.1039|PidTagSwappedToDoData|Contains a secondary storage location for flags when sender flags or sender reminders are supported.|||0x0E2D||PtypBinary, 0x0102|MapiNonTransmittable|[MS-OXOFLAG] section 2.2.1.7|MS-OXOFLAG +2.1040|PidTagSwappedToDoStore|Contains the value of the PidTagStoreEntryId property (section 2.1030) of the message when the value of the PidTagSwappedToDoData property (section 2.1039) is set.|||0x0E2C||PtypBinary, 0x0102|MapiNonTransmittable|[MS-OXOFLAG] section 2.2.1.8|MS-OXOFLAG +2.1041|PidTagTargetEntryId|Contains the message ID of a Message object being submitted for optimization ([MS- OXOMSG] section 3.2.4.4).|||0x3010||PtypBinary, 0x0102|ID Properties|[MS-OXOMSG] section 2.2.1.76|MS-OXOMSG +2.1042|PidTagTelecommunicationsDeviceForDeafTelephoneNumber|Contains the mail user's telecommunication device for the deaf (TTY/TDD) telephone number.|||0x3A4B||PtypString, 0x001F|MapiMailUser|[MS-OXOCNTC] section 2.2.1.4.13|MS-OXOCNTC +2.1043|PidTagTelexNumber|Contains the mail user's telex number. This property is returned from an NSPI server as a PtypMultipleBinary. Otherwise, the data type is PtypString.|||0x3A2C||PtypString, 0x001F; PtypMultipleBinary, 0x1102|MapiMailUser|[MS-OXOABK] section 2.2.4.30|MS-OXOABK +2.1044|PidTagTemplateData|Describes the controls used in the template that is used to retrieve address book information.|||0x0001||PtypBinary, 0x0102|Address Book|[MS-OXOABKT] section 2.2.2|MS-OXOABKT +2.1045|PidTagTemplateid|Contains the value of the PidTagEntryId property (section 2.684), expressed as a Permanent Entry ID format.|||0x3902||PtypBinary, 0x0102|MapiAddressBook|[MS-OXOABK] section 2.2.3.3|MS-OXOABK +2.1046|PidTagTextAttachmentCharset|Specifies the character set of an attachment received via MIME with the content-type of text.|||0x371B||PtypString, 0x001F|Message Attachment Properties|[MS-OXCMSG] section 2.2.2.25|MS-OXCMSG +2.1047|PidTagThumbnailPhoto|Contains the mail user's photo in .jpg format.|||0x8C9E||PtypBinary, 0x0102|Address Book|[MS-OXOABK] section 2.2.4.40|MS-OXOABK +2.1048|PidTagTitle|Contains the mail user's job title.|||0x3A17||PtypString, 0x001F|MapiMailUser|[MS-OXOABK] section 2.2.4.4|MS-OXOABK +2.1049|PidTagTnefCorrelationKey|Contains a value that correlates a Transport Neutral Encapsulation Format (TNEF) attachment with a message.|||0x007F||PtypBinary, 0x0102|MapiEnvelope|[MS-OXCMSG] section 2.2.1.29|MS-OXCMSG +2.1050|PidTagToDoItemFlags|Contains flags associated with objects.|||0x0E2B||PtypInteger32, 0x0003|MapiNonTransmittable|[MS-OXOFLAG] section 2.2.1.6|MS-OXOFLAG +2.1051|PidTagTransmittableDisplayName|Contains an Address Book object's display name that is transmitted with the message.|||0x3A20||PtypString, 0x001F|Address Properties|[MS-OXOABK] section 2.2.3.8|MS-OXOABK +2.1052|PidTagTransportMessageHeaders|Contains transport-specific message envelope information for email.|||0x007D||PtypString, 0x001F|Email|[MS-OXOMSG] section 2.2.1.61|MS-OXOMSG +2.1053|PidTagTrustSender|Specifies whether the associated message was delivered through a trusted transport channel.|||0x0E79||PtypInteger32, 0x0003|MapiNonTransmittable|[MS-OXCMSG] section 2.2.1.45|MS-OXCMSG +2.1054|PidTagUserCertificate|Contains an ASN.1 authentication certificate for a messaging user.|||0x3A22||PtypBinary, 0x0102|MapiMailUser|[MS-OXOABK] section 2.2.4.34|MS-OXOABK +2.1055|PidTagUserEntryId|Address book EntryID of the user logged on to the public folders.|||0x6619||PtypBinary, 0x0102|ExchangeMessageStore|[MS-OXCSTOR] section 2.2.2.1|MS-OXCSTOR +2.1056|PidTagUserX509Certificate|Contains a list of certificates for the mail user.|||0x3A70||PtypMultipleBinary, 0x1102|MapiMailUser|[MS-OXOABK] section 2.2.4.36|MS-OXOABK +2.1057|PidTagViewDescriptorBinary|Contains view definitions.|||0x7001||PtypBinary, 0x0102|MessageClassDefinedTransmittable|[MS-OXOCFG] section 2.2.6.1|MS-OXOCFG +2.1058|PidTagViewDescriptorName|Contains the view descriptor name.|||0x7006||PtypString, 0x001F|MessageClassDefinedTransmittable|[MS-OXOCFG] section 2.2.6.2|MS-OXOCFG +2.1059|PidTagViewDescriptorStrings|Contains view definitions in string format.|||0x7002||PtypString, 0x001F|MessageClassDefinedTransmittable|[MS-OXOCFG] section 2.2.6.3|MS-OXOCFG +2.1060|PidTagViewDescriptorVersion|Contains the View Descriptor version.|||0x7007||PtypInteger32, 0x0003|Miscellaneous Properties|[MS-OXOCFG] section 2.2.6.4|MS-OXOCFG +2.1061|PidTagVoiceMessageAttachmentOrder|Contains a list of file names for the audio file attachments that are to be played as part of a message.|||0x6805||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.9|MS-OXOUM +2.1062|PidTagVoiceMessageDuration|Specifies the length of the attached audio message, in seconds.|||0x6801||PtypInteger32, 0x0003|Unified Messaging|[MS-OXOUM] section 2.2.5.3|MS-OXOUM +2.1063|PidTagVoiceMessageSenderName|Specifies the name of the caller who left the attached voice message, as provided by the voice network's caller ID system.|||0x6803||PtypString, 0x001F|Unified Messaging|[MS-OXOUM] section 2.2.5.5|MS-OXOUM +2.1064|PidTagWeddingAnniversary|Contains the date of the mail user's wedding anniversary.|||0x3A41||PtypTime, 0x0040|MapiMailUser|[MS-OXOCNTC] section 2.2.1.5.4|MS-OXOCNTC +2.1065|PidTagWlinkAddressBookEID|Specifies the value of the PidTagEntryId property (section 2.684) of the user to whom the folder belongs.|||0x6854||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.16|MS-OXOCFG +2.1066|PidTagWlinkAddressBookStoreEID|Specifies the value of the PidTagStoreEntryId property (section 2.1030) of the current user (not the owner of the folder).|||0x6891||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.17|MS-OXOCFG +2.1067|PidTagWlinkCalendarColor|Specifies the background color of the calendar.|||0x6853||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.15|MS-OXOCFG +2.1068|PidTagWlinkClientID|Specifies the Client ID that allows the client to determine whether the shortcut was created on the current machine/user via an equality test.|||0x6890||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.18|MS-OXOCFG +2.1069|PidTagWlinkEntryId|Specifies the EntryID of the folder pointed to by the shortcut.|||0x684C||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.8|MS-OXOCFG +2.1070|PidTagWlinkFlags|Specifies conditions associated with the shortcut.|||0x684A||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.6|MS-OXOCFG +2.1071|PidTagWlinkFolderType|Specifies the type of folder pointed to by the shortcut.|||0x684F||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.11|MS-OXOCFG +2.1072|PidTagWlinkGroupClsid|Specifies the value of the PidTagWlinkGroupHeaderID property (section 2.1072) of the group header associated with the shortcut.|||0x6850||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.12|MS-OXOCFG +2.1073|PidTagWlinkGroupHeaderID|Specifies the ID of the navigation shortcut that groups other navigation shortcuts.|||0x6842||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.3|MS-OXOCFG +2.1074|PidTagWlinkGroupName|Specifies the value of the PidTagNormalizedSubject (section 2.814) of the group header associated with the shortcut.|||0x6851||PtypString, 0x001F|Configuration|[MS-OXOCFG] section 2.2.9.13|MS-OXOCFG +2.1075|PidTagWlinkOrdinal|Specifies a variable-length binary property to be used to sort shortcuts lexicographically.|||0x684B||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.7|MS-OXOCFG +2.1076|PidTagWlinkRecordKey|Specifies the value of PidTagRecordKey property (section 2.912) of the folder pointed to by the shortcut.|||0x684D||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.9|MS-OXOCFG +2.1077|PidTagWlinkROGroupType|Specifies the type of group header.|||0x6892||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.19|MS-OXOCFG +2.1078|PidTagWlinkSaveStamp|Specifies an integer that allows a client to identify with a high probability whether the navigation shortcut was saved by the current client session.|||0x6847||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.4|MS-OXOCFG +2.1079|PidTagWlinkSection|Specifies the section where the shortcut will be grouped.|||0x6852||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.14|MS-OXOCFG +2.1080|PidTagWlinkStoreEntryId|Specifies the value of the PidTagStoreEntryId property (section 2.1030) of the folder pointed to by the shortcut.|||0x684E||PtypBinary, 0x0102|Configuration|[MS-OXOCFG] section 2.2.9.10|MS-OXOCFG +2.1081|PidTagWlinkType|Specifies the type of navigation shortcut.|||0x6849||PtypInteger32, 0x0003|Configuration|[MS-OXOCFG] section 2.2.9.5|MS-OXOCFG diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java index 56e15439ff..17f56885fb 100644 --- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java +++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/OutlookParserTest.java @@ -36,9 +36,9 @@ import org.apache.tika.TikaTest; import org.apache.tika.config.TikaConfig; +import org.apache.tika.metadata.MAPI; import org.apache.tika.metadata.Message; import org.apache.tika.metadata.Metadata; -import org.apache.tika.metadata.Office; import org.apache.tika.metadata.TikaCoreProperties; import org.apache.tika.parser.AutoDetectParser; import org.apache.tika.parser.ParseContext; @@ -53,17 +53,10 @@ public class OutlookParserTest extends TikaTest { @Test public void testOutlookParsing() throws Exception { - Metadata metadata = new Metadata(); - //test turning off header injection - List metadataList = getRecursiveMetadata("test-outlook.msg", AUTO_DETECT_PARSER, - metadata, configureDontInjectHeaders(), - true, BasicContentHandlerFactory.HANDLER_TYPE.BODY); - assertNotContained("Microsoft Outlook Express 6", metadataList.get(0).get(TikaCoreProperties.TIKA_CONTENT)); - //test default ContentHandler handler = new BodyContentHandler(); - metadata = new Metadata(); + Metadata metadata = new Metadata(); try (InputStream stream = getResourceAsStream("/test-documents/test-outlook.msg")) { AUTO_DETECT_PARSER.parse(stream, handler, metadata, new ParseContext()); @@ -91,9 +84,9 @@ metadata, configureDontInjectHeaders(), assertEquals("2007-04-05T16:26:06Z", metadata.get(TikaCoreProperties.CREATED)); String content = handler.toString(); - assertContains("Microsoft Outlook Express 6", content); - assertContains("L'\u00C9quipe Microsoft Outlook Express", content); - assertContains("Nouvel utilisateur de Outlook Express", content); + assertNotContained("Microsoft Outlook Express 6", content); + assertNotContained("L'\u00C9quipe Microsoft Outlook Express", content); + assertNotContained("Nouvel utilisateur de Outlook Express", content); assertContains("Messagerie et groupes de discussion", content); } @@ -116,7 +109,6 @@ public void testMultipleCopies() throws Exception { String content = handler.toString(); Pattern pattern = Pattern.compile("From"); Matcher matcher = pattern.matcher(content); - assertTrue(matcher.find()); assertFalse(matcher.find()); //test that last header is added @@ -127,17 +119,18 @@ public void testMultipleCopies() throws Exception { " by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Jan 2009 11:17:08 " + "-0800", Arrays.asList(metadata.getValues("Message:Raw-Header:Received"))); - assertEquals("EX", metadata.get(Office.MAPI_SENT_BY_SERVER_TYPE)); - assertEquals("NOTE", metadata.get(Office.MAPI_MESSAGE_CLASS)); + assertEquals("EX", metadata.get(MAPI.SENT_BY_SERVER_TYPE)); + assertEquals("NOTE", metadata.get(MAPI.MESSAGE_CLASS)); assertEquals("Jukka Zitting", metadata.get(Message.MESSAGE_FROM_NAME)); assertEquals("jukka.zitting@gmail.com", metadata.get(Message.MESSAGE_FROM_EMAIL)); - assertEquals("Jukka Zitting", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME)); - assertEquals("jukka.zitting@gmail.com", metadata.get(Office.MAPI_FROM_REPRESENTING_EMAIL)); + assertEquals("Jukka Zitting", metadata.get(MAPI.FROM_REPRESENTING_NAME)); + assertEquals("jukka.zitting@gmail.com", metadata.get(MAPI.FROM_REPRESENTING_EMAIL)); //to-name is empty, make sure that we get an empty string. assertEquals("tika-dev@lucene.apache.org", metadata.get(Message.MESSAGE_TO_EMAIL)); assertEquals("tika-dev@lucene.apache.org", metadata.get(Message.MESSAGE_TO_DISPLAY_NAME)); assertEquals("", metadata.get(Message.MESSAGE_TO_NAME)); + } /** @@ -192,7 +185,7 @@ public void testOutlookHTMLVersion() throws Exception { // As the HTML version should have been processed, ensure // we got some of the links String content = sw.toString(); - assertContains("
tests.chang@fengttt.com
", content); + assertNotContained("
tests.chang@fengttt.com
", content); assertContains("

Alfresco MSG format testing", content); assertContains("

  • 1", content); assertContains("
  • 2", content); @@ -207,9 +200,19 @@ public void testOutlookHTMLVersion() throws Exception { assertEquals("tests.chang@fengttt.com", metadata.get(Message.MESSAGE_TO_EMAIL)); - assertEquals("Tests Chang@FT (張毓倫)", metadata.get(Office.MAPI_FROM_REPRESENTING_NAME)); + assertEquals("Tests Chang@FT (張毓倫)", metadata.get(MAPI.FROM_REPRESENTING_NAME)); assertEquals("/O=FT GROUP/OU=FT/CN=RECIPIENTS/CN=LYDIACHANG", - metadata.get(Office.MAPI_FROM_REPRESENTING_EMAIL)); + metadata.get(MAPI.FROM_REPRESENTING_EMAIL)); + + assertEquals("c=TW;a= ;p=FT GROUP;l=FTM02-110329085248Z-89735\u0000", + metadata.get(MAPI.SUBMISSION_ID)); + assertEquals("", + metadata.get(MAPI.INTERNET_MESSAGE_ID)); + assertTrue(metadata.get(MAPI.SUBMISSION_ACCEPTED_AT_TIME).startsWith("2011-03-29")); + assertTrue(metadata.get("mapi:client-submit-time").startsWith("2011-03-29")); + assertTrue(metadata.get("mapi:message-delivery-time").startsWith("2011-03-29")); + assertTrue(metadata.get("mapi:last-modification-time").startsWith("2011-03-29")); + assertTrue(metadata.get("mapi:creation-time").startsWith("2011-03-29")); } @Test @@ -232,6 +235,11 @@ public void testOutlookForwarded() throws Exception { String content = sw.toString(); assertEquals(2, content.split("").length); assertEquals(2, content.split("<\\/body>").length); + assertEquals("01ccb5408a75b6cf3ad7837949b698499034202313ef000002a160", metadata.get(MAPI.CONVERSATION_INDEX)); + assertEquals("", + metadata.get(MAPI.INTERNET_REFERENCES)); + assertEquals("", + metadata.get(MAPI.IN_REPLY_TO_ID)); } @Test @@ -244,6 +252,11 @@ public void testEmbeddedPath() throws Exception { @Test public void testOutlookHTMLfromRTF() throws Exception { + //test default behavior + List metadataList = getRecursiveMetadata("test-outlook2003.msg"); + assertNotContained("
    New Outlook User
    ", metadataList.get(0).get(TikaCoreProperties.TIKA_CONTENT)); + + //test legacy behavior with the configuration set Metadata metadata = new Metadata(); // Check the HTML version @@ -261,7 +274,7 @@ public void testOutlookHTMLfromRTF() throws Exception { // As the HTML version should have been processed, ensure // we got some of the links String content = sw.toString().replaceAll("[\\r\\n\\t]+", " ").replaceAll(" +", " "); - assertContains("
    New Outlook User
    ", content); + assertNotContained("
    New Outlook User
    ", content); assertContains("designed to help you", content); assertContains( "

    Cached Exchange Mode", @@ -276,19 +289,6 @@ public void testOutlookHTMLfromRTF() throws Exception { // Make sure we don't have nested html docs assertEquals(2, content.split("").length); assertEquals(2, content.split("<\\/body>").length); - - //test configurable behavior - List metadataList = getRecursiveMetadata("test-outlook2003.msg", AUTO_DETECT_PARSER, new Metadata(), - configureDontInjectHeaders(), true); - assertNotContained("

    New Outlook User
    ", metadataList.get(0).get(TikaCoreProperties.TIKA_CONTENT)); - } - - private ParseContext configureDontInjectHeaders() { - ParseContext parseContext = new ParseContext(); - OfficeParserConfig officeParserConfig = new OfficeParserConfig(); - officeParserConfig.setWriteSelectHeadersInBody(false); - parseContext.set(OfficeParserConfig.class, officeParserConfig); - return parseContext; } @Test @@ -300,13 +300,48 @@ public void testMAPIMessageClasses() throws Exception { } testMsgClass("NOTE", getXML("test-outlook2003.msg").metadata); - } private void testMsgClass(String expected, Metadata metadata) { assertTrue(expected.equalsIgnoreCase( - metadata.get(Office.MAPI_MESSAGE_CLASS).replaceAll("_", "")), - expected + ", but got: " + metadata.get(Office.MAPI_MESSAGE_CLASS)); + metadata.get(MAPI.MESSAGE_CLASS).replaceAll("_", "")), + expected + ", but got: " + metadata.get(MAPI.MESSAGE_CLASS)); + } + + @Test + public void testAppointmentExtendedMetadata() throws Exception { + OfficeParserConfig officeParserConfig = new OfficeParserConfig(); + officeParserConfig.setExtractExtendedMsgProperties(true); + ParseContext parseContext = new ParseContext(); + parseContext.set(OfficeParserConfig.class, officeParserConfig); + + List metadataList = getRecursiveMetadata("testMSG_Appointment.msg", parseContext); + Metadata m = metadataList.get(0); + assertTrue(m.get("mapi:raw:PidLidAppointmentEndWhole").contains("2017-02-28T19")); + assertTrue(m.get("mapi:raw:PidLidAppointmentStartWhole").contains("2017-02-28T18")); + assertTrue(m.get("mapi:raw:PidLidClipStart").contains("2017-02-28T18")); + assertTrue(m.get("mapi:raw:PidLidClipEnd").contains("2017-02-28T19")); + assertTrue(m.get("mapi:raw:PidLidCommonStart").contains("2017-02-28T18")); + assertTrue(m.get("mapi:raw:PidLidCommonEnd").contains("2017-02-28T19")); + assertTrue(m.get("mapi:raw:PidLidReminderSignalTime").contains("4501-01-01T00")); + assertTrue(m.get("mapi:raw:PidLidReminderTime").contains("2017-02-28T18")); + assertTrue(m.get("mapi:raw:PidLidValidFlagStringProof").contains("2017-02-28T18:42")); + assertEquals("0", m.get("mapi:raw:PidLidAppointmentSequence")); + assertEquals("false", m.get("mapi:raw:PidLidRecurring")); + } + + @Test + public void testTaskExtendedMetadata() throws Exception { + OfficeParserConfig officeParserConfig = new OfficeParserConfig(); + officeParserConfig.setExtractExtendedMsgProperties(true); + ParseContext parseContext = new ParseContext(); + parseContext.set(OfficeParserConfig.class, officeParserConfig); + List metadataList = getRecursiveMetadata("testMSG_Task.msg", parseContext); + Metadata m = metadataList.get(0); + assertTrue(m.get("mapi:raw:PidLidToDoOrdinalDate").contains("2017-02-28T18:44")); + assertTrue(m.get("mapi:raw:PidLidValidFlagStringProof").contains("2017-02-28T18:44")); + assertEquals("0", m.get("mapi:raw:PidLidTaskActualEffort")); + assertEquals("false", m.get("mapi:raw:PidLidTeamTask")); } @Test