CAtlServiceModuleT::InitializeSecurity
Предоставляет параметры безопасности по умолчанию для службы.
HRESULT InitializeSecurity( ) throw( );
Возвращаемое значение
Возвращает значение S_ОК на успешное завершение или ошибка HRESULT в случае сбоя.
Заметки
В Visual Studio .NET 2003, этот метод не реализован в базовом классе. Мастер проектов Visual Studio включает этот метод в созданном коде, но ошибка компиляции произойдет, если проект, созданный в предыдущей версии Visual C++ компилировать с использованием библиотеки ATL 7,1. Любой класс, производный от CAtlServiceModuleT должен реализовать этот метод в производном классе.
Используйте проверку подлинности PKT- уровня, уровень олицетворения RPC_C_IMP_LEVEL_IDENTIFY и подходящий дескриптор безопасности при вызове метода CoInitializeSecurity, отличных от null.
Для мастер- созданных неатрибутированные проекты служб это in
class CNonAttribServiceModule : public CAtlServiceModuleT< CNonAttribServiceModule, IDS_SERVICENAME >
{
public :
DECLARE_LIBID(LIBID_NonAttribServiceLib)
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_NONATTRIBSERVICE, "{29160736-339F-4A1C-ABEF-C320CE103E12}")
HRESULT InitializeSecurity() throw()
{
// TODO : Call CoInitializeSecurity and provide the appropriate security settings for
// your service
// Suggested - PKT Level Authentication,
// Impersonation Level of RPC_C_IMP_LEVEL_IDENTIFY
// and an appropiate Non NULL Security Descriptor.
return S_OK;
}
};
Помеченных атрибутами проектов для службы это in
[ module(SERVICE, uuid = "{D3103322-7B70-4581-8E59-12769BD9A62B}",
name = "AttribService",
helpstring = "AttribService 1.0 Type Library",
resource_name="IDS_SERVICENAME") ]
class CAttribServiceModule
{
public:
HRESULT InitializeSecurity() throw()
{
// TODO : Call CoInitializeSecurity and provide the appropriate security settings for
// your service
// Suggested - PKT Level Authentication,
// Impersonation Level of RPC_C_IMP_LEVEL_IDENTIFY
// and an appropiate Non NULL Security Descriptor.
return S_OK;
}
};
Требования
Header: atlbase.h