(self, param_type, index=0, raw=False)
| 18 | |
| 19 | |
| 20 | def get_param(self, param_type, index=0, raw=False): |
| 21 | data_size = gdef.DWORD() |
| 22 | # https://msdn.microsoft.com/en-us/library/windows/desktop/aa380227(v=vs.85).aspx |
| 23 | winproxy.CryptMsgGetParam(self, param_type, index, None, data_size) |
| 24 | buffer = ctypes.c_buffer(data_size.value) |
| 25 | winproxy.CryptMsgGetParam(self, param_type, index, buffer, data_size) |
| 26 | if raw: |
| 27 | return (buffer, data_size) |
| 28 | |
| 29 | if param_type in self.MSG_PARAM_KNOW_TYPES: |
| 30 | buffer = self.MSG_PARAM_KNOW_TYPES[param_type].from_buffer(buffer) |
| 31 | if isinstance(buffer, gdef.DWORD): # DWORD -> return the Python int |
| 32 | return buffer.value |
| 33 | return buffer |
| 34 | |
| 35 | # Certificate accessors |
| 36 |
no test coverage detected