[Avançado] API do Windows - Funções kernel32.dll - Parte 1

Started by ÐarkSpawn, 18 de May , 2006, 09:34:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ðark$pawn

As funções da API do Windows estão compiladas em grupos, de acordo com o tipo de aplicação, em arquivos do tipo DLL (versão 32 bits) ou EXE (versão 16 bits) localizados no subdiretório SYSTEM/SYSTEM32 do Windows. A KERNEL32.DLL é considerada uma das três principais, juntamente com a user32.dll e a gdi32.dll. Contém as funções que lidam com a memória e a administração dos processos.


Beep
BOOL Beep( DWORD dwFreq, DWORD dwDuration );

QuoteParâmetro Descrição
DWORD dwFreq           frequência do som em hertz.
DWORD dwDuration     duração do som em milissegundos.

A função Beep gera sons simples no speaker. A função é síncrona - não devolve o controle ao seu chamador enquanto o som não tiver terminado. No win95, a função ignora os parâmetros dwFreq e dwDuration. Em computadores com placa de som, a função toca o som default do evento; sem placa de som, toca o som padrão do sistema.

Retorna: em caso de sucesso, o valor de retorno é diferente de zero. Em caso de erro, retorna zero.


CloseHandle
BOOL CloseHandle( HANDLE hObject );

QuoteParâmetro Descrição
HANDLE hObject       manipulador do objeto que deve ser fechado.

Fecha uma manipulador de objeto que estiver aberto. A função fecha os manipuladores dos seguintes objetos: Entrada/Saída de console, arquivo de evento, arquivo mapeado, mutex, pipe nominado, processo, semáforo, linha de processo (thread), token (apenas no Windows NT). CloseHandle invalida o manipulador de objeto especificado, decrementa o contador de manipuladores de objetos e verifica a retenção de objetos. No caso do último manipulador do objeto ter sido fechado, o objeto é removido do sistema operacional.

Retorna: em caso de sucesso, o valor de retorno é diferente de zero. Em caso de erro, retorna zero.


CompareFileTime
LONG CompareFileTime( CONST FILETIME* lpFileTime1, CONST FILETIME* lpFileTime2 );

QuoteParâmetro Descrição
CONST FILETIME * lpFileTime1     endereço da hora do 1. arquivo.
CONST FILETIME * lpFileTime2     endereço da hora do 2. arquivo.

Compara a hora de 64 bits de dois arquivos.

Retorna: se a função é executada com sucesso, retorna um dos seguintes valores:

QuoteValor Descrição
-1      Hora 1 menor que Hora 2
0       Hora 1 igual a Hora 2
+1     Hora 1 maior que Hora 2


CompareString
int CompareString( LCID Locale, DWORD dwCmpFlags, LPCTSTR lpString1, int cchCount1, LPCTSTR lpString2, int cchCount2 );

QuoteParâmetro Descrição
LCID Locale identificação do locale. LOCALE_SYSTEM_DEFAULT    é o locale default do sistema e LOCALE_USER_DEFAULT                                                         é o locale atual default do usuário.
DWORD dwCmpFlags                                                              opções do estilo de comparação. É um conjunto de flags que indicam o tipo de comparação mas, por default, não são setadas. Use o valor zero para obter o estilo default.
LPCTSTR lpString1                                                                  ponteiro para a primeira string.
int cchCount1                                                                        tamanho, em bytes ou caracteres, da primeira string.
LPCTSTR lpString2                                                                  ponteiro para a segunda string.
int cchCount2                                                                        tamanho, em bytes ou caracteres, da segunda string.

Compara duas strings de caracteres usando o locale especificado pelo identificador correspondente como base de comparação. Se cchCount1 e/ou cchCount2 for -1, a string é considerada como terminada em null e o comprimento é calculado automaticamente.

Retorna: se a função é executada com sucesso, retorna um dos seguintes valores:

QuoteValor Descrição
1     A string lpString1 tem valor léxico menor que lpString2.
2     A string lpString1 tem valor léxico igual ao da lpString2.
3     A string lpString1 tem valor léxico maior que lpString2.

Em caso de erro, o valor de retorno é zero.
 

CreateFileA, CreateFileW
HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile );

QuoteParâmetro Descrição
LPCTSTR lpFileName                                         endereço do nome do arquivo.
DWORD dwDesiredAccess                                 modo de acesso (leitura-escrita).
DWORD dwShareMode                                     modo de compartilhamento.
LPSECURITY_ATTRIBUTES lpSecurityAttributes    endereço do descritor de segurança.
DWORD dwCreationDistribution                          como deve ser criado.
DWORD dwFlagsAndAttributes                           atributos do arquivo.
HANDLE hTemplateFile                                      manipulador do arquivo com os atributos que devem ser copiados.

Cria, abre ou trunca um arquivo, pipe, recurso de comunicação, modelo de disco ou console. Retorna um manipulador (handle) que pode ser usado para acessar o objeto. Também pode abrir e retornar um manipulador para um diretório.

