403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/wdstci.h
/*++

Copyright (c) 2005 Microsoft Corporation

Module Name:

    wdstci.h

Abstract:

    This module defines the structures and functions that compose the interface
    between the content receiver and the transport client.

Environment:

    User Mode

--*/

#ifndef _WDSTCI_H
#define _WDSTCI_H
#include <winapifamily.h>

#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)


#include <windows.h>

#ifdef __cplusplus
extern "C"
{
#endif

#define WDSTCIAPI                      __stdcall

//----------------------------------------------------------------- Defines.

#define WDS_TRANSPORTCLIENT_CURRENT_API_VERSION 1

//
// Protocol types
//

#define WDS_TRANSPORTCLIENT_PROTOCOL_MULTICAST       0x00000001

//
// Authentication levels
//

#define WDS_TRANSPORTCLIENT_AUTH    0x1
#define WDS_TRANSPORTCLIENT_NO_AUTH 0x2

typedef enum _TRANSPORTCLIENT_CALLBACK_ID
{
    WDS_TRANSPORTCLIENT_SESSION_START = 0,
    WDS_TRANSPORTCLIENT_RECEIVE_CONTENTS,
    WDS_TRANSPORTCLIENT_SESSION_COMPLETE,
    WDS_TRANSPORTCLIENT_RECEIVE_METADATA,
    WDS_TRANSPORTCLIENT_SESSION_STARTEX,
    WDS_TRANSPORTCLIENT_SESSION_NEGOTIATE,

    WDS_TRANSPORTCLIENT_MAX_CALLBACKS,
} TRANSPORTCLIENT_CALLBACK_ID, *PTRANSPORTCLIENT_CALLBACK_ID;

typedef struct _TRANSPORTCLIENT_SESSION_INFO
{
    //
    // The length of this structure in bytes.
    //

    ULONG ulStructureLength;

    //
    // The size of the file, in bytes.
    //

    ULARGE_INTEGER ullFileSize;

    //
    // The size of a receive block, in bytes.
    //

    ULONG ulBlockSize;

} TRANSPORTCLIENT_SESSION_INFO, *PTRANSPORTCLIENT_SESSION_INFO;

#define WDS_TRANSPORTCLIENT_NO_CACHE                0

//
// Download status.
//
#define WDS_TRANSPORTCLIENT_STATUS_IN_PROGRESS      0x0001
#define WDS_TRANSPORTCLIENT_STATUS_SUCCESS          0x0002
#define WDS_TRANSPORTCLIENT_STATUS_FAILURE          0x0003

//----------------------------------------------------------------- Callbacks.

typedef
VOID
(CALLBACK *PFN_WdsTransportClientSessionStart) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_ PULARGE_INTEGER ullFileSize
    );

typedef
VOID
(CALLBACK *PFN_WdsTransportClientSessionStartEx) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_ PTRANSPORTCLIENT_SESSION_INFO Info
    );

typedef
VOID
(CALLBACK *PFN_WdsTransportClientReceiveMetadata) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_reads_bytes_(ulSize) PVOID pMetadata,
    _In_ ULONG ulSize
    );

typedef
VOID
(CALLBACK *PFN_WdsTransportClientReceiveContents) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_reads_bytes_(ulSize) PVOID pContents,
    _In_ ULONG ulSize,
    _In_ PULARGE_INTEGER pullContentOffset
    );

typedef
VOID
(CALLBACK *PFN_WdsTransportClientSessionComplete) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_ DWORD dwError
    );

typedef
VOID
(CALLBACK *PFN_WdsTransportClientSessionNegotiate) (
    _In_ HANDLE hSessionKey,
    _In_ PVOID pCallerData,
    _In_ PTRANSPORTCLIENT_SESSION_INFO pInfo,
    _In_ HANDLE hNegotiateKey
    );

//----------------------------------------------------------------- Structures.

