87 lines
2.8 KiB
C
87 lines
2.8 KiB
C
#ifndef _PH_APIIMPORT_H
|
|
#define _PH_APIIMPORT_H
|
|
|
|
// comctl32
|
|
|
|
typedef HRESULT (WINAPI *_TaskDialogIndirect)(
|
|
_In_ const struct _TASKDIALOGCONFIG *pTaskConfig,
|
|
_In_ int *pnButton,
|
|
_In_ int *pnRadioButton,
|
|
_In_ BOOL *pfVerificationFlagChecked
|
|
);
|
|
|
|
// ntdll
|
|
|
|
typedef NTSTATUS (NTAPI *_NtQueryInformationEnlistment)(
|
|
_In_ HANDLE EnlistmentHandle,
|
|
_In_ ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
|
|
_Out_writes_bytes_(EnlistmentInformationLength) PVOID EnlistmentInformation,
|
|
_In_ ULONG EnlistmentInformationLength,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
typedef NTSTATUS (NTAPI *_NtQueryInformationResourceManager)(
|
|
_In_ HANDLE ResourceManagerHandle,
|
|
_In_ RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
|
|
_Out_writes_bytes_(ResourceManagerInformationLength) PVOID ResourceManagerInformation,
|
|
_In_ ULONG ResourceManagerInformationLength,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
typedef NTSTATUS (NTAPI *_NtQueryInformationTransaction)(
|
|
_In_ HANDLE TransactionHandle,
|
|
_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
|
_Out_writes_bytes_(TransactionInformationLength) PVOID TransactionInformation,
|
|
_In_ ULONG TransactionInformationLength,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
typedef NTSTATUS (NTAPI *_NtQueryInformationTransactionManager)(
|
|
_In_ HANDLE TransactionManagerHandle,
|
|
_In_ TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
|
|
_Out_writes_bytes_(TransactionManagerInformationLength) PVOID TransactionManagerInformation,
|
|
_In_ ULONG TransactionManagerInformationLength,
|
|
_Out_opt_ PULONG ReturnLength
|
|
);
|
|
|
|
// shell32
|
|
|
|
#if defined(_M_IX86)
|
|
#define __unaligned
|
|
#endif
|
|
|
|
typedef HRESULT (WINAPI *_SHCreateShellItem)(
|
|
_In_opt_ const struct _ITEMIDLIST __unaligned *pidlParent,
|
|
_In_opt_ struct IShellFolder *psfParent,
|
|
_In_ const struct _ITEMIDLIST __unaligned *pidl,
|
|
_Out_ struct IShellItem **ppsi
|
|
);
|
|
|
|
typedef HRESULT (WINAPI *_SHOpenFolderAndSelectItems)(
|
|
_In_ const struct _ITEMIDLIST __unaligned *pidlFolder,
|
|
_In_ UINT cidl,
|
|
_In_reads_opt_(cidl) const struct _ITEMIDLIST __unaligned **apidl,
|
|
_In_ DWORD dwFlags
|
|
);
|
|
|
|
typedef HRESULT (WINAPI *_SHParseDisplayName)(
|
|
_In_ LPCWSTR pszName,
|
|
_In_opt_ struct IBindCtx *pbc,
|
|
_Out_ const struct _ITEMIDLIST __unaligned **ppidl,
|
|
_In_ ULONG sfgaoIn,
|
|
_Out_ ULONG *psfgaoOut
|
|
);
|
|
|
|
#define PH_DECLARE_IMPORT(Name) _##Name Name##_Import(VOID)
|
|
|
|
PH_DECLARE_IMPORT(TaskDialogIndirect);
|
|
PH_DECLARE_IMPORT(NtQueryInformationEnlistment);
|
|
PH_DECLARE_IMPORT(NtQueryInformationResourceManager);
|
|
PH_DECLARE_IMPORT(NtQueryInformationTransaction);
|
|
PH_DECLARE_IMPORT(NtQueryInformationTransactionManager);
|
|
PH_DECLARE_IMPORT(SHCreateShellItem);
|
|
PH_DECLARE_IMPORT(SHOpenFolderAndSelectItems);
|
|
PH_DECLARE_IMPORT(SHParseDisplayName);
|
|
|
|
#endif
|