using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using PortableDeviceApiLib;
namespace WpdDemo
{
public partial class FormMain : Form
{
public const uint WPD_OBJECT_ID = 2;
public const uint WPD_OBJECT_PARENT_ID = 3;
public const uint WPD_OBJECT_NAME = 4;
public const uint WPD_OBJECT_CONTENT_TYPE = 7;
public const uint WPD_OBJECT_SIZE = 11;
public const uint WPD_OBJECT_ORIGINAL_FILE_NAME = 12;
public const uint WPD_OBJECT_DATE_CREATED = 18;
public const uint WPD_OBJECT_DATE_MODIFIED = 19;
public const uint WPD_FUNCTIONAL_OBJECT_CATEGORY = 2;
public const uint WPD_CLIENT_NAME = 2;
public const uint WPD_CLIENT_MAJOR_VERSION = 3;
public const uint WPD_CLIENT_MINOR_VERSION = 4;
public const uint WPD_CLIENT_REVISION = 5;
public const uint WPD_RESOURCE_DEFAULT = 0;
public const uint WPD_STORAGE_FREE_SPACE_IN_BYTES = 5;
private PortableDeviceManager deviceManager;
class WPDDevice
{
public string DeviceID;
public string DeviceName;
public PortableDeviceClass DeviceClass;
public override string ToString()
{
return string.Format("WPDデバイス名:{0}\r\n", DeviceName);
}
}
public enum ObjectKind { FOLDER, FILE};
public class PortableDeviceObject
{
public string Id { get; set; }
public string Name { get; set; }
public ObjectKind kind { get; set; }
}
public FormMain()
{
InitializeComponent();
}
private void FormMain_Load(object sender, EventArgs e)
{
init();
}
private void init()
{
deviceManager = new PortableDeviceManager();
deviceManager.RefreshDeviceList();
uint count = 0;
deviceManager.GetDevices(null, ref count);
string[] devicesIDs = new string[count];
WPDDevice[] wpdDevice = new WPDDevice[count];
deviceManager.GetDevices(devicesIDs, ref count);
for (int i = 0; i < count; i++) {
wpdDevice[i] = new WPDDevice();
wpdDevice[i].DeviceID = devicesIDs[i];
}
IPortableDeviceValues clientInfo = (IPortableDeviceValues)new PortableDeviceTypesLib.PortableDeviceValuesClass();
for (int i = 0; i < count; i++) {
wpdDevice[i].DeviceClass = new PortableDeviceClass();
wpdDevice[i].DeviceClass.Open(wpdDevice[i].DeviceID, clientInfo);
IPortableDeviceContent content;
wpdDevice[i].DeviceClass.Content(out content);
IPortableDeviceProperties properties;
content.Properties(out properties);
IPortableDeviceValues propertyValues;
properties.GetValues("DEVICE", null, out propertyValues);
//wpdDevice[i].DeviceClass.Close();
string name;
_tagpropertykey property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = 4;
try {
propertyValues.GetStringValue(property, out name);
wpdDevice[i].DeviceName = name;
}
catch (System.Runtime.InteropServices.COMException) {
wpdDevice[i].DeviceName = "なし";
}
comboBox_device.Items.Add(wpdDevice[i]);
}
}
private void comboBox_device_SelectedIndexChanged(object sender, EventArgs e)
{
DeviceChanged();
}
private void DeviceChanged()
{
WPDDevice device = (WPDDevice)comboBox_device.SelectedItem;
IPortableDeviceContent content;
device.DeviceClass.Content(out content);
IPortableDeviceProperties properties;
content.Properties(out properties);
IEnumPortableDeviceObjectIDs objectIDs;
string FolderID= "DEVICE";
content.EnumObjects(0, FolderID, null, out objectIDs);
listView1.Items.Clear();
string objectID;
uint fetched = 0;
while (true) {
objectIDs.Next(1, out objectID, ref fetched);
if (fetched <= 0) break;
PortableDeviceObject currentObject = WrapObject(properties, objectID);
ListViewItem li = listView1.Items.Add(currentObject.Name);
switch (currentObject.kind) {
case ObjectKind.FILE:
li.SubItems.Add("ファイル");
break;
case ObjectKind.FOLDER:
li.SubItems.Add("フォルダ");
break;
}
li.SubItems.Add(currentObject.Id);
}
}
private void listView1_DoubleClick(object sender, EventArgs e)
{
string FolderID = listView1.Items[listView1.SelectedItems[0].Index].SubItems[2].Text;
WPDDevice device = (WPDDevice)comboBox_device.SelectedItem;
IPortableDeviceContent content;
device.DeviceClass.Content(out content);
IPortableDeviceProperties properties;
content.Properties(out properties);
IEnumPortableDeviceObjectIDs objectIDs;
content.EnumObjects(0, FolderID, null, out objectIDs);
listView1.Items.Clear();
string objectID;
uint fetched = 0;
while (true) {
objectIDs.Next(1, out objectID, ref fetched);
if (fetched <= 0) break;
PortableDeviceObject currentObject = WrapObject(properties, objectID);
ListViewItem li = listView1.Items.Add(currentObject.Name);
switch (currentObject.kind) {
case ObjectKind.FILE:
li.SubItems.Add("ファイル");
break;
case ObjectKind.FOLDER:
li.SubItems.Add("フォルダ");
break;
}
li.SubItems.Add(currentObject.Id);
}
}
public static PortableDeviceObject WrapObject(IPortableDeviceProperties properties, string objectID)
{
IPortableDeviceKeyCollection keys;
properties.GetSupportedProperties(objectID, out keys);
IPortableDeviceValues values;
properties.GetValues(objectID, keys, out values);
// Get the name of the object
string name;
_tagpropertykey property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_NAME;
try {
values.GetStringValue(property, out name);
}
catch (System.Runtime.InteropServices.COMException exc) {
name = "(non name)";
}
// Get the original name of the object
string OriginalName;
property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_ORIGINAL_FILE_NAME;
try {
values.GetStringValue(property, out OriginalName);
}
catch (Exception e) {
OriginalName = "";
}
// Get the type of the object
Guid contentType;
property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_CONTENT_TYPE;
try {
values.GetGuidValue(property, out contentType);
}
catch (System.Runtime.InteropServices.COMException exc) {
PortableDeviceObject obj = new PortableDeviceObject();
obj.Id = null;
obj.Name = name;
obj.kind = ObjectKind.FOLDER;
return obj;
}
Guid folderType = new Guid(0x27E2E392, 0xA111, 0x48E0, 0xAB, 0x0C, 0xE1, 0x77, 0x05, 0xA0, 0x5F, 0x85);
Guid functionalType = new Guid(0x99ED0160, 0x17FF, 0x4C44, 0x9D, 0x98, 0x1D, 0x7A, 0x6F, 0x94, 0x19, 0x21);
if (contentType == folderType || contentType == functionalType) {
PortableDeviceObject fobj = new PortableDeviceObject();
fobj.Id = objectID;
fobj.Name = name;
fobj.kind = ObjectKind.FOLDER;
return fobj;
}
if (OriginalName.CompareTo("") != 0) {
name = OriginalName;
}
PortableDeviceObject robj = new PortableDeviceObject();
robj.Id = objectID;
robj.Name = name;
robj.kind = ObjectKind.FILE;
return robj;
}
}
}
private void DeviceChanged()
{
WPDDevice device = (WPDDevice)comboBox_device.SelectedItem;
IPortableDeviceContent content;
device.DeviceClass.Content(out content);
IPortableDeviceProperties properties;
content.Properties(out properties);
IEnumPortableDeviceObjectIDs objectIDs;
string FolderID = "DEVICE";
content.EnumObjects(0, FolderID, null, out objectIDs);
listView1.Items.Clear();
string objectID;
uint fetched = 0;
while (true) {
objectIDs.Next(1, out objectID, ref fetched);
if (fetched <= 0) break;
PortableDeviceObject currentObject = WrapObject(properties, objectID);
ListViewItem li = listView1.Items.Add(currentObject.Name);
switch (currentObject.kind) {
case ObjectKind.FILE:
li.SubItems.Add("ファイル");
break;
case ObjectKind.FOLDER:
li.SubItems.Add("フォルダ");
break;
}
li.SubItems.Add(currentObject.Id);
}
}
private void listView1_DoubleClick(object sender, EventArgs e)
{
string FolderID = listView1.Items[listView1.SelectedItems[0].Index].SubItems[2].Text;
WPDDevice device = (WPDDevice)comboBox_device.SelectedItem;
IPortableDeviceContent content;
device.DeviceClass.Content(out content);
IPortableDeviceProperties properties;
content.Properties(out properties);
IEnumPortableDeviceObjectIDs objectIDs;
content.EnumObjects(0, FolderID, null, out objectIDs);
listView1.Items.Clear();
string objectID;
uint fetched = 0;
while (true) {
objectIDs.Next(1, out objectID, ref fetched);
if (fetched <= 0) break;
PortableDeviceObject currentObject = WrapObject(properties, objectID);
ListViewItem li = listView1.Items.Add(currentObject.Name);
switch (currentObject.kind) {
case ObjectKind.FILE:
li.SubItems.Add("ファイル");
break;
case ObjectKind.FOLDER:
li.SubItems.Add("フォルダ");
break;
}
li.SubItems.Add(currentObject.Id);
}
}
0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C
を利用します。pidには取得する情報に応じた値を設定します。オブジェクトの名前を取得するため、WPD_OBJECT_NAME を与えます。public static PortableDeviceObject WrapObject(IPortableDeviceProperties properties, string objectID)
{
IPortableDeviceKeyCollection keys;
properties.GetSupportedProperties(objectID, out keys);
IPortableDeviceValues values;
properties.GetValues(objectID, keys, out values);
// Get the name of the object
string name;
_tagpropertykey property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_NAME;
try {
values.GetStringValue(property, out name);
}
catch (System.Runtime.InteropServices.COMException exc) {
name = "(non name)";
}
// Get the original name of the object
string OriginalName;
property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_ORIGINAL_FILE_NAME;
try {
values.GetStringValue(property_n, out OriginalName);
}
catch (Exception e) {
OriginalName = "";
}
// Get the type of the object
Guid contentType;
property = new _tagpropertykey();
property.fmtid = new Guid(0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C);
property.pid = WPD_OBJECT_CONTENT_TYPE;
try {
values.GetGuidValue(property, out contentType);
}
catch (System.Runtime.InteropServices.COMException exc) {
PortableDeviceObject obj = new PortableDeviceObject();
obj.Id = null;
obj.Name = name;
obj.kind = ObjectKind.FOLDER;
return obj;
}
Guid folderType = new Guid(0x27E2E392, 0xA111, 0x48E0, 0xAB, 0x0C, 0xE1, 0x77, 0x05, 0xA0, 0x5F, 0x85);
Guid functionalType = new Guid(0x99ED0160, 0x17FF, 0x4C44, 0x9D, 0x98, 0x1D, 0x7A, 0x6F, 0x94, 0x19, 0x21);
if (contentType == folderType || contentType == functionalType) {
PortableDeviceObject fobj = new PortableDeviceObject();
fobj.Id = objectID;
fobj.Name = name;
fobj.kind = ObjectKind.FOLDER;
return fobj;
}
if (OriginalName.CompareTo("") != 0) {
name = OriginalName;
}
PortableDeviceObject robj = new PortableDeviceObject();
robj.Id = objectID;
robj.Name = name;
robj.kind = ObjectKind.FILE;
return robj;
}
名称 | GUID | PID | 取得する値 |
---|---|---|---|
WPD_OBJECT_ID | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 2 | オブジェクトのID |
WPD_OBJECT_PARENT_ID | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 3 | 親オブジェクトのID |
WPD_OBJECT_NAME | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 4 | オブジェクトの名称 |
WPD_OBJECT_CONTENT_TYPE | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 7 | オブジェクトのコンテンツタイプ |
WPD_OBJECT_SIZE | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 11 | オブジェクトのサイズ |
WPD_OBJECT_ORIGINAL_FILE_NAME | 0xEF6B490D, 0x5CD8, 0x437A, 0xAF, 0xFC, 0xDA, 0x8B, 0x60, 0xEE, 0x4A, 0x3C | 12 | オブジェクトのオリジナルファイル名 |
WPD_RESOURCE_DEFAULT | 0xE81E79BE, 0x34F0, 0x41BF, 0xB5, 0x3F, 0xF1, 0xA0, 0x6A, 0xE8, 0x78, 0x42 | 0 | オブジェクトのリソース |
WPD_DEVICE_FRIENDLY_NAME | 0x26D4979A, 0xE643, 0x4626, 0x9E, 0x2B, 0x73, 0x6D, 0xC0, 0xC9, 0x2F, 0xDC | 12 | オブジェクトのフレンドり名 |
型 | GUID |
---|---|
WPD_CONTENT_TYPE_FOLDER | 0x27E2E392, 0xA111, 0x48E0, 0xAB, 0x0C, 0xE1, 0x77, 0x05, 0xA0, 0x5F, 0x85 |
WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT | 0x99ED0160, 0x17FF, 0x4C44, 0x9D, 0x98, 0x1D, 0x7A, 0x6F, 0x94, 0x19, 0x21 |
WPD_CONTENT_TYPE_GENERIC_FILE | 0x0085E0A6, 0x8D34, 0x45D7, 0xBC, 0x5C, 0x44, 0x7E, 0x59, 0xC7, 0x3D, 0x48 |
WPD_FUNCTIONAL_CATEGORY_STORAGE | 0x23F05BBC, 0x15DE, 0x4C2A, 0xA5, 0x5B, 0xA9, 0xAF, 0x5C, 0xE4, 0x12, 0xEF |
型 | GUID |
---|---|
GUID_DEVINTERFACE_WPD | 0x6AC27878, 0xA6FA, 0x4155, 0xBA, 0x85, 0xF9, 0x8F, 0x49, 0x1D, 0x4F, 0x33 |
GUID_DEVINTERFACE_WPD_PRIVATE | 0xBA0C718F, 0x4DED, 0x49B7, 0xBD, 0xD3, 0xFA, 0xBE, 0x28, 0x66, 0x12, 0x11 |
WPD_EVENT_NOTIFICATION | 0x2BA2E40A, 0x6B4C, 0x4295, 0xBB, 0x43, 0x26, 0x32, 0x2B, 0x99, 0xAE, 0xB2 |
WPD_EVENT_OBJECT_ADDED | 0xA726DA95, 0xE207, 0x4B02, 0x8D, 0x44, 0xBE, 0xF2, 0xE8, 0x6C, 0xBF, 0xFC |
WPD_EVENT_OBJECT_REMOVED | 0xBE82AB88, 0xA52C, 0x4823, 0x96, 0xE5, 0xD0, 0x27, 0x26, 0x71, 0xFC, 0x38 |
WPD_EVENT_OBJECT_UPDATED | 0x1445A759, 0x2E01, 0x485D, 0x9F, 0x27, 0xFF, 0x07, 0xDA, 0xE6, 0x97, 0xAB |
WPD_EVENT_DEVICE_RESET | 0x7755CF53, 0xC1ED, 0x44F3, 0xB5, 0xA2, 0x45, 0x1E, 0x2C, 0x37, 0x6B, 0x27 |
WPD_EVENT_DEVICE_CAPABILITIES_UPDATED | 0x36885AA1, 0xCD54, 0x4DAA, 0xB3, 0xD0, 0xAF, 0xB3, 0xE0, 0x3F, 0x59, 0x99 |
WPD_EVENT_STORAGE_FORMAT | 0x3782616B, 0x22BC, 0x4474, 0xA2, 0x51, 0x30, 0x70, 0xF8, 0xD3, 0x88, 0x57 |
WPD_EVENT_OBJECT_TRANSFER_REQUESTED | 0x8D16A0A1, 0xF2C6, 0x41DA, 0x8F, 0x19, 0x5E, 0x53, 0x72, 0x1A, 0xDB, 0xF2 |
WPD_EVENT_DEVICE_REMOVED | 0xE4CBCA1B, 0x6918, 0x48B9, 0x85, 0xEE, 0x02, 0xBE, 0x7C, 0x85, 0x0A, 0xF9 |
WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT | 0x99ED0160, 0x17FF, 0x4C44, 0x9D, 0x98, 0x1D, 0x7A, 0x6F, 0x94, 0x19, 0x21 |
WPD_CONTENT_TYPE_FOLDER | 0x27E2E392, 0xA111, 0x48E0, 0xAB, 0x0C, 0xE1, 0x77, 0x05, 0xA0, 0x5F, 0x85 |
WPD_CONTENT_TYPE_IMAGE | 0xef2107d5, 0xa52a, 0x4243, 0xa2, 0x6b, 0x62, 0xd4, 0x17, 0x6d, 0x76, 0x03 |
WPD_CONTENT_TYPE_DOCUMENT | 0x680ADF52, 0x950A, 0x4041, 0x9B, 0x41, 0x65, 0xE3, 0x93, 0x64, 0x81, 0x55 |
WPD_CONTENT_TYPE_CONTACT | 0xEABA8313, 0x4525, 0x4707, 0x9F, 0x0E, 0x87, 0xC6, 0x80, 0x8E, 0x94, 0x35 |
WPD_CONTENT_TYPE_CONTACT_GROUP | 0x346B8932, 0x4C36, 0x40D8, 0x94, 0x15, 0x18, 0x28, 0x29, 0x1F, 0x9D, 0xE9 |
WPD_CONTENT_TYPE_AUDIO | 0x4AD2C85E, 0x5E2D, 0x45E5, 0x88, 0x64, 0x4F, 0x22, 0x9E, 0x3C, 0x6C, 0xF0 |
WPD_CONTENT_TYPE_VIDEO | 0x9261B03C, 0x3D78, 0x4519, 0x85, 0xE3, 0x02, 0xC5, 0xE1, 0xF5, 0x0B, 0xB9 |
WPD_CONTENT_TYPE_PLAYLIST | 0x1A33F7E4, 0xAF13, 0x48F5, 0x99, 0x4E, 0x77, 0x36, 0x9D, 0xFE, 0x04, 0xA3 |
WPD_CONTENT_TYPE_MIXED_CONTENT_ALBUM | 0x00F0C3AC, 0xA593, 0x49AC, 0x92, 0x19, 0x24, 0xAB, 0xCA, 0x5A, 0x25, 0x63 |
WPD_CONTENT_TYPE_AUDIO_ALBUM | 0xAA18737E, 0x5009, 0x48FA, 0xAE, 0x21, 0x85, 0xF2, 0x43, 0x83, 0xB4, 0xE6 |
WPD_CONTENT_TYPE_IMAGE_ALBUM | 0x75793148, 0x15F5, 0x4A30, 0xA8, 0x13, 0x54, 0xED, 0x8A, 0x37, 0xE2, 0x26 |
WPD_CONTENT_TYPE_VIDEO_ALBUM | 0x012B0DB7, 0xD4C1, 0x45D6, 0xB0, 0x81, 0x94, 0xB8, 0x77, 0x79, 0x61, 0x4F |
WPD_CONTENT_TYPE_MEMO | 0x9CD20ECF, 0x3B50, 0x414F, 0xA6, 0x41, 0xE4, 0x73, 0xFF, 0xE4, 0x57, 0x51 |
WPD_CONTENT_TYPE_EMAIL | 0x8038044A, 0x7E51, 0x4F8F, 0x88, 0x3D, 0x1D, 0x06, 0x23, 0xD1, 0x45, 0x33 |
WPD_CONTENT_TYPE_APPOINTMENT | 0x0FED060E, 0x8793, 0x4B1E, 0x90, 0xC9, 0x48, 0xAC, 0x38, 0x9A, 0xC6, 0x31 |
WPD_CONTENT_TYPE_TASK | 0x63252F2C, 0x887F, 0x4CB6, 0xB1, 0xAC, 0xD2, 0x98, 0x55, 0xDC, 0xEF, 0x6C |
WPD_CONTENT_TYPE_PROGRAM | 0xD269F96A, 0x247C, 0x4BFF, 0x98, 0xFB, 0x97, 0xF3, 0xC4, 0x92, 0x20, 0xE6 |
WPD_CONTENT_TYPE_GENERIC_FILE | 0x0085E0A6, 0x8D34, 0x45D7, 0xBC, 0x5C, 0x44, 0x7E, 0x59, 0xC7, 0x3D, 0x48 |
WPD_CONTENT_TYPE_CALENDAR | 0xA1FD5967, 0x6023, 0x49A0, 0x9D, 0xF1, 0xF8, 0x06, 0x0B, 0xE7, 0x51, 0xB0 |
WPD_CONTENT_TYPE_GENERIC_MESSAGE | 0xE80EAAF8, 0xB2DB, 0x4133, 0xB6, 0x7E, 0x1B, 0xEF, 0x4B, 0x4A, 0x6E, 0x5F |
WPD_CONTENT_TYPE_NETWORK_ASSOCIATION | 0x031DA7EE, 0x18C8, 0x4205, 0x84, 0x7E, 0x89, 0xA1, 0x12, 0x61, 0xD0, 0xF3 |
WPD_CONTENT_TYPE_CERTIFICATE | 0xDC3876E8, 0xA948, 0x4060, 0x90, 0x50, 0xCB, 0xD7, 0x7E, 0x8A, 0x3D, 0x87 |
WPD_CONTENT_TYPE_WIRELESS_PROFILE | 0x0BAC070A, 0x9F5F, 0x4DA4, 0xA8, 0xF6, 0x3D, 0xE4, 0x4D, 0x68, 0xFD, 0x6C |
WPD_CONTENT_TYPE_MEDIA_CAST | 0x5E88B3CC, 0x3E65, 0x4E62, 0xBF, 0xFF, 0x22, 0x94, 0x95, 0x25, 0x3A, 0xB0 |
WPD_CONTENT_TYPE_SECTION | 0x821089F5, 0x1D91, 0x4DC9, 0xBE, 0x3C, 0xBB, 0xB1, 0xB3, 0x5B, 0x18, 0xCE |
WPD_CONTENT_TYPE_UNSPECIFIED | 0x28D8D31E, 0x249C, 0x454E, 0xAA, 0xBC, 0x34, 0x88, 0x31, 0x68, 0xE6, 0x34 |
WPD_CONTENT_TYPE_ALL | 0x80E170D2, 0x1055, 0x4A3E, 0xB9, 0x52, 0x82, 0xCC, 0x4F, 0x8A, 0x86, 0x89 |
WPD_FUNCTIONAL_CATEGORY_DEVICE | 0x08EA466B, 0xE3A4, 0x4336, 0xA1, 0xF3, 0xA4, 0x4D, 0x2B, 0x5C, 0x43, 0x8C |
WPD_FUNCTIONAL_CATEGORY_STORAGE | 0x23F05BBC, 0x15DE, 0x4C2A, 0xA5, 0x5B, 0xA9, 0xAF, 0x5C, 0xE4, 0x12, 0xEF |
WPD_FUNCTIONAL_CATEGORY_STILL_IMAGE_CAPTURE | 0x613CA327, 0xAB93, 0x4900, 0xB4, 0xFA, 0x89, 0x5B, 0xB5, 0x87, 0x4B, 0x79 |
WPD_FUNCTIONAL_CATEGORY_AUDIO_CAPTURE | 0x3F2A1919, 0xC7C2, 0x4A00, 0x85, 0x5D, 0xF5, 0x7C, 0xF0, 0x6D, 0xEB, 0xBB |
WPD_FUNCTIONAL_CATEGORY_VIDEO_CAPTURE | 0xE23E5F6B, 0x7243, 0x43AA, 0x8D, 0xF1, 0x0E, 0xB3, 0xD9, 0x68, 0xA9, 0x18 |
WPD_FUNCTIONAL_CATEGORY_SMS | 0x0044A0B1, 0xC1E9, 0x4AFD, 0xB3, 0x58, 0xA6, 0x2C, 0x61, 0x17, 0xC9, 0xCF |
WPD_FUNCTIONAL_CATEGORY_RENDERING_INFORMATION | 0x08600BA4, 0xA7BA, 0x4A01, 0xAB, 0x0E, 0x00, 0x65, 0xD0, 0xA3, 0x56, 0xD3 |
WPD_FUNCTIONAL_CATEGORY_NETWORK_CONFIGURATION | 0x48F4DB72, 0x7C6A, 0x4AB0, 0x9E, 0x1A, 0x47, 0x0E, 0x3C, 0xDB, 0xF2, 0x6A |
WPD_FUNCTIONAL_CATEGORY_ALL | 0x2D8A6512, 0xA74C, 0x448E, 0xBA, 0x8A, 0xF4, 0xAC, 0x07, 0xC4, 0x93, 0x99 |
WPD_OBJECT_FORMAT_PROPERTIES_ONLY | 0x30010000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_UNSPECIFIED | 0x30000000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_SCRIPT | 0x30020000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_EXECUTABLE | 0x30030000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_TEXT | 0x30040000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_HTML | 0x30050000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_DPOF | 0x30060000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_AIFF | 0x30070000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_WAVE | 0x30080000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MP3 | 0x30090000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_AVI | 0x300A0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MPEG | 0x300B0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ASF | 0x300C0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_EXIF | 0x38010000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_TIFFEP | 0x38020000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_FLASHPIX | 0x38030000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_BMP | 0x38040000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_CIFF | 0x38050000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_GIF | 0x38070000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_JFIF | 0x38080000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_PCD | 0x38090000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_PICT | 0x380A0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_PNG | 0x380B0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_TIFF | 0x380D0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_TIFFIT | 0x380E0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_JP2 | 0x380F0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_JPX | 0x38100000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_WINDOWSIMAGEFORMAT | 0xB8810000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_WMA | 0xB9010000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_WMV | 0xB9810000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_WPLPLAYLIST | 0xBA100000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_M3UPLAYLIST | 0xBA110000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MPLPLAYLIST | 0xBA120000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ASXPLAYLIST | 0xBA130000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_PLSPLAYLIST | 0xBA140000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ABSTRACT_CONTACT_GROUP | 0xBA060000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ABSTRACT_MEDIA_CAST | 0xBA0B0000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_VCALENDAR1 | 0xBE020000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_VCARD2 | 0xBB820000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_VCARD3 | 0xBB830000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ICON | 0x077232ED, 0x102C, 0x4638, 0x9C, 0x22, 0x83, 0xF1, 0x42, 0xBF, 0xC8, 0x22 |
WPD_OBJECT_FORMAT_XML | 0xBA820000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_AAC | 0xB9030000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_AUDIBLE | 0xB9040000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_FLAC | 0xB9060000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_OGG | 0xB9020000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MP4 | 0xB9820000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MP2 | 0xB9830000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MICROSOFT_WORD | 0xBA830000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MHT_COMPILED_HTML | 0xBA840000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MICROSOFT_EXCEL | 0xBA850000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MICROSOFT_POWERPOINT | 0xBA860000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_NETWORK_ASSOCIATION | 0xB1020000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_X509V3CERTIFICATE | 0xB1030000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_MICROSOFT_WFC | 0xB1040000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_3GP | 0xB9840000, 0xAE6C, 0x4804, 0x98, 0xBA, 0xC5, 0x7B, 0x46, 0x96, 0x5F, 0xE7 |
WPD_OBJECT_FORMAT_ALL | 0xC1F62EB2, 0x4BB3, 0x479C, 0x9C, 0xFA, 0x05, 0xB5, 0xF3, 0xA5, 0x7B, 0x22 |