Retorna: em caso de sucesso, o valor de retorno é o manipulador aberto do arquivo especificado. Se o arquivo especificado existir antes da chamada à função e dwCreationDistribution é CREATE_ALWAYS ou OPEN_ALWAYS, uma chamada a GetLastError retorna ERROR_ALREADY_EXISTS (mesmo que a função tenha sido executada com sucesso). Se o arquivo não existir, GetLastError retorna zero. Caso a função falhe, o valor de retorno é INVALID_HANDLE_VALUE. Para obter informações detalhadas de erro, chame GetLastError.
 

DeleteFile
BOOL DeleteFile( LPCTSTR lpFileName );

QuoteParâmetro Descrição
LPCTSTR lpFileName      ponteiro para o nome do arquivo.

Elimina um arquivo existente.

Retorna: em caso de sucesso, o valor de retorno é diferente de zero. Em caso de erro, retorna zero.
 

GetCurrentDirectory
DWORD GetCurrentDirectory( DWORD nBufferLength, LPTSTR lpBuffer );

QuoteParâmetro Descrição
DWORD nBufferLength      tamanho, em caracteres, do buffer do diretório.
LPTSTR lpBuffer                endereço do buffer para o diretório atual.

Apresenta o diretório atual do processo atual.

Retorna: em caso de sucesso, especifica o número de caracteres escritos no buffer, não incluindo o caracter terminador null. Se falhar, retorna zero.

Se o buffer indicado por lpBuffer não for grande o suficiente, o valor de retorno é o tamanho requerido, incluindo o número de bytes necessários para o caracter terminador null.
 

GetDiskFreeSpaceA, GetDiskFreeSpaceW
BOOL GetDiskFreeSpace( LPCTSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters );

QuoteParâmetro Descrição
LPCTSTR lpRootPathName                   endereço do diretório raiz (root path).
LPDWORD lpSectorsPerCluster              endereço de setores por cluster.
LPDWORD lpBytesPerSector                 endereço de bytes por setor.
LPDWORD lpNumberOfFreeClusters        endereço de clusters livres.
LPDWORD lpTotalNumberOfClusters       endereço do número total de clusters.

Obtém informações sobre o disco especificado, inclusive a quantidade de espaço livre do mesmo.

Retorna: em caso de sucesso, retorna o valor TRUE. Caso contrário, retorna FALSE. Para obter informações detalhadas de erro, chame GetLastError.

Também pode ser usada para checar um CD-ROM. Um CD-ROM não possui espaço livre portanto, retorna espaço zero.
 

GetDriveTypeA, GetDriveTypeW
UINT GetDriveType( LPCTSTR lpRootPathName );

QuoteParâmetro Descrição
LPCTSTR lpRootPathName       endereço do diretório raiz (root path).

Determina se o modelo de disco é fixo, removível, CD-ROM, RAM disk ou drive de rede.

Retorna: códigos de função

QuoteValor Descrição
0    não é possível determinar o tipo de drive.
1    diretório raiz não existe.
2    drive removível.
3    drive fixo (HD).
4    drive remoto (rede).
5    CD-ROM.
6    RAM-Disk (só GetDriveTypeA).


GetFileAttributes, GetFileAttributesA, GetFileAttributesW
DWORD GetFileAttributes( LPCTSTR lpFileName );

QuoteParâmetro Descrição
LPCTSTR lpFileName      endereço do nome de um arquivo ou diretório.

Obtém os atributos do arquivo ou diretório especificado.

Retorna: em caso de sucesso, o valor de retorno contém os atributos do arquivo ou diretório especificado. Caso contrário, o valor de retorno é 0xFFFFFFFF. Para obter informações detalhadas de erro, chame GetLastError.

Pode ser parte de uma checagem de CD-ROM. Como ROM significa Read Only Memory, é claro que qualquer tentativa de escrita gerará um erro.
 

GetFileSize
DWORD GetFileAttributes( HANDLE hFile, LPDWORD lpFileSizeHigh );

QuoteParâmetro Descrição
HANDLE hFile                   handle do arquivo.
LPDWORD lpFileSizeHigh    endereço do word de ordem superior para o tamanho do arquivo.

Obtém o tamanho em bytes do arquivo especificado.

Retorna: em caso de sucesso, retorna o doubleword de ordem inferior do tamanho do arquivo e, se lpFileSizeHigh for não-NULL, a função coloca o doubleword de ordem superior do tamanho do arquivo na variável apontada por este parâmetro. Em caso de falha, o valor de retorno é 0xFFFFFFFF. Para obter informações detalhadas de erro, chame GetLastError.

Se a função falhar e lpFileSizeHigh for não-NULL, o valor de retorno é 0xFFFFFFFF e GetLastError retornará um valor diferente de NO_ERROR.

Pode ser parte de uma checagem de CD-ROM. Como ROM significa Read Only Memory, é claro que qualquer tentativa de escrita gerará um erro.
 

GetFileTime
BOOL GetFileTime( HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime );

QuoteParâmetro Descrição
HANDLE hFile                           identifica o arquivo.
LPFILETIME lpCreationTime        endereço da hora de criação do arquivo.
LPFILETIME lpLastAccessTime     endereço da hora do último acesso.
LPFILETIME lpLastWriteTime       endereço da última modificação.

Obtém a data e a hora que um arquivo foi criado, acessado pela última vez e modificado pela última vez.

Retorna: se a função for executada com sucesso, retorna o valor TRUE. Caso contrário, retorna FALSE. Para obter informações detalhadas de erro, chame GetLastError.
 

