Rob Shearman wrote:
RPC_FC_ERROR_STATUS_T has a value of 0x10 and therefore isn't a possible value of "flags_type & 0xf" in the switch statement.
Rob:
This may be a really stupid question, but is it possible to generate this condition?
James McKenzie
Hi James,
RPC_FC_ERROR_STATUS_T has a value of 0x10 and therefore isn't a possible value of "flags_type & 0xf" in the switch statement.
This may be a really stupid question, but is it possible to generate this condition?
No, it isn't possible. 0xf & (any value) will never produce any value larger than 0xf. 0x10 > 0xf. --Juan
Juan Lang wrote:
Hi James,
RPC_FC_ERROR_STATUS_T has a value of 0x10 and therefore isn't a possible value of "flags_type & 0xf" in the switch statement.
This may be a really stupid question, but is it possible to generate this condition?
No, it isn't possible. 0xf & (any value) will never produce any value larger than 0xf. 0x10 > 0xf.
Juan:
I meant is it possible to receive a RPC_FC_ERROR_STATUS_T (0x010) in the original data before it is anded with 0x0f. If this is possible, further changes may be needed.
James McKenzie
2008/8/18 James McKenzie jjmckenzie51@earthlink.net:
Juan Lang wrote:
Hi James,
RPC_FC_ERROR_STATUS_T has a value of 0x10 and therefore isn't a possible value of "flags_type & 0xf" in the switch statement.
This may be a really stupid question, but is it possible to generate this condition?
No, it isn't possible. 0xf & (any value) will never produce any value larger than 0xf. 0x10 > 0xf.
Juan:
I meant is it possible to receive a RPC_FC_ERROR_STATUS_T (0x010) in the original data before it is anded with 0x0f. If this is possible, further changes may be needed.
This data comes from the IDL compiler. The format is specified here: http://msdn.microsoft.com/en-us/library/aa379131(VS.85).aspx.
If the IDL compiler tries to put RPC_FC_ERROR_STATUS_T into the type nibble then it is buggy. MIDL refuses to do so:
.\test.idl(66) : error MIDL2072 : inapplicable attribute : [range] [ Type 'error_status_t' ( Parameter 'l' ) ]