Page 96 - Hướng Dẫn Cách Phòng Thủ Và Khắc Phục Sự Cố Máy Tính
P. 96
CComPtr pSH V M gm t = N ULL;
hr =
pSH VM gm t.CoCreateInstance(CLSID_NapServerM anagem ent,
...y,
H 2. Khai báo và khởi tạo thông tin về SHV
N apC om ponentR egistrationlnfo shvInfo;
hr = FillShvC om ponentR egistrationInfo(& shvInfo);
// 3. Đ ăng ký SH V với NPS, CSampleShv chứa các hàm xử lý
yêu cầu
hr = pSH V M gm t->R egisterSystem H ealthV alidator(& shvInfo,
(C LSID *)& __ uuidof(CSam pleShv));
}
• SHV được cài đặt trên server và có nhiệm vụ kiểm
;ra những yêu cầu về khả năng tự bảo vệ từ nhiều máy
;rạm cùng lúc. Do đó SHV trong thực tê sẽ phải nhận và
cử lý nhiều yêu cầu kiểm tra chính sách cùng lúc. Bên
;ạnh đó cũng có rất nhiều trường hỢp việc kiểm tra chính
;ách đòi hỏi SHV phải liên lạc với server khác, và mất
ihiều thòi gian cho từng yêu cầu kiểm tra chính sách. Để
ữải quyết vấn để trên SHV đã tạo ra từng thread xử lý
ho từng yêu cầu kiểm tra chính sách.
STD M ETH O D IM P CSam pleShv::Validate(
IN apSystem H ealthV alidationR equest* pShvRequest,
U IN T 32 hintT im eO utlnM sec, INapServerCallback* pCallback)
throw()
{ // Tham khảo SHVNSampleShv.cpp
// 1. Chuẩn bị thông tin ch o m ột yêu cầu kiểm tra chính sách
asyncD ataltem s* requestData = NULL;
requestD ata->pthis = this;
requestD ata->piShvR equest = pShvRequest;
requestD ata->piC allback = pCallback;
// 2. Tạo thread m ới để xử lý yêu cầu kiểm tra chính sách
hr = QShvCreateThread( requestData );
Q7