Chamando Scripts

A seção anterior, Usando parâmetros Replaceable (Preprocessor da Registrar The), discutido mapas de substituição e introduziu dois métodos do registrador, AddReplacement e ClearReplacements. O escrivão tem oito outros métodos específicos para execução de scripts. Todos os oito desses métodos são descritos na tabela a seguir e invocar o registrador em um script específico.

Método Descrição da sintaxe
ResourceRegister HRESULT ResourceRegister (LPCOLESTRRESFILENAMEUINT resFileName, UINT nID, LPCOLESTR szType );

Registra o script contido no recurso do módulo. resFileName indica o caminho UNC para o próprio módulo. nID e szType contêm o recurso ID e tipo, respectivamente.

ResourceUnregister HRESULT ResourceUnregister (LPCOLESTRRESFILENAMEUINT resFileName, UINT nID, LPCOLESTR szType );

Cancela o registro o script contido no recurso do módulo. resFileName indica o caminho UNC para o próprio módulo. nID e szType contêm o recurso ID e tipo, respectivamente.

ResourceRegisterSz HRESULT ResourceRegisterSz (LPCOLESTRRESFILENAME resFileName, LPCOLESTR szID, LPCOLESTR szType );

Registra o script contido no recurso do módulo. resFileName indica o caminho UNC para o próprio módulo. szID e szType contêm identificador de Cadeia de caracteres do recurso e tipo, respectivamente.

ResourceUnregisterSz HRESULT ResourceUnregisterSz (LPCOLESTRRESFILENAME resFileName, LPCOLESTR szID, LPCOLESTR szType );

Cancela o registro o script contido no recurso do módulo. resFileName indica o caminho UNC para o próprio módulo. szID e szType contêm identificador de Cadeia de caracteres do recurso e tipo, respectivamente.

FileRegister HRESULT FileRegister (LPCOLESTRNOME nome do );

Registra o script em um arquivo. nome do arquivo é um caminho UNC para um arquivo que contém (ou é) um script de recurso.

FileUnregister HRESULT FileUnregister (LPCOLESTRNOME nome do );

Cancela o registro o script em um arquivo. nome do arquivo é um caminho UNC para um arquivo que contém (ou é) um script de recurso.

StringRegister HRESULT StringRegister (LPCOLESTRRESFILENAME dados );

Registra o script em uma Cadeia de caracteres. dados contém o script em si.

StringUnregister HRESULT StringUnregister (LPCOLESTRRESFILENAME dados );

Cancela o registro o script em uma Cadeia de caracteres. dados contém o script em si.


ATL usa os dois primeiros métodos mostrados na tabela (ResourceRegister e ResourceUnregister) Atlimpl:

LPCOLESTRszType = OLESTR("REGISTRY");
GetModuleFileName (pM-gt; m_hInstResource, szModule,  MAX_PATH);
LPOLESTR pszModule = T2OLE(szModule);

se (HIWORD(lpszRes)==0)
{
   se (bRegister)
     hRes = p - > ResourceRegister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
   outra pessoa
     hRes = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
}
outra pessoa
{
   se (bRegister)
     hRes = p - > ResourceRegisterSz (pszModule, lpszRes, szType);
   outra pessoa
     hRes = p - > ResourceUnregisterSz (pszModule, lpszRes, szType);
}

Observe que szModule contém o valor adquirido de GetModuleFileName.

Os próximos dois métodos mostrados na tabela, ResourceRegisterSz e ResourceUnregisterSz, são semelhantes para ResourceRegister e ResourceUnregister, mas permitem que você especifique um identificador de Cadeia de caracteres.

Os métodos FileRegister e FileUnregister são úteis se você não quiser que o script em um recurso ou se você deseja que o script em seu próprio arquivo. Os métodos StringRegister e StringUnregister permitem que o arquivo. RGS sejam armazenadas em uma seqüência de caracteres alocados dinamicamente.

Index