Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (C) 2000 Microsoft Corporation
Module Name:
crypstub.cpp
Abstract:
RPC Proxy Stub to handle downlevel requests to the services.exe pipe
Author:
petesk 3/1/00
Revisions:
--*/
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#include <windows.h>
#include <svcs.h> // SVCS_
#include "crypstub.h"
#include "keyrpc.h"
#include "keysvc.h"
//
// global module handle used to reference resources contained in this module.
//
HINSTANCE g_hInst = NULL;
BOOL WINAPI DllMain( HMODULE hInst, DWORD dwReason, LPVOID lpReserved ) {
if( dwReason == DLL_PROCESS_ATTACH ) { g_hInst = hInst; DisableThreadLibraryCalls(hInst); }
return TRUE; }
NTSTATUS WINAPI StartCryptServiceStubs( PSVCS_START_RPC_SERVER RpcpStartRpcServer, LPTSTR SvcsRpcPipeName ) { NTSTATUS dwStatus = STATUS_SUCCESS;
//
// enable negotiate protocol, as, clients expect this to work against the
// stub.
//
RpcServerRegisterAuthInfoW( NULL, RPC_C_AUTHN_GSS_NEGOTIATE, NULL, NULL );
dwStatus = RpcpStartRpcServer( SvcsRpcPipeName, s_BackupKey_v1_0_s_ifspec );
if(NT_SUCCESS(dwStatus)) { dwStatus = RpcpStartRpcServer( SvcsRpcPipeName, s_IKeySvc_v1_0_s_ifspec ); }
return dwStatus; }
NTSTATUS WINAPI StopCryptServiceStubs( PSVCS_STOP_RPC_SERVER RpcpStopRpcServer )
{
NTSTATUS dwStatus = STATUS_SUCCESS;
RpcpStopRpcServer( s_BackupKey_v1_0_s_ifspec );
dwStatus = RpcpStopRpcServer( s_IKeySvc_v1_0_s_ifspec ); return dwStatus; }
|