Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
Whistler ========
<HIGH>
1. SWbemPropertyEx::AddValues and DeleteValues - these are assuming that construction of the SWbemProperty object from SWbemPropertySet::Item is "cheap" and does not require retrieval of the property value. This in turn assumes that the IWbemClassObject::Get call does not force the UMI provider to get the value when the VARIANT *pVar argument passed in is NULL. We need to check this assumption.
[WMI RAID 1930, NT RAID 139298]
2. Remove Members_? What's happening?
[WMI RAID 2408]
3. Need to migrate from IUmiCustomInterfaceFactory to IWbemComBinding.
- Need to document use of IADsExtension for scriptable extensions - Have some issues with COM binding interface
4. Whenever we create a new CSWbemObject, we need to potentially pass in information that allows us to record the Security Descriptor settings used to retrieve that object. The only reason we need this is so that the Path_ property can record those settings. A bit of a pain.
Since this can occur in many operations we need a helper object to calculate the SD settings from the context and the flags.
5. CopyTo not supported in the DS any more. Should we keep the API in WMI Scripting right now? What about SWbemServices.Copy?
[WMI RAID 2423]
6. Still wiating for Unlink Flags definition from core.
[WMI RAID 1933]
7. WBEM_MULTI_FLAG??
8. Might need a flag to SWbemServices::Delete to indicate "recursive delete".
[WMI RAID 2429]
9. Change all occurences of UMI to WMI. (note effect that this changes wmi: prefix semantics from old style to new style paths) [WMI RAID 2439]
10. SWbemObject._NewEnum, SWBemObject.Filter_, SWbemObject.Members_ and SWbemServices.Filter_, SwbemServices._NewEnum all rely on pan-provider support for the following queries:
- select * from Class1 GO select * from Class2 - CreateInstanceEnum("*")
But it appears that these features are in doubt. So do we drop this?
[NT RAID 134996, 137260]
11. Currently IWbemConnection:Open calls fail against downlevel boxes. Not good. Even if they work, if we only allow IWbemServices and not IWbemServicesEx then there could be some major changes required.
[NT RAID 135008]
<MEDIUM>
1. Work out which new bits justify the HandleNull override.
2. Integrate Jeff's async fixes into the Whistler codebase.
3. Improved Discovery of Propagated Methods & Properties (not sure I remember what this is).
4. FLAGS and Error Codes - sanity check from time to time
5. Why do VB Arrays have to be weakly typed when passing to a method invocation?
6. Do we need to use IWbemServices::PutObject and PutObjectAsync - why isn't it sufficient to look at __GENUS?
<BLACKCOMB>
1. SWbemObject: - Fix ability to support named parameters in WMI Schema Methods? - Define a cache of ISWbemServicesEx pointers for an SWbemObject (keyed on mode, strselector). This would enable us to avoid calling Open every time an implicit coercion is made on SWbemObject to a container or scope.
========================= OLD STUFF ================================================ Post NT4 SP4 =============
1. WBEM_FLAG_ENSURE_LOCATABLE - means too many properties returned
2. Handle WBEM_S_DUPLICATE_OBJECT
3. Optimize Property/Qualifier/Context/Method iteration so that if there is only one iterator then the underlying COM interface is used directly.
4. Optimize use of IWbemServices to reuse cached connections.
Language Feature Support Testing ================================
1. Null value passing
VBScript - Use the "null" value JScript - Use the "null" value Perl (CPAN) - Use Variant(VT_NULL, 0) Perl (AS) - returns undefined (i.e. defined(val) returns false) OK passing unassigned value into Perl causes it to translate it to 0(VT_I4)
2. Array value detection
VBScript - fine; use IsArray JScript - 3.0 is broken - have to wait for 5.0 and try/catch Perl - Dunno
3. Array passing -
VB Can set array values into COM OK Can read array values from COM OK Can read individual array element values using Class.Prop(x) OK Can set individual array element values (NB: LBound and UBound on an IWbemProperty do not trigger a call to the default Property, this behavior is different from VBS,)
VBScript array values can be passed in either way across COM boundary array assignments can be made OK individual array element assignments can be made OK Perl (AS) array values can be passed in both directions (to pass into COM must use \@ to reference array), have to check array and array element assignments - these are OK mostly
JScript - need to use the VBArray function to wrap a SAFEARRAY passed from COM - this works. - passing JScript arrays to COM works with IDispatchEx handling - array element and array assignments work OK. - individual array element assignments can't be made
4. Error handling
VBScript - Use the Err mechanism and set EXCEPINFO - this works
JScript - Completely bereft of any useful error handling (wait for 5.0)
Perl - Dunno?
5. Default member read/write
VBScript - GETs work fine (but simple default property PUTs don't work; need to specify member otherwise VScript treats this as a reassignment of a simple non-object value to the variable) By simple is meant assignments of the form
MyProperty = 25;
whereas compouns statements which include assignment such as
Class.Properties_("MyProperty") = 25
work, as VBScript calls into the Properties_ object on its Item() method with 2 parameters ("MyProperty" and 25).
JScript - same as for VBScript
VB - works fine in both directions
Perl - doesn't work in general (check new CPAN stuff)
|