Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

119 lines
2.8 KiB

/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
tshut.c
Abstract:
This test is used to shut-down a SAM server. This might be useful
for killing SAM without rebooting during development.
Author:
Jim Kelly (JimK) 12-July-1991
Environment:
User Mode - Win32
Revision History:
--*/
///////////////////////////////////////////////////////////////////////////////
// //
// Includes //
// //
///////////////////////////////////////////////////////////////////////////////
#include <nt.h>
#include <ntsam.h>
#include <ntrtl.h> // DbgPrint()
///////////////////////////////////////////////////////////////////////////////
// //
// private service prototypes //
// //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// //
// Routines //
// //
///////////////////////////////////////////////////////////////////////////////
VOID
main (
VOID
)
/*++
Routine Description:
This is the main entry routine for this test.
Arguments:
None.
Return Value:
Note:
--*/
{
NTSTATUS NtStatus;
SAM_HANDLE ServerHandle;
OBJECT_ATTRIBUTES ObjectAttributes;
InitializeObjectAttributes( &ObjectAttributes, NULL, 0, 0, NULL );
NtStatus = SamConnect(
NULL, // ServerName (Local machine)
&ServerHandle,
SAM_SERVER_ALL_ACCESS,
&ObjectAttributes
);
DbgPrint("SAM TEST (Tshut): Status of SamConnect() is: 0x%lx\n", NtStatus);
if (!NT_SUCCESS(NtStatus)) { return; }
NtStatus = SamShutdownSamServer( ServerHandle );
DbgPrint("SAM TEST (Tshut): Status of SamShutdownSamServer() is: 0x%lx\n", NtStatus);
if (!NT_SUCCESS(NtStatus)) { return; }
//
// I'm not sure why, but it seems to take another awakening of the
// server to make it die.
//
NtStatus = SamConnect(
NULL, // ServerName (Local machine)
&ServerHandle,
SAM_SERVER_ALL_ACCESS,
&ObjectAttributes
);
return;
}