GetFullPathNameA, GetFullPathNameW
DWORD GetFullPathName( LPCTSTR lpFileName, DWORD nBufferLength, LPTSTR lpBuffer, LPTSTR *lpFilePart );

QuoteParâmetro Descrição
LPCTSTR lpFileName                  endereço do nome do arquivo.
DWORD nBufferLength              tamanho, em caracteres, do buffer de diretório.
LPTSTR lpBuffer                        endereço do buffer de diretório.
LPTSTR *lpFilePart                     endereço do nome do arquivo no diretório.

Obtém o caminho completo e o nome do arquivo para o arquivo especificado.

Retorna: em caso de sucesso, o valor de retorno é o comprimento, em caracteres, da string transferida para lpBuffer, não incluindo o caracter terminador null. Se o tamanho de lpBuffer for muito pequeno, o valor de retorno é o tamanho em caracteres que é necessário para conter o caminho. Em caso de falha, o valor de retorno é zero. Para obter informações detalhadas de erro chame GetLastError.

Em alguns casos o programa checa um caminho completo. O drive de CD-ROMs, etc, frequentemente é guardado no registry. Desta forma, o programa carrega o valor do registry correspondente e compara a primeira letra com a do drive de CD.
 

GetLocalTime
VOID GetLocalTime( LPSYSTEMTIME lpSystemTime );

QuoteParâmetro Descrição
LPSYSTEMTIME lpSystemTime      endereço da estrutura da hora do sistema.

Obtém a hora e a data local corrente.

Retorna: não tem valor de retorno.
 

GetLogicalDrives
DWORD GetLogicalDrives( VOID );

Obtém uma máscara de bits que representa os drives de disco disponíveis.

Retorna: em caso de sucesso, o valor de retorno é uma máscara de bits que representa os drives de disco disponíveis. Bit de posição 0 (o bit menos significante) é o drive A, bit de posição 1 é o drive B, bit de posição 2 é o drive C e assim sucessivamente. Em caso de falha, o valor de retorno é zero.
 

GetLogicalDriveStringsA, GetLogicalDriveStringsW
DWORD GetLogicalDriveStrings( DWORD nBufferLength, LPTSTR lpBuffer );

QuoteParâmetro Descrição
DWORD nBufferLength      tamanho do buffer.
LPTSTR lpBuffer                endereço do buffer para as strings de drives.

Preenche um buffer com strings que especificam os drives válidos do sistema.

Retorna: em caso de sucesso, o valor de retorno é o comprimento, em caracteres, das strings transferidas para o buffer, não incluindo os caracteres terminadores null. Note que um caracter null ANSI-ASCII usa um byte mas um caracter null Unicode usa dois bytes.

Se o buffer não for suficientemente grande, o valor de retorno é maior que nBufferLength e é o tamanho indicado para que o buffer possa conter todas as strings. Se a função falhar, o valor de retorno é zero. Para obter informações detalhadas de erro chame GetLastError.
 

GetModuleHandle
HMODULE GetModuleHandle( LPCTSTR lpModuleName );

QuoteParâmetro Descrição
LPCTSTR lpModuleName    ponteiro para o endereço do nome do módulo para o qual deve ser obtido um manipulador.

Retorna um manipulador de módulo para o módulo especificado se o arquivo tiver sido mapeado no espaço de endereços do processo chamador.

lpModuleName aponta para uma string terminada em zero com o nome de um módulo Win32 (um arquivo .DLL ou .EXE). Se a extensão do nome for omitida, a extensão default usada é .DLL. A string do nome do arquivo pode incluir um caracter terminador ponto (.) para indicar que o nome do módulo não possui extensão. A string não precisa especificar o caminho (path). O nome é comparado (independente da caixa) aos nomes de módulos que estejam atualmente mapeados no espaço de endereços do processo chamador.

Se este parâmetro for NULL, GetModuleHandle retorna um manipulador do arquivo usado para criar o processo chamador.

Em caso de sucesso, retorna o manipulador do módulo especificado. Caso contrário, o valor de retorno é NULL.

O manipulador retornado não é global, não pode ser herdado ou duplicado e não pode ser usado por outro processo.


GetPrivateProfileInt
UINT GetPrivateProfileInt( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName );

QuoteParâmetro Descrição
LPCTSTR lpAppName      endereço do nome da seção.
LPCTSTR lpKeyName      endereço do nome da chave.
INT nDefault                 valor de retorno se o nome da chave não for encontrado.
LPCTSTR lpFileName       endereço do arquivo de inicialização.

Obtém um inteiro associado a uma chave da seção especificada de um determinado arquivo de inicialização. A função é disponibilizada para manter a compatibilidade com aplicativos de 16 bits do Windows. Aplicativos Win32 deveriam armazenar informações de inicialização no registry.

A função ignora maiúsculas e minúsculas. Para obter um valor inteiro do arquivo WIN.INI, use a função GetProfileString.

Retorna: em caso de sucesso, o valor de retorno é um inteiro equivalente à string sob o nome da chave especificado no arquivo de inicialização indicado. Se a chave não for encontrada, o valor de retorno é o valor default especificado. Se o valor da chave for menor do que zero, o valor de retorno é zero.
 

GetPrivateProfileSection
DWORD GetPrivateProfileSection( LPCTSTR lpAppName, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName );

