コード例 #1
0
    def test_create_message(self):
        message = SymbolicLinkReparseDataBuffer()
        message['substitute_name_offset'] = 8
        message['substitute_name_length'] = 16
        message['print_name_offset'] = 0
        message['print_name_length'] = 8
        message['flags'] = SymbolicLinkFlags.SYMLINK_FLAG_RELATIVE
        message['buffer'] = to_bytes(u"café\\??\\café", encoding='utf-16-le')

        actual = message.pack()
        assert len(message) == 36
        assert actual == self.DATA
コード例 #2
0
    def test_create_message_with_set_name(self):
        message = SymbolicLinkReparseDataBuffer()
        message.set_name(u"\\??\\café", u"café")
        message['flags'] = SymbolicLinkFlags.SYMLINK_FLAG_RELATIVE

        expected = b"\x00\x00" \
                   b"\x10\x00" \
                   b"\x10\x00" \
                   b"\x08\x00" \
                   b"\x01\x00\x00\x00" \
                   b"\x5c\x00\x3f\x00\x3f\x00\x5c\x00" \
                   b"\x63\x00\x61\x00\x66\x00\xe9\x00" \
                   b"\x63\x00\x61\x00\x66\x00\xe9\x00"

        actual = message.pack()
        assert len(message) == 36
        assert actual == expected