| 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 : |
//
// Copyright (C) Microsoft. All rights reserved.
//
cpp_quote("#include <winapifamily.h>")
#pragma region Desktop Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
import "oaidl.idl";
import "ocidl.idl";
import "Inspectable.idl";
//
// Information for calling InternetSetCookieEx to set a proof of possession cookie.
//
typedef struct ProofOfPossessionCookieInfo
{
LPWSTR name;
LPWSTR data;
DWORD flags; // e.g., INTERNET_COOKIE_EVALUATE_P3P, INTERNET_COOKIE_HTTPONLY, INTERNET_COOKIE_THIRD_PARTY. See InternetSetCookieEx on MSDN.
LPWSTR p3pHeader;
} ProofOfPossessionCookieInfo;
cpp_quote("__inline void FreeProofOfPossessionCookieInfoArray(_In_reads_(cookieInfoCount) ProofOfPossessionCookieInfo* cookieInfo, DWORD cookieInfoCount)")
cpp_quote("{ ")
cpp_quote(" DWORD i; ")
cpp_quote(" for (i = 0; i < cookieInfoCount; i++) ")
cpp_quote(" { ")
cpp_quote(" CoTaskMemFree(cookieInfo[i].name); ")
cpp_quote(" CoTaskMemFree(cookieInfo[i].data); ")
cpp_quote(" CoTaskMemFree(cookieInfo[i].p3pHeader); ")
cpp_quote(" } ")
cpp_quote(" CoTaskMemFree(cookieInfo); ")
cpp_quote("} ")
//
// Interface to get information for creating proof of possession cookies.
// CoCreateInstance(__uuidof(ProofOfPossessionCookieInfoManager), nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&manager))
// to create an instance of the CookieInfo manager (IProofOfPossessionCookieInfoManager).
//
[
object,
uuid(CDAECE56-4EDF-43DF-B113-88E4556FA1BB),
pointer_default(unique)
]
interface IProofOfPossessionCookieInfoManager : IUnknown
{
//
// Gets cookie information corresponding to the supplied URI.
// A case sensitive string search is performed on the supplied URI.
// Free the returned array using FreeProofOfPossessionCookieInfoArray().
//
HRESULT GetCookieInfoForUri(
[in] LPCWSTR uri,
[out] DWORD* cookieInfoCount,
[out, size_is(,*cookieInfoCount)] ProofOfPossessionCookieInfo** cookieInfo);
}
//
// Interface to get information for creating proof of possession cookies, for a WebAccount.
// CoCreateInstance(__uuidof(ProofOfPossessionCookieInfoManager), nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&manager2))
// to create an instance of the CookieInfo manager2 (IProofOfPossessionCookieInfoManager2).
//
[
object,
uuid(15E41407-B42F-4AE7-9966-34A087B2D713),
pointer_default(unique)
]
interface IProofOfPossessionCookieInfoManager2 : IUnknown
{
//
// Gets cookie information corresponding to the supplied WebAccount and URI.
// WebAccount is from calling methods on WebAuthenticationCoreManager, for example:
// WebAuthenticationCoreManager.FindAccountAsync, or
// WebAuthenticationCoreManager.FindAllAccountsAsync
// A case sensitive string search is performed on the supplied URI.
// Free the returned array using FreeProofOfPossessionCookieInfoArray().
//
HRESULT GetCookieInfoWithUriForAccount(
[in] IInspectable* webAccount, // Windows.Security.Credentials.WebAccount as IInspectable.
[in] LPCWSTR uri,
[out] DWORD* cookieInfoCount,
[out, size_is(, *cookieInfoCount)] ProofOfPossessionCookieInfo** cookieInfo);
}
//
// Cookie Information Manager type library.
//
[
uuid(7681A019-8F51-4594-9507-F27040F71F01),
version(1.0)
]
library ProofOfPossessionCookieInfoManagerLib
{
[
uuid(A9927F85-A304-4390-8B23-A75F1C668600)
]
coclass ProofOfPossessionCookieInfoManager
{
[default] interface IProofOfPossessionCookieInfoManager;
interface IProofOfPossessionCookieInfoManager2;
};
}
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
#pragma endregion