[IDL]
authorAleksey Bragin <aleksey@reactos.org>
Tue, 24 Nov 2009 22:39:25 +0000 (22:39 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Tue, 24 Nov 2009 22:39:25 +0000 (22:39 +0000)
- Make our IDLs files to not specify a [range] tag for string datatypes, and 0,256 range for an unsigned type. Fixes compiling with newer WIDL and (probably) MIDL.

svn path=/trunk/; revision=44283

reactos/include/reactos/idl/eventlogrpc.idl
reactos/include/reactos/idl/pnp.idl
reactos/include/reactos/idl/svcctl.idl

index ae78f89..e5cdbd3 100644 (file)
@@ -115,7 +115,7 @@ interface eventlog
         [in] USHORT EventType,
         [in] USHORT EventCategory,
         [in] DWORD EventID,
-        [in, range(0, 256)] USHORT NumStrings,
+        [in/*, max_is(256)*/] USHORT NumStrings,
         [in, range(0, 61440)] DWORD DataSize,
         [in] PRPC_UNICODE_STRING ComputerName,
         [in, unique] PRPC_SID UserSID,
@@ -178,7 +178,7 @@ interface eventlog
         [in] USHORT EventType,
         [in] USHORT EventCategory,
         [in] DWORD EventID,
-        [in, range(0, 256)] USHORT NumStrings,
+        [in/*, max_is(256)*/] USHORT NumStrings,
         [in, range(0, 61440)] DWORD DataSize,
         [in] PRPC_STRING ComputerName,
         [in, unique] PRPC_SID UserSID,
@@ -229,7 +229,7 @@ interface eventlog
         [in] USHORT EventCategory,
         [in] ULONG EventID,
         [in] PRPC_UNICODE_STRING SourceName,
-        [in, range(0, 256)] USHORT NumStrings,
+        [in/*, max_is(256)*/] USHORT NumStrings,
         [in, range(0, 61440)] DWORD DataSize,
         [in] PRPC_UNICODE_STRING ComputerName,
         [in, unique] PRPC_SID UserSID,
index a668de5..cf3fc89 100644 (file)
@@ -18,10 +18,14 @@ cpp_quote("#ifndef _CFGMGR32_H_")
 typedef unsigned long RESOURCEID;
 cpp_quote("#endif")
 typedef unsigned long DEVPROPTYPE;
-typedef [range(0, PNP_MAX_PROP_SIZE)] unsigned long PNP_PROP_SIZE, *PPNP_PROP_SIZE;
-typedef [range(0, PNP_MAX_PROP_COUNT)] unsigned long PNP_PROP_COUNT, *PPNP_PROP_COUNT;
-typedef [range(0, PNP_MAX_STRING_LEN)] unsigned long PNP_RPC_STRING_LEN, *PPNP_RPC_STRING_LEN;
-typedef [range(0, PNP_MAX_BUFFER_SIZE)] unsigned long PNP_RPC_BUFFER_SIZE, *PPNP_RPC_BUFFER_SIZE;
+typedef [range(0, PNP_MAX_PROP_SIZE)] unsigned long PNP_PROP_SIZE;
+typedef [range(0, PNP_MAX_PROP_COUNT)] unsigned long PNP_PROP_COUNT;
+typedef [range(0, PNP_MAX_STRING_LEN)] unsigned long PNP_RPC_STRING_LEN;
+typedef [range(0, PNP_MAX_BUFFER_SIZE)] unsigned long PNP_RPC_BUFFER_SIZE;
+typedef PNP_PROP_SIZE *PPNP_PROP_SIZE;
+typedef PNP_PROP_COUNT *PPNP_PROP_COUNT;
+typedef PNP_RPC_STRING_LEN *PPNP_RPC_STRING_LEN;
+typedef PNP_RPC_BUFFER_SIZE *PPNP_RPC_BUFFER_SIZE;
 
 cpp_quote("#ifndef _CFG_INCLUDED_")
 
@@ -286,7 +290,7 @@ interface pnp
     /* Function 6 */
     DWORD PNP_ValidateDeviceInstance(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulFlags);
 
     /* Function 7 */
@@ -302,7 +306,7 @@ interface pnp
     DWORD PNP_GetRelatedDeviceInstance(
         [in] handle_t hBinding,
         [in] DWORD ulRelationship,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [out, string, size_is(*pulLength)] LPWSTR pRelatedDeviceId,
         [in, out] PNP_RPC_STRING_LEN *pulLength,
         [in] DWORD ulFlags);
@@ -322,7 +326,7 @@ interface pnp
     /* Function 10 */
     DWORD PNP_GetDeviceList(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_STRING_LEN)] LPWSTR pszFilter,
