2012-01-16 5 views
1

지금까지 봤지만 .dll 파일 당 하나의 플러그인 만있을 수 있습니다. 맞습니까? 브라우저는 NP_GetEntryPoints, NP_InitializeNP_Shutdown을 dll 당 "한 번"만 호출합니다. 맞습니까?NPAPI를 사용하여 하나의 DLL에 여러 개의 플러그인을 만들 수 있습니까?

내가 목표로하는 것은 하나의 동적 라이브러리 에 여러 개의 플러그인을 만드는 것입니다. 그게 가능 한가요?

+1

아직 우연히 발견하지 못했다면 [Firebreath] (http://firebreath.org)가 프로젝트에 적합한 지 확인하십시오. –

+1

FireBreath가 프로젝트에 맞지 않더라도 여러 MIME 유형을 지원합니다. Firebreath 플러그인을 구축하고이를 통해 파기 할 수 있습니다. – taxilian

답변

1

지금까지 본 적이 있지만 .dll 파일 당 하나의 플러그인 만있을 수 있습니다. 맞습니까?

아니요, 여러 개의 플러그인을 하나의 DLL로 구현할 수 있습니다.

브라우저는 dll 당 NP_GetEntryPoints, NP_Initialize 및 NP_Shutdown을 "한 번만"호출합니다.

프로세스 및로드 당 한 번만 수행됩니다 (인스턴스가 더 이상 존재하지 않을 때 언로드됨을 명심하십시오).

하나의 동적 라이브러리에 여러 개의 플러그인을 만드는 것이 목표입니다. 그게 가능 한가요?

가능합니다. 동일한 동적 라이브러리 (예 : Windows의 동일한 DLL을 가리키는 레지스트리의 여러 mimetype 항목)에 대해 서로 다른 mimetype을 등록하기 만하면됩니다.

NPP_New()은 첫 번째 매개 변수로 NPMIMEType을 가져 오는데, 이는 어떤 "플러그인"이 요청되었는지 식별하게합니다.

또한 NP_GetMIMEDescription()을 조정해야합니다 (Linux 및 Mac OS에서 사용).

Windows의 경우 버전 정보 (MIMEType)에 |으로 구분 된 mimetypes 목록이 있어야합니다.

+0

어디에서'NP_GetMIMEDescription'을 호출할까요? [docs] (https://developer.mozilla.org/en/NP_GetMIMEDescription)를 볼 수는 있지만 함수를 구현할 위치는 없습니다. –

+1

@Niklas : * "Unix (Linux) 및 MacOS에서 작동합니다."* –

관련 문제