human
I wrote the below code

    import ctypes
    import ctypes.wintypes
    WIN_OUTPUT_IDS = {1: (-11), 2: (-12)}
    try:
        fileno = out.fileno()
    except AttributeError:
        return False
    except io.UnsupportedOperation:
        return False
    if (fileno not in WIN_OUTPUT_IDS):
        return False
    GetStdHandle = ctypes.WINFUNCTYPE(ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD)(('GetStdHandle', ctypes.windll.kernel32))
    h = GetStdHandle(WIN_OUTPUT_IDS[fileno])
    WriteConsoleW = ctypes.WINFUNCTYPE(ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, ctypes.wintypes.LPWSTR, ctypes.wintypes.DWORD, ctypes.POINTER(ctypes.wintypes.DWORD), ctypes.wintypes.LPVOID)(('WriteConsoleW', ctypes.windll.kernel32))
    written = ctypes.wintypes.DWORD(0)
    GetFileType = ctypes.WINFUNCTYPE(ctypes.wintypes.DWORD, ctypes.wintypes.DWORD)(('GetFileType', ctypes.windll.kernel32))
    FILE_TYPE_CHAR = 2
    FILE_TYPE_REMOTE = 32768
    GetConsoleMode = ctypes.WINFUNCTYPE(ctypes.wintypes.BOOL, ctypes.wintypes.HANDLE, ctypes.POINTER(ctypes.wintypes.DWORD))(('GetConsoleMode', ctypes.windll.kernel32))
    INVALID_HANDLE_VALUE = ctypes.wintypes.DWORD((-1)).value
    def not_a_console(handle):
        if ((handle == INVALID_HANDLE_VALUE) or (handle is None)):
            return True
        return (((GetFileType(handle) & (~ FILE_TYPE_REMOTE)) != FILE_TYPE_CHAR) or (GetConsoleMode(handle, ctypes.byref(ctypes.wintypes.DWORD())) == 0))
    if not_a_console(h):
        return False
    def next_nonbmp_pos(s):
        try:
            return next((i for (i, c) in enumerate(s) if (ord(c) > 65535)))
        except StopIteration:
            return len(s)
    while s:
        count = min(next_nonbmp_pos(s), 1024)
        ret = WriteConsoleW(h, s, (count if count else 2), ctypes.byref(written), None)
        if (ret == 0):
            raise OSError(u'Failed    to    write    string')
        if (not count):
            assert (written.value == 2)
            s = s[1:]
        else:
            assert (written.value > 0)
            s =...

What's a good function header?
assistant
#Here's a good function header.

def _windows_write_string(s, out):