Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _INC_WDSTPDI
      8 #define _INC_WDSTPDI
      9 #if (_WIN32_WINNT >= 0x0600)
     10 
     11 #ifdef __cplusplus
     12 extern "C" {
     13 #endif
     14 
     15 /* 	Wdsmc.dll is missing an implib because Vista clients don't have the dll to generate it from */
     16 
     17 #ifndef WDSMCSAPI
     18 #define WDSMCSAPI WINAPI
     19 #endif
     20 
     21 typedef enum _TRANSPORTPROVIDER_CALLBACK_ID {
     22   WDS_TRANSPORTPROVIDER_CREATE_INSTANCE         = 0,
     23   WDS_TRANSPORTPROVIDER_COMPARE_CONTENT         = 1,
     24   WDS_TRANSPORTPROVIDER_OPEN_CONTENT            = 2,
     25   WDS_TRANSPORTPROVIDER_USER_ACCESS_CHECK       = 3,
     26   WDS_TRANSPORTPROVIDER_GET_CONTENT_SIZE        = 4,
     27   WDS_TRANSPORTPROVIDER_READ_CONTENT            = 5,
     28   WDS_TRANSPORTPROVIDER_CLOSE_CONTENT           = 6,
     29   WDS_TRANSPORTPROVIDER_CLOSE_INSTANCE          = 7,
     30   WDS_TRANSPORTPROVIDER_SHUTDOWN                = 8,
     31   WDS_TRANSPORTPROVIDER_DUMP_STATE              = 9,
     32   WDS_TRANSPORTPROVIDER_REFRESH_SETTINGS        = 10,
     33   WDS_TRANSPORTPROVIDER_GET_CONTENT_METADATA    = 11,
     34   WDS_TRANSPORTPROVIDER_MAX_CALLBACKS           = 12
     35 } TRANSPORTPROVIDER_CALLBACK_ID, *PTRANSPORTPROVIDER_CALLBACK_ID;
     36 
     37 typedef enum _WDS_MC_SEVERITY {
     38   WDS_MC_TRACE_VERBOSE = 0x00010000,
     39   WDS_MC_TRACE_INFO = 0x00020000,
     40   WDS_MC_TRACE_WARNING = 0x00040000,
     41   WDS_MC_TRACE_ERROR = 0x00080000,
     42   WDS_MC_TRACE_FATAL = 0x00010000
     43 } WDS_MC_SEVERITY;
     44 
     45 typedef struct _WDS_TRANSPORTPROVIDER_INIT_PARAMS {
     46   ULONG  ulLength;
     47   ULONG  ulMcServerVersion;
     48   HKEY   hRegistryKey;
     49   HANDLE hProvider;
     50 } WDS_TRANSPORTPROVIDER_INIT_PARAMS, *PWDS_TRANSPORTPROVIDER_INIT_PARAMS;
     51 
     52 typedef struct _WDS_TRANSPORTPROVIDER_SETTINGS {
     53   ULONG ulLength;
     54   ULONG ulLength;
     55 } WDS_TRANSPORTPROVIDER_SETTINGS, *PWDS_TRANSPORTPROVIDER_SETTINGS;
     56 
     57 PVOID WDSMCSAPI WdsTransportServerAllocateBuffer(
     58   HANDLE hProvider,
     59   ULONG ulBufferSize
     60 );
     61 
     62 HRESULT WDSMCSAPI WdsTransportServerCompleteRead(
     63   HANDLE hProvider,
     64   ULONG ulBytesRead,
     65   PVOID pvUserData,
     66   HRESULT hReadResult
     67 );
     68 
     69 HRESULT WDSMCSAPI WdsTransportServerFreeBuffer(
     70   HANDLE hProvider,
     71   PVOID pvBuffer
     72 );
     73 
     74 HRESULT WDSMCSAPI WdsTransportServerRegisterCallback(
     75   HANDLE hProvider,
     76   TRANSPORTPROVIDER_CALLBACK_ID CallbackId,
     77   PVOID pfnCallback
     78 );
     79 
     80 HRESULT WDSMCSAPI WdsTransportServerTraceV(
     81   HANDLE hProvider,
     82   WDS_MC_SEVERITY Severity,
     83   LPCWSTR pwszFormat,
     84   va_list Params
     85 );
     86 
     87 HRESULT WDSMCSAPI WdsTransportServerTrace(
     88   HANDLE hProvider,
     89   WDS_MC_SEVERITY Severity,
     90   LPCWSTR pwszFormat
     91 );
     92 
     93 #ifdef __cplusplus
     94 }
     95 #endi
     96 #endif /*(_WIN32_WINNT >= 0x0600)*/
     97 #endif /*_INC_WDSTPDI*/
     98