NT4/private/newsam/client/tshut.c
2020-09-30 17:12:29 +02:00

120 lines
2.8 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
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;
}