typedef struct _WDS_TRANSPORTCLIENT_REQUEST
{
    //
    // The length of this structure.
    //
    ULONG ulLength;

    //
    // The version of the api that the caller is built against.  Callers should
    // always set this field to WDS_TRANSPORTCLIENT_CURRENT_API_VERSION.
    //
    ULONG ulApiVersion;

    //
    // The level of authentication to send to the server.
    //
    ULONG ulAuthLevel;

    //
    // Server name.
    //
    LPCWSTR pwszServer;

    //
    // Namespace of the object to retrieve.
    //
    LPCWSTR pwszNamespace;

    //
    // Specifies the name of the object to retrieve.  Object names are
    // provider dependant.
    //
    LPCWSTR pwszObjectName;

    //
    // Specifies how much data in bytes the consumer can store in its queue.  Once
    // this threshold is reached, the client will not send any more writes to
    // the consumer until some memory is released with
    // WdsTransportClientCompleteWrite.
    //
    ULONG ulCacheSize;

    //
    // Specifies the protocol to be used for this transfer.
    //
    ULONG ulProtocol;

    //
    // Protocol specific information.
    //
    PVOID pvProtocolData;

    //
    // The length of the protocol data pointed to by pvProtocolData.
    //
    ULONG ulProtocolDataLength;
} WDS_TRANSPORTCLIENT_REQUEST, *PWDS_TRANSPORTCLIENT_REQUEST;

typedef struct _WDS_TRANSPORTCLIENT_CALLBACKS
{
    PFN_WdsTransportClientSessionStart SessionStart;
    PFN_WdsTransportClientSessionStartEx SessionStartEx;
    PFN_WdsTransportClientReceiveContents ReceiveContents;
    PFN_WdsTransportClientReceiveMetadata ReceiveMetadata;
    PFN_WdsTransportClientSessionComplete SessionComplete;
    PFN_WdsTransportClientSessionNegotiate SessionNegotiate;
} WDS_TRANSPORTCLIENT_CALLBACKS, *PWDS_TRANSPORTCLIENT_CALLBACKS;

//----------------------------------------------------------------- Functions.

DWORD
WDSTCIAPI
WdsTransportClientInitialize (
    VOID
    );

DWORD
WDSTCIAPI
WdsTransportClientInitializeSession (
    _In_ PWDS_TRANSPORTCLIENT_REQUEST pSessionRequest,
    _In_ PVOID pCallerData,
    _Out_ PHANDLE hSessionKey
    );

DWORD
WDSTCIAPI
WdsTransportClientRegisterCallback (
    _In_ HANDLE hSessionKey,
    _In_ TRANSPORTCLIENT_CALLBACK_ID CallbackId,
    _In_ PVOID pfnCallback
    );

DWORD
WDSTCIAPI
WdsTransportClientStartSession (
    _In_ HANDLE hSessionKey
    );

DWORD
WDSTCIAPI
WdsTransportClientCompleteReceive (
    _In_ HANDLE hSessionKey,
    _In_ ULONG ulSize,
    _In_ PULARGE_INTEGER pullOffset
    );

DWORD
WDSTCIAPI
WdsTransportClientCancelSession (
    _In_ HANDLE hSessionKey
    );

DWORD
WDSTCIAPI
WdsTransportClientCancelSessionEx (
    _In_ HANDLE hSessionKey,
    _In_ DWORD dwErrorCode
    );

DWORD
WDSTCIAPI
WdsTransportClientWaitForCompletion (
    _In_ HANDLE hSessionKey,
    _In_ ULONG uTimeout
    );

DWORD
WDSTCIAPI
WdsTransportClientQueryStatus (
    _In_ HANDLE hSessionKey,
    _Out_ PULONG puStatus,
    _Out_ PULONG puErrorCode
    );

DWORD
WDSTCIAPI
WdsTransportClientCloseSession (
    _In_ HANDLE hSessionKey
    );

DWORD
WDSTCIAPI
WdsTransportClientAddRefBuffer (
    _In_ PVOID pvBuffer
    );

DWORD
WDSTCIAPI
WdsTransportClientReleaseBuffer (
    _In_ PVOID pvBuffer
    );

DWORD
WDSTCIAPI
WdsTransportClientShutdown (
    VOID
    );

DWORD
WDSTCIAPI
WdsTransportClientNegotiateRequiredDataRange (
    _In_ HANDLE hSessionKey,
    _In_ HANDLE hNegotiateKey,
    _In_ ULARGE_INTEGER ullDataRangeStart,
    _In_ ULARGE_INTEGER ullDataRangeSize
    );

#ifdef __cplusplus
}
#endif


#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion

#endif

Youez - 2016 - github.com/yon3zu
LinuXploit