QuoteParâmetro Descrição
LPCTSTR lpAppName             endereço do nome da seção.
LPCTSTR lpReturnedString     endereço do buffer de retorno.
DWORD nSize                       tamanho do buffer de retorno.
LPCTSTR lpFileName              endereço do arquivo de inicialização.

Obtém todas as chaves e valores de uma determinada seção do arquivo de inicialização especificado. No Win95, o tamanho máximo do buffer é de 32,767 caracteres.A função é disponibilizada para manter a compatibilidade com aplicativos de 16 bits do Windows. Aplicativos Win32 deveriam armazenar informações de inicialização no registry.

A função ignora maiúsculas e minúsculas. Esta operação é atômica - não são permitidas atualizações no arquivo especificado enquanto o nome e o valor da chave estiverem sendo copiados para o buffer.

Retorna: o número de caracteres copiados para o buffer, sem incluir o caracter terminador null. Se o tamanho do buffer não for suficiente, o valor de retorno é igual a nSize menos dois.
 

GetPrivateProfileString
DWORD GetPrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName );

QuoteParâmetro Descrição
LPCTSTR lpAppName            endereço do nome da seção.
LPCTSTR lpKeyName            aponta o nome da chave.
LPCTSTR lpDefault               aponta para a string default.
LPTSTR lpReturnedString      aponta para o buffer de leitura.
DWORD nSize                      tamanho do buffer de leitura.
LPCTSTR lpFileName              aponta para o nome do arquivo de inicialização.

Obtém uma string de uma determinada seção do arquivo de inicialização especificado. No Win95, o tamanho máximo do buffer é de 32,767 caracteres.A função é disponibilizada para manter a compatibilidade com aplicativos de 16 bits do Windows. Aplicativos Win32 deveriam armazenar informações de inicialização no registry.

A função ignora maiúsculas e minúsculas. Para obter um valor inteiro do arquivo WIN.INI, use a função GetProfileString.

Retorna: o valor de retorno é o número de caracteres copiados para o buffer return value is the number of characters copied to the buffer, sem incluir o caracter terminador null. Se lpAppName e lpKeyName não forem NULL e o tamanho do buffer de leitura for insuficiente, a string é truncada e seguida por um caracter null e o valor de retorno é nSize menos um. Se lpAppName ou lpKeyName for NULL e o tamanho do buffer de leitura for insuficiente, a última string é truncada e seguida por dois caracteres null. Neste caso, o valor de retorno é igual a nSize menos dois.
 

GetSystemTime
VOID GetSystemTime( LPSYSTEMTIME lpSystemTime );

QuoteParâmetro Descrição
LPSYSTEMTIME lpSystemTime        endereço da estrutura da hora do sistema.

Obtém a hora e a data corrente do sistema. A hora do sistema é expressa em Hora Universal Coordenada (UTC - Universal Time Coordinated).

Retorna: não tem valor de retorno.
 

GetSystemTimeAsFileTime
VOID GetSystemTimeAsFileTime( LPFILETIME lpSystemTimeAsFileTime );

QuoteParâmetro Descrição
LPSYSTEMTIME lpSystemTimeAsFileTime       endereço da estrutura da hora do sistema.

Obtém a hora e a data corrente do sistema. A hora do sistema é expressa em Hora Universal Coordenada (UTC - Universal Time Coordinated).

Retorna: não tem valor de retorno.
 

GetTickCount
DWORD GetTickCount( VOID );

Obtém o número de milissegundos decorridos desde que o Windows foi iniciado.

Retorna: em caso de sucesso, retorna o número de milissegundos decorridos desde que o Windows foi iniciado.

Ðark$pawn

Continuação... (Pq excedeu o limite de caracteres)


GetTimeZoneInformation
DWORD GetTimeZoneInformation( LPTIME_ZONE_INFORMATION lpTimeZoneInformation );

QuoteParâmetro Descrição
LPTIME_ZONE_INFORMATION lpTimeZoneInformation      endereço da configuração da hora por zona.

Obtém os parâmetros da hora por zona corrente. Estes parâmetros controlam a transformação entre UTC e hora local.

Retorna: em caso de sucesso, o valor de retorno é um dos seguintes: TIME_ZONE_ID_UNKNOWN, TIME_ZONE_ID_STANDARD, TIME_ZONE_ID_DAYLIGHT. Em caso de falha, o valor de retorno é 0xFFFFFFFF. Para obter informações detalhadas de erro chame GetLastError.
 

GetVolumeInformationA, GetVolumeInformationW
BOOL GetVolumeInformation( LPCTSTR lpRootPathName, LPTSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPTSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize );

QuoteParâmetro Descrição
LPCTSTR lpRootPathName                          endereço do diretório raiz do sistema de arquivos.
LPTSTR lpVolumeNameBuffer                      endereço do nome do volume.
DWORD nVolumeNameSize                         tamanho do lpVolumeNameBuffer.
LPDWORD lpVolumeSerialNumber                endereço do número de série do volume.
LPDWORD lpMaximumComponentLength      endereço do comprimento máximo dos nomes dos arquivos do sistema.
LPDWORD lpFileSystemFlags                       endereço das flags do sistema de arquivos.
LPTSTR lpFileSystemNameBuffer                 endereço do buffer de nomes do sistema de arquivos.
DWORD nFileSystemNameSize                     tamanho de lpFileSystemNameBuffer.

