| 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 : |
import "wtypes.idl", "unknwn.idl";
cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
cpp_quote("STDAPI")
cpp_quote("CreateDeviceAccessInstance(")
cpp_quote(" _In_ PCWSTR deviceInterfacePath,")
cpp_quote(" _In_ DWORD desiredAccess,")
cpp_quote(" _COM_Outptr_ ICreateDeviceAccessAsync **createAsync")
cpp_quote(" );")
cpp_quote("#endif")
declare_guid(CLSID_DeviceIoControl, 12D3E372-874B-457D-9FDF-73977778686C);
[object,
uuid (999BAD24-9ACD-45BB-8669-2A2FC0288B04),
pointer_default(unique)
]
interface IDeviceRequestCompletionCallback : IUnknown
{
cpp_quote("#define RequestCompletion Invoke")
HRESULT
RequestCompletion(
[in] HRESULT requestResult,
[in] DWORD bytesReturned
);
}
[object,
uuid (9EEFE161-23AB-4F18-9B49-991B586AE970),
pointer_default(unique),
local
]
interface IDeviceIoControl : IUnknown
{
HRESULT
DeviceIoControlSync(
[in, annotation("_In_")] DWORD ioControlCode,
[in, size_is(inputBufferSize), annotation("_In_reads_opt_(inputBufferSize)")] UCHAR *inputBuffer,
[in, annotation("_In_")] DWORD inputBufferSize,
[out, size_is(outputBufferSize), annotation("_Out_writes_opt_(outputBufferSize)")] UCHAR *outputBuffer,
[in, annotation("_In_")] DWORD outputBufferSize,
[out, annotation("_Out_")] DWORD *bytesReturned
);
HRESULT
DeviceIoControlAsync(
[in, annotation("_In_")] DWORD ioControlCode,
[in, size_is(inputBufferSize), annotation("_In_reads_opt_(inputBufferSize)")] UCHAR *inputBuffer,
[in, annotation("_In_")] DWORD inputBufferSize,
[out, size_is(outputBufferSize), annotation("_Out_writes_opt_(outputBufferSize)")] UCHAR *outputBuffer,
[in, annotation("_In_")] DWORD outputBufferSize,
[in, annotation("_In_")] IDeviceRequestCompletionCallback * requestCompletionCallback,
[out, annotation("_Out_opt_")] ULONG_PTR * cancelContext
);
HRESULT
CancelOperation(
[in, annotation("_In_")] ULONG_PTR cancelContext
);
}
[object,
uuid (3474628F-683D-42D2-ABCB-DB018C6503BC),
pointer_default(unique),
local
]
interface ICreateDeviceAccessAsync : IUnknown
{
HRESULT
Cancel();
HRESULT
Wait(
[in, annotation("_In_")] DWORD timeout
);
HRESULT
Close();
//
// Current IIDs that are valid for this function are:
//
// IID_IDeviceIoControl
//
HRESULT
GetResult(
[in, annotation("_In_")] REFIID riid,
[out, annotation("_COM_Outptr_")] void** deviceAccess
);
}