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.
 
 
 
 
 
 

78 lines
1.4 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
client.h
Abstract:
This module is the header file for the client side of the Win32 DLL
Author:
Ramon J. San Andres (ramonsa) 13-May-1992
--*/
#if DBG
extern BOOLEAN BreakPointOnEntry;
#endif
//
// Macros to manage local versus remote handles (HKEYs).
//
#define REMOTE_HANDLE_TAG ( 0x00000001 )
//
// BOOL
// IsLocalHandle(
// IN HKEY Handle
// );
//
#define IsLocalHandle( Handle ) \
( ! ((( DWORD )( Handle )) & REMOTE_HANDLE_TAG ))
//
// VOID
// TagRemoteHandle(
// IN PHKEY Handle
// );
//
#define TagRemoteHandle( Handle ) \
ASSERT( IsLocalHandle( *Handle )); \
( *Handle = (( HKEY )((( DWORD )( *Handle )) | REMOTE_HANDLE_TAG )))
//
// HKEY
// DereferenceRemoteHandle(
// IN HKEY Handle
// );
//
#define DereferenceRemoteHandle( Handle ) \
(( HKEY )((( DWORD )( Handle )) & ~REMOTE_HANDLE_TAG ))
//
// Common helper routine used by RegConnectRegistry and InitiateSystemShutdown
//
typedef LONG (*PBIND_CALLBACK)(
IN RPC_BINDING_HANDLE *pbinding,
IN PVOID Context1,
IN PVOID Context2
);
LONG
BaseBindToMachine(
IN LPWSTR lpMachineName,
IN PBIND_CALLBACK BindCallback,
IN PVOID Context1,
IN PVOID Context2
);