2012-06-06 41 views
0

我使用Windows中的樣本來學習DirectShow的,並在一類我有這樣的代碼在頭文件:GUID的解釋 - C++

struct __declspec(uuid("{71771540-2017-11cf-ae26-0020afd79767}")) CLSID_TextureRenderer; 

而此行的cpp文件:

CTextureRenderer::CTextureRenderer(LPUNKNOWN unk, HRESULT *hr): CBaseVideoRenderer(__uuidof(CLSID_TextureRenderer), "Texture Renderer", unk, hr) 

你能向我解釋一切事情是如何協同工作的嗎?

感謝了很多。

+0

第一個是類id的定義,另一個從命名結構中提取uuid(使用Microsoft擴展)。你能更具體地瞭解你不明白的東西嗎? – bmm6o

回答

2

這是對C++的Microsoft Visual C++擴展,以幫助COM編程。 __declspec(uuid())聯繫人GUID結構與類,和__uuidof產生給定類型/表達式的值GUID