123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_WDSCLIENTAPI
- #define _INC_WDSCLIENTAPI
- #include <wdstpdi.h>
- #if (_WIN32_WINNT >= 0x0600)
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef WDSTCIAPI
- #define WDSTCIAPI WINAPI
- #endif
- /* Wdstptc.dll is missing an implib because Vista clients don't have the dll to generate it from */
- typedef VOID (CALLBACK *PFN_WdsTransportClientReceiveContents)(
- HANDLE hSessionKey,
- PVOID pCallerData,
- PVOID pMetadata,
- ULONG ulSize,
- PULARGE_INTEGER pContentOffset
- );
- typedef VOID (CALLBACK *PFN_WdsTransportClientReceiveMetadata)(
- HANDLE hSessionKey,
- PVOID pCallerData,
- PVOID pMetadata,
- ULONG ulSize
- );
- typedef VOID (CALLBACK *PFN_WdsTransportClientSessionComplete)(
- HANDLE hSessionKey,
- PVOID pCallerData,
- DWORD dwError
- );
- typedef VOID (CALLBACK *PFN_WdsTransportClientSessionStart)(
- HANDLE hSessionKey,
- PVOID pCallerData,
- PULARGE_INTEGER FileSize
- );
- typedef VOID (CALLBACK *PFN_WdsTransportClientSessionStartEx)(
- HANDLE hSessionKey,
- PVOID pCallerData,
- PTRANSPORTCLIENT_SESSION_INFO Info
- );
- typedef enum _TRANSPORTCLIENT_CALLBACK_ID {
- WDS_TRANSPORTCLIENT_SESSION_START = 0,
- WDS_TRANSPORTCLIENT_RECEIVE_CONTENTS = 1,
- WDS_TRANSPORTCLIENT_SESSION_COMPLETE = 2,
- WDS_TRANSPORTCLIENT_RECEIVE_METADATA = 3,
- WDS_TRANSPORTCLIENT_SESSION_STARTEX = 4,
- WDS_TRANSPORTCLIENT_MAX_CALLBACKS = 5
- } TRANSPORTCLIENT_CALLBACK_ID,*PTRANSPORTCLIENT_CALLBACK_ID;
- typedef struct _TRANSPORTCLIENT_SESSION_INFO {
- ULONG ulStructureLength;
- ULARGE_INTEGER ullFileSize;
- ULONG ulBlockSize;
- } TRANSPORTCLIENT_SESSION_INFO, *PTRANSPORTCLIENT_SESSION_INFO;
- #define WDS_TRANSPORT_CLIENT_CURRENT_API_VERSION 1
- #define WDS_TRANSPORTCLIENT_AUTH 1
- #define WDS_TRANSPORTCLIENT_NO_AUTH 2
- #define WDS_TRANSPORTCLIENT_PROTOCOL_MULTICAST 1
- typedef struct _WDS_TRANSPORTCLIENT_REQUEST {
- ULONG ulLength;
- ULONG ulApiVersion;
- ULONG ulAuthLevel;
- LPCWSTR pwszServer;
- LPCWSTR pwszNamespace;
- LPCWSTR pwszObjectName;
- ULONG ulCacheSize;
- ULONG ulProtocol;
- PVOID pvProtocolData;
- ULONG ulProtocolDataLength;
- } WDS_TRANSPORTCLIENT_REQUEST, *PWDS_TRANSPORTCLIENT_REQUEST;
- DWORD WDSTCIAPI WdsTransportClientStartSession(
- HANDLE hSessionKey
- );
- DWORD WDSTCIAPI WdsTransportClientAddRefBuffer(
- PVOID pvBuffer
- );
- DWORD WDSTCIAPI WdsTransportClientCancelSession(
- HANDLE hSessionKey
- );
- DWORD WDSTCIAPI WdsTransportClientCloseSession(
- HANDLE hSessionKey
- );
- DWORD WDSTCIAPI WdsTransportClientCompleteReceive(
- HANDLE hSessionKey,
- HANDLE ulSize,
- PULARGE_INTEGER pullOffset
- );
- DWORD WDSTCIAPI WdsTransportClientInitialize(void);
- DWORD WDSTCIAPI WdsTransportClientInitializeSession(
- PWDS_TRANSPORTCLIENT_REQUEST pSessionRequest,
- PVOID pCallerData,
- PHANDLE hSessionKey
- );
- DWORD WDSTCIAPI WdsTransportClientQueryStatus(
- HANDLE hSessionKey,
- PULONG puStatus,
- PULONG puErrorCode
- );
- DWORD WDSTCIAPI WdsTransportClientRegisterCallback(
- HANDLE hSessionKey,
- TRANSPORTCLIENT_CALLBACK_ID CallbackId,
- PVOID pfnCallback
- );
- DWORD WDSTCIAPI WdsTransportClientReleaseBuffer(
- PVOID pvBuffer
- );
- DWORD WDSTCIAPI WdsTransportClientShutdown(void);
- DWORD WDSTCIAPI WdsTransportClientWaitForCompletion(
- HANDLE hSessionKey,
- ULONG uTimeout
- );
- #ifdef __cplusplus
- }
- #endif
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #endif /*_INC_WDSCLIENTAPI*/
|