Wywoływanie skryptów

Poprzedniej sekcji, Przy użyciu parametrów zastępowalnych (Sekretarza Preprocessor), omawiane zastąpienia mapy i wprowadzić dwóch metod sekretarza, AddReplacement i ClearReplacements. Sekretarz ma osiem innych metod specyficznych dla skryptów. Wszystkie osiem z tych metod są opisane w poniższej tabeli i wywoływać Sekretarz na konkretnego skryptu.

Metoda Składnia/opis
ResourceRegister HRESULT ResourceRegister (LPCOLESTR resFileName, UINT nID, LPCOLESTR szType );

Rejestry skryptów zawarte w moduł zasobów. resFileName wskazuje ścieżkę UNC do modułu, sam. nID i szType zawierają identyfikator zasobu oraz typ, odpowiednio.

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

Wyrejestrowuje skryptów zawarte w moduł zasobów. resFileName wskazuje ścieżkę UNC do modułu, sam. nID i szType zawierają identyfikator zasobu oraz typ, odpowiednio.

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

Rejestry skryptów zawarte w moduł zasobów. resFileName wskazuje ścieżkę UNC do modułu, sam. szID i szType zawierają zasobu ciąg identyfikatora typu, odpowiednio i.

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

Wyrejestrowuje skryptów zawarte w moduł zasobów. resFileName wskazuje ścieżkę UNC do modułu, sam. szID i szType zawierają zasobu ciąg identyfikatora typu, odpowiednio i.

FileRegister HRESULT FileRegister (LPCOLESTR nazwy pliku );

Rejestry skryptu w pliku. Nazwa pliku jest ścieżką UNC do pliku, który zawiera (lub jest) skryptu zasobów.

FileUnregister HRESULT FileUnregister (LPCOLESTR nazwy pliku );

Wyrejestrowuje skryptu w pliku. Nazwa pliku jest ścieżką UNC do pliku, który zawiera (lub jest) skryptu zasobów.

StringRegister HRESULT StringRegister (LPCOLESTR dane );

Rejestry skrypt w ciągu. dane zawierają sam skrypt.

StringUnregister HRESULT StringUnregister (LPCOLESTR dane );

Wyrejestrowuje skrypt w ciągu. dane zawierają sam skrypt.


ATL wykorzystuje dwie pierwsze metody przedstawione w tabeli (ResourceRegister i ResourceUnregister) w atlimpl.cpp:

LPCOLESTR szType = OLESTR("REGISTRY");
GetModuleFileName (pM-gt; m_hInstResource, szModule, _MAX_PATH);
LPOLESTR pszModule = T2OLE(szModule);

Jeżeli (HIWORD(lpszRes)==0)
{
   Jeżeli (bZarejestruj)
     parametrem typu HRESULT = p - > ResourceRegister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
   Else
     parametrem typu HRESULT = p - > ResourceUnregister (pszModule, ((UINT)LOWORD((DWORD)lpszRes)), szType);
}
Else
{
   Jeżeli (bZarejestruj)
     parametrem typu HRESULT = p - > ResourceRegisterSz (pszModule, lpszRes, szType);
   Else
     parametrem typu HRESULT = p - > ResourceUnregisterSz (pszModule, lpszRes, szType);
}

Należy zauważyć, że szModule zawiera wartość nabytych z GetModuleFileName.

Następne dwie metody przedstawione w tabeli, ResourceRegisterSz i ResourceUnregisterSz, są podobne do ResourceRegister i ResourceUnregister, ale umożliwiają określenie identyfikatora ciąg.

Metody FileRegister i FileUnregister są przydatne, jeśli chcesz, aby skrypt w zasobu lub jeśli skrypt w własny plik. Metody StringRegister i StringUnregister umożliwiają plik .rgs ma być przechowywana w ciągu dynamicznie przydzielane.

Index