Função WIN_OSNETREGOK()
Moderador: Moderadores
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Função WIN_OSNETREGOK()
Senhores boa tarde, porfa, alguém tem esta função completa para FiveWin for xHarbour, e em qualquer versão do windows e que possa disponibiliar?
Obg. abs.
Obg. abs.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Função WIN_OSNETREGOK()
Para quem sentiu falta da função os_IsUserAnAdmin(), segue:
Código: Selecionar todos
#pragma BEGINDUMP
#include <windows.h>
HB_FUNC( OS_ISUSERANADMIN )
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
b = AllocateAndInitializeSid( &NtAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&AdministratorsGroup );
if( b )
{
if ( !CheckTokenMembership( NULL, AdministratorsGroup, &b ) )
b = FALSE;
FreeSid( AdministratorsGroup );
}
hb_retl( b );
}
#pragma ENDDUMP
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Função WIN_OSNETREGOK()
Itamar, de uma olhadinha... Obrg. abs.
Código: Selecionar todos
#include "FiveWin.ch"
function Main()
If !WIN_OSNETREGOK() //Precisa direitos ADM
If !WIN_OSNETREGOK(.t.,.t.) //primeiro .t. é para ajustar XP/W98..., o segundo ajusta no vista.
MsgInfo('Registro do windows não ajustado !')
EndIf
EndIf
RETURN NIL
#include "common.ch"
#include "directry.ch"
#define WIN_HKEY_LOCAL_MACHINE 0
#define WIN_HKEY_CLASSES_ROOT 1
#define WIN_HKEY_CURRENT_USER 2
#define WIN_HKEY_CURRENT_CONFIG 3
#define WIN_HKEY_LOCAL_MACHINE 4
#define WIN_HKEY_USERS 5
/* NOTE: To change any of these registry settings
Administrator rights are required by default in Windows. [vszakats] */
FUNCTION WIN_OSNETREGOK( lSetIt, lDoVista )
LOCAL bRetVal := .T.
LOCAL cKeySrv
LOCAL cKeyWks
IF ! ISLOGICAL( lSetIt )
lSetIt := .F.
ENDIF
IF ! ISLOGICAL( lDoVista )
lDoVista := .T.
ENDIF
IF ! lDoVista .AND. Os_IsWinVISTA() //win_osIsVistaOrUpper()
/* do nothing */
ELSEIF Os_IsWin9X() // hb_osIsWin9x()
bRetVal := QueryRegistry( WIN_HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\VxD\VREDIR", "DiscardCacheOnOpen", 1, lSetIt )
ELSE
cKeySrv := "System\CurrentControlSet\Services\LanmanServer\Parameters"
cKeyWks := "System\CurrentControlSet\Services\LanmanWorkStation\Parameters"
IF lSetIt
lSetIt := ! Os_IsWinNT() .OR. os_IsUserAnAdmin() //wapi_IsUserAnAdmin()
ENDIF
/* Server settings */
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "CachedOpenLimit", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "EnableOpLocks", 0, lSetIt ) /* Q124916 */
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "EnableOpLockForceClose", 1, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SharingViolationDelay", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SharingViolationRetries", 0, lSetIt )
IF Os_IsWinVISTA() // win_osIsVistaOrUpper()
/* If SMB2 is enabled turning off oplocks does not work, so SMB2 is required to be turned off on Server. */
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeySrv, "SMB2", 0, lSetIt )
ENDIF
/* Workstation settings */
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UseOpportunisticLocking", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "EnableOpLocks", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "EnableOpLockForceClose", 1, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UtilizeNtCaching", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "UseLockReadUnlock", 0, lSetIt )
IF Os_IsWinVISTA() //win_osIsVistaOrUpper()
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "FileInfoCacheLifetime", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "FileNotFoundCacheLifetime", 0, lSetIt )
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, cKeyWks, "DirectoryCacheLifetime", 0, lSetIt )
ENDIF
IF Os_IsWinNT() //hb_osIsWin2K()
bRetVal := bRetVal .AND. QueryRegistry( WIN_HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Services\MRXSmb\Parameters", "OpLocksDisabled", 1, lSetIt )
ENDIF
// Itamar, nao precisa fazer isto no Windows 7 e 8?
IF Os_IsWin7() //hb_osIsWin7()
bRetVal := bRetVal ... ??? Entende?
ENDIF
IF Os_IsWin8() //hb_osIsWin8()
ENDIF
ENDIF
RETURN bRetVal
FUNCTION WIN_OSNETVREDIROK( /* @ */ nResult )
LOCAL aFiles
nResult := 0
IF Os_IsWin9X() // hb_osIsWin9x()
aFiles := Directory( GetEnv( "WINDIR", "C:\WINDOWS" ) + "\SYSTEM\VREDIR.VXD" ) /* Check for faulty files. */
IF ! Empty( aFiles )
IF aFiles[ 1 ][ F_SIZE ] == 156749 .AND. aFiles[ 1 ][ F_TIME ] == "11:11:10"
nResult := 1111
ELSEIF aFiles[ 1 ][ F_SIZE ] == 140343 .AND. aFiles[ 1 ][ F_TIME ] == "09:50:00"
nResult := 950
ENDIF
ENDIF
ENDIF
RETURN Empty( nResult )
#pragma BEGINDUMP
#include <windows.h>
HB_FUNC( OS_ISUSERANADMIN )
{
BOOL b;
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
PSID AdministratorsGroup;
b = AllocateAndInitializeSid( &NtAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID,
DOMAIN_ALIAS_RID_ADMINS,
0, 0, 0, 0, 0, 0,
&AdministratorsGroup );
if( b )
{
if ( !CheckTokenMembership( NULL, AdministratorsGroup, &b ) )
b = FALSE;
FreeSid( AdministratorsGroup );
}
hb_retl( b );
}
#pragma ENDDUMP
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Função WIN_OSNETREGOK()
Itamar, sempre me retorna no windows 7:
Registro do windows não ajustado!
obg. abs
Registro do windows não ajustado!
obg. abs
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Função WIN_OSNETREGOK()
Oi!
Tem que ter direitos!!!
Digite ai no seu win7 na linha "Pesquisa programas e arquivos" UAC e ajuste o nível!
Ou então clicar no seu executável com o botão direito e "executar como administrador".
Saudações,
Itamar M. Lins Jr.
Tem que ter direitos!!!
Digite ai no seu win7 na linha "Pesquisa programas e arquivos" UAC e ajuste o nível!
Ou então clicar no seu executável com o botão direito e "executar como administrador".
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Função WIN_OSNETREGOK()
Obg. Itamar M. Lins Jr, fiz como dissestes, mas não notei nada d+++, pode explicar por favor o que esta função mudaria na abertura dos bancos de dados em rede?
E o pior é que não se pode incorporar ao programa principal, já que necessita de "Administrador", passar isso para usuário nem pensar.
Obg. abs.
E o pior é que não se pode incorporar ao programa principal, já que necessita de "Administrador", passar isso para usuário nem pensar.
Obg. abs.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Função WIN_OSNETREGOK()
Só precisa ser executado uma vez.
Ele ajusta o tratamento de como o windows gerenciará os arquivos. O flock(), lock() faz a solicitação ao windows. O tempo de resposta do windows é alterado diminuído e faz uma modificação de quem irá gerenciar isso é o aplicativo e não mais o windows.
Só sei até ai... se tem mais coisas ou equivocado os gurus podem corrigir ai.
Usando o google p/ traduzir
Texto original aqui:
http://www.witzendcs.co.uk/nt_networking.html
Saudações,
Itamar M. Lins Jr.
Ele ajusta o tratamento de como o windows gerenciará os arquivos. O flock(), lock() faz a solicitação ao windows. O tempo de resposta do windows é alterado diminuído e faz uma modificação de quem irá gerenciar isso é o aplicativo e não mais o windows.
Só sei até ai... se tem mais coisas ou equivocado os gurus podem corrigir ai.
Usando o google p/ traduzir
Código: Selecionar todos
NT Networking & CA- Clipper ™
A família do sistema operacional baseado no Windows NT ® tem alguns problemas de estabilidade irritantes quando se lida com um legado DBMS de arquivos compartilhados , como CA- Clipper ™ . Esta página descreve esses aborrecimentos e tem soluções empacotadas como simples de usar. REG ( Registro) arquivos . Embora os links abaixo , muitas vezes só se referem a versões muito precoces de servidor NT , todos os comentários se aplicam a toda a linhagem até e incluindo Server 2008.
O problema básico é que a camada de redirecionamento de rede é muito "preguiçoso" em sua configuração padrão , quando se trata de escrever de volta imediatamente as alterações de dados para o sistema de arquivos do servidor subjacente. Embora esta abordagem não conferir alguns benefícios de velocidade , que também apresenta efeitos secundários indesejáveis . Estes efeitos colaterais muitas vezes se manifestam como " corrupção do índice detectado" mensagens de erro na aplicação Clipper ou (mais insidiosamente ) "perdido" de dados durante as atualizações de arquivos. Veja aqui para mais detalhes.
Outros problemas podem ser "desaparecimento " de unidades de rede (erro DOS 55 ) ea função dbuse () falha com " arquivo já está em uso" - veja aqui e aqui para mais detalhes.
Supressão de um fechado , mas, recentemente aberta, arquivo também pode falhar silenciosamente ( a exclusão parece funcionar , mas o arquivo ainda existe no servidor) . Veja aqui para mais detalhes.
AVISO - Usando o Editor do Registro incorretamente pode causar problemas sérios no sistema que talvez exijam a reinstalação do Windows para corrigi-los. Use essas ferramentas em seu próprio risco .
Abaixo estão dois arquivos . REG que podem ser usadas para alterar o comportamento do redirecionador de rede em servidores e estações de trabalho baseados no NT para permitir que aplicações Clipper para trabalhar de forma mais confiável . Para importar as mudanças no registro , basta fazer o download e , em seguida, clique duas vezes sobre o arquivo apropriado para importar para o registro. Note que você vai precisar para assegurar que você tenha os privilégios corretos (geralmente de administrador ou equivalente) , a fim de importar os arquivos de registro. . Após a reinicialização obrigatória , as novas configurações ficará ativo.
AVISO - . Ao clicar nos links abaixo reg pode tentar aplicar as alterações para o registro diretamente , então por favor clique com botão direito e use a opção "Salvar destino como ..." opção no seu browser.
* NEW *
28 de dezembro de 2004 - Adicionado chaves e comentários adicionais para os arquivos . Uma chave de registro adicional foi descoberto que afeta o Windows 2000 (que será ignorado no NT 4). Recomenda-se que os novos arquivos são aplicados a instalações utilizadas as versões anteriores .
18 de outubro de 2006 - Jean Mathieu de Outillage Placide Mathieu inc avistou um 'd' extra no final de " EnableOpLockForceClose " em NtWrkStn.reg - Agora corrigidos.
NTWrkStn.reg - modificações de registro para as estações de trabalho baseados no NT .
NTServer.reg - modificações de registro para servidores baseados em NT ( ou estações de trabalho que atuam como servidores) .
Nota: Estas alterações aplicam-se igualmente para o Windows ® NT 4, Windows ® 2000/2003/2008 e Windows ® XP, Vista e Windows 7
Ajuda adicional Clipper está disponível a partir de DaveP Clipper FAQ e VFAQ
Klas Engwall tem uma biblioteca livre útil para trabalhar com Clipper e redes Microsoft aqui
Para obter conselhos úteis sobre os problemas de configuração do Samba no Linux , veja aqui
http://www.witzendcs.co.uk/nt_networking.html
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Função WIN_OSNETREGOK()
Com relação a desabilitar o UAC via software para complementar o uso desta função WIN_OSNETREGOK(), não seria esta função postada pelo Rochinha q esta neste tópico (Link)?
[]´s
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Função WIN_OSNETREGOK()
Olá Kapiaba,
Eu implementei e no meu micro Win 7 64 não deu problema, testei tb em um XP (Maquina Virtual) e rodou sem problemas,
Agora deixei rodando em um cliente q tem uma rede com diversos tipos de configurações, até agora não apresentou problema, porém não sei ainda informar se não vai apresentar problemas, estou acompanhando o cliente, quero deixar lá uns 30 dias pelo menos e depois avaliar se ficou ok.
Depois eu posto os resultados aki.
[]´s
Eu implementei e no meu micro Win 7 64 não deu problema, testei tb em um XP (Maquina Virtual) e rodou sem problemas,
Agora deixei rodando em um cliente q tem uma rede com diversos tipos de configurações, até agora não apresentou problema, porém não sei ainda informar se não vai apresentar problemas, estou acompanhando o cliente, quero deixar lá uns 30 dias pelo menos e depois avaliar se ficou ok.
Depois eu posto os resultados aki.
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
-
Marcio_Carneiro
- Usuário Nível 2

- Mensagens: 70
- Registrado em: 07 Abr 2008 15:37
- Localização: Santo Antônio de Pádua - RJ
Função WIN_OSNETREGOK()
Infelizmente não consigo compilar, tem como disponibilizar na área de dowload()?
Marcio
Marcio
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Função WIN_OSNETREGOK()
faz alguma diferença em rede mapeada?
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
Função WIN_OSNETREGOK()
Bom dia,
Estava olhando a rotina abaixo e também a função do harbour "win_OsNetRegOk" e no endereço indicado nos Registros do windows não existe tais TAGS no meu windows 10.
Teria que incluir essas tags no registro ? Como ?
Obrigado,
Estava olhando a rotina abaixo e também a função do harbour "win_OsNetRegOk" e no endereço indicado nos Registros do windows não existe tais TAGS no meu windows 10.
Código: Selecionar todos
********************
function TurbinaRede
********************
local oReg, aReg := { }
oReg := TReg32():New( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" )
aadd( aReg, { oReg:Get( "EnableOplocks" , "" ), "" } )
aadd( aReg, { oReg:Get( "CachedOpenLimit" , "" ), "" } )
aadd( aReg, { oReg:Get( "Autodisconnect" , "" ), "" } )
aadd( aReg, { oReg:Get( "EnableOplockForceClose", "" ), "" } )
aadd( aReg, { oReg:Get( "MaxKeepSearch" , "" ), "" } )
aadd( aReg, { oReg:Get( "MinKeepSearch" , "" ), "" } )
aadd( aReg, { oReg:Get( "ScavTimeout" , "" ), "" } )
aadd( aReg, { oReg:Get( "ThreadPriority" , "" ), "" } )
oReg:Set( "EnableOplocks" , "00000000" )
oReg:Set( "CachedOpenLimit" , "00000000" )
oReg:Set( "Autodisconnect" , "ffffffff" )
oReg:Set( "EnableOplockForceClose", "00000001" )
oReg:Set( "MaxKeepSearch" , "000000b4" )
oReg:Set( "MinKeepSearch" , "0000000a" )
oReg:Set( "ScavTimeout" , "0000000a" )
oReg:Set( "ThreadPriority" , "00000002" )
aReg [1,2] := oReg:Get( "EnableOplocks" , "" )
aReg [2,2] := oReg:Get( "CachedOpenLimit" , "" )
aReg [3,2] := oReg:Get( "Autodisconnect" , "" )
aReg [4,2] := oReg:Get( "EnableOplockForceClose", "" )
aReg [5,2] := oReg:Get( "MaxKeepSearch" , "" )
aReg [6,2] := oReg:Get( "MinKeepSearch" , "" )
aReg [7,2] := oReg:Get( "ScavTimeout" , "" )
aReg [8,2] := oReg:Get( "ThreadPriority" , "" )
oReg:Close()
oReg := NIL
return aReg
Obrigado,
Rossine.
Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Função WIN_OSNETREGOK()
Olá Hazael,
Obrigado pela dica.
Fiz algumas mudanças nesta função que postei e está ok agora:
Obrigado,
Obrigado pela dica.
Fiz algumas mudanças nesta função que postei e está ok agora:
Código: Selecionar todos
********************
function TurbinaRede
********************
local oReg, aReg := { }
if wapi_IsUserAnAdmin() // 30/08/18
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplocks" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\CachedOpenLimit" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Autodisconnect" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\EnableOplockForceClose" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\MaxKeepSearch" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\MinKeepSearch" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\ScavTimeout" )
VerKey( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\ThreadPriority" )
oReg := TReg32():New( HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" )
aadd( aReg, { oReg:Get( "EnableOplocks" , "" ), "" } )
aadd( aReg, { oReg:Get( "CachedOpenLimit" , "" ), "" } )
aadd( aReg, { oReg:Get( "Autodisconnect" , "" ), "" } )
aadd( aReg, { oReg:Get( "EnableOplockForceClose", "" ), "" } )
aadd( aReg, { oReg:Get( "MaxKeepSearch" , "" ), "" } )
aadd( aReg, { oReg:Get( "MinKeepSearch" , "" ), "" } )
aadd( aReg, { oReg:Get( "ScavTimeout" , "" ), "" } )
aadd( aReg, { oReg:Get( "ThreadPriority" , "" ), "" } )
oReg:Set( "EnableOplocks" , "00000000" )
oReg:Set( "CachedOpenLimit" , "00000000" )
oReg:Set( "Autodisconnect" , "ffffffff" )
oReg:Set( "EnableOplockForceClose", "00000001" )
oReg:Set( "MaxKeepSearch" , "000000b4" )
oReg:Set( "MinKeepSearch" , "0000000a" )
oReg:Set( "ScavTimeout" , "0000000a" )
oReg:Set( "ThreadPriority" , "00000002" )
aReg [1,2] := oReg:Get( "EnableOplocks" , "" )
aReg [2,2] := oReg:Get( "CachedOpenLimit" , "" )
aReg [3,2] := oReg:Get( "Autodisconnect" , "" )
aReg [4,2] := oReg:Get( "EnableOplockForceClose", "" )
aReg [5,2] := oReg:Get( "MaxKeepSearch" , "" )
aReg [6,2] := oReg:Get( "MinKeepSearch" , "" )
aReg [7,2] := oReg:Get( "ScavTimeout" , "" )
aReg [8,2] := oReg:Get( "ThreadPriority" , "" )
oReg:Close()
oReg := NIL
else
aadd( aReg, { "EnableOplocks" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "CachedOpenLimit" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "Autodisconnect" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "EnableOplockForceClose", "Nao.Conf.Request ADM" } )
aadd( aReg, { "MaxKeepSearch" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "MinKeepSearch" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "ScavTimeout" , "Nao.Conf.Request ADM" } )
aadd( aReg, { "ThreadPriority" , "Nao.Conf.Request ADM" } )
endif
return aReg
**********************
static function VerKey( nKey, cParameter ) // 30/08/18
**********************
local oReg
if !IsRegistryKey( nKey, cParameter )
oReg := TReg32():New( nKey, cParameter, .F. )
oReg:Create( nKey, cParameter )
oReg:Close()
endif
return IsRegistryKey( nKey, cParameter )
Rossine.
Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
