693 lines
22 KiB
Plaintext
693 lines
22 KiB
Plaintext
/*++
|
|
|
|
Copyright (c) 1995-2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
PNP.IDL
|
|
|
|
Abstract:
|
|
|
|
Contains the PnP APIs which are used to remote the plug-and-play
|
|
APIs to the local or remote server via RPC. Also contains the RPC
|
|
specific data structures for these API.
|
|
|
|
** NOTE: You _must_ add new interfaces to the end of the file. **
|
|
** Inserting them in the middle breaks backwards compatibility. **
|
|
|
|
Author:
|
|
|
|
Paula Tomlinson (paulat) 06-June-1995
|
|
|
|
Environment:
|
|
|
|
User-mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
06-June-1995 PaulaT
|
|
created
|
|
|
|
--*/
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
[
|
|
uuid(8D9F4E40-A03D-11CE-8F69-08003E30051B),
|
|
version(1.0),
|
|
#ifdef __midl
|
|
ms_union,
|
|
#endif // __midl
|
|
pointer_default(unique)
|
|
]
|
|
|
|
//
|
|
// Interface Keyword
|
|
//
|
|
|
|
interface pnp
|
|
|
|
//
|
|
// Interface Body
|
|
//
|
|
|
|
{
|
|
|
|
import "imports.idl"; // import all the include files
|
|
|
|
//
|
|
// PnP Generic Handle used to bind from client to server.
|
|
//
|
|
|
|
typedef [handle,unique] LPWSTR PNP_HANDLE;
|
|
typedef [context_handle] void* PNP_NOTIFICATION_CONTEXT;
|
|
typedef PNP_NOTIFICATION_CONTEXT *PPNP_NOTIFICATION_CONTEXT;
|
|
|
|
typedef struct _PNP_CLIENT_CONTEXT {
|
|
ULONG PNP_CC_Signature;
|
|
ULONG_PTR PNP_CC_ContextHandle;
|
|
} PNP_CLIENT_CONTEXT, *PPNP_CLIENT_CONTEXT;
|
|
|
|
|
|
//
|
|
// Function Prototypes (UNICODE only, PNP is unicode internally)
|
|
//
|
|
//
|
|
// NOTE:
|
|
// The names of the functions are short so that when RPC
|
|
// prepends the interface name to the names, they are still
|
|
// unique.
|
|
//
|
|
//
|
|
// NOTE: Whenever [out,string] is used for an attribute, that means the
|
|
// client and server are assuming valid (predefined) sizes of buffers
|
|
// in order to more efficiently copy the data between address spaces
|
|
// (this is generally only used for internal buffers, not user buffers)
|
|
|
|
|
|
// these two routines are place holders --------------
|
|
CONFIGRET
|
|
PNP_Connect(
|
|
[in,string,unique] PNP_HANDLE UNCServerName
|
|
);
|
|
|
|
|
|
CONFIGRET
|
|
PNP_Disconnect(
|
|
[in,string,unique] PNP_HANDLE UNCServerName
|
|
);
|
|
// these two routines are place holders -------------
|
|
|
|
CONFIGRET
|
|
PNP_GetVersion(
|
|
[in] handle_t hBinding,
|
|
[out] WORD *pVersion
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetGlobalState(
|
|
[in] handle_t hBinding,
|
|
[out] PULONG pulState,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
|
|
CONFIGRET
|
|
PNP_InitDetection(
|
|
[in] handle_t hBinding
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_ReportLogOn(
|
|
[in] handle_t hBinding,
|
|
[in] BOOL bAdmin,
|
|
[in] DWORD ProcessID
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_ValidateDeviceInstance(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetRootDeviceInstance(
|
|
[in] handle_t hBinding,
|
|
[out,string,size_is(ulLength)] LPWSTR pDeviceID,
|
|
[in] ULONG ulLength
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetRelatedDeviceInstance(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulRelationship,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[out,string,size_is(*pulLength)] LPWSTR pRelatedDeviceID,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_EnumerateSubKeys(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulBranch,
|
|
[in] ULONG ulIndex,
|
|
[out,string,size_is(ulLength)] PWSTR Buffer,
|
|
[in] ULONG ulLength,
|
|
[out] PULONG pulRequiredLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetDeviceList(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pszFilter,
|
|
[out,size_is(*pulLength),length_is(*pulLength)] LPWSTR Buffer,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetDeviceListSize(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pszFilter,
|
|
[out] PULONG pulLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetDepth(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[out] PULONG pulDepth,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetDeviceRegProp(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pDeviceID,
|
|
[in] ULONG ulProperty,
|
|
[in,out] PULONG pulRegDataType,
|
|
[out,size_is(*pulTransferLen),length_is(*pulTransferLen)] LPBYTE Buffer,
|
|
[in,out] PULONG pulTransferLen,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_SetDeviceRegProp(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pDeviceID,
|
|
[in] ULONG ulProperty,
|
|
[in] ULONG ulDataType,
|
|
[in,size_is(ulLength)] LPBYTE Buffer,
|
|
[in] ULONG ulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetClassInstance(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pDeviceID,
|
|
[out,string,size_is(ulLength)] LPWSTR pszClassInstance,
|
|
[in] ULONG ulLength
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_CreateKey(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszSubKey,
|
|
[in] REGSAM samDesired,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_DeleteRegistryKey(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in,string,ref] LPCWSTR pszParentKey,
|
|
[in,string,ref] LPCWSTR pszChildKey,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetClassCount(
|
|
[in] handle_t hBinding,
|
|
[out] PULONG pulClassCount,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetClassName(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] PCWSTR pszClassGuid,
|
|
[out,string,size_is(*pulLength)] PWSTR Buffer,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_DeleteClassKey(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] PCWSTR pszClassGuid,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetInterfaceDeviceAlias(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] PCWSTR pszInterfaceDevice,
|
|
[in] LPGUID AliasInterfaceGuid,
|
|
[out,string,size_is(*pulTransferLen)] PWSTR pszAliasInterfaceDevice,
|
|
[in,out] PULONG pulLength,
|
|
[in,out] PULONG pulTransferLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetInterfaceDeviceList(
|
|
[in] handle_t hBinding,
|
|
[in] LPGUID InterfaceGuid,
|
|
[in,string,unique] LPCWSTR pszDeviceID,
|
|
[out,size_is(*pulLength),length_is(*pulLength)] LPWSTR Buffer,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetInterfaceDeviceListSize(
|
|
[in] handle_t hBinding,
|
|
[out] PULONG pulLen,
|
|
[in] LPGUID InterfaceGuid,
|
|
[in,string,unique] LPCWSTR pszDeviceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RegisterDeviceClassAssociation(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pszDeviceID,
|
|
[in] LPGUID InterfaceGuid,
|
|
[in,string,unique] LPCWSTR pszReference,
|
|
[out,string,size_is(*pulTransferLen)] PWSTR pszSymLink,
|
|
[in,out] PULONG pulLength,
|
|
[in,out] PULONG pulTransferLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_UnregisterDeviceClassAssociation(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pszInterfaceDevice,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetClassRegProp(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszClassGuid,
|
|
[in] ULONG ulProperty,
|
|
[in,out] PULONG pulRegDataType,
|
|
[out,size_is(*pulTransferLen),length_is(*pulTransferLen)] LPBYTE Buffer,
|
|
[in,out] PULONG pulTransferLen,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_SetClassRegProp(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszClassGuid,
|
|
[in] ULONG ulProperty,
|
|
[in] ULONG ulDataType,
|
|
[in,size_is(ulLength)] LPBYTE Buffer,
|
|
[in] ULONG ulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_CreateDevInst(
|
|
[in] handle_t hBinding,
|
|
[in,out,string,size_is(ulLength)] LPWSTR pszDeviceID,
|
|
[in,string,ref] LPWSTR pszParentDeviceID,
|
|
[in] ULONG ulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_DeviceInstanceAction(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulMajorAction,
|
|
[in] ULONG ulMinorAction,
|
|
[in,string,unique] PCWSTR pszDeviceInstance1,
|
|
[in,string,unique] PCWSTR pszDeviceInstance2
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetDeviceStatus(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pDeviceID,
|
|
[out] PULONG pulStatus,
|
|
[out] PULONG pulProblem,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_SetDeviceProblem(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pDeviceID,
|
|
[in] ULONG ulProblem,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_DisableDevInst(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pDeviceID,
|
|
[in,out,unique] PPNP_VETO_TYPE pVetoType,
|
|
[in,out,string,max_is(ulNameLength),unique] LPWSTR pszVetoName,
|
|
[in] ULONG ulNameLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_UninstallDevInst(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pDeviceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_AddID(
|
|
[in] handle_t hBinding,
|
|
[in,string,unique] LPCWSTR pszDeviceID,
|
|
[in,string,ref] LPCWSTR pszID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RegisterDriver(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
|
|
CONFIGRET
|
|
PNP_QueryRemove(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in,out,unique] PPNP_VETO_TYPE pVetoType,
|
|
[in,out,string,max_is(ulNameLength),unique] LPWSTR pszVetoName,
|
|
[in] ULONG ulNameLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RequestDeviceEject(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in,out,unique] PPNP_VETO_TYPE pVetoType,
|
|
[in,out,string,max_is(ulNameLength),unique] LPWSTR pszVetoName,
|
|
[in] ULONG ulNameLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_IsDockStationPresent (
|
|
[in] handle_t hBinding,
|
|
[in,out,unique] PBOOL Present
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RequestEjectPC (
|
|
[in] handle_t hBinding
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_HwProfFlags(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulAction,
|
|
[in,string,ref] LPCWSTR pDeviceID,
|
|
[in] ULONG ulConfig,
|
|
[in,out] PULONG pulValue,
|
|
[in,out,unique] PPNP_VETO_TYPE pVetoType,
|
|
[in,out,string,max_is(ulNameLength),unique] LPWSTR pszVetoName,
|
|
[in] ULONG ulNameLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetHwProfInfo(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulIndex,
|
|
[in,out,ref] HWPROFILEINFO *pHWProfileInfo,
|
|
[in] ULONG ulProfileInfoSize,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_AddEmptyLogConf(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulPriority,
|
|
[out] PULONG pulLogConfTag,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_FreeLogConf(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfType,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetFirstLogConf(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfType,
|
|
[out] PULONG pulLogConfTag,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetNextLogConf(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfType,
|
|
[in] ULONG ulCurrentTag,
|
|
[out] PULONG pulNextTag,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetLogConfPriority(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulType,
|
|
[in] ULONG ulTag,
|
|
[out] PULONG pPriority,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_AddResDes(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID ResourceID,
|
|
[out] PULONG pulResourceTag,
|
|
[in,size_is(ResourceLen)] LPBYTE ResourceData,
|
|
[in] ULONG ResourceLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_FreeResDes(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulResourceTag,
|
|
[out] PULONG pulPreviousResType,
|
|
[out] PULONG pulPreviousResTag,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetNextResDes(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulResourceTag,
|
|
[out] PULONG pulNextResDesTag,
|
|
[out] PULONG pulNextResDesType,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetResDesData(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulResourceTag,
|
|
[out,size_is(BufferLen)] LPBYTE Buffer,
|
|
[in] ULONG BufferLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetResDesDataSize(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulResourceTag,
|
|
[out] PULONG pulSize,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_ModifyResDes(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] ULONG ulLogConfTag,
|
|
[in] ULONG ulLogConfType,
|
|
[in] RESOURCEID CurrentResourceID,
|
|
[in] RESOURCEID NewResourceID,
|
|
[in] ULONG ulResourceTag,
|
|
[in,size_is(ResourceLen)] LPBYTE ResourceData,
|
|
[in] ULONG ResourceLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_DetectResourceConflict(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] RESOURCEID ResourceID,
|
|
[in,size_is(ResourceLen)] LPBYTE ResourceData,
|
|
[in] ULONG ResourceLen,
|
|
[out] PBOOL pbConflictDetected,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_QueryResConfList(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPWSTR pDeviceID,
|
|
[in] RESOURCEID ResourceID,
|
|
[in,size_is(ResourceLen)] LPBYTE ResourceData,
|
|
[in] ULONG ResourceLen,
|
|
[out,size_is(BufferLen)] LPBYTE Buffer,
|
|
[in] ULONG BufferLen,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_SetHwProf(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulHardwareProfile,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_QueryArbitratorFreeData(
|
|
[in] handle_t hBinding,
|
|
[out,size_is(ulDataLen)] LPBYTE pData,
|
|
[in] ULONG ulDataLen,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_QueryArbitratorFreeSize(
|
|
[in] handle_t hBinding,
|
|
[out] PULONG pulSize,
|
|
[in,string,ref] LPCWSTR pszDeviceID,
|
|
[in] RESOURCEID ResourceID,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RunDetection(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_RegisterNotification(
|
|
[in] handle_t hBinding,
|
|
[in] ULONG_PTR hRecipient,
|
|
[in,string,ref] LPWSTR ServiceName,
|
|
[in,size_is(ulSize)] LPBYTE NotificationFilter,
|
|
[in] ULONG ulSize,
|
|
[in] DWORD Flags,
|
|
[out] PNP_NOTIFICATION_CONTEXT *Context,
|
|
[in] ULONG hProcess,
|
|
[in] ULONG64 *ClientContext
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_UnregisterNotification(
|
|
[in] handle_t hBinding,
|
|
[in,out] PNP_NOTIFICATION_CONTEXT *Context
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetCustomDevProp(
|
|
[in] handle_t hBinding,
|
|
[in,string,ref] LPCWSTR pDeviceID,
|
|
[in,string,ref] LPCWSTR CustomPropName,
|
|
[out] PULONG pulRegDataType,
|
|
[out,size_is(*pulLength),length_is(*pulTransferLen)] LPBYTE Buffer,
|
|
[out] PULONG pulTransferLen,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetVersionInternal(
|
|
[in] handle_t hBinding,
|
|
[in,out] WORD *pwVersion
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetBlockedDriverInfo(
|
|
[in] handle_t hBinding,
|
|
[out,size_is(*pulLength),length_is(*pulTransferLen)] LPBYTE Buffer,
|
|
[out] PULONG pulTransferLen,
|
|
[in,out] PULONG pulLength,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
CONFIGRET
|
|
PNP_GetServerSideDeviceInstallFlags(
|
|
[in] handle_t hBinding,
|
|
[out] PULONG pulSSDIFlags,
|
|
[in] ULONG ulFlags
|
|
);
|
|
|
|
//---------------------------------------------------------
|
|
// ** ADD NEW INTERFACES HERE **
|
|
//---------------------------------------------------------
|
|
|
|
}
|
|
|
|
|