Obtém informações sobre o sistema de arquivos e o volume cujo diretório raiz é especificado.

Retorna: caso todas as informações sejam obtidas, retorna TRUE. Caso contrário, retorna FALSE. Para obter informações detalhadas de erro chame GetLastError.
 

GlobalAlloc
HGLOBAL GlobalAlloc( UINT uFlags, DWORD dwBytes );

QuoteParâmetro Descrição
UINT uFlags               atributos de alocação do objeto.
DWORD dwBytes        número de bytes a serem alocados.

Aloca o número especificado de bytes do heap. No win32 não há diferença entre o heap local e o global.

Retorna: em caso de sucesso, o valor de retorno é o manipulador do objeto memória alocada criado. Em caso de erro, o valor de retorno é NULL.
 

GlobalFree
LPVOID GlobalFree( HGLOBAL hMem );

QuoteParâmetro Descrição
HGLOBAL hMem        manipulador do objeto global de memória.

Libera o objeto memória criado por GlobalAlloc ou GlobalReAlloc e invalida seu manipulador.

Retorna: em caso de sucesso, o valor de retorno é NULL. Em caso de erro, retorna o manipulador do objeto memória correspondente.
 

GlobalLock
LPVOID GlobalLock( HGLOBAL hMem );

QuoteParâmetro Descrição
HGLOBAL hMem        manipulador do objeto global de memória.

Bloqueia o objeto memória e retorna um ponteiro para o primeiro byte. Um bloco de memória associado com um objeto de memória bloqueado não pode ser movido ou descartado. Para objetos de memória alocados com o sinalizador GMEM_MOVEABLE, a função incrementa o contador de bloqueio associado ao objeto de memória.

Retorna: em caso de sucesso, o valor de retorno é um ponteiro para o primeiro byte do bloco de memória. Em caso de erro, o valor de retorno é NULL.
 

GlobalUnlock
LPVOID GlobalUnlock( HGLOBAL hMem );

QuoteParâmetro Descrição
HGLOBAL hMem     manipulador do objeto global de memória.

Decrementa o contador de bloqueio associado ao objeto memória que foi alocado com o sinalizador (flag) GMEM_MOVEABLE. Esta função não tem efeito sobre objetos de memória alocados com o sinalizador GMEM_FIXED.

Retorna: um valor diferente de zero se o objeto memória ainda estiver bloqueado após o decremento do contador de bloqueio. Em caso de erro, o valor de retorno é zero. Neste caso, se GetLastError retornar NO_ERROR, o objeto memória está desbloqueado.
 

_lread
UINT _lread ( HFILE hFile, LPVOID lpBuffer, UINT uBytes );

QuoteParâmetro Descrição
HFILE hFile              manipulador (handle) do arquivo.
LPVOID lpBuffer       endereço do buffer de leitura.
UINT uBytes            tamanho, em bytes, do buffer de dados.

Lê dados do arquivo especificado. Esta função é mantida para preservar a compatibilidade com a versão de 16 bits do Windows. Aplicativos baseados no Win32 deveriam usar a função ReadFile.

Retorna: em caso de sucesso, o valor de retorno indica o número de bytes lidos do arquivo. Se o número de bytes lidos for menor que uBytes, a função atingiu o fim do arquivo (EOF) antes de ler o número especificado. Em caso de falha, o valor de retorno é HFILE_ERROR. Para obter informações detalhadas de erro, chame GetLastError.
 

lstrcat
LPTSTR lstrcat( LPTSTR lpString1, LPCTSTR lpString2 );

QuoteParâmetro Descrição
LPTSTR lpString1     endereço do buffer para as strings concatenadas.
LPTSTR lpString2     endereço da string que deve ser adicionada à string1.

Concatena duas strings.

Retorna: em caso de sucesso, retorna o endereço do buffer. Caso contrário, retorna NULL.
 

lstrcmp
int lstrcmp( LPTSTR lpString1, LPCTSTR lpString2 );

QuoteParâmetro Descrição
LPTSTR lpString1     endereço da primeira string.
LPTSTR lpString2     endereço da segunda string.

Compara os caracteres de duas strings. A comparação é sensível à caixa (maiúsculas/minúsculas). A comparação é feita caracter a caracter (o primeiro com o primeiro, o segundo com o segundo, etc) até que seja encontrada uma diferença ou o fim das strings. Por exemplo, indica que "abcz" é maior do que "abcdefg" e retorna a diferença de z e d.

Para fazer uma comparação que não seja sensível à caixa, usar a função lstrcmpi.

Retorna: em caso de sucesso, se string1 for menor que string2, retorna um valor negativo; se string1 for maior que string2, retorna um valor positivo; se forem iguais, retorna zero.
 

lstrcpy
LPTSTR lstrcpy( LPTSTR lpString1, LPCTSTR lpString2 );

QuoteParâmetro Descrição
LPTSTR lpString1     endereço do buffer.
LPTSTR lpString2     endereço da string que deve ser copiada.

Copia uma string para um buffer.

Retorna: em caso de sucesso, retorna o ponteiro do buffer. Caso contrário, retorna NULL.
 

