HTML 문서의 데이터를 구문 분석하는 데 사용한 응용 프로그램이 있습니다. 이 응용 프로그램은 IID_IPersistStreamInit에 대한 QueryInterface 메서드가 실패하기 시작한 이번 주까지 몇 년 동안 작동했습니다. QueryInterface에 대한 호출은 SUCCEEDED (hr) 테스트에 실패한 -2147467262를 반환합니다. 왜이 일을 그만 두겠습니까?IID_IPersistStreamInit에 대한 QueryInterface 메서드가 작동하지 않습니다.
감사합니다, 어떤 시점에서 웨이드
if (!myIE->IsValid())
return;
HRESULT hr;
LPDISPATCH lpDispatch = NULL;
LPOLECOMMANDTARGET lpOleCommandTarget = NULL;
LPPERSISTSTREAM lpPersistStream = NULL;
lpDispatch = myIE->GetHtmlDocument();
ASSERT(lpDispatch);
if (lpDispatch == NULL)
AfxMessageBox("Couldn't get IHTMLDocument2 interface!");
else
{
hr = lpDispatch->QueryInterface(IID_IPersistStreamInit, (void**) &lpPersistStream);
if (SUCCEEDED(hr) && lpPersistStream != NULL)
로컬 컴퓨터의 http://www.google.com/ 또는 HTML 문서와 같은 웹 페이지로 이동합니다. 페이지가로드 될 때까지 기다렸다가 버튼을 눌러 소스를 보거나 저장합니다. 시도한 모든 파일에서 QueryInterface 호출이 실패합니다. 아마도 IE 업데이트가 금요일과 월요일 사이에 내 컴퓨터에 푸시 된 것 같습니다. 이 프로그램을 위반했습니다. –
GetHtmlDocument()에 대한 호출이 성공적이라고 추가해야합니다. –
이것은 어리석은 일이긴하지만 여전히 - 일부 업데이트로 인해 IE가 내 워크 스테이션에서 작동하지 않습니다. 재부팅하면 해결됩니다. 문제가 발생한 후에 워크 스테이션을 다시 부팅 해 보셨습니까? – eran