www.gusucode.com > 一些VC++加密算法+实例源码源码程序 > 一些VC++加密算法+实例源码/优化后的加密注册模块/优化后的加密注册模块/inventory(optimized)/Check.cpp
#include "stdafx.h" /********************************************************** *CheckAccess: * * check the caller's permission,called by object.Check()* *para. * * service_id service id. * * user_name caller identity. * *return * * 1 caller has the access. * * 0 caller hasn't the access. * * -1 errors occurred. * ***********************************************************/ int CheckAccess(long service_id, BSTR user_name) { int permission=-1; HRESULT hr; IEndServer *ptr=NULL; //Local service MULTI_QI qi[1]; memset(qi, 0, sizeof(qi)); qi[0].pIID = &IID_IEndServer; hr = CoCreateInstanceEx( CLSID_EndServer, NULL, CLSCTX_LOCAL_SERVER, NULL, 1, qi); if(FAILED(hr)) return -1; ptr = (IEndServer*)qi[0].pItf; hr = ptr->CheckAuthToServer(&permission, service_id, user_name); if(SUCCEEDED(hr)) ptr->Release(); return permission; }