@@ -1175,6 +1175,12 @@ msgid ""
11751175"result of your function call. This is useful to check for error return "
11761176"values and automatically raise an exception::"
11771177msgstr ""
1178+ "Você também pode usar um objeto Python chamável (uma função ou uma classe, "
1179+ "por exemplo) como o atributo :attr:`~_CFuncPtr.restype`, se a função externa "
1180+ "retornar um inteiro. O objeto chamável será chamado com o *inteiro* que a "
1181+ "função C retorna, e o resultado desta chamada será usado como o resultado da "
1182+ "sua chamada de função. Isso é útil para verificar valores de retorno de erro "
1183+ "e levantar uma exceção automaticamente::"
11781184
11791185#: ../../library/ctypes.rst:535
11801186msgid ""
@@ -1203,6 +1209,10 @@ msgid ""
12031209"exception. ``WinError`` takes an optional error code parameter, if no one is "
12041210"used, it calls :func:`GetLastError` to retrieve it."
12051211msgstr ""
1212+ "``WinError`` é uma função que chamará a API ``FormatMessage()`` do Windows "
1213+ "para obter a representação em string de um código de erro, e *retorna* uma "
1214+ "exceção. ``WinError`` aceita um parâmetro de código de erro opcional, se "
1215+ "nenhum for usado, ela chama :func:`GetLastError` para recuperá-lo."
12061216
12071217#: ../../library/ctypes.rst:557
12081218msgid ""
@@ -1225,6 +1235,10 @@ msgid ""
12251235"large to be passed by value. This is also known as *passing parameters by "
12261236"reference*."
12271237msgstr ""
1238+ "Às vezes, uma função da API C espera um *ponteiro* para um tipo de dado como "
1239+ "parâmetro, provavelmente para escrever no local correspondente, ou se os "
1240+ "dados forem muito grandes para serem passados por valor. Isso também é "
1241+ "conhecido como *passar parâmetros por referência*."
12281242
12291243#: ../../library/ctypes.rst:571
12301244msgid ""
@@ -1234,6 +1248,11 @@ msgid ""
12341248"constructs a real pointer object, so it is faster to use :func:`byref` if "
12351249"you don't need the pointer object in Python itself::"
12361250msgstr ""
1251+ "O :mod:`ctypes` exporta a função :func:`byref` que é usada para passar "
1252+ "parâmetros por referência. O mesmo efeito pode ser alcançado com a função :"
1253+ "func:`pointer`, embora :func:`pointer` faça muito mais trabalho, já que ela "
1254+ "constrói um objeto ponteiro real, então é mais rápido usar :func:`byref` se "
1255+ "você não precisar do objeto ponteiro no próprio Python::"
12371256
12381257#: ../../library/ctypes.rst:577
12391258msgid ""
@@ -1262,19 +1281,29 @@ msgid ""
12621281"_fields_` must be a list of *2-tuples*, containing a *field name* and a "
12631282"*field type*."
12641283msgstr ""
1284+ "Estruturas e uniões devem derivar das classes base :class:`Structure` e :"
1285+ "class:`Union` que são definidas no módulo :mod:`ctypes`. Cada subclasse deve "
1286+ "definir um atributo :attr:`~Structure._fields_`. :attr:`!_fields_` deve ser "
1287+ "uma lista de *2-tuplas*, contendo um *nome de campo* e um *tipo de campo*."
12651288
12661289#: ../../library/ctypes.rst:600
12671290msgid ""
12681291"The field type must be a :mod:`ctypes` type like :class:`c_int`, or any "
12691292"other derived :mod:`ctypes` type: structure, union, array, pointer."
12701293msgstr ""
1294+ "O tipo do campo deve ser um tipo :mod:`ctypes` como :class:`c_int`, ou "
1295+ "qualquer outro tipo :mod:`ctypes` derivado: estrutura, união, vetor, "
1296+ "ponteiro."
12711297
12721298#: ../../library/ctypes.rst:603
12731299msgid ""
12741300"Here is a simple example of a POINT structure, which contains two integers "
12751301"named *x* and *y*, and also shows how to initialize a structure in the "
12761302"constructor::"
12771303msgstr ""
1304+ "Aqui está um exemplo simples de uma estrutura POINT, que contém dois "
1305+ "inteiros nomeados *x* e *y*, e também mostra como inicializar uma estrutura "
1306+ "no construtor::"
12781307
12791308#: ../../library/ctypes.rst:606
12801309msgid ""
@@ -1301,12 +1330,17 @@ msgid ""
13011330"You can, however, build much more complicated structures. A structure can "
13021331"itself contain other structures by using a structure as a field type."
13031332msgstr ""
1333+ "Você pode, no entanto, construir estruturas muito mais complicadas. Uma "
1334+ "estrutura pode conter outras estruturas, usando uma estrutura como um tipo "
1335+ "de campo."
13041336
13051337#: ../../library/ctypes.rst:626
13061338msgid ""
13071339"Here is a RECT structure which contains two POINTs named *upperleft* and "
13081340"*lowerright*::"
13091341msgstr ""
1342+ "Aqui está uma estrutura RECT que contém dois POINTs nomeados *upperleft* e "
1343+ "*lowerright*::"
13101344
13111345#: ../../library/ctypes.rst:629
13121346msgid ""