_Must_inspect_result_ NTSTATUS Invoke( __in WDFDEVICE Device, __in LPGUID InterfacType, __out PINTERFACE ExposedInterface, __in_opt PVOID ExposedInterfaceSpecificData ) { if (m_Method != NULL) { NTSTATUS status; CallbackStart(); status = m_Method(Device, InterfacType, ExposedInterface, ExposedInterfaceSpecificData); CallbackEnd(); return status; } else { return STATUS_SUCCESS; } }
void AddAsyncEntry() { try { TDBCachedChannel chan; TVTXProcedure insert(chan, DBInsert, 9); time_t create_time = time(NULL); insert.BindInputVariable(1, TDT_INTEGER, sizeof(int), ":create", &create_time); time_t retry_time = time(NULL); insert.BindInputVariable(2, TDT_INTEGER, sizeof(int), ":retry", &retry_time); RWCString m_Method("GET"); insert.BindInputVariable(7, TDT_CHAR, m_Method.length() + 1, ":method", (void *)m_Method.data()); // RWCString m_Data("data"); RWCString m_Data; int datalen = m_Data.length(); insert.BindInputVariable(4, TDT_INTEGER, sizeof(int), ":datalen", &datalen); // insert.BindInputVariable(5, TDT_CHAR, m_Data.length(), // ":data", (void *)m_Data.data()); char buf[2]; buf[0]='c'; buf[1]='\0'; insert.BindInputVariable(5, TDT_CHAR, 1, ":data", (void *)buf); RWCString hdrString("x-up-hdr:header"); insert.BindInputVariable(0, TDT_CHAR, hdrString.length() + 1, ":headers", (void *)hdrString.data()); RWCString m_DataType("datatype"); //RWCString m_DataType; insert.BindInputVariable(6, TDT_CHAR, m_DataType.length() + 1, ":datatype", (void *)m_DataType.data()); RWCString urlString("HTTPJUNK://"); insert.BindInputVariable(3, TDT_CHAR, urlString.length() + 1, ":url", (void *)urlString.data()); int id; insert.BindOutputVariable(8, TDT_INTEGER, sizeof(int), ":asyncID", &id); insert.Execute(); chan.Commit(); } catch(xmsg &msg) { printf("error\n"); } }
VOID Invoke( __in WDFCHILDLIST DeviceList ) { if (m_Method != NULL) { CallbackStart(); m_Method(DeviceList); CallbackEnd(); } }
_Must_inspect_result_ NTSTATUS Invoke( __in WDFCHILDLIST DeviceList, __in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, __in PWDFDEVICE_INIT ChildInit ) { NTSTATUS status; CallbackStart(); status = m_Method(DeviceList, IdentificationDescription, ChildInit); CallbackEnd(); return status; }