//+---------------------------------------------------------------------------- // // 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_