1.
IUnknownクラスを継承したIEnumPStoreItemsクラスの宣言

2.
HRESULTというのはtypedefされた型名
(unsigned long celt, LPWSTR * rgelt, unsigned long * pceltFetched) を引数として渡して
HRESULTを返すNextという名前の関数

引数として一緒に返すってなんやねん

3.
戻り値の型がHRESULT型の仮想関数の宣言
この場合は =0; があるので純粋仮想関数