mirror of https://github.com/tongzx/nt5src
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.
101 lines
1.6 KiB
101 lines
1.6 KiB
//+----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) 1997, Microsoft Corporation.
|
|
//
|
|
// File: DFSLPC.H
|
|
//
|
|
// Contents: This module provides the prototypes and structures for
|
|
// the routines associated with lpc calls
|
|
//
|
|
// Functions:
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef _DFSLPC_H_
|
|
#define _DFSLPC_H_
|
|
|
|
NTSTATUS
|
|
DfsLpcIpRequest (
|
|
PDFS_IPADDRESS pIpAddress
|
|
);
|
|
|
|
NTSTATUS
|
|
DfsLpcDomRequest (
|
|
PUNICODE_STRING pFtDfsName
|
|
);
|
|
|
|
NTSTATUS
|
|
DfsLpcSpcRequest (
|
|
PUNICODE_STRING pSpcName,
|
|
ULONG TypeFlags
|
|
);
|
|
|
|
VOID
|
|
DfsLpcDisconnect(
|
|
);
|
|
|
|
NTSTATUS
|
|
PktFsctrlDfsSrvConnect(
|
|
IN PIRP Irp,
|
|
IN PVOID InputBuffer,
|
|
IN ULONG InputBufferLength
|
|
);
|
|
|
|
NTSTATUS
|
|
PktFsctrlDfsSrvIpAddr(
|
|
IN PIRP Irp,
|
|
IN PVOID InputBuffer,
|
|
IN ULONG InputBufferLength
|
|
);
|
|
|
|
//
|
|
// Lpc port states
|
|
//
|
|
|
|
typedef enum {
|
|
LPC_STATE_UNINITIALIZED = 0,
|
|
LPC_STATE_INITIALIZING = 1,
|
|
LPC_STATE_INITIALIZED = 2,
|
|
} LPC_PORT_STATE;
|
|
|
|
//
|
|
// Struct containing the LPC state and name of the port to connect to
|
|
//
|
|
|
|
typedef struct _DFS_LPC_INFO {
|
|
|
|
//
|
|
// the name of the lpc port to connect to
|
|
//
|
|
|
|
UNICODE_STRING LpcPortName;
|
|
|
|
//
|
|
// state of the connect
|
|
//
|
|
|
|
LPC_PORT_STATE LpcPortState;
|
|
|
|
//
|
|
// A mutex to handle open port races
|
|
//
|
|
|
|
FAST_MUTEX LpcPortMutex;
|
|
|
|
//
|
|
// Lpc port handle
|
|
//
|
|
|
|
HANDLE LpcPortHandle;
|
|
|
|
//
|
|
// Resource for close
|
|
//
|
|
|
|
ERESOURCE LpcPortResource;
|
|
|
|
} DFS_LPC_INFO, *PDFS_LPC_INFO;
|
|
|
|
|
|
#endif // _DFSLPC_H_
|