가상 함수 테이블의 주소 가져오기
[사용자 지정 파일 및 스트림 처리기 이 페이지와 연결된 기능은 레거시 기능입니다. 은(는)MediaStreamSource 클래스에 의해 대체되었습니다. MediaStreamSource 클래스 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 사용자 지정 파일 및 스트림 처리기 대신 MediaStreamSource 클래스 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
C 프로그래밍 언어로 작성된 애플리케이션에서 NewBall 함수를 사용하여 IAVIStreamVtbl 구조체의 주소를 검색할 수 있습니다. 이 함수는 IAVIStreamVtbl대한 포인터를 포함하는 구조체의 주소를 반환합니다. IAVIStreamVtbl 포인터 다음의 정보는 AVIBall에서 내부적으로 사용되는 데이터를 지정합니다. 스트림 처리기는 IAVIStreamVtbl 포인터 후에 자체 정보를 추가할 수 있습니다. 이 정보는 스트림 처리기에 대한 후속 호출에서 반환됩니다.
PAVISTREAM WINAPI NewBall(VOID)
{
PAVIBALL pball;
pball = (PAVIBALL) GlobalAllocPtr(GHND, sizeof(AVIBALL));
if (!pball)
return 0;
pball->lpvtbl = &AVIBallHandler;
pball->lpvtbl->Create((PAVISTREAM) pball, 0, 0);
return (PAVISTREAM) pball;
}