Access Violation

segunda-feira, janeiro 23, 2006

Oque esta errado com este código (Parte III)
Dando continuidade a série "Oque esta errado com este código?" apresento o terceito artigo.

Neste post o problema esta relacionado com COM (Component Object Model) e com o MSXML. Na realidade neste exemplo temos dois problemas.

Prepare suas ferramentas e boa sorte!
 0: #define _WIN32_WINNT 0x500
1:
2: #include <windows.h>
3: #include <atlbase.h>
4: #include <atlcom.h>
5:
6: #import "msxml3.dll" raw_interfaces_only
7:
8: void main()
9: {
10: CoInitializeEx(NULL, COINIT_MULTITHREADED);
11: CComPtr<MSXML2::IXMLDOMDocument> doc;
12:
13: HRESULT hr;
14: hr = doc.CoCreateInstance(__uuidof(MSXML2::DOMDocument30));
15: if (SUCCEEDED(hr))
16: {
17: VARIANT_BOOL sucesso;
18: hr=doc->load(CComVariant(L"c:\\Teste.xml"), &sucesso);
19: if (SUCCEEDED(hr) && sucesso != VARIANT_FALSE)
20: {
21: CComPtr<MSXML2::IXMLDOMNode> item;
22: hr = doc->selectSingleNode(CComBSTR(L"//a/b/c"), &item);
23: if (SUCCEEDED(hr))
24: {
25: // Faz alguma coisa com o nó apontado por 'item'.
26: }
27: }
28: }
29:
30: CoUninitialize();
31: }




[+/-] mostrar/esconder este post