D言語 Part25
■ このスレッドは過去ログ倉庫に格納されています
0497デフォルトの名無しさん
2010/11/07(日) 14:22:02ここのWin32APIのポーティングなんだけど
IUnknown継承したインターフェイスをCoCreateInstanceして
QueryInterfaceすると実行時に落ちる
調べたら継承先インターフェイスでQueryInterface、AddRef、Releaseを定義してあると
IUnknownの実装がIShellFolderに受け継がれないっぽい。
3つの定義コメントアウトしたらちゃんと動いた。
これってD2のバグ?やり方がおかしいだけ?
それともPhobosのIUnknown使って全部書き直せって事?
×interface IShellFolder : public IUnknown{
HRESULT QueryInterface(REFIID,PVOID*);
ULONG AddRef();
ULONG Release();
HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG);
HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*);
:
}
○interface IShellFolder : public IUnknown{
//HRESULT QueryInterface(REFIID,PVOID*);
//ULONG AddRef();
//ULONG Release();
HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG);
HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*);
:
}
■ このスレッドは過去ログ倉庫に格納されています