xpmgr/BuildTools/Include/LMRemUtl.h

134 lines
2.9 KiB
C

/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1991-1999 Microsoft Corporation
Module Name:
lmremutl.h
Abstract:
This file contains structures, function prototypes, and definitions
for the NetRemote API.
Environment:
User Mode - Win32
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.)
Requires ANSI C extensions: slash-slash comments, long external names.
--*/
#ifndef _LMREMUTL_
#define _LMREMUTL_
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
//
// Type Definitions
//
#ifndef DESC_CHAR_UNICODE
typedef CHAR DESC_CHAR;
typedef LPSTR LPDESC;
#else // DESC_CHAR_UNICODE is defined
typedef WCHAR DESC_CHAR;
typedef LPWSTR LPDESC;
#endif // DESC_CHAR_UNICODE is defined
//
// Function Prototypes
//
NET_API_STATUS NET_API_FUNCTION
NetRemoteTOD (
IN LPCWSTR UncServerName,
__out OUT LPBYTE *BufferPtr
);
NET_API_STATUS NET_API_FUNCTION
NetRemoteComputerSupports(
IN LPCWSTR UncServerName OPTIONAL, // Must start with "\\".
IN DWORD OptionsWanted, // Set SUPPORTS_ bits wanted.
OUT LPDWORD OptionsSupported // Supported features, masked.
);
NET_API_STATUS
__cdecl
RxRemoteApi(
IN DWORD ApiNumber,
__in IN LPCWSTR UncServerName, // Required, with \\name.
__in IN LPDESC ParmDescString,
__in_opt IN LPDESC DataDesc16 OPTIONAL,
__in_opt IN LPDESC DataDesc32 OPTIONAL,
__in_opt IN LPDESC DataDescSmb OPTIONAL,
__in_opt IN LPDESC AuxDesc16 OPTIONAL,
__in_opt IN LPDESC AuxDesc32 OPTIONAL,
__in_opt IN LPDESC AuxDescSmb OPTIONAL,
IN DWORD Flags,
... // rest of API's arguments
);
//
// Data Structures
//
typedef struct _TIME_OF_DAY_INFO {
DWORD tod_elapsedt;
DWORD tod_msecs;
DWORD tod_hours;
DWORD tod_mins;
DWORD tod_secs;
DWORD tod_hunds;
LONG tod_timezone;
DWORD tod_tinterval;
DWORD tod_day;
DWORD tod_month;
DWORD tod_year;
DWORD tod_weekday;
} TIME_OF_DAY_INFO, *PTIME_OF_DAY_INFO, *LPTIME_OF_DAY_INFO;
//
// Special Values and Constants
//
//
// Mask bits for use with NetRemoteComputerSupports:
//
#define SUPPORTS_REMOTE_ADMIN_PROTOCOL 0x00000002L
#define SUPPORTS_RPC 0x00000004L
#define SUPPORTS_SAM_PROTOCOL 0x00000008L
#define SUPPORTS_UNICODE 0x00000010L
#define SUPPORTS_LOCAL 0x00000020L
#define SUPPORTS_ANY 0xFFFFFFFFL
//
// Flag bits for RxRemoteApi:
//
#define NO_PERMISSION_REQUIRED 0x00000001 // set if use NULL session
#define ALLOCATE_RESPONSE 0x00000002 // set if RxRemoteApi allocates response buffer
#define USE_SPECIFIC_TRANSPORT 0x80000000
#ifdef __cplusplus
}
#endif
#endif //_LMREMUTL_