/********************************************************************/ /** Copyright(c) 1991 Microsoft Corporation. **/ /********************************************************************/ //*** // // Filename: afpsvc.idl // // Description: Contains the AfpAdminr (Afp Remote) RPC interface // specification for the API associated with the Afp Server // Service. Also contains the RPC specific data structures for // these APIs. // // History: // June 11,1992. NarenG Created original version. // // ??? Use UUID generator when it is working ??? // ??? Do we still need the #define LPWSTR ??? // // Interface Attributes // [ uuid(4B324FC8-1670-01D3-1278-5A47BF6EE188), version(0.0), pointer_default(unique) ] interface afpsvc { import "import.idl"; // // BUGBUG - remove this when MIDL understands LPWSTR // #define LPWSTR wchar_t* typedef [handle] AFP_SERVER_HANDLE AFPSVC_HANDLE; // // Volume API // // // Structures - AfpAdminrVolume // typedef struct _VOLUME_INFO_CONTAINER { DWORD dwEntriesRead; [size_is(dwEntriesRead)] PAFP_VOLUME_INFO pBuffer; } VOLUME_INFO_CONTAINER, *PVOLUME_INFO_CONTAINER; // // Function Prototypes - AfpAdminVolume // DWORD AfpAdminrVolumeEnum ( [in] AFPSVC_HANDLE hServer, [in,out] PVOLUME_INFO_CONTAINER pInfoStruct, [in] DWORD dwPreferedMaximumLength, [out] LPDWORD lpdwTotalEntries, [in,out,unique] LPDWORD lpdwResumeHandle ); DWORD AfpAdminrVolumeSetInfo ( [in] AFPSVC_HANDLE hServer, [in] PAFP_VOLUME_INFO pAfpVolumeInfo, [in] DWORD dwParmNum ); DWORD AfpAdminrVolumeGetInfo ( [in] AFPSVC_HANDLE hServer, [in,string] LPWSTR lpwsVolumeName, [out] PAFP_VOLUME_INFO* ppAfpVolumeInfo ); DWORD AfpAdminrVolumeDelete( [in] AFPSVC_HANDLE hServer, [in,string] LPWSTR lpwsVolumeName ); DWORD AfpAdminrVolumeAdd( [in] AFPSVC_HANDLE hServer, [in] PAFP_VOLUME_INFO pAfpVolumeInfo ); DWORD AfpAdminrInvalidVolumeEnum ( [in] AFPSVC_HANDLE hServer, [in,out] PVOLUME_INFO_CONTAINER pInfoStruct ); DWORD AfpAdminrInvalidVolumeDelete( [in] AFPSVC_HANDLE hServer, [in,string] LPWSTR lpwsVolumeName ); // // Function prototypes - AfpAdminDirectory // DWORD AfpAdminrDirectoryGetInfo( [in] AFPSVC_HANDLE hServer, [in,string] LPWSTR lpwsPath, [in,out] PAFP_DIRECTORY_INFO* ppAfpDirectoryInfo ); DWORD AfpAdminrDirectorySetInfo( [in] AFPSVC_HANDLE hServer, [in] PAFP_DIRECTORY_INFO pAfpDirectoryInfo, [in] DWORD dwParmNum ); // // Function prototypes - AfpAdminServer // DWORD AfpAdminrServerGetInfo( [in] AFPSVC_HANDLE hServer, [in,out] PAFP_SERVER_INFO* ppAfpServerInfo ); DWORD AfpAdminrServerSetInfo( [in] AFPSVC_HANDLE hServer, [in] PAFP_SERVER_INFO pAfpServerInfo, [in] DWORD dwParmNum ); // // Session API // // // Structures - AfpAdminrSession // typedef struct _SESSION_INFO_CONTAINER { DWORD dwEntriesRead; [size_is(dwEntriesRead)] PAFP_SESSION_INFO pBuffer; } SESSION_INFO_CONTAINER, *PSESSION_INFO_CONTAINER; // // Function Prototypes - AfpAdminSession // DWORD AfpAdminrSessionEnum ( [in] AFPSVC_HANDLE hServer, [in,out] PSESSION_INFO_CONTAINER pInfoStruct, [in] DWORD dwPreferedMaximumLength, [out] LPDWORD lpdwTotalEntries, [in,out,unique] LPDWORD lpdwResumeHandle ); DWORD AfpAdminrSessionClose( [in] AFPSVC_HANDLE hServer, [in] DWORD dwSessionId ); // // Connection API // // // Structures - AfpAdminrConnection // typedef struct _CONN_INFO_CONTAINER { DWORD dwEntriesRead; [size_is(dwEntriesRead)] PAFP_CONNECTION_INFO pBuffer; } CONN_INFO_CONTAINER, *PCONN_INFO_CONTAINER; // // Function Prototypes - AfpAdminConnection // DWORD AfpAdminrConnectionEnum ( [in] AFPSVC_HANDLE hServer, [in,out] PCONN_INFO_CONTAINER pInfoStruct, [in] DWORD dwFilter, [in] DWORD dwId, [in] DWORD dwPreferedMaximumLength, [out] LPDWORD lpdwTotalEntries, [in,out,unique] LPDWORD lpdwResumeHandle ); DWORD AfpAdminrConnectionClose( [in] AFPSVC_HANDLE hServer, [in] DWORD dwConnectionId ); // // File API // // // Structures - AfpAdminrFile // typedef struct _FILE_INFO_CONTAINER { DWORD dwEntriesRead; [size_is(dwEntriesRead)] PAFP_FILE_INFO pBuffer; } FILE_INFO_CONTAINER, *PFILE_INFO_CONTAINER; // // Function Prototypes - AfpAdminFile // DWORD AfpAdminrFileEnum ( [in] AFPSVC_HANDLE hServer, [in,out] PFILE_INFO_CONTAINER pInfoStruct, [in] DWORD dwPreferedMaximumLength, [out] LPDWORD lpdwTotalEntries, [in,out,unique] LPDWORD lpdwResumeHandle ); DWORD AfpAdminrFileClose( [in] AFPSVC_HANDLE hServer, [in] DWORD dwCloseId ); // // ETC Mappings API // // // Function prototypes - AfpAdminETCMap // DWORD AfpAdminrETCMapGetInfo( [in] AFPSVC_HANDLE hServer, [in,out] PAFP_ETCMAP_INFO *ppAfpETCMapInfo ); DWORD AfpAdminrETCMapAdd( [in] AFPSVC_HANDLE hServer, [in] PAFP_TYPE_CREATOR pAfpTypeCreator ); DWORD AfpAdminrETCMapDelete( [in] AFPSVC_HANDLE hServer, [in] PAFP_TYPE_CREATOR pAfpTypeCreator ); DWORD AfpAdminrETCMapSetInfo( [in] AFPSVC_HANDLE hServer, [in] PAFP_TYPE_CREATOR pAfpTypeCreator ); DWORD AfpAdminrETCMapAssociate( [in] AFPSVC_HANDLE hServer, [in] PAFP_TYPE_CREATOR pAfpTypeCreator, [in] PAFP_EXTENSION pAfpExtension ); // // Statistics APIs // DWORD AfpAdminrStatisticsGet( [in] AFPSVC_HANDLE hServer, [in,out] PAFP_STATISTICS_INFO * ppAfpStatisticsInfo ); DWORD AfpAdminrStatisticsGetEx( [in] AFPSVC_HANDLE hServer, [in,out] PAFP_STATISTICS_INFO_EX * ppAfpStatisticsInfo ); DWORD AfpAdminrStatisticsClear( [in] AFPSVC_HANDLE hServer ); // // Profile API // DWORD AfpAdminrProfileGet( [in] AFPSVC_HANDLE hServer, [in,out] PAFP_PROFILE_INFO * ppAfpProfileInfo ); DWORD AfpAdminrProfileClear( [in] AFPSVC_HANDLE hServer ); // // Message API // DWORD AfpAdminrMessageSend( [in] AFPSVC_HANDLE hServer, [in] PAFP_MESSAGE_INFO pAfpMessageInfo ); DWORD AfpAdminrFinderSetInfo( [in] AFPSVC_HANDLE hServer, [in,string] LPWSTR lpwsType, [in,string] LPWSTR lpwsCreator, [in,string] LPWSTR lpwsData, [in,string] LPWSTR lpwsResource, [in,string] LPWSTR lpwsTarget, [in] DWORD dwParmNum ); }