31#ifndef _WDFINSTALLER_H_
32#define _WDFINSTALLER_H_
36 #define WDF_EXTERN_C extern "C"
37 #define WDF_EXTERN_C_START extern "C" {
38 #define WDF_EXTERN_C_END }
41 #define WDF_EXTERN_C_START
42 #define WDF_EXTERN_C_END
50#if (NTDDI_VERSION >= NTDDI_WIN2K)
#define RtlZeroMemory(Destination, Length)
ULONG WINAPI WdfPreDeviceInstallEx(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName, _In_ PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions)
ULONG WINAPI WdfPostDeviceInstall(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
ULONG WINAPI WdfPreDeviceInstall(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
#define WDF_EXTERN_C_START
ULONG WINAPI WdfPreDeviceRemove(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
WDF_EXTERN_C_START struct _WDF_COINSTALLER_INSTALL_OPTIONS WDF_COINSTALLER_INSTALL_OPTIONS
ULONG(WINAPI * PFN_WDFPREDEVICEINSTALLEX)(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName, _In_ PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions)
ULONG(WINAPI * PFN_WDFPOSTDEVICEREMOVE)(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
WDF_EXTERN_C_START struct _WDF_COINSTALLER_INSTALL_OPTIONS * PWDF_COINSTALLER_INSTALL_OPTIONS
ULONG(WINAPI * PFN_WDFPREDEVICEREMOVE)(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
FORCEINLINE VOID WDF_COINSTALLER_INSTALL_OPTIONS_INIT(_Out_ PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions)
ULONG(WINAPI * PFN_WDFPOSTDEVICEINSTALL)(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
ULONG(WINAPI * PFN_WDFPREDEVICEINSTALL)(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)
ULONG WINAPI WdfPostDeviceRemove(_In_ LPCWSTR InfPath, _In_opt_ LPCWSTR InfSectionName)