2 * Plug and Play Manager RPC interface definition
5 #define WORD unsigned short
6 #define DWORD unsigned long
7 #define CONFIGRET unsigned long
10 uuid (809F4e40-A03D-11CE-8F69-08003E30051B),
12 pointer_default(unique),
17 CONFIGRET PNP_GetVersion(handle_t BindingHandle,
20 CONFIGRET PNP_GetGlobalState(handle_t BindingHandle,
21 [out] unsigned long *State,
22 [in] unsigned long Flags);
24 CONFIGRET PNP_ValidateDeviceInstance(handle_t BindingHandle,
25 [in, string] wchar_t *DeviceInstance,
28 CONFIGRET PNP_GetRootDeviceInstance(handle_t BindingHandle,
29 [out, string, size_is(Length)] wchar_t *DeviceInstance,
32 cpp_quote("#define PNP_DEVICE_PARENT 1")
33 cpp_quote("#define PNP_DEVICE_CHILD 2")
34 cpp_quote("#define PNP_DEVICE_SIBLING 3")
35 CONFIGRET PNP_GetRelatedDeviceInstance(handle_t BindingHandle,
36 [in] DWORD Relationship,
37 [in, string] wchar_t *DeviceId,
38 [out, string, size_is(Length)] wchar_t *RelatedDeviceId,
42 cpp_quote("#define PNP_BRANCH_ENUM 1")
43 cpp_quote("#define PNP_BRANCH_CLASS 2")
44 CONFIGRET PNP_EnumerateSubKeys(handle_t BindingHandle,
45 [in] unsigned long Branch,
46 [in] unsigned long Index,
47 [out, string, size_is(Length)] wchar_t *Buffer,
48 [in] unsigned long Length,
49 [out] unsigned long *RequiredLength,
52 CONFIGRET PNP_GetDepth(handle_t BindingHandle,
53 [in, string] wchar_t *DeviceInstance,
54 [out] unsigned long *Depth,
57 CONFIGRET PNP_GetDeviceRegProp(handle_t BindingHandle,
58 [in, string] wchar_t *DeviceInstance,
59 [in] unsigned long Property,
60 [in, out] unsigned long *DataType,
61 [out, size_is(*TransferLen)] char *Buffer,
62 [in, out] unsigned long *TransferLen,
63 [in, out] unsigned long *Length,
66 CONFIGRET PNP_SetDeviceRegProp(handle_t BindingHandle,
67 [in, string] wchar_t *DeviceId,
68 [in] unsigned long Property,
69 [in] unsigned long DataType,
70 [in, size_is(Length)] char *Buffer,
71 [in] unsigned long Length,
72 [in] unsigned long Flags);
74 CONFIGRET PNP_GetClassName(handle_t BindingHandle,
75 [in, string] wchar_t *ClassGuid,
76 [out, string, size_is(*Length)] wchar_t *Buffer,
77 [in, out] unsigned long *Length,
78 [in] unsigned long Flags);
80 CONFIGRET PNP_DeleteClassKey(handle_t BindingHandle,
81 [in, string] wchar_t *ClassGuid,
82 [in] unsigned long Flags);
84 CONFIGRET PNP_GetDeviceStatus(handle_t BindingHandle,
85 [in, string] wchar_t *DeviceInstance,
86 [out] unsigned long *Status,
87 [out] unsigned long *Problem,
90 CONFIGRET PNP_SetDeviceProblem(handle_t BindingHandle,
91 [in, string] wchar_t *DeviceInstance,
92 [in] unsigned long Problem,