共用方式為


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 的任何值。

注意 0 和 1 的值是保留的,不應使用。
 

傳回值

備註

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 中所述的命名衝突。
在沒有包含 Initguid.h 的情況下使用宏,而不參考連結庫檔案會引發LNK2001連結器錯誤。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 propkeydef.h