カスタム プロパティの定義
WIA ミニドライバーでカスタム プロパティを定義する必要がある場合、WIA_PRIVATE_DEVPROP プロパティをカスタム ルート項目プロパティに使用し、WIA_PRIVATE_ITEMPROP プロパティを他の項目プロパティに使用する必要があります。 これらの定数は、wiadef.h で定義されています。
以下のコード例は、3 つのルート項目プロパティの定義を示しています。 最初のカスタム ルート項目プロパティ (CUSTOM_ROOT_PROP_1) のプロパティ ID は、WIA_PRIVATE_DEVPROP で定義されます。 追加のルート項目プロパティのプロパティ ID は、WIA_PRIVATE_DEVPROP + 1、WIA_PRIVATE_DEVPROP + 2 などで定義されます。 追加のカスタム ルート項目プロパティが必要な場合、パターンを続行できます。
#define CUSTOM_ROOT_PROP_1 WIA_PRIVATE_DEVPROP
#define CUSTOM_ROOT_PROP_2 (WIA_PRIVATE_DEVPROP + 1)
#define CUSTOM_ROOT_PROP_3 (WIA_PRIVATE_DEVPROP + 2)
次の例は、3 つのカスタム子項目プロパティとプロパティ ID の定義を示しています。 最初のカスタム子項目プロパティ (CUSTOM_CHILD_PROP_1) のプロパティ ID は、WIA_PRIVATE_ITEMPROP の観点から定義されます。 追加の子項目プロパティのプロパティ ID は、WIA_PRIVATE_ITEMPROP + 1 などの観点で定義されます。 上記と同様、これらのカスタム子項目プロパティがさらに必要な場合、パターンを続行できます。
#define CUSTOM_CHILD_PROP_1 WIA_PRIVATE_ITEMPROP
#define CUSTOM_CHILD_PROP_2 (WIA_PRIVATE_ITEMPROP + 1)
#define CUSTOM_CHILD_PROP_3 (WIA_PRIVATE_ITEMPROP + 2)
カスタム WIA プロパティには、カスタム プロパティ ID に関連付けられているカスタム プロパティ名が必要です。 以下のコード例は、3 つのカスタム ルート項目プロパティ名の定義を示しています。 (これらのプロパティ名は、前の例で作成したカスタム プロパティ ID と共に使用されます。CUSTOM_ROOT_PROP_1_STR に含まれるカスタム プロパティ名は、カスタム ルート項目のプロパティ ID CUSTOM_ROOT_PROP_1 に関連付けられます)。
#define CUSTOM_ROOT_PROP_1_STR L"My First Custom Root Item Property"
#define CUSTOM_ROOT_PROP_2_STR L"My Second Custom Root Item Property"
#define CUSTOM_ROOT_PROP_3_STR L"My Third Custom Root Item Property"
注 WIA プロパティ名は複数の言語でローカライズされていません。 これは、プロパティ ID またはプロパティ名を使用してアプリケーションによって WIA プロパティを読み取ることができるためです。 名前が使用される場合、プロパティ ID と同様に定数にする必要があります。