VBA (Access 2003)를 사용하고 있으며 IFilter 메커니즘을 사용하여 파일의 텍스트 콘텐츠를 추출하고 싶습니다. 나는 비교적 쉽게 보이게 몇 가지 멋진 C++ sample code를 찾았지만 그 순간에 난 일을 LoadIFilter에 DLL 호출을받을 수 없습니다VB에서 IFilter 사용
Declare Function LoadIFilter Lib "query.dll" (ByVal pwcsPath As String, _
ByVal pUnkOuter As Object, ByRef ppIFilter As Object) As Integer
Public Sub DocEx()
Dim ifilter As Object
Dim hresult As Integer
hresult = LoadIFilter("C:\temp\test.txt" & Chr(0), Nothing, ifilter)
Debug.Print hresult
End Sub
HRESULT 항상 E_FAIL (= 16,389)이다.
DLL 구문이 잘못 되었습니까? 아니면 다른 것입니까?
편집 할 내용 : 결국이 문제를 해결하지 못했습니다. 그러나 필자의 유일한 목적은 내부 스크립트를 해킹하는 것이므로 Microsoft Platform SDK와 함께 번들로 제공되는 FiltDump.exe 도구를 호출하고 해당 출력을 구문 분석하는 것으로 충분합니다. (약간 어색하지만, 특히 FiltDump.exe가 stderr 대신 stdout에 에러 메시지를 출력하라고 주장한 이후로 특히 그렇습니다!)
좋은 생각, 고마워. 비교할 올바른 구현을 위해 Windows SDK에서 테스트 도구를 찾았습니다. http://msdn.microsoft.com/en-us/library/ms692563(VS.85).aspx –