DEFINE_PROPERTYKEY宏 (propkeydef.h)
用來將格式識別碼封裝 (FMTID) 和屬性標識符, (PID) 成代表屬性索引鍵的 PROPERTYKEY 結構。
語法
void DEFINE_PROPERTYKEY(
name,
l,
w1,
w2,
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
pid
);
參數
name
代表屬性索引 鍵的 PROPERTYKEY 結構名稱。
l
PROPERTYKEY 結構之 fmtid 成員的 Data1 成員值。
w1
PROPERTYKEY 結構之 fmtid 成員的 Data2 成員值。
w2
PROPERTYKEY 結構之 fmtid 成員的 Data3 成員值。
b1
PROPERTYKEY 結構之 fmtid 成員的 Data4[0] 成員值。
b2
PROPERTYKEY 結構之 fmtid 成員的 Data4[1] 成員值。
b3
PROPERTYKEY 結構之 fmtid 成員的 Data4[2] 成員值。
b4
PROPERTYKEY 結構之 fmtid 成員的 Data4[3] 成員值。
b5
PROPERTYKEY 結構之 fmtid 成員的 Data4[4] 成員值。
b6
PROPERTYKEY 結構之 fmtid 成員的 Data4[5] 成員值。
b7
PROPERTYKEY 結構之 fmtid 成員的 Data4[6] 成員值。
b8
PROPERTYKEY 結構之 fmtid 成員的 Data4[7] 成員值。
pid
PID) (屬性識別碼。 建議您將此值設定為 PID_FIRST_USABLE。 可接受大於或等於 2 的任何值。
傳回值
無
備註
DEFINE_PROPERTYKEY宏的定義如下。
#ifdef INITGUID
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY name = \
{ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
#else
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY name
#endif // INITGUID
使用此宏時,您有兩個選項:
- 在您的專案中包含 Initguid.h。 在此情況下,宏會宣告屬性索引鍵名稱,併為您定義屬性索引鍵。 這種方法在大部分情況下都適用,但可能會導致大型複雜專案中的命名衝突。
- 請勿包含 Initguid.h。 相反地,請將您的定義編譯成擴展名為 .lib 的靜態庫檔案。 在此情況下,宏會宣告編譯程式要使用的屬性索引鍵名稱,但您必須在專案的連結器設定中參考 .lib 檔案。 這種方法最適合使用多個模組的大型專案中,因為它可避免選項 1 中所述的命名衝突。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | propkeydef.h |