lstrcpyn
LPTSTR lstrcpyn( LPTSTR lpString1, LPCTSTR lpString2, int iMaxLength );

QuoteParâmetro Descrição
LPTSTR lpString1     endereço do buffer.
LPTSTR lpString2     endereço da string que deve ser copiada.
int iMaxLength         número de bytes ou caracteres que devem ser copiados.

Copia um número especificado de caracters de uma string para um buffer.

Retorna: em caso de sucesso, retorna o ponteiro do buffer. Caso contrário, retorna NULL.
 

lstrlen
int lstrlen( LPTSTR lpString );

QuoteParâmetro Descrição
LPTSTR lpString      endereço da string que deve ser contada.

Determina o comprimento de uma string.

Retorna: em caso de sucesso, retorna o comprimento em bytes (versão ANSI) ou caracteres (versão Unicode) da string especificada (não incluindo o caracter terminador null).
 

_lwrite
UINT _lread ( HFILE hFile, LPVOID lpBuffer, UINT uBytes );

QuoteParâmetro Descrição
HFILE hFile             manipulador (handle) do arquivo.
LPVOID lpBuffer      endereço do buffer de escrita.
UINT uBytes           tamanho, em bytes, do buffer de dados.

Escreve dados no arquivo especificado. Esta função é mantida para preservar a compatibilidade com a versão de 16 bits do Windows. Aplicativos baseados no Win32 deveriam usar a função WriteFile.

Retorna: em caso de sucesso, o valor de retorno indica o número de bytes escritos do arquivo. Caso contrário, o valor de retorno é HFILE_ERROR. Para obter informações detalhadas de erro, chame GetLastError.
 

OpenFile
HFILE OpenFile( LPCSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle );

QuoteParâmetro Descrição
LPCSTR lpFileName                   ponteiro para o nome do arquivo.
LPOFSTRUCT lpReOpenBuff       ponteiro para o buffer de informações sobre o arquivo.
UINT uStyle                            ações e atributos.

Cria, abre, reabre ou deleta um arquivo, determinado pelo valor de uStyle. Os mais importantes são:

QuoteValor Descrição
OF_CREATE            Cria um arquivo novo. Se o arquivo já existir, é truncado para comprimento zero.
OF_DELETE            Deleta o arquivo.
OF_EXIST              Abre o arquivo e o fecha em seguida. É usado para testar a existência de um arquivo.
OF_PARSE              Preenche a estrutura OFSTRUCT sem qualquer outra ação.
OF_PROMPT           Mostra uma caixa de diálogo se o arquivo não existir.
OF_READ               Abre o arquivo apenas para leitura.
OF_READWRITE     Abre o arquivo para leitura e escrita.
OF_WRITE             Abre o arquivo apenas para escrita.

Retorna: em caso de sucesso, o valor de retorno é um handle de arquivo. Caso contrário, o valor de retorno é HFILE_ERROR.
 

ReadFile
BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped );

QuoteParâmetro Descrição
HANDLE hFile                                 manipulador (handle) do arquivo que deve ser lido.
LPVOID lpBuffer                             endereço do buffer que recebe os dados.
DWORD nNumberOfBytesToRead     número de bytes que devem ser lidos.
LPDWORD lpNumberOfBytesRead     endereço do número de bytes lidos.
LPOVERLAPPED lpOverlapped          endereço da estrutura para dados.

Lê dados de um arquivo, iniciando na posição indicada pelo ponteiro do arquivo. Após completar a operação de leitura, o ponteiro do arquivo é ajustado pelo número de bytes lidos, a não ser que o manipulador do arquivo tenha sido criado com o atributo de sobreposição (overlapped). Se o manipulador do arquivo for criado com entrada e saída (I/O) sobrepostas, o programa precisa ajustar a posição do ponteiro do arquivo após a operação de leitura.

Retorna: em caso de sucesso, o valor de retorno é TRUE. Se o valor de retorno for TRUE e o número de bytes lidos for zero, o ponteiro do arquivo ultrapassou o fim do arquivo no momento da leitura.

Em caso de falha, o valor de retorno é FALSE. Para obter informações detalhadas de erro, chame GetLastError.
 

ReadFileEx
BOOL ReadFileEx( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine );

QuoteParâmetro Descrição
HANDLE hFile                                                                          manipulador (handle) do arquivo que deve ser lido.
LPVOID lpBuffer                                                                       endereço do buffer que recebe os dados.
DWORD nNumberOfBytesToRead                                                número de bytes que devem ser lidos.
LPDWORD lpNumberOfBytesRead                                                endereço do número de bytes lidos.
LPOVERLAPPED lpOverlapped                                                     endereço do offset.
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine        endereço da rotina de complementação.

Lê dados de um arquivo de forma assíncrona. Foi projetada apenas para operações assíncronas, ao contrário da função ReadFile, que foi projetada para as duas operações, síncrona e assíncrona. ReadFileEx permite que o programa execute outros processamentos durante a operação de leitura.

A função ReadFileEx indica seu status assincronamente chamando um rotina de indicação de status especificada quando a leitura está completa e o thread da chamada está em estado de espera alertável.

Retorna: em caso de sucesso, o valor de retorno é TRUE. Caso contrário, é FALSE. Para obter informações detalhadas de erro chame GetLastError.