+        [in, string, unique] LPWSTR pszFilter,
         [out, size_is(*pulLength), length_is(*pulLength)] LPWSTR Buffer,
         [in, out] PNP_RPC_STRING_LEN *pulLength,
         [in] DWORD ulFlags);
@@ -330,21 +334,21 @@ interface pnp
     /* Function 11 */
     DWORD PNP_GetDeviceListSize(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_STRING_LEN)] LPWSTR pszFilter,
+        [in, string, unique] LPWSTR pszFilter,
         [out] PNP_RPC_BUFFER_SIZE *pulLen,
         [in] DWORD ulFlags);
 
     /* Function 12 */
     DWORD PNP_GetDepth(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszDeviceID,
         [out] DWORD *pulDepth,
         [in] DWORD ulFlags);
 
     /* Function 13 */
     DWORD PNP_GetDeviceRegProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulProperty,
         [in, out] DWORD *pulRegDataType,
         [out, size_is(*pulTransferLen), length_is(*pulTransferLen)] BYTE *Buffer,
@@ -355,7 +359,7 @@ interface pnp
     /* Function 14 */
     DWORD PNP_SetDeviceRegProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceId,
+        [in, string, ref] LPWSTR pDeviceId,
         [in] DWORD ulProperty,
         [in] DWORD ulDataType,
         [in, size_is(ulLength)] BYTE *Buffer,
@@ -365,23 +369,23 @@ interface pnp
     /* Function 15 */
     DWORD PNP_GetClassInstance(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceId,
+        [in, string, ref] LPWSTR pDeviceId,
         [out, string, size_is(ulLength)] LPWSTR pszClassInstance,
         [in] PNP_RPC_STRING_LEN ulLength);
 
     /* Function 16 */
     DWORD PNP_CreateKey(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_CM_PATH)] LPWSTR pszSubKey,
+        [in, string, ref] LPWSTR pszSubKey,
         [in] DWORD samDesired,
         [in] DWORD ulFlags);
 
     /* Function 17 */
     DWORD PNP_DeleteRegistryKey(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
-        [in, string, ref, range(0, PNP_MAX_CM_PATH)] LPWSTR pszParentKey,
-        [in, string, ref, range(0, PNP_MAX_CM_PATH)] LPWSTR pszChildKey,
+        [in, string, ref] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszParentKey,
+        [in, string, ref] LPWSTR pszChildKey,
         [in] DWORD ulFlags);
 
     /* Function 18 */
@@ -393,7 +397,7 @@ interface pnp
     /* Function 19 */
     DWORD PNP_GetClassName(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_GUID_STRING_LEN)] LPWSTR pszClassGuid,
+        [in, string, ref] LPWSTR pszClassGuid,
         [out, string, size_is(*pulLength)] LPWSTR Buffer,
         [in, out] PNP_RPC_STRING_LEN *pulLength,
         [in] DWORD ulFlags);
@@ -401,13 +405,13 @@ interface pnp
     /* Function 20 */
     DWORD PNP_DeleteClassKey(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_GUID_STRING_LEN)] LPWSTR pszClassGuid,
+        [in, string, ref] LPWSTR pszClassGuid,
         [in] DWORD ulFlags);
 
     /* Function 21 */
     DWORD PNP_GetInterfaceDeviceAlias(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVINTERFACE_LEN)] LPWSTR pszInterfaceDevice,
+        [in, string, ref] LPWSTR pszInterfaceDevice,
         [in] GUID *AliasInterfaceGuid,
         [out, string, size_is(*pulTransferLen)] LPWSTR pszAliasInterfaceDevice,
         [in, out] PNP_RPC_STRING_LEN *pulLength,
@@ -418,7 +422,7 @@ interface pnp
     DWORD PNP_GetInterfaceDeviceList(
         [in] handle_t hBinding,
         [in] GUID *InterfaceGuid,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, unique] LPWSTR pszDeviceID,
         [out, size_is(*pulLength), length_is(*pulLength)] BYTE *Buffer,
         [in, out] PNP_RPC_BUFFER_SIZE *pulLength,
         [in] DWORD ulFlags);
@@ -428,15 +432,15 @@ interface pnp
         [in] handle_t hBinding,
         [out] PNP_RPC_BUFFER_SIZE *pulLen,
         [in] GUID *InterfaceGuid,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, unique] LPWSTR pszDeviceID,
         [in] DWORD ulFlags);
 
     /* Function 24 */
     DWORD PNP_RegisterDeviceClassAssociation(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, unique] LPWSTR pszDeviceID,
         [in] GUID *InterfaceGuid,
