POINTER_64가 정의되지 않아서 생기는 에러인 듯하다.
winnt.h에 다음 한 줄을 추가하면 해결된다.

#define POINTER_64 __ptr64 // 추가
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;

그 외 잡다한 변수선언 관련 컴파일에러들은 Microsoft가 지키지 않던 C++ scope 관련 표준들을 최근에 와서 지킴으로써 발생하는 것들이 많아보인다.
무조건 선언해주도록 하자. -_-

몇 번 씩 당했던 문제들이지만 그 솔루션을 외우고 있지는 않고... 다행인 것은 다시 구글에서 찾는 시간이 매번 조금씩 짧아져간다는 것이다. ㅜㅜ

결국 DirectShow 관련 일은 개발환경 세팅이 반이라는 결론에 다다른다 (뭐 다른 일들도 크게 다르지 않지만).


[2009.2.24 또 당해서 추가함]
VS2005에서 Microsoft DirectX 9.0 SDK (February 2005) 설치 후 BaseClasses 컴파일 시 ctlutil.h에서 C4430 default int 문제가 발생함 - 이것은 각개 격파해야 하는 문제이나, 지난 번의 "C4430 = winnt.h 수정" 학습효과 때문에 한참 헤매다 결국 약 30분 간 의식을 잃음. 다음과 같이 각개 격파하자!

(ctlutil.h)
COARefTime(LONG);
operator=(LONG); // C4430
(LONG)operator = (LONG);

(wxdebug.cpp)
//static g_dwLastRefresh = 0; C4430
static DWORD g_dwLastRefresh = 0;

(outputq.cpp)
//for (long iDone = 0; C2065
long iDone;
for(iDone = 0;

(winutil.cpp)
int Count; // C2065
for (Count = 0;Count < Result;Count++) { // C2065