다음을 통해 공유


가상 함수 테이블의 주소 가져오기

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; 
}