-        [in, string, unique, range(0, PNP_MAX_STRING_LEN)] LPWSTR pszReference,
+        [in, string, unique] LPWSTR pszReference,
         [out, string, size_is(*pulTransferLen)] LPWSTR pszSymLink,
         [in, out] PNP_RPC_STRING_LEN *pulLength,
         [in, out] PNP_RPC_STRING_LEN *pulTransferLen,
@@ -445,13 +449,13 @@ interface pnp
     /* Function 25 */
     DWORD PNP_UnregisterDeviceClassAssociation(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVINTERFACE_LEN)] LPWSTR pszInterfaceDevice,
+        [in, string, unique] LPWSTR pszInterfaceDevice,
         [in] DWORD ulFlags);
 
     /* Function 26 */
     DWORD PNP_GetClassRegProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_GUID_STRING_LEN)] LPWSTR pszClassGuid,
+        [in, string, ref] LPWSTR pszClassGuid,
         [in] DWORD ulProperty,
         [in, out] DWORD *pulRegDataType,
         [out, size_is(*pulTransferLen), length_is(*pulTransferLen)] BYTE *Buffer,
@@ -462,7 +466,7 @@ interface pnp
     /* Function 27 */
     DWORD PNP_SetClassRegProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_GUID_STRING_LEN)] LPWSTR *pszClassGuid,
+        [in, string, ref] LPWSTR *pszClassGuid,
         [in] DWORD ulProperty,
         [in] DWORD ulDataType,
         [in, size_is(ulLength)] BYTE *Buffer,
@@ -473,7 +477,7 @@ interface pnp
     DWORD PNP_CreateDevInst(
         [in] handle_t hBinding,
         [in, out, string, size_is(ulLength)] LPWSTR pszDeviceID,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszParentDeviceID,
+        [in, string, ref] LPWSTR pszParentDeviceID,
         [in] PNP_RPC_STRING_LEN ulLength,
         [in] DWORD ulFlags);
 
@@ -482,13 +486,13 @@ interface pnp
         [in] handle_t hBinding,
         [in] DWORD ulMajorAction,
         [in] DWORD ulMinorAction,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceInstance1,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceInstance2);
+        [in, string, unique] LPWSTR pszDeviceInstance1,
+        [in, string, unique] LPWSTR pszDeviceInstance2);
 
     /* Function 30 */
     DWORD PNP_GetDeviceStatus(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, unique] LPWSTR pDeviceID,
         [out] DWORD *pulStatus,
         [out] DWORD *pulProblem,
         [in] DWORD ulFlags);
@@ -496,56 +500,53 @@ interface pnp
     /* Function 31 */
     DWORD PNP_SetDeviceProblem(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, unique] LPWSTR pDeviceID,
         [in] DWORD ulProblem,
         [in] DWORD ulFlags);
 
     /* Function 32 */
     DWORD PNP_DisableDevInst(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, unique] LPWSTR pDeviceID,
         [in, out, unique] PPNP_VETO_TYPE pVetoType,
