2017-04-12 1 views
0

J'ai exactement le même problème que mentionné dans this après.Impossible de créer StorageItem dans Outlook Add-In/OutlookSpy décoder valeur hexadécimale

L'utilisateur @Dmitry Streblechenko a donné une réponse:

Lire la propriété PR_MDB_PROVIDER (nom DASL http://schemas.microsoft.com/mapi/proptag/0x34140102) en utilisant PropertyAccessor.GetProperty. Le tableau de 16 octets renvoyé sera spécifique à chaque type de magasin. Par exemple. pour un magasin Exchange, ce sera pbExchangeProviderPrimaryUserGuid (5494A1C0297F101BA58708002B2A2517). Jetez un coup d'œil à n'importe quel objet du magasin en question en utilisant OutlookSpy (cliquez sur IMessage, IMAPIFolder ou IMsgStore) pour voir la propriété PR_MDB_PROVIDER.

  1. Problème: Le lien est mort. Problème: Je n'ai absolument aucune idée d'où trouver une documentation sur les hexdumps.

Par exemple, j'ai les valeurs suivantes sur la propriété PR_MDB_PROVIDER:

  • Propriété: PR_MDB_PROVIDER
  • Type: PT_BINARY
  • Valeur: cb:16, lpb: 54 94 A1 C0 29 7F 10 1B A5 87 08 00 2B 2A 25 17

Que dois-je faire avec ce hexdump? Où est la documentation pour cela?

l'utilisateur dans le poste mentioned avait la hexdump suivante:

cb: 16, LPB: E9 2F EB 75 96 50 44 86 83 B8 7D E5 22 AA 49 48

et @Dmitry Streblechenko lui a dit que cela signifie:

il est un fournisseur IMAP4 dans Outlook 2013

D'où cette information provient-elle? Ces chiffres n'ont aucun sens pour moi.

Ma question est, y a-t-il une documentation ce que le values dans le hexdump signifie? Ou est le développeur de OutlookSpy le seul qui peut m'aider? Je ne pouvais pas trouver toute la documentation ..

Merci beaucoup

Répondre

1

"http://schemas.microsoft.com/mapi/proptag/0x34140102" n'est pas un lien, il est le nom de la propriété DASL que vous devez passer à GetProperty. Certaines valeurs de la propriété PR_MDB_PROVIDER sont documentées (p. Ex. PST, boîte aux lettres Exchange, délégué, dossiers publics), d'autres (comme IMAP4) ne le sont pas, mais elles ne changent jamais - il s'agit simplement d'une valeur aléatoire codée en dur. lorsque le fournisseur de magasin particulier est développé. Il ne change jamais après.

Récupérez la propriété en utilisant PropertyAccessor (vous obtiendrez un tableau d'octets) et comparez-la avec vos valeurs codées en dur pour déterminer le type de magasin. Si vous utilisez Redemption est une option, il le fait pour vous et expose le RDOStore. StoreKind propriété:

skUnknown = 0; 
skPstAnsi = 1; 
skPstUnicode = 2; 
skPrimaryExchangeMailbox = 3; 
skDelegateExchangeMailbox = 4; 
skPublicFolders = 5 
skBCM = 6 
skIMAP4 = 7 
skHotmail = 8 
skEAS = 9 
+0

Merci encore Dmitry! –