if(ul_reason_for_call==DLL_PROCESS_ATTACH)
hInstance=(HMODULE)hModule;
return TRUE;
}
STDAPI DllUnregisterServer(){
HRESULT hr=S_OK; LONG ret=0;
int items=sizeof(szRegTable)/sizeof(szRegTable[0]);
for(int i=items-1;i>=0;i--){
const char* szKeyName=szRegTable[i][0];
if( (i==items-1) || stricmp(szRegTable[i+1][0],szKeyName)!=0)
ret=RegDeleteKey(HKEY_CLASSES_ROOT,szKeyName);
if(ret!=ERROR_SUCCESS)
hr=SELFREG_E_CLASS;
}
return hr;
}
//可重用的DllRegisterServer函数,只要照上面的格式把注册表项放到一个数组中,就可以//用这段代码完成对任意组件的注册。
STDAPI DllRegisterServer(void){
HRESULT hr=S_OK;
int items=sizeof(szRegTable)/sizeof(szRegTable[0]);
char szDllPath[MAX_PATH];
GetModuleFileName(hInstance,szDllPath,MAX_PATH);
for(int i=0;i<items && SUCCEEDED(hr);i++){
const char* szKeyName=szRegTable[i][0];
&nb