-        [in, out, string, unique, size_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName,
-        /* FIXME: should be [in, out, string, unique, max_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName, */
+        [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName,
         [in] DWORD ulNameLength,
         [in] DWORD ulFlags);
 
     /* Function 33 */
     DWORD PNP_UninstallDevInst(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, unique] LPWSTR pDeviceID,
         [in] DWORD ulFlags);
 
     /* Function 34 */
     DWORD PNP_AddID(
         [in] handle_t hBinding,
-        [in, string, unique, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszID,
+        [in, string, unique] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszID,
         [in] DWORD ulFlags);
 
     /* Function 35 */
     DWORD PNP_RegisterDriver(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszDeviceID,
         [in] DWORD ulFlags);
 
     /* Function 36 */
     DWORD PNP_QueryRemove(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszDeviceID,
         [in, out, unique] PPNP_VETO_TYPE pVetoType,
-        [in, out, string, unique, size_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName,
-        /* FIXME: should be [in, out, string, unique, max_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName, */
+        [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName,
         [in] DWORD ulNameLength,
         [in] DWORD ulFlags);
 
     /* Function 37 */
     DWORD PNP_RequestDeviceEject(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pszDeviceID,
+        [in, string, ref] LPWSTR pszDeviceID,
         [in, out, unique] PPNP_VETO_TYPE pVetoType,
-        [in, out, string, unique, size_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName,
-        /* FIXME: should be [in, out, string, unique, max_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName, */
+        [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName,
         [in] DWORD ulNameLength,
         [in] DWORD ulFlags);
 
@@ -564,12 +565,11 @@ interface pnp
     DWORD PNP_HwProfFlags(
         [in] handle_t hBinding,
         [in] DWORD ulAction,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulConfig,
         [in, out] DWORD *pulValue,
         [in, out, unique] PPNP_VETO_TYPE pVetoType,
-        [in, out, string, unique, size_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName,
-        /* FIXME: should be [in, out, string, unique, max_is(ulNameLength), range(0, PNP_MAX_STRING_LEN)] LPWSTR pszVetoName, */
+        [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName,
         [in] DWORD ulNameLength,
         [in] DWORD ulFlags);
 
@@ -585,7 +585,7 @@ interface pnp
     /* Function 42 */
     DWORD PNP_AddEmptyLogConf(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulPriority,
         [out] DWORD *pulLogConfTag,
         [in] DWORD ulFlags);
@@ -593,7 +593,7 @@ interface pnp
     /* Function 43 */
     DWORD PNP_FreeLogConf(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfType,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulFlags);
@@ -601,7 +601,7 @@ interface pnp
     /* Function 44 */
     DWORD PNP_GetFirstLogConf(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfType,
         [out] DWORD *pulLogConfTag,
         [in] DWORD ulFlags);
@@ -609,7 +609,7 @@ interface pnp
     /* Function 45 */
     DWORD PNP_GetNextLogConf(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfType,
         [in] DWORD ulCurrentTag,
         [out] DWORD *pulNextTag,
@@ -618,7 +618,7 @@ interface pnp
     /* Function 46 */
     DWORD PNP_GetLogConfPriority(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulType,
         [in] DWORD ulTag,
         [out] DWORD *pPriority,
@@ -627,7 +627,7 @@ interface pnp
     /* Function 47 */
     DWORD PNP_AddResDes(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID ResourceID,
@@ -639,7 +639,7 @@ interface pnp
     /* Function 48 */
     DWORD PNP_FreeResDes(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID ResourceID,
@@ -651,7 +651,7 @@ interface pnp
     /* Function 49 */
     DWORD PNP_GetNextResDes(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID ResourceID,
@@ -663,7 +663,7 @@ interface pnp
     /* Function 50 */
     DWORD PNP_GetResDesData(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID ResourceID,
@@ -675,7 +675,7 @@ interface pnp
     /* Function 51 */
     DWORD PNP_GetResDesDataSize(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID ResourceID,
@@ -686,7 +686,7 @@ interface pnp
     /* Function 52 */
     DWORD PNP_ModifyResDes(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] DWORD ulLogConfTag,
         [in] DWORD ulLogConfType,
         [in] RESOURCEID CurrentResourceID,
@@ -699,7 +699,7 @@ interface pnp
     /* Function 53 */
     DWORD PNP_DetectResourceConflict(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] RESOURCEID ResourceID,
         [in, size_is(ResourceLen)] BYTE *ResourceData,
         [in] PNP_RPC_BUFFER_SIZE ResourceLen,
@@ -709,7 +709,7 @@ interface pnp
     /* Function 54 */
     DWORD PNP_QueryResConfList(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR pDeviceID,
         [in] RESOURCEID ResourceID,
         [in, size_is(ResourceLen)] BYTE *ResourceData,
         [in] PNP_RPC_BUFFER_SIZE ResourceLen,
@@ -747,8 +747,8 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
     /* Function 61 */
     DWORD PNP_GetCustomDevProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_DEVICE_ID_LEN)] LPWSTR pDeviceID,
-        [in, string, ref, range(0, PNP_MAX_STRING_LEN)] LPWSTR CustomPropName,
+        [in, string, ref] LPWSTR pDeviceID,
+        [in, string, ref] LPWSTR CustomPropName,
         [out] DWORD *pulRegDataType,
         [out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer,
         [out] PNP_RPC_STRING_LEN *pulTransferLen,
@@ -779,9 +779,9 @@ cpp_quote("#if _WIN32_WINNT >= 0x0600")
     /* Function 65 */
     DWORD PNP_GetObjectPropKeys(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_STRING_LEN)] LPWSTR ObjectName,
+        [in, string, ref] LPWSTR ObjectName,
         [in] DWORD ObjectType,
-        [in, string, unique, range(0, PNP_MAX_CULTURE_NAME_LEN)] LPWSTR PropertyCultureName,
+        [in, string, unique] LPWSTR PropertyCultureName,
         [in, out] PNP_PROP_COUNT *PropertyCount,
         [out] PNP_PROP_COUNT *TransferLen,
         [out, size_is(*PropertyCount), length_is(*TransferLen)] DEVPROPKEY *PropertyKeys,
@@ -790,9 +790,9 @@ cpp_quote("#if _WIN32_WINNT >= 0x0600")
     /* Function 66 */
     DWORD PNP_GetObjectProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_STRING_LEN)] LPWSTR ObjectName,
+        [in, string, ref] LPWSTR ObjectName,
         [in] DWORD ObjectType,
-        [in, string, unique, range(0, PNP_MAX_CULTURE_NAME_LEN)] LPWSTR PropertyCultureName,
+        [in, string, unique] LPWSTR PropertyCultureName,
         [in] const DEVPROPKEY *PropertyKey,
         [out] DEVPROPTYPE *PropertyType,
         [in, out] PNP_PROP_SIZE *PropertySize,
@@ -803,9 +803,9 @@ cpp_quote("#if _WIN32_WINNT >= 0x0600")
     /* Function 67 */
     DWORD PNP_SetObjectProp(
         [in] handle_t hBinding,
-        [in, string, ref, range(0, PNP_MAX_STRING_LEN)] LPWSTR ObjectName,
+        [in, string, ref] LPWSTR ObjectName,
         [in] DWORD ObjectType,
-        [in, string, unique, range(0, PNP_MAX_CULTURE_NAME_LEN)] LPWSTR PropertyCultureName,
+        [in, string, unique] LPWSTR PropertyCultureName,
         [in] const DEVPROPKEY *PropertyKey,
         [in] DEVPROPTYPE PropertyType,
         [in] PNP_PROP_SIZE PropertySize,
index 115d1f4..fe4dc89 100644 (file)
@@ -56,26 +56,26 @@ typedef struct _SERVICE_STATUS_PROCESS {
 } SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
 
 typedef struct _ENUM_SERVICE_STATUSA {
-    [string, range(0, 8 * 1024)] LPSTR lpServiceName;
-    [string, range(0, 8 * 1024)] LPSTR lpDisplayName;
+    [string] LPSTR lpServiceName;
+    [string] LPSTR lpDisplayName;
     SERVICE_STATUS ServiceStatus;
 } ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
 
 typedef struct _ENUM_SERVICE_STATUSW {
-    [string, range(0, 8 * 1024)] LPWSTR lpServiceName;
-    [string, range(0, 8 * 1024)] LPWSTR lpDisplayName;
+    [string] LPWSTR lpServiceName;
+    [string] LPWSTR lpDisplayName;
     SERVICE_STATUS ServiceStatus;
 } ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
 
 typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
-    [string, range(0, 8 * 1024)] LPSTR lpServiceName;
-    [string, range(0, 8 * 1024)] LPSTR lpDisplayName;
+    [string] LPSTR lpServiceName;
+    [string] LPSTR lpDisplayName;
     SERVICE_STATUS_PROCESS ServiceStatusProcess;
 } ENUM_SERVICE_STATUS_PROCESSA, *LPENUM_SERVICE_STATUS_PROCESSA;
 
 typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
-    [string, range(0, 8 * 1024)] LPWSTR lpServiceName;
-    [string, range(0, 8 * 1024)] LPWSTR lpDisplayName;
+    [string] LPWSTR lpServiceName;
+    [string] LPWSTR lpDisplayName;
     SERVICE_STATUS_PROCESS ServiceStatusProcess;
 } ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
 
@@ -83,11 +83,11 @@ typedef struct _QUERY_SERVICE_CONFIGA {
     DWORD dwServiceType;
     DWORD dwStartType;
     DWORD dwErrorControl;
-    [string, range(0, 8 * 1024)] LPSTR lpBinaryPathName;
-    [string, range(0, 8 * 1024)] LPSTR lpLoadOrderGroup;
+    [string] LPSTR lpBinaryPathName;
+    [string] LPSTR lpLoadOrderGroup;
     DWORD dwTagId;
-    [string, range(0, 8 * 1024)] LPSTR lpDependencies;
-    [string, range(0, 8 * 1024)] LPSTR lpServiceStartName;
+    [string] LPSTR lpDependencies;
+    [string] LPSTR lpServiceStartName;
     LPSTR lpDisplayName;
 } QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
 
@@ -95,23 +95,23 @@ typedef struct _QUERY_SERVICE_CONFIGW {
     DWORD dwServiceType;
     DWORD dwStartType;
     DWORD dwErrorControl;
-    [string, range(0, 8 * 1024)] LPWSTR lpBinaryPathName;
-    [string, range(0, 8 * 1024)] LPWSTR lpLoadOrderGroup;
+    [string] LPWSTR lpBinaryPathName;
+    [string] LPWSTR lpLoadOrderGroup;
     DWORD dwTagId;
-    [string, range(0, 8 * 1024)] LPWSTR lpDependencies;
-    [string, range(0, 8 * 1024)] LPWSTR lpServiceStartName;
+    [string] LPWSTR lpDependencies;
+    [string] LPWSTR lpServiceStartName;
     LPWSTR lpDisplayName;
 } QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
 
 typedef struct _QUERY_SERVICE_LOCK_STATUSA {
     DWORD fIsLocked;
-    [string, range(0, 8 * 1024)] LPSTR lpLockOwner;
+    [string] LPSTR lpLockOwner;
     DWORD dwLockDuration;
 } QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
 
 typedef struct _QUERY_SERVICE_LOCK_STATUSW {
     DWORD fIsLocked;
-    [string, range(0, 8 * 1024)] LPWSTR lpLockOwner;
+    [string] LPWSTR lpLockOwner;
     DWORD dwLockDuration;
 } QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
 
@@ -132,25 +132,25 @@ typedef [v1_enum] enum _SC_ENUM_TYPE {
 } SC_ENUM_TYPE;
 
 typedef struct _SERVICE_DESCRIPTIONA {
-    [string, range(0, 8 * 1024)] LPSTR lpDescription;
+    [string] LPSTR lpDescription;
 } SERVICE_DESCRIPTIONA, *LPSERVICE_DESCRIPTIONA;
 
 typedef struct _SERVICE_DESCRIPTIONW {
-    [string, range(0, 8 * 1024)] LPWSTR lpDescription;
+    [string] LPWSTR lpDescription;
 } SERVICE_DESCRIPTIONW, *LPSERVICE_DESCRIPTIONW;
 
 typedef struct _SERVICE_FAILURE_ACTIONSA {
     DWORD dwResetPeriod;
-    [string, range(0, 8 * 1024)] LPSTR lpRebootMsg;
-    [string, range(0, 8 * 1024)] LPSTR lpCommand;
+    [string] LPSTR lpRebootMsg;
+    [string] LPSTR lpCommand;
     [range(0, 1024)] DWORD cActions;
     [size_is(cActions)] SC_ACTION* lpsaActions;
 } SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
 
 typedef struct _SERVICE_FAILURE_ACTIONSW {
     DWORD dwResetPeriod;
-    [string, range(0, 8 * 1024)] LPWSTR lpRebootMsg;
-    [string, range(0, 8 * 1024)] LPWSTR lpCommand;
+    [string] LPWSTR lpRebootMsg;
+    [string] LPWSTR lpCommand;
     [range(0, 1024)] DWORD cActions;
     [size_is(cActions)] SC_ACTION* lpsaActions;
 } SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
@@ -189,7 +189,7 @@ typedef struct _SC_RPC_CONFIG_INFOA {
         [case(6)] LPSERVICE_RPC_REQUIRED_PRIVILEGES_INFO psrp;
         [case(7)] LPSERVICE_PRESHUTDOWN_INFO psps;
     } DUMMYUNIONNAME;
-    [string, range(0, 8 * 1024)] LPSTR lpDescription; //FIXME
+    [string] LPSTR lpDescription; //FIXME
 } SC_RPC_CONFIG_INFOA, *LPSC_RPC_CONFIG_INFOA;
 
 typedef struct _SC_RPC_CONFIG_INFOW {
@@ -224,7 +224,7 @@ typedef struct _SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 {
     DWORD dwNotificationStatus;
     DWORD dwSequence;
     DWORD dwNotificationTriggered;
-    [string, range(0, 64 * 1024)] PWSTR pszServiceNames;
+    [string] PWSTR pszServiceNames;
 } SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2, *PSERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2;
 
 typedef struct _SC_RPC_NOTIFY_PARAMS {
@@ -270,12 +270,12 @@ typedef [v1_enum] enum _SC_STATUS_TYPE {
 
 typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA {
     DWORD dwReason;
-    [string, range(0, SC_MAX_COMMENT_LENGTH)] LPSTR pszComment;
+    [string] LPSTR pszComment;
 } SERVICE_CONTROL_STATUS_REASON_IN_PARAMSA, *LPSERVICE_CONTROL_STATUS_REASON_IN_PARAMSA;
 
 typedef struct _SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW {
     DWORD dwReason;
-    [string, range(0, SC_MAX_COMMENT_LENGTH)] LPWSTR pszComment;
+    [string] LPWSTR pszComment;
 } SERVICE_CONTROL_STATUS_REASON_IN_PARAMSW, *LPSERVICE_CONTROL_STATUS_REASON_IN_PARAMSW;
 
 typedef struct _SERVICE_CONTROL_STATUS_REASON_OUT_PARAMS {
@@ -287,11 +287,11 @@ typedef SERVICE_NOTIFY_STATUS_CHANGE_PARAMS_2 SERVICE_NOTIFY_STATUS_CHANGE_PARAM
 cpp_quote("#endif")
 
 typedef struct _STRING_PTRSA {
-    [string, range(0, SC_MAX_ARGUMENT_LENGTH)] LPSTR StringPtr;
+    [string] LPSTR StringPtr;
 } STRING_PTRSA, *PSTRING_PTRSA, *LPSTRING_PTRSA;
 
 typedef struct _STRING_PTRSW {
-    [string, range(0, SC_MAX_ARGUMENT_LENGTH)] LPWSTR StringPtr;
+    [string] LPWSTR StringPtr;
 } STRING_PTRSW, *PSTRING_PTRSW, *LPSTRING_PTRSW;
 
 [
@@ -351,7 +351,7 @@ interface svcctl
 
     /* Function 9 */
     DWORD RNotifyBootConfigStatus(
-        [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName,
+        [in, string, unique] SVCCTL_HANDLEW lpMachineName,
         [in] DWORD BootAcceptable);
 
     /* Function 10 */
@@ -368,31 +368,31 @@ interface svcctl
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, unique, range(0, SC_MAX_PATH_LENGTH)] LPWSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_PATH_LENGTH)] LPWSTR lpLoadOrderGroup,
+        [in, string, unique] LPWSTR lpBinaryPathName,
+        [in, string, unique] LPWSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPWSTR lpServiceStartName,
+        [in, string, unique] LPWSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName);
+        [in, string, unique] LPWSTR lpDisplayName);
 
     /* Function 12 */
     DWORD RCreateServiceW(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR lpServiceName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR lpDisplayName,
+        [in, string] LPCWSTR lpServiceName,
+        [in, string, unique] LPCWSTR lpDisplayName,
         [in] DWORD dwDesiredAccess,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, range(0, SC_MAX_PATH_LENGTH)] LPCWSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR lpLoadOrderGroup,
+        [in, string] LPCWSTR lpBinaryPathName,
+        [in, string, unique] LPCWSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPCWSTR lpServiceStartName,
+        [in, string, unique] LPCWSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
@@ -419,15 +419,15 @@ interface svcctl
 
     /* Function 15 */
     DWORD ROpenSCManagerW(
-        [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEW lpMachineName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDatabaseName,
+        [in, string, unique] SVCCTL_HANDLEW lpMachineName,
+        [in, string, unique] LPWSTR lpDatabaseName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpScHandle);
 
     /* Function 16 */
     DWORD ROpenServiceW(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
+        [in, string] LPWSTR lpServiceName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
@@ -455,15 +455,15 @@ interface svcctl
     /* Function 20 */
     DWORD RGetServiceDisplayNameW(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR lpServiceName,
-        [out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
+        [in, string] LPCWSTR lpServiceName,
+        [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpDisplayName,
         [in, out] DWORD* lpcchBuffer);
 
     /* Function 21 */
     DWORD RGetServiceKeyNameW(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR lpDisplayName,
-        [out, string, range(1, 4*1024+1), size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
+        [in, string] LPCWSTR lpDisplayName,
+        [out, string, size_is(*lpcchBuffer + 1)] LPWSTR lpServiceName,
         [in, out] DWORD* lpcchBuffer);
 
     /* Function 22 */
@@ -480,31 +480,31 @@ interface svcctl
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, unique, range(0, SC_MAX_PATH_LENGTH)] LPSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpLoadOrderGroup,
+        [in, string, unique] LPSTR lpBinaryPathName,
+        [in, string, unique] LPSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPSTR lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPSTR lpServiceStartName,
+        [in, string, unique] LPSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName);
+        [in, string, unique] LPSTR lpDisplayName);
 
     /* Function 24 */
     DWORD RCreateServiceA(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
+        [in, string] LPSTR lpServiceName,
+        [in, string, unique] LPSTR lpDisplayName,
         [in] DWORD dwDesiredAccess,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, range(0, SC_MAX_PATH_LENGTH)] LPSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpLoadOrderGroup,
+        [in, string] LPSTR lpBinaryPathName,
+        [in, string, unique] LPSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPSTR lpServiceStartName,
+        [in, string, unique] LPSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
@@ -531,15 +531,15 @@ interface svcctl
 
     /* Function 27 */
     DWORD ROpenSCManagerA(
-        [in, string, unique, range(0, SC_MAX_COMPUTER_NAME_LENGTH)] SVCCTL_HANDLEA lpMachineName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDatabaseName,
+        [in, string, unique] SVCCTL_HANDLEA lpMachineName,
+        [in, string, unique] LPSTR lpDatabaseName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpScHandle);
 
     /* Function 28 */
     DWORD ROpenServiceA(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
+        [in, string] LPSTR lpServiceName,
         [in] DWORD dwDesiredAccess,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
 
@@ -567,21 +567,21 @@ interface svcctl
     /* Function 32 */
     DWORD RGetServiceDisplayNameA(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPCSTR lpServiceName,
+        [in, string] LPCSTR lpServiceName,
         [out, string, size_is(*lpcchBuffer)] LPSTR lpDisplayName,
         [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
 
     /* Function 33 */
     DWORD RGetServiceKeyNameA(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPCSTR lpDisplayName,
+        [in, string] LPCSTR lpDisplayName,
         [out, string, size_is(*lpcchBuffer)] LPSTR lpKeyName,
         [in, out] LPBOUNDED_DWORD_4K lpcchBuffer);
 
     /* Function 34 */
     DWORD RI_ScGetCurrentGroupStateW(
         [in] SC_RPC_HANDLE hSCManager,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup,
+        [in, string, unique] LPWSTR lpLoadOrderGroup,
         [out] LPDWORD lpState);
 
     /* Function 35 */
@@ -594,7 +594,7 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K pcbBytesNeeded,
         [out] LPBOUNDED_DWORD_256K lpServicesReturned,
         [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName);
+        [in, string, unique] LPCWSTR pszGroupName);
 
     /* Function 36 */
     DWORD RChangeServiceConfig2A(
@@ -641,7 +641,7 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K pcbBytesNeeded,
         [out] LPBOUNDED_DWORD_256K lpServicesReturned,
         [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCSTR pszGroupName);
+        [in, string, unique] LPCSTR pszGroupName);
 
     /* Function 42 */
     DWORD REnumServicesStatusExW(
@@ -654,7 +654,7 @@ interface svcctl
         [out] LPBOUNDED_DWORD_256K pcbBytesNeeded,
         [out] LPBOUNDED_DWORD_256K lpServicesReturned,
         [in, out, unique] LPBOUNDED_DWORD_256K lpResumeIndex,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPCWSTR pszGroupName);
+        [in, string, unique] LPCWSTR pszGroupName);
 
     /* Function 43 */
     DWORD RSendTSMessage(
@@ -663,18 +663,18 @@ interface svcctl
     /* Function 44 */
     DWORD RCreateServiceWOW64A(
         [in] handle_t BindingHandle,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpServiceName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpDisplayName,
+        [in, string] LPSTR lpServiceName,
+        [in, string, unique] LPSTR lpDisplayName,
         [in] DWORD dwDesiredAccess,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, range(0, SC_MAX_PATH_LENGTH)] LPSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPSTR lpLoadOrderGroup,
+        [in, string] LPSTR lpBinaryPathName,
+        [in, string, unique] LPSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPSTR lpServiceStartName,
+        [in, string, unique] LPSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
         [out] LPSC_RPC_HANDLE lpServiceHandle);
@@ -682,18 +682,18 @@ interface svcctl
     /* Function 45 */
     DWORD RCreateServiceWOW64W(
         [in] handle_t BindingHandle,
-        [in, string, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpServiceName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpDisplayName,
+        [in, string] LPWSTR lpServiceName,
+        [in, string, unique] LPWSTR lpDisplayName,
         [in] DWORD dwDesiredAccess,
         [in] DWORD dwServiceType,
         [in] DWORD dwStartType,
         [in] DWORD dwErrorControl,
-        [in, string, range(0, SC_MAX_PATH_LENGTH)] LPWSTR lpBinaryPathName,
-        [in, string, unique, range(0, SC_MAX_NAME_LENGTH)] LPWSTR lpLoadOrderGroup,
+        [in, string] LPWSTR lpBinaryPathName,
+        [in, string, unique] LPWSTR lpLoadOrderGroup,
         [in, out, unique] LPDWORD lpdwTagId,
         [in, unique, size_is(dwDependSize)] LPBYTE lpDependencies,
         [in, range(0, SC_MAX_DEPEND_SIZE)] DWORD dwDependSize,
-        [in, string, unique, range(0, SC_MAX_ACCOUNT_NAME_LENGTH)] LPWSTR lpServiceStartName,
+        [in, string, unique] LPWSTR lpServiceStartName,
         [in, unique, size_is(dwPwSize)] LPBYTE lpPassword,
         [in, range(0, SC_MAX_PWD_SIZE)] DWORD dwPwSize,
         [out] LPSC_RPC_HANDLE lpServiceHandle);