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/sqlspi.h
/********************************************************
*                                                       *
*   Copyright (C) Microsoft. All rights reserved.       *
*                                                       *
********************************************************/

//-----------------------------------------------------------------------------
// File:            sqlspi.h
//
// Contents:        This is the header for driver writers to support new ODBC 
//                  features. Application writers should not include 
//                  this header file
//                  Please include <sql.h> and <sqlext.h> before including this 
//                  file
//
//-----------------------------------------------------------------------------

#if defined(_MSC_VER) && (_MSC_VER > 1000)
#pragma once
#endif

#ifndef __SQLSPI__
#define __SQLSPI__

#include <winapifamily.h>

#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)

#ifdef __cplusplus
extern "C" {           // Assume C declarations for C++
#endif                 // End of __cplusplus 

// SQL_SPI is just a marker for "Service Provider Interface", otherwise it is the same as API
// Application should not call functions that are marked as SQL_SPI directly
#define SQL_SPI  SQL_API

//-------------------- ODBC Connection Info Handle -----------------------------
// handle for storing connection information for ODBC driver connection pooling
#define SQL_HANDLE_DBC_INFO_TOKEN               6       // Handle type, used in SQLAllocHandle
typedef SQLHANDLE SQLHDBC_INFO_TOKEN;

//-------------------- ODBC Pool ID for driver-aware pooling -----------------------------
typedef SQLULEN     POOLID;
typedef DWORD_PTR   TRANSID;

//-------------------- Driver-aware Connection Pooling --------------------------
// We define a few scores with special meaning
// But driver can return any score between 0 and 100
typedef DWORD SQLConnPoolRating;
#define SQL_CONN_POOL_RATING_BEST               100     // the best of the rating
#define SQL_CONN_POOL_RATING_GOOD_ENOUGH        99      // the rating is good enough and we can stop rating
#define SQL_CONN_POOL_RATING_USELESS            0       // the candidate connection must not be reused for the current request

// SQLSetConnectAttr
#define SQL_ATTR_DBC_INFO_TOKEN                 118     // reset the pooled connection in case it is not a perfect match

// Set connection attributes into DBC info token
SQLRETURN SQL_SPI SQLSetConnectAttrForDbcInfoW(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    SQLINTEGER          Attribute,
    _In_reads_bytes_opt_(StringLength) 
    SQLPOINTER          Value,
    SQLINTEGER          StringLength);

// Set connection information for SQLDriverConnect
SQLRETURN SQL_SPI SQLSetDriverConnectInfoW(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _In_reads_(cchConnStrIn) 
    SQLWCHAR            *szConnStrIn,
    SQLSMALLINT         cchConnStrIn);

// Set connection information for SQLConnect
SQLRETURN SQL_SPI SQLSetConnectInfoW
(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _In_reads_(cchDSN) 
    SQLWCHAR            *szDSN,
    SQLSMALLINT         cchDSN,
    _In_reads_(cchUID) 
    SQLWCHAR            *szUID,
    SQLSMALLINT         cchUID,
    _In_reads_(cchAuthStr) 
    SQLWCHAR            *szAuthStr,
    SQLSMALLINT         cchAuthStr
);

// Get the pool ID for the token
SQLRETURN SQL_SPI SQLGetPoolID(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _Out_
    POOLID*             pPoolID);

// Return how close hCandidateConnection matches with hRequest
// *pRating must be between SQL_CONN_POOL_RATING_USELESS and SQL_CONN_POOL_RATING_BEST (inclusively)
// If return value is not SQL_SUCCESS or *pRating > SQL_CONN_POOL_RATING_BEST, the candidate 
// connection will not be used any more in any other connection request
// If fRequiresTransactionEnlistment is TRUE, transId represents the DTC transaction ID that 
// should be enlisted to (transId == 0 means unenlistment). Otherwise, transId should be ignored
SQLRETURN SQL_SPI SQLRateConnection(
    SQLHDBC_INFO_TOKEN  hRequest,
    SQLHDBC             hCandidateConnection,
    BOOL                fRequiresTransactionEnlistment,
    TRANSID             transId,
    _Out_
    SQLConnPoolRating   *pRating);

// Create a physical connection 
// If application is calling SQLDriverConnect, szConnStrOut is non-NULL at input. 
// Otherwise, it will be set to NULL
SQLRETURN SQL_SPI SQLPoolConnectW(
    SQLHDBC             hdbc,
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _Out_writes_opt_(cchConnStrOutMax)
    SQLWCHAR            *szConnStrOut, 
    SQLSMALLINT         cchConnStrOutMax,
    _Out_opt_
    SQLSMALLINT         *pcchConnStrOut);

// Clean up a pool Id that was timed out
// poolID [in]: the pool ID (under EnvironmentHandle) to be cleaned
SQLRETURN SQL_SPI SQLCleanupConnectionPoolID(
    SQLHENV             EnvironmentHandle,
    POOLID              poolID);

//-----------------------------------------------------------------------------
// functions for ANSI drivers

// Set connection attributes into DBC info token
SQLRETURN SQL_SPI SQLSetConnectAttrForDbcInfoA(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    SQLINTEGER          Attribute,
    _In_reads_bytes_opt_(StringLength) 
    SQLPOINTER          Value,
    SQLINTEGER          StringLength);

// Set connection information for SQLDriverConnect
SQLRETURN SQL_SPI SQLSetDriverConnectInfoA(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _In_reads_(cchConnStrIn) 
    SQLCHAR             *szConnStrIn,
    SQLSMALLINT         cchConnStrIn);

// Set connection information for SQLConnect
SQLRETURN SQL_SPI SQLSetConnectInfoA
(
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _In_reads_(cchDSN) 
    SQLCHAR             *szDSN,
    SQLSMALLINT         cchDSN,
    _In_reads_(cchUID) 
    SQLCHAR             *szUID,
    SQLSMALLINT         cchUID,
    _In_reads_(cchAuthStr) 
    SQLCHAR             *szAuthStr,
    SQLSMALLINT         cchAuthStr
);

// Create a physical connection 
// If application is calling SQLDriverConnect, szConnStrOut is non-NULL at input. 
// Otherwise, it will be set to NULL
SQLRETURN SQL_SPI SQLPoolConnectA(
    SQLHDBC             hdbc,
    SQLHDBC_INFO_TOKEN  hDbcInfoToken,
    _Out_writes_opt_(cchConnStrOutMax)
    SQLCHAR             *szConnStrOut, 
    SQLSMALLINT         cchConnStrOutMax,
    _Out_opt_
    SQLSMALLINT         *pcchConnStrOut);

//-----------------------------------------------------------------------------
// Unicode mapping
// Define SQL_NOUNICODEMAP to disable the mapping
#if (!defined(SQL_NOUNICODEMAP) && defined(UNICODE))
#define SQLSetConnectAttrForDbcInfo     SQLSetConnectAttrForDbcInfoW
#define SQLSetDriverConnectInfo         SQLSetDriverConnectInfoW
#define SQLSetConnectInfo               SQLSetConnectInfoW
#define SQLPoolConnect                  SQLPoolConnectW
#else
#define SQLSetConnectAttrForDbcInfo     SQLSetConnectAttrForDbcInfoA
#define SQLSetDriverConnectInfo         SQLSetDriverConnectInfoA
#define SQLSetConnectInfo               SQLSetConnectInfoA
#define SQLPoolConnect                  SQLPoolConnectA
#endif      // End of #if (!defined(SQL_NOUNICODEMAP) && defined(UNICODE))
//------------------------------------------------------------------------------

//-------------------- Async Notification --------------------------
#if (ODBCVER >= 0x0380)
#define SQL_ATTR_ASYNC_DBC_NOTIFICATION_CALLBACK  120
#define SQL_ATTR_ASYNC_DBC_NOTIFICATION_CONTEXT   121

#define SQL_ATTR_ASYNC_STMT_NOTIFICATION_CALLBACK 30
#define SQL_ATTR_ASYNC_STMT_NOTIFICATION_CONTEXT  31

typedef SQLRETURN (SQL_API *SQL_ASYNC_NOTIFICATION_CALLBACK)(_In_ SQLPOINTER pContext, BOOL fLast);
#endif /* ODBCVER >= 0x0380 */


#ifdef __cplusplus
}                   // End of extern "C" {
#endif              // End of #ifdef __cplusplus


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

#endif              // End of #ifndef __SQLSPI__

Youez - 2016 - github.com/yon3zu
LinuXploit