⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webdisk.h

📁 网络硬盘的客户段,网络硬盘的客户段网络硬盘的客户段网络硬盘的客户段
💻 H
📖 第 1 页 / 共 5 页
字号:
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CService_GetAuthorizationTicket_map =
{
	0xF0432704,
	"GetAuthorizationTicket",
	L"GetAuthorizationTicketResponse",
	sizeof("GetAuthorizationTicket")-1,
	sizeof("GetAuthorizationTicketResponse")-1,
	SOAPMAP_FUNC,
	__CService_GetAuthorizationTicket_entries,
	sizeof(__CService_GetAuthorizationTicket_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
	0x58FA553B,
	"http://microsoft.com/webservices/",
	L"http://microsoft.com/webservices/",
	sizeof("http://microsoft.com/webservices/")-1
};


struct __CService_DownShare_struct
{
	BSTR ticket;
	BSTR SharePath;
	BSTR FilePath;
	__int64 Offset;
	int BufferSize;
	ATLSOAP_BLOB DownShareResult;
};

extern __declspec(selectany) const _soapmapentry __CService_DownShare_entries[] =
{

	{
		0x163A9404, 
		"ticket", 
		L"ticket", 
		sizeof("ticket")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_DownShare_struct, ticket),
		NULL,
		NULL,
		-1,
	},
	{
		0xFB2570C0, 
		"SharePath", 
		L"SharePath", 
		sizeof("SharePath")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_DownShare_struct, SharePath),
		NULL,
		NULL,
		-1,
	},
	{
		0x2FE179CD, 
		"FilePath", 
		L"FilePath", 
		sizeof("FilePath")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_DownShare_struct, FilePath),
		NULL,
		NULL,
		-1,
	},
	{
		0xBFB73267, 
		"Offset", 
		L"Offset", 
		sizeof("Offset")-1, 
		SOAPTYPE_LONG, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CService_DownShare_struct, Offset),
		NULL,
		NULL,
		-1,
	},
	{
		0x095F59B5, 
		"BufferSize", 
		L"BufferSize", 
		sizeof("BufferSize")-1, 
		SOAPTYPE_INT, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CService_DownShare_struct, BufferSize),
		NULL,
		NULL,
		-1,
	},
	{
		0x5CC8BC0A, 
		"DownShareResult", 
		L"DownShareResult", 
		sizeof("DownShareResult")-1, 
		SOAPTYPE_BASE64BINARY, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_DownShare_struct, DownShareResult),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CService_DownShare_map =
{
	0xB18F06DA,
	"DownShare",
	L"DownShareResponse",
	sizeof("DownShare")-1,
	sizeof("DownShareResponse")-1,
	SOAPMAP_FUNC,
	__CService_DownShare_entries,
	sizeof(__CService_DownShare_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
	0x58FA553B,
	"http://microsoft.com/webservices/",
	L"http://microsoft.com/webservices/",
	sizeof("http://microsoft.com/webservices/")-1
};


struct __CService_GetFileSize_struct
{
	BSTR ticket;
	BSTR FileName;
	__int64 GetFileSizeResult;
};

extern __declspec(selectany) const _soapmapentry __CService_GetFileSize_entries[] =
{

	{
		0x163A9404, 
		"ticket", 
		L"ticket", 
		sizeof("ticket")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_GetFileSize_struct, ticket),
		NULL,
		NULL,
		-1,
	},
	{
		0x2FE06021, 
		"FileName", 
		L"FileName", 
		sizeof("FileName")-1, 
		SOAPTYPE_STRING, 
		SOAPFLAG_NONE | SOAPFLAG_IN | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL | SOAPFLAG_NULLABLE,
		offsetof(__CService_GetFileSize_struct, FileName),
		NULL,
		NULL,
		-1,
	},
	{
		0x60C97B9A, 
		"GetFileSizeResult", 
		L"GetFileSizeResult", 
		sizeof("GetFileSizeResult")-1, 
		SOAPTYPE_LONG, 
		SOAPFLAG_NONE | SOAPFLAG_OUT | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
		offsetof(__CService_GetFileSize_struct, GetFileSizeResult),
		NULL,
		NULL,
		-1,
	},
	{ 0x00000000 }
};

extern __declspec(selectany) const _soapmap __CService_GetFileSize_map =
{
	0xB8BDEA6A,
	"GetFileSize",
	L"GetFileSizeResponse",
	sizeof("GetFileSize")-1,
	sizeof("GetFileSizeResponse")-1,
	SOAPMAP_FUNC,
	__CService_GetFileSize_entries,
	sizeof(__CService_GetFileSize_struct),
	1,
	-1,
	SOAPFLAG_NONE | SOAPFLAG_PID | SOAPFLAG_DOCUMENT | SOAPFLAG_LITERAL,
	0x58FA553B,
	"http://microsoft.com/webservices/",
	L"http://microsoft.com/webservices/",
	sizeof("http://microsoft.com/webservices/")-1
};

extern __declspec(selectany) const _soapmap * __CService_funcs[] =
{
	&__CService_SetSpaceSize_map,
	&__CService_GetShareFileSize_map,
	&__CService_SetDownSpeed_map,
	&__CService_DownloadChunk_map,
	&__CService_ReMove_map,
	&__CService_CreateFolder_map,
	&__CService_AppendChunk_map,
	&__CService_ShareAttribute_map,
	&__CService_GetShareUser_map,
	&__CService_SetUpSpeed_map,
	&__CService_Register_map,
	&__CService_GetFile_map,
	&__CService_ShowShare_map,
	&__CService_LogOut_map,
	&__CService_SetShare_map,
	&__CService_Attribute_map,
	&__CService_DelShare_map,
	&__CService_ReName_map,
	&__CService_CheckUpLoad_map,
	&__CService_GetAuthorizationTicket_map,
	&__CService_DownShare_map,
	&__CService_GetFileSize_map,
	NULL
};

template <typename TClient>
inline HRESULT CServiceT<TClient>::SetSpaceSize(
		BSTR ticket, 
		int size, 
		BSTR* SetSpaceSizeResult
	)
{
    if ( SetSpaceSizeResult == NULL )
		return E_POINTER;

	HRESULT __atlsoap_hr = InitializeSOAP(NULL);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_INITIALIZE_ERROR);
		return __atlsoap_hr;
	}
	
	CleanupClient();

	CComPtr<IStream> __atlsoap_spReadStream;
	__CService_SetSpaceSize_struct __params;
	memset(&__params, 0x00, sizeof(__params));
	__params.ticket = ticket;
	__params.size = size;

	__atlsoap_hr = SetClientStruct(&__params, 0);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_OUTOFMEMORY);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = GenerateResponse(GetWriteStream());
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_GENERATE_ERROR);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = SendRequest(_T("SOAPAction: \"http://microsoft.com/webservices/SetSpaceSize\"\r\n"));
	if (FAILED(__atlsoap_hr))
	{
		goto __skip_cleanup;
	}
	__atlsoap_hr = GetReadStream(&__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_READ_ERROR);
		goto __skip_cleanup;
	}
	
	// cleanup any in/out-params and out-headers from previous calls
	Cleanup();
	__atlsoap_hr = BeginParse(__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_PARSE_ERROR);
		goto __cleanup;
	}

	*SetSpaceSizeResult = __params.SetSpaceSizeResult;
	goto __skip_cleanup;
	
__cleanup:
	Cleanup();
__skip_cleanup:
	ResetClientState(true);
	memset(&__params, 0x00, sizeof(__params));
	return __atlsoap_hr;
}

template <typename TClient>
inline HRESULT CServiceT<TClient>::GetShareFileSize(
		BSTR ticket, 
		BSTR SharePath, 
		BSTR FilePath, 
		__int64* GetShareFileSizeResult
	)
{
    if ( GetShareFileSizeResult == NULL )
		return E_POINTER;

	HRESULT __atlsoap_hr = InitializeSOAP(NULL);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_INITIALIZE_ERROR);
		return __atlsoap_hr;
	}
	
	CleanupClient();

	CComPtr<IStream> __atlsoap_spReadStream;
	__CService_GetShareFileSize_struct __params;
	memset(&__params, 0x00, sizeof(__params));
	__params.ticket = ticket;
	__params.SharePath = SharePath;
	__params.FilePath = FilePath;

	__atlsoap_hr = SetClientStruct(&__params, 1);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_OUTOFMEMORY);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = GenerateResponse(GetWriteStream());
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_GENERATE_ERROR);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = SendRequest(_T("SOAPAction: \"http://microsoft.com/webservices/GetShareFileSize\"\r\n"));
	if (FAILED(__atlsoap_hr))
	{
		goto __skip_cleanup;
	}
	__atlsoap_hr = GetReadStream(&__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_READ_ERROR);
		goto __skip_cleanup;
	}
	
	// cleanup any in/out-params and out-headers from previous calls
	Cleanup();
	__atlsoap_hr = BeginParse(__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_PARSE_ERROR);
		goto __cleanup;
	}

	*GetShareFileSizeResult = __params.GetShareFileSizeResult;
	goto __skip_cleanup;
	
__cleanup:
	Cleanup();
__skip_cleanup:
	ResetClientState(true);
	memset(&__params, 0x00, sizeof(__params));
	return __atlsoap_hr;
}

template <typename TClient>
inline HRESULT CServiceT<TClient>::SetDownSpeed(
		BSTR ticket, 
		int speed, 
		BSTR* SetDownSpeedResult
	)
{
    if ( SetDownSpeedResult == NULL )
		return E_POINTER;

	HRESULT __atlsoap_hr = InitializeSOAP(NULL);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_INITIALIZE_ERROR);
		return __atlsoap_hr;
	}
	
	CleanupClient();

	CComPtr<IStream> __atlsoap_spReadStream;
	__CService_SetDownSpeed_struct __params;
	memset(&__params, 0x00, sizeof(__params));
	__params.ticket = ticket;
	__params.speed = speed;

	__atlsoap_hr = SetClientStruct(&__params, 2);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_OUTOFMEMORY);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = GenerateResponse(GetWriteStream());
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_GENERATE_ERROR);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = SendRequest(_T("SOAPAction: \"http://microsoft.com/webservices/SetDownSpeed\"\r\n"));
	if (FAILED(__atlsoap_hr))
	{
		goto __skip_cleanup;
	}
	__atlsoap_hr = GetReadStream(&__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_READ_ERROR);
		goto __skip_cleanup;
	}
	
	// cleanup any in/out-params and out-headers from previous calls
	Cleanup();
	__atlsoap_hr = BeginParse(__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_PARSE_ERROR);
		goto __cleanup;
	}

	*SetDownSpeedResult = __params.SetDownSpeedResult;
	goto __skip_cleanup;
	
__cleanup:
	Cleanup();
__skip_cleanup:
	ResetClientState(true);
	memset(&__params, 0x00, sizeof(__params));
	return __atlsoap_hr;
}

template <typename TClient>
inline HRESULT CServiceT<TClient>::DownloadChunk(
		BSTR ticket, 
		BSTR FileName, 
		__int64 Offset, 
		int BufferSize, 
		ATLSOAP_BLOB* DownloadChunkResult
	)
{
    if ( DownloadChunkResult == NULL )
		return E_POINTER;

	HRESULT __atlsoap_hr = InitializeSOAP(NULL);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_INITIALIZE_ERROR);
		return __atlsoap_hr;
	}
	
	CleanupClient();

	CComPtr<IStream> __atlsoap_spReadStream;
	__CService_DownloadChunk_struct __params;
	memset(&__params, 0x00, sizeof(__params));
	__params.ticket = ticket;
	__params.FileName = FileName;
	__params.Offset = Offset;
	__params.BufferSize = BufferSize;

	__atlsoap_hr = SetClientStruct(&__params, 3);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_OUTOFMEMORY);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = GenerateResponse(GetWriteStream());
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_GENERATE_ERROR);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = SendRequest(_T("SOAPAction: \"http://microsoft.com/webservices/DownloadChunk\"\r\n"));
	if (FAILED(__atlsoap_hr))
	{
		goto __skip_cleanup;
	}
	__atlsoap_hr = GetReadStream(&__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_READ_ERROR);
		goto __skip_cleanup;
	}
	
	// cleanup any in/out-params and out-headers from previous calls
	Cleanup();
	__atlsoap_hr = BeginParse(__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_PARSE_ERROR);
		goto __cleanup;
	}

	*DownloadChunkResult = __params.DownloadChunkResult;
	goto __skip_cleanup;
	
__cleanup:
	Cleanup();
__skip_cleanup:
	ResetClientState(true);
	memset(&__params, 0x00, sizeof(__params));
	return __atlsoap_hr;
}

template <typename TClient>
inline HRESULT CServiceT<TClient>::ReMove(
		BSTR ticket, 
		BSTR Name, 
		BSTR* ReMoveResult
	)
{
    if ( ReMoveResult == NULL )
		return E_POINTER;

	HRESULT __atlsoap_hr = InitializeSOAP(NULL);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_INITIALIZE_ERROR);
		return __atlsoap_hr;
	}
	
	CleanupClient();

	CComPtr<IStream> __atlsoap_spReadStream;
	__CService_ReMove_struct __params;
	memset(&__params, 0x00, sizeof(__params));
	__params.ticket = ticket;
	__params.Name = Name;

	__atlsoap_hr = SetClientStruct(&__params, 4);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_OUTOFMEMORY);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = GenerateResponse(GetWriteStream());
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_GENERATE_ERROR);
		goto __skip_cleanup;
	}
	
	__atlsoap_hr = SendRequest(_T("SOAPAction: \"http://microsoft.com/webservices/ReMove\"\r\n"));
	if (FAILED(__atlsoap_hr))
	{
		goto __skip_cleanup;
	}
	__atlsoap_hr = GetReadStream(&__atlsoap_spReadStream);
	if (FAILED(__atlsoap_hr))
	{
		SetClientError(SOAPCLIENT_READ_ERROR);
		goto __skip_cleanup;
	}
	
	// cleanup any in/out-params and out-headers from previous calls
	Cleanup();
	__atlsoap_hr = BeginParse(__atlsoap_spReadStream);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -