跳到主要內容

[WinCE] Driver-

DllMain Callback Function---Windows架構下呼叫dll的主程式結構

BOOL WINAPI DllMain(

__in HINSTANCE hinstDLL,
__in DWORD fdwReason,
__in LPVOID lpvReserved
);



XXX_IOControl (Device Manager)

This function sends a command to a device.

BOOL XXX_IOControl(
DWORD hOpenContext,
DWORD dwCode,
PBYTE pBufIn,
DWORD dwLenIn,
PBYTE pBufOut,
DWORD dwLenOut,
PDWORD pdwActualOut

);


Parameters
hOpenContext
[in] Handle to the open context of the device. The XXX_Open (Device Manager) function creates and returns this identifier.
dwCode
[in] I/O control operation to perform. These codes are device-specific and are usually exposed to developers through a header file.
pBufIn
[in] Pointer to the buffer containing data to transfer to the device.
dwLenIn
[in] Number of bytes of data in the buffer specified for pBufIn.
pBufOut
[out] Pointer to the buffer used to transfer the output data from the device.
dwLenOut
[in] Maximum number of bytes in the buffer specified by pBufOut.
pdwActualOut
[out] Pointer to the DWORD buffer that this function uses to return the actual number of bytes received from the device.

MmMapIoSpace
This function maps a physical address space to a nonpaged, process-dependent address space. It provides a virtual address, which is directly mapped, to the device.
PVOID MmMapIoSpace(
PHYSICAL_ADDRESS PhysicalAddress,
ULONG NumberOfBytes,
BOOLEAN CacheEnable
);

Parameters
PhysicalAddress
[in] Starting physical address of the I/O range to map.

NumberOfBytes

[in] Number of bytes to map.

CacheEnable
[in]Flag to indicate whether the physical address range can map as cached memory. For device registers, this value is usually FALSE.

NDIS_PHYSICAL_ADDRESS
This data type is equivalent to the system-defined LARGE_INTEGER type.

留言

這個網誌中的熱門文章

[WEB]連線 HTTPS 網站發生驗證失敗導致基礎連接已關閉

某支透過 WebClient 物件去呼叫第三方API的程式,突然有天無法使用 經過測試出現下列的錯誤 基礎連接已關閉: 傳送時發生未預期的錯誤。 InnerException : 驗證失敗,因為遠端群體已經關閉傳輸資料流。 原來是第三方的服務已經不支援 TLS 1.0 我方的程式是用.net Framework 4.0開發了 得強制讓webclient改用 TLS 1.1 或 TLS 1.2 感謝黑大提供解決方法 在程式中加入 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12  的設定就解決了這個問題 WebClient wc = new WebClient(); ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 參考資料:暗黑執行緒

[SQL] SQL依照你的排序條件 找出目前資料的前一筆與下一筆。 Find Pre and Next DataRows of current Datarow by your order condition

有時候需要用SQL找出前一筆跟後一筆資料 用SQL的TOP是沒有辦法做到 這個時候就可以這個語法 select * from ( SELECT TOP 1 * FROM [Article] where Poid {CurrentPoid} order by CreateDate ASC) t2 找出目前PK id前一個與後一個的資料(依照想要排序順序) 那如果指示想要一個資料行呈現的話 可以改用下面的SQL語法 讓這兩筆資料join在同一筆 select Pre.*,Nex.* from (SELECT TOP 1 * ,1 tID FROM [dbo].[Article] where Poid {CurrentPoid} order by CreateDate ASC) Nex on Pre.tID=Nex.tID

Win10電腦 強制開啟IE瀏覽器 by VB script

 用Notapad寫下以下的內容 With CreateObject("InternetExplorer.Application") .visible = True .Navigate [Url]           .Left = 0           .Top = 0           .Height = 1024           .Width = 1280 End With 然後存檔成 .vbs 檔案 之後點選檔案就會自動啟動IE 目前測試過在WIN10 版本能正常執行