Как Visual Studio получает информацию о объекте реализации объекта Com Proxy?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как Visual Studio получает информацию о объекте реализации объекта Com Proxy?

Сообщение Anonymous »

// FileDialogDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include
#include
#include

int main()
{

system("pause");
CoInitializeEx(nullptr,COINIT_MULTITHREADED);

IFileOpenDialog* pfd1 = NULL;
IFileDialog* pfd11 = NULL;
HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pfd1));
pfd1->QueryInterface(&pfd11);

IFileSaveDialog* pfsd1 = NULL;
hr = CoCreateInstance(CLSID_FileSaveDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pfsd1));

if (SUCCEEDED(hr))
{
pfd1->SetOptions(FOS_PICKFOLDERS | FOS_FORCEFILESYSTEM);
if (pfd1->Show(NULL) == S_OK) {
IShellItem* pitem = NULL;
if (pfd1->GetResult(&pitem) == S_OK && pitem)
{
LPWSTR resultptr = NULL;
if (pitem->GetDisplayName(SIGDN_FILESYSPATH, &resultptr) == S_OK && resultptr) {

LPCWSTR result = resultptr;
}
pitem->Release();
}
}
pfd1->Release();
}

pfd11->Release();
}
< /code>
отладка этой демонстрации. В автоматическом окне VS можно увидеть, что PFD1 является прокси -объектом < /p>
Я хочу знать информацию о объекте реализации, соответствующую прокси -объекту, полученному CocreateInstance.
VS может сделать это, но я не знаю, как реализовать его с кодом. Кто -нибудь знает, как это решить?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -the-com-p
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»