Em caso de sucesso, a operação de leitura tiver terminado e o thread da chamada não está num estado de espera alertável, o sistema põe a chamada da rotina de complementação na fila (queue), segurando a chamada até que o thread da chamada entre em estado de espera alertável. Para informações sobre as esperas alertáveis e as operações de entrada/saída (I/O), veja Sincronização e Entrada e Saída Sobrepostas.

Se ReadFileEx tentar uma leitura ultrapassando o final do arquivo, a função retorna FALSE e GetLastError retorna ERROR_HANDLE_EOF.


ReadProcessMemory
BOOL ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD cbRead, LPDWORD lpNumberOfBytesRead );

QuoteParâmetro Descrição
HANDLE hProcess                             handle do processo cuja memória é lida.
LPCVOID lpBaseAddress                     endereço do início da leitura.
LPVOID lpBuffer                                endereço do buffer de leitura.
DWORD cbRead                                número de bytes que devem ser lidos.
LPDWORD lpNumberOfBytesRead        endereço do número de bytes lidos.

Lê a memória em processos especificados. Toda a área que deve ser lida precisa estar acessível, caso contrário a operação falha.

Retorna: em caso de sucesso, o valor de retorno é TRUE. Caso contrário, é FALSE. Para obter informações detalhadas de erro chame GetLastError.

A função falha caso a operação de leitura requisitada esbarrar numa área do processo que seja inacessível.

TimeLOCK usa esta função !
 

SetFileAttributes
BOOL SetFileAttributes( LPCTSTR lpFileName, DWORD dwFileAttributes );

QuoteParâmetro Descrição
LPCTSTR lpFileName           endereço do nome do arquivo.
DWORD dwFileAttributes    endereço dos atributos que devem ser atribuídos.

Determina os atributos de um arquivo. Os atributos mais usados são:

QuoteAtributo Descrição
FILE_ATTRIBUTE_ARCHIVE     o arquivo é do tipo arquivo. Aplicativos usam este valor para marcar arquivos para backup ou remoção.
FILE_ATTRIBUTE_HIDDEN       o arquivo fica oculto e não é incluído numa listagem de diretório comum.
FILE_ATTRIBUTE_NORMAL      o arquivo não possui outros atributos. Este valor só é válido quando usado isoladamente.
FILE_ATTRIBUTE_READONLY   o arquivo é apenas para leitura. Aplicativos não podem fazer escrita ou deletá-lo.
FILE_ATTRIBUTE_SYSTEM       o arquivo faz parte do sistema operacional e é usado exclusivamente por ele.

Retorna: em caso de sucesso, o valor de retorno é diferente de zero. Caso contrário, é zero.
 

SetFilePointer
DWORD SetFilePointer( HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod );

QuoteParâmetro Descrição
HANDLE hFile                            handle do arquivo.
LONG lDistanceToMove              número de bytes para mover o ponteiro.
PLONG lpDistanceToMoveHigh    endereço do word de ordem superior (high-order word) da distância que deve ser movido.
DWORD dwMoveMethod            como deve ser movido.

Move o ponteiro de arquivo de um arquivo aberto.

Retorna: em caso de sucesso, o valor de retorno é o doubleword de ordem inferior (low-order doubleword) do novo ponteiro de arquivo e, se lpDistanceToMoveHigh não for NULL, a função põe o doubleword de ordem superior do novo ponteiro de arquivo em um LONG apontado por este parâmetro.

Se a função falhar e lpDistanceToMoveHigh for NULL, o valor de retorno é 0xFFFFFFFF. Para obter informações detalhadas de erro, chame GetLastError.

Se a função falhar e lpDistanceToMoveHigh não for NULL, o valor de retorno é 0xFFFFFFFF e GetLastError retornará um valor diferente de NO_ERROR.
 

SystemTimeToFileTime
BOOL SystemTimeToFileTime( CONST SYSTEMTIME * lpst, LPFILETIME lpft );

QuoteParâmetro Descrição
CONST SYSTEMTIME * lpst     endereço da hora do sistema que será convertida.
LPFILETIME lpft                     endereço do buffer para a hora do arquivo convertida.

Converte hora do sistema em hora de arquivo.

Retorna: em caso de sucesso, retorna TRUE. Caso contrário, retorna FALSE. Para obter informações detalhadas de erro chame GetLastError.
 

WriteFile
BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped );

QuoteParâmetro Descrição
HANDLE hFile                                         handle do arquivo para escrita.
LPVOID lpBuffer                                     endereço dos dados que serão escritos no arquivo.
DWORD nNumberOfBytesToWrite             números de bytes que devem ser escritos.
LPDWORD lpNumberOfBytesWritten          ponteiro para o número de bytes escritos.
LPOVERLAPPED lpOverlapped                   ponteiro para a estrutura necessária para entrada/saída sobrepostas.

Escreve dados num arquivo e foi desenvolvida tanto para operações síncronas quanto assíncronas. A função começa escrevendo os dados na posição indicada pelo ponteiro do arquivo. Após completar a operação de escrita, o ponteiro do arquivo é ajustado de acordo com o número de bytes escritos, a não ser que o arquivo tenha sido aberto com FILE_FLAG_OVERLAPPED. Se o handle do arquivo foi criado para entrada e saída sobrepostas, o aplicativo precisa ajustar a posição do ponteiro do arquivo após o término da operação de escrita.

Para operações de escrita somente assíncronas, use a função WriteFileEx.

Retorna: em caso de sucesso, retorna um valor diferente de zero. Caso contrário, retorna zero. Para obter informações detalhadas de erro chame GetLastError.
 

WriteFileEx
BOOL WriteFileEx( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);

QuoteParâmetro Descrição
HANDLE hFile                                                                           handle do arquivo para escrita.
LPVOID lpBuffer                                                                       endereço dos dados que serão escritos no arquivo.
DWORD nNumberOfBytesToWrite                                               números de bytes que devem ser escritos.
LPOVERLAPPED lpOverlapped                                                     ponteiro para a estrutura necessária para entrada/saída sobrepostas.
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine        ponteiro para a rotina de complementação.

Escreve dados num arquivo. Foi projetada apenas para operações assíncronas, diferente de WriteFile que foi escrita para operações síncronas e assíncronas.

Para operações de escrita somente assíncronas, use a função WriteFileEx.

Retorna: em caso de sucesso, o valor de retorno é TRUE. Caso contrário, é FALSE. Para obter informações detalhadas de erro chame GetLastError.

Em caso de sucesso, o thread da chamada possui uma operação de entrada/saída assíncrona pendente: a operação de escrita sobreposta. Quando esta operação I/O termina e o thread da chamada é bloqueado num estado de espera alertável, o sistema operacional chama a função indicada em lpCompletionRoutine e a espera é completada com um código de retorno de WAIT_IO_COMPLETION.

Se a função tiver sucesso e a operação de escrita terminar mas o thread da chamada não estiver no estado de espera alertável, o sistema põe o chamado para *lpCompletionRoutine na fila, segurando a chamada até que o thread da chamada entre em estado de espera alertável. Veja Sincronização para maiores informações sobre estados de espera alertáveis e operações de entrada/saída sobrepostas.
 

WriteProcessMemory
BOOL WriteProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, DWORD cbWrite, LPDWORD lpNumberOfBytesWritten );

QuoteParâmetro Descrição
HANDLE hProcess                              handle do processo cuja memória está sendo escrita.
LPCVOID lpBaseAddress                      endereço do início da escrita.
LPVOID lpBuffer                                endereço do buffer de dados.
DWORD cbWrite                                números de bytes que devem ser escritos.
LPDWORD lpNumberOfBytesWritten     número atual de bytes escritos.

Escreve na memória num processo especificado. Toda a área a ser escrita precisa estar acessível ou a operação falha.

Retorna: em caso de sucesso, retorna TRUE. Caso contrário, retorna FALSE. Para obter informações detalhadas de erro chame GetLastError.

A função falha caso a operação de leitura requisitada esbarrar numa área do processo que seja inacessível.

TimeLOCK usa esta função !
 

WriteProfileString
BOOL WriteProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpString );

QuoteParâmetro Descrição
LPCTSTR lpAppName     ponteiro para o nome da seção.
LPCTSTR lpKeyName      ponteiro para o nome da chave.
LPCTSTR lpString           ponteiro para a string que deve ser escrita.

Copia uma string na seção especificada de um arquivo WIN.INI.

Esta função existe para manter a compatibilidade com aplicativos para o Windows 16 bits. Aplicativos win32 devem armazenar suas informações de inicialização no registry.

Retorna: em caso de sucesso, retorna um valor diferente de zero. Caso contrário, retorna zero. Para obter informações detalhadas de erro chame GetLastError.
 

WritePrivateProfileStringA, WritePrivateProfileStringW
BOOL WritePrivateProfileString( LPCTSTR lpszSection, LPCTSTR lpszKey, LPCTSTR lpszString, LPCTSTR lpszFile );

QuoteParâmetro Descrição
LPCTSTR lpszSection     endereço do nome da seção.
LPCTSTR lpszKey          endereço do nome da chave.
LPCTSTR lpszString       endereço da string que deve ser adicionada.
LPCTSTR lpszFile           endereço do nome do arquivo de inicialização.

Copia uma string na seção especificada do arquivo de inicialização especificado.

Esta função existe para manter a compatibilidade com aplicativos para o Windows 16 bits. Aplicativos win32 devem armazenar suas informações de inicialização no registry.

Retorna: em caso de sucesso, copia a string de inicialização no arquivo e o valor de retorno é TRUE. Em caso de falha ou se houver invasão da versão em cache do arquivo de inicialização mais recentemente acessado, o valor de retorno é FALSE. Para obter informações detalhadas de erro chame GetLastError.


Fonte: oicìliS ©

Edited by: DarkSpawn ;)

whit3_sh4rk

Mto foda, o bom é que é em BR.. Mas quem quiser MUITO, MUITO mais, é só ir no MSDN (inglês)..

Vlw ae cara ;)

[]s

Kratos

::: "A vida é bela pra quem sabe curtir" :::






Cloudy

Espetacular!

Apesar de não usar Windows, sei que vai ser muito útil pra quem usa.

...by Cloudy
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

Anonymous

Manu DS,

COmo sempre arrebentando nos Posts...

Issae Manu, vai longe hein...

Isso